4 ms·
That's because it isn't a package manager, it's an interpreted programming language. The package management requires running a huge program in that language. O
by Filligree 7y ago
That's because it isn't a package manager, it's an interpreted programming language. The package management requires running a huge program in that language.
Of course knowing why it happens didn't make it less frustrating, but it's hard to fix. What you can do is build your system remotely, on a more capable machine, perhaps with nixos-rebuild --target-host.
(That's a shell script, and fairly readable.)
- kstenerud 7y agoTo me this sounds absolutely insane. Package managers that work in a couple of megabytes of ram is a solved problem. How can this be unsolvable?
- Filligree 7y agoIt's not really the package-building process that takes tons of RAM. It's the OS-building process, where it pulls everything necessary to describe the current state of your machine into RAM, simultaneously. This typically means several hundred packages at least, plus a lot of code that's not as easily classifiable as "packages". The config file generators are written in the same language. Other operating systems punt on the challenge; there's no equivalent in e.g. Debian.
- kstenerud 7y agoI get that, but it ran out of ram on a machine with 2gb of ram. Even if there were 10 million things to keep track of, that's 200 bytes per thing! If we're talking about a file system with 100,000 files, that's 20 kb of metadata per file. Actually, more than that because it exhausted the ram. Those numbers just don't add up.