|
Archlinux. It's the distribution that's taught me the most about linux in general. I feel a lot of freedom here. Not only because of what it's taught me, but also because the tools are very simple and easy to combine to do useful things. Maybe it's also the case in other distributions, but in Archlinux every file in the filesystem after initial installation belongs to a package. That means that I can create Archlinux containers with the package manager. And every installation corruption (because power went out during an update, for example) can be fixed with the package manager without needing to reformat or whatnot. This becomes very clear through their very barebones installation procedure, which is just leaving you in the shell with instructions in ~/install.txt, instead of putting you through an installation wizard that leaves you wondering the concrete steps that it did. Also, packages are simple tar archives, and how the source is downloaded and built is described in a shell script with detailed conventions. I can take the name of any package, and, in uniform fashion, download the source, make modifications, create a patch of them if I want or just build the package from the modified sources, and install. Creating a personal package repo is also very easy. Everything just does one job and doesn't make a mess of things, like how Ubuntu oftentimes automatically starts services when you install them. Archlinux also doesn't make it's own conventions on how the system should be administered and by what files, like Ubuntu with its ifup, ifdown scripts and /etc/network/* files. If I want to know how to use a package, I only need to look at that package's documentation and not also at how the distribution idealizes my use of it, like how Ubuntu has you making symbolic links between /etc/apache2/sites-available and /etc/apache2/sites-enabled with the Debian-originated scripts a2ensite and a2dissite. On a related note, I've been thinking of moving to NixOS (or GuixSD) for their declarative configurations, but haven't because of the time investment that it would require. Last I tried NixOS, I remember being met with some very fundamental/unavoidable flaws/features that put me off a little. In particular, I remember that if I wanted to make a change (however trivial) in a package many other packages depended on, it would mean that those dependent packages would need to be rebuilt. This is cool since it ensures the consistency of the whole system, but it takes so damn long to see those changes in the dependent packages that it's so annoying. In Archlinux, you'd just be taking the risk that you might've broken the system, but letting me take that risk is much more efficient. |