> The installation process, and the documentation behind it, lead to the third virtue: a complete installation tends to be very small and simple, because you only install the bits you need. If you don't know what bits you need, the documentation will help you to work it out, and the result is something that is both fairly minimal and that, with luck, you understand. You know what's in there because you installed it.
I feel this gets to the core of why I like Arch so much. I’m a Linux novice, so for a long time I ran Ubuntu VMs when I needed to do stuff on Linux (this being before WSL). It worked well enough, but I never really felt that I properly knew what I was doing.
Then I tried installing Arch in a VM… and it took me several days and several attempts, but when I finally got it working I felt, for the first time ever, like I actually understood the system I was using. Now I have a webserver running Arch, and only a week or two ago installed Arch on an old PC to see if I could get a desktop working.
Of course, Arch is not easy, especially for a non-expert such as myself. Sometimes I have no idea how to solve a problem, or even what kind of software I need in the first place. For this reason, I’m planning to install Debian instead on the new laptop I’ve ordered (to replace my ~10 year old machine running Windows), in the hopes that it might have more stuff working out of the box. Still, I’d say that trying out Arch has immeasurably improved my knowledge, not just of Linux but of the underlying concepts behind modern computing.
> Still, I’d say that trying out Arch has immeasurably improved my knowledge, not just of Linux but of the underlying concepts behind modern computing.
I love hearing that, because it was a goal of Arch from the very beginning: to stop fearing the commandline.
And I was the first alpha tester, in that I wanted to learn more about how the sausage was actually made, so to speak. I was comfortable using things like Linuxconf at the time, but its beginner-friendly veneer meant that I didn't really know what to do if it _wasn't_ there.
After tinkering with Crux and PLD for a bit, I wanted to go deeper and start from nothing. So I loaded up the LFS[1] docs and just started typing in the shell stanzas to start building my compilation toolchain. In an effort to DRY as much as possible, the work also got placed into shell scripts, which eventually became PKGBUILD modules.
I started having way too much fun with it, so I put up the world's ugliest webpage[2] to share my triumphs, and a couple people found it, somehow. That begat the immediate need for documentation, which eventually brought Arch into the forefront. I can't recall who spearheaded the Arch wiki, but we owe them a great debt, because it has become a valuable resource for Linux users, and not only the Arch users.
Thanks for starting it! I dabbled with Ubuntu, Debian and SUSE in highschool and would occasionally see things from the Arch Wiki when troubleshooting problems. Learned about its philosophy when at a highschool computing competition and my team captain was raving about one of our opponents using Arch.
Started a CS degree the following year, and I decided I wanted to take Linux more seriously, so I wiped Windows off my laptop and threw Arch on it to force myself to learn, and it's been my daily driver now for the last decade!
You can install Debian the same way you installed Arch (manual, CLI) via debootstrap. It's not really advertised, Debian really wants folks to use their installer.
I built a tool that does this, you can look through the code and see how I do it--it's just bash spaghetti. Download a Debian live ISO (or use my tool to create an Arch-like minimal live USB) and you can install it however you want.
But isn’t that the whole point of Arch. It is advertised and promoted and therefore its well documented with a lot of support.
As a novice, if I am stuck somewhere the odds that I find the answer in the Arch Wiki or can ask an Arch enthusiasts and get an answer is orders of magnitude higher than the equivalent sources for Debian.
> Then I tried installing Arch in a VM… and it took me several days and several attempts, but when I finally got it working I felt, for the first time ever, like I actually understood the system I was using.
Honest question: why days?
I have installed arch multiple times in the past decade and I don’t remember anything exceptionally out of the ordinary. You just follow the step-by-step instruction and you are good to go.
It’s all fairly standard: boot on a live cd, get internet, format the disk, mount, arch provides a script to install the base and another to change the root and it’s vanilla Linux config from there.
Edit: Hmm, I guess how to configure a vanilla Linux might be quite complex for someone who has no idea of how to do that. I might have answered my own question actually.
If you know most Linux file systems well, you would probably choose one in a few seconds. If nobody has ever asked you to pick a file system before, you could probably spend a couple of days researching.
I think there’s a lot of decisions like that to make in Arch
Even if you follow a guide exactly as stated, you will often find when done that you now know more about the steps you took and want to immediately start over so it's closer to what you want.
The same thing happened to me the first few times I installed Gentoo. Could I have migrated the first install to what I wanted at and had at the end? Sure, if I had the knowledge I didn't have at the time.
I often have to boot back into the live media because I forgot to install a tool like iwd while chrooted. This information is not included in the single page installation guide. Maybe it’s those scripts i’m unfamiliar with that would shorten the feedback loop.
Yeah, configuring a kernel is one part plus the install wasn’t always like it is now — in the old times there weren’t as many helper scripts (chrooting manually comes to mind)
I've installed arch a number of times, and every times I want full disk encryption I struggle a bit on dm-crypt config and bootloader. Other than that it's pretty straightforward.
This is a false sense of understanding that many Linux users develop. You basically built a puzzle by putting together the pieces that fit together. And you have the illusion that you learned something about the picture drawn on the pieces.
You don’t really understand anything more except how to configure a system with a poorly designed configuration system. Installing a difficult-to-use Linux distribution teaches you nothing about operating systems, compilers, linkers & loaders, shared libraries, or anything else about the foundations of modern computing.
IMHO in most cases the "sense of understanding" comes from all the related materials which you read when installing a "difficult" system: it is difficult not because inherent complexity but for lacking abstracting tools (like GUI wizards) which forces the user to learn more in order to understand the "limited" provided interface. I remember my first (Softlanding?) Linux installs (by mid nineties) reading about hard disk geometry, the mandatory kernel recompilation for the network card drivers, the soft links when upgrading shared libraries, the monitor frequencies for X11, and a big etc. which previously (with DOS/Win 3.x) never had to deal with.
I think it’s a continuum. Sure, I freely admit that I’m still rather ignorant when it comes to the low-level details of my computer. But compared to the understanding I get from Windows or Ubuntu? From that point of view, I’ve learnt a lot.
Besides, it’s not like this knowledge is useless. I now find myself being able to diagnose and fix problems with my system which previously I was clueless about. And it makes it a lot easier for me to learn the lower-level details if I so choose.
If we could combine Ubuntu's easiness of use with Arch's simplicity and performance, that'd be my ideal distro for work.
I love Arch for its simplicity and performance.
But it just wasn't productive for me to get everyday tasks done. I'm not advanced Linux user, occasionally I'd need hours to get seemingly simple stuff done.
For a hobby desktop, fine. For a work tool as a developer, I moved back to Ubuntu (though I have moments of regret every day).
True. Maybe there's a viable middle ground between Ubuntu & Arch.
Perhaps with a focus on the audience (e.g. a web dev distro), it becomes viable to make sensible compromises on both (easiness & simplicity) that result in a good combination for the user.
For general audiences, Manjaro (arch base) fits your ask pretty well, I think. I ran into problems installing arch, switched to Manjaro, and never looked back.
Pop_os! is coming from the other direction, but I found I prefer using i3/sway instead as I had trouble configuring certain things about pop.
Only reason I've seen to use anything else is if doing a full desktop installation doesn't make sense, as the installer is largely geared around just installing most everything, or perhaps leaving out a category or two. Beyond that, the documentation is clear, and it's made as easy to use as makes sense without just hiding things behind a black box so that when things go wrong, they REALLY go wrong.
Nice to see some of these newer distros like Arch and Ubuntu are coming along though; choice is good.
This summarises my feelings so far precisely. Alas, I’m not quite sure it’s possible to have this: the easier and more full-featured something is to use out of the box, the more components it needs — or at least, its components become more complicated in and of themselves.
One alternate approach I find interesting is that of NixOS: everything is declaratively specified in a single place, so it’s easy to configure stuff, but also easy to see how everything works. I actually tried out NixOS before installing Arch on the aforementioned desktop box, and if it wasn’t for the sheer opaqueness of Nixpkgs I’d still be using it. On the other hand, I can hardly call Nix ‘simple’… as with everything, it’s all tradeoffs, I suppose.
I've been installing Ubuntu this week. Checking download updates during install gave me a broken libc dependency graph which blocked installing ssh or gcc. Libpci-dev conflicts with gnome as far as I can tell, installing that took down X and the network. Changing to the server iso of the same version gave me an OS that can't use the builtin intel NIC, though the desktop version can. The driver errors on modprobe, -2.
I'm going to try again with a different Ubuntu release as soon as I can find the patience. Where prior lessons have taught me to vandalise automatic update or it'll brick itself in the future.
Ease of use has not been the defining characteristic of Ubuntu.
Same experience from my days in Ubuntu world, it sure is relatively easy for a first time linux user but I had so many issues on it that were completely obscure. I had the feeling of fighting against the system itself all the time.
With arch, sometimes it breaks (not that often), it always is quite clear what went wrong (pacman errors are limpid, logs are clear). You'll find the fix on the Arch Linux News, in the wiki or the forums. Bonus you probably know your system better and as a side effect be more efficient in fixing it.
I'm now firmly confirmed that it is Ubuntu that fucks something up. Upgrades seem to work much better with plain Debian.
We've seen many failures during upgrade, from both novice and advanced linux users, meanwhile one of our sysadmins accidentally upgraded Debian by two releases at once (From Debian 9 to 11) and it still "just worked"...
I had pretty constant issues with Ubuntu every time I've tried it as well.
I run pure Debian stable everywhere I can in my personal life (laptops, desktops, servers). It's predictable and there's not a lot of planning at update OR upgrade time. Backup, push the button, reboot, done.
Just kidding, backups happen daily automatically, so it's just update and reboot.
As I developer I solved my issues with arch using the latest dev tools in arch and running the code in a docker container. That way I also solve all developers issues with dependencies as everybody runs the same docker container with the same libraries.
I’ve heard of Manjaro, but on the occasions when I’ve brought it up in conversation, people have almost unanimously warned me off from it in fairly strong terms… not entirely sure why, but that alone makes me reluctant to use it.
Another Arch/AUR-compatible distro with a more automated install process is EndeavourOS. Last time I checked, it was closer to vanilla Arch than Manjaro. But I've mainly used it for spinning up VMs to work remotely. For a long-term workstation I still feel better sticking to plain Arch.
Big ones are: shadiness with funding, letting their SSL certs expire 4 times, and the fact that their idea of stable isn't additional testing, but just letting the packages sit for a week.
Well, the funding issue I find to be quite trivial and of no big concern to me, but the repo issues are indeed something that has bothered me at times, where I ended up modifying repos to get the most up to date ones.
The recommendation from the repo, EndeavourOS sounds interesting, though.
The link for the post is dead, but they've let their SSL cert expire multiple times. While it happened a few years ago, I find that a hard thing to come back from.
Manjaro is like Arch but not exactly like Arch. If you have a problem with Manjaro and then go to the (stellar) Arch documentation to try to figure out why it doesn't work in a case like this, that documentation won't help you.
I mean that's not true: I daily drive ubuntu and the arch wiki has been very kind to me. But to slightly rework you point, if you're a manjaro user expecting the arch wiki to apply 1:1 to your system, you're mistaken and are in for a bad time.
Well, this I cannot confirm. I regular go to the normal Arch docs for help and usually find it suitable. So it is not fundamentally different, but yes, it uses different repos and some things indeed work differently.
Not anymore. Archinstall, an easy-to-use installation script, now comes included in the ISO and so now anyone can install it and get a full-fledged OOTB distro ready within minutes.
Installing arch used to be a lot easier before they deleted the Beginners Guide and redistributed the contents to a bunch of different pages in the wiki.
edit: Beginner's guide, not install guide, is what was deleted
I feel this gets to the core of why I like Arch so much. I’m a Linux novice, so for a long time I ran Ubuntu VMs when I needed to do stuff on Linux (this being before WSL). It worked well enough, but I never really felt that I properly knew what I was doing.
Then I tried installing Arch in a VM… and it took me several days and several attempts, but when I finally got it working I felt, for the first time ever, like I actually understood the system I was using. Now I have a webserver running Arch, and only a week or two ago installed Arch on an old PC to see if I could get a desktop working.
Of course, Arch is not easy, especially for a non-expert such as myself. Sometimes I have no idea how to solve a problem, or even what kind of software I need in the first place. For this reason, I’m planning to install Debian instead on the new laptop I’ve ordered (to replace my ~10 year old machine running Windows), in the hopes that it might have more stuff working out of the box. Still, I’d say that trying out Arch has immeasurably improved my knowledge, not just of Linux but of the underlying concepts behind modern computing.
(Oh, and the documentation’s amazing too!)