Why I Fell in Love with Arch Linux (2015)
jonathas.com
jonathas.com
The straightforwardness appealed to me, it's a binary distribution with a rolling release cycle and no custom-finagled packages.
But after a while, I got tired of manually configuring everything, doing all kinds of weird house-keeping and having to randomly boot from a USB stick to rescue my system from some update with untested consequences. And this was while running the supposedly "stable" update branch. I also got tired of the countless updates that required manual convoluted update procedures and Pacman tricks to function correctly.
Maybe this was because my install was relatively old, and thus had stuff like Pulseaudio and Systemd grafted on top of it, but I never had any issues immediately after those updates.
So around a year ago when Linux Mint 18 was released, I made the switch and I haven't looked back. I know it's a hackneyed phrase, but Everything. Just. Works. I have not had to do anything at all on my refurbed T420, I just installed it, and it just works, it's wonderful.
I cannot be arsed to mess around with configuration files and whatnot on my computers anymore, I have much more interesting things to do than mess around trying to keep my personal computer running correctly.
I was also a hardcore KDE-head for years, but Cinnamon has really grown on me. It does what I need, the way I want it (I grew up on Win9x, so that's the interface style I prefer), without getting bogged down in obscure configurations or arcane frameworks.
Maybe this all marks me as fallen from the ranks of the Linux cognoscenti, but I don't care. I just want to get on with my life. In the same way that I see a lot of people gush about Mac OS, Mint simply gets out of my way and lets me get on with stuff I actually want/need to do.
My only concern with Mint is, what happens when Ubuntu goes away or becomes nonviable as a distro base?
Canonical seems intent on making Ubuntu cool in some area, and even more intent on monetizing Ubuntu, and there's a risk that their pivots, and forward and back steps, could cripple Ubuntu.
If they don't and Mint becomes unavailable or nonviable for some reason, I will find another distro similar to Mint, or simply go back to Debian proper.
I don't care much which distro I use, my important files are the same no matter which distro I use to access them.
I have it running on two laptops (which I never have an issue upgrading) and my desktop and I almost never deal with maintenance, nor do I ever want to anymore.
I've considered Mint, but even just switching to another "Just Works" distro seems like more effort than I'm willing to commit to my desktop.
I started with Slackware 2.0 back in the day, used all major distros, had a FOSS zealot phase for a few years.
Now all my desktop devices run either Windows or Ubuntu.
Ubuntu MATE may be better for me, but I've found myself very comfortable with Cinnamon, so just like you I am not in a hurry to switch distros :-)
Antergos (arch-based) seems to be treating me well.
I may not be stretching its capabilities quite as far as you may be doing, admittedly.
The apt-related annoyance is that some PPAs don't carry updated packages (for all the recent Ubuntu versions), but has nothing to do with apt itself.
Maybe you refer to distro upgrades? To be fair I have little experience with those, as I never upgrade, only perform fresh installs.
Granted, I admit I mess around a bit with debian sources. I sometimes pin things, and often times pull packages from sid or unoffficial repos to get fresher versions.
With arch though, packages are always fresh, and the AUR has always worked well for me when I needed something not in the official repo. No issue so far.
Found your problem.
I tried looking into other distros (mint, fedora, ubuntu) but always found myself missing the awesome power of the Aur. So Antergos is the perfect compromise. It's easy to install (no manual configuration required) and gives me access to the Aur.
Interesting -- this is what I would say about Arch. I switched to Arch right after the systemd transition, so I'm sure I missed a big opportunity for breakage. But in those four years I've barely had to think about system administration, beyond routinely running pacman -Syu. I used to have to do a fresh install every six months when a new Fedora would break everything. I don't think this makes me a member of the cognoscenti at all, and I think the whole "Arch is for the l33t" meme is wildly inaccurate. Arch is by far the easiest distro I've ever used.
I experienced that transition and while you had to read the wiki somewhat carefully, I remember being a bit 'disappointed' afterwards as to how smooth/uneventful it was, it sounded way more scary than it actually was.
Mind you, this bug has been under active discussion for a while now.
Since my 16.04 server is just a day old now, I'm thinking I'll bite the bullet and switch to a troublefree distro recommended in this thread.
(Not a Linux cognoscenti.)
Did you add DNSSEC=no to /etc/systemd/resolved.conf? That fixed the problem I had yesterday, which is probably a different problem.
- I changed DNSSEC to NO.
- I had DNSmasq running which was apparently blocking systemd-resolved from binding to 127.0.0.1.53#53. I first changed dnsmasq's port to 5300 from 53 and then killed dnsmasq but that didn't solve the issue either.
3. I manually linked resolv.conf to a non standard location which I hand edited to contain the name servers I wanted my server to use - didn't work.
I've had a server running for several years on Arch. The systemd transition wasn't bad. I didn't have any custom init scripts to migrate, so it was mostly update & reboot. Arch is a great install once and update forever system. I even migrated my install in-place from x86 to amd64 after upgrading the CPU. There's a wiki article for it! https://wiki.archlinux.org/index.php/Migrating_between_archi...
My hat is off to you -- I would have guessed that wasn't possible!
[1]: https://wiki.archlinux.org/index.php/Migrating_between_archi...
This is roughly the guide I followed, which has existed for a good few years.
On Exherbo, after cross compiling, one only needs to change the /usr/host symlink and reboot.
If you're curious, I prefer Lubuntu.
Another problem with any Ubuntu-based distro is that packages in Universe don't receive security update support.
I get that there is a lot of hate for Mint because it's not a h4rdc0re h4xx0r distro, but the accusations are simply baseless and often based more in personal convictions than anything else.
If you read the linked Reddit thread, in between the rapid haters, there are a couple of posts that lay it out in a very sensible way. Worst-case a Mint user is going to be a couple of days behind an Ubuntu user. Not exactly the end of the world. If ASAP updates are critical for your systems, you probably shouldn't be running a purely desktop-focused distro anyway.
I basically need a web browser and the desktop Spotify client. That takes care of ~95% of my computing needs these days.
Honestly, this was my experience in the first months with the distro, back in 2011, but then I started feeling like I 'know' Arch, like I understand how to use pacdiff, what news to pay attention to and what commands to run, as well as what not to forget to avoid trouble and honestly, it's been the most stable OS I've known.
So yes, there's a 'bump' you have to overcome with Arch, but once you 'get it', it becomes second nature.
So I would definitely say I "got it", but I just couldn't be arsed to do it anymore. I'm not really into unpaid sysadmin work :-)
I am just sharing an experience that I had it similar, but not anymore, I definitely don't find it requiring sysadmin amount of work to maintain, my daily routine is: read archlinux.org, pacman -Syu, pacdiff, very occasional manual step that took me 5mins - I know it may not be like that for everyone, but not everybody also has the issues you described, is my point.
My daily routine was exactly the same as yours, except I experienced several boot-breaking errors over the years, where I had to spend hours getting my system running again. I consider that a waste of time.
In contrast, Mint takes care of itself, which leaves me to get on with my life in peace.
Also, you may have lost features in the process. For example, if you rewrote your C program in Python, the code may be much cleaner, but also much slower. If you didn't need it to be fast in the first place, that might be a good compromise for you. If you did need speed, then making the Python program faster might require complicated work, like C FFI, and you might have been better off staying with the original C. Comparably, Arch's PKGBUILD makes packaging new programs very easy, whereas despite having spent a number of hours trying, I still do not understand Debian's packaging format(s). If you rarely use uncommon programs, that may not be an issue for you.
In comparison, to install Mint, I popped in the USB stick, ran the installer and that was it. The most complicated thing was the partition manager, and only because I have four hard drives and a Windows partition to take into account.
And that was it, 20 minutes and I was up and running on a desktop with a browser, with automatic updates, and every driver working correctly.
That's what I want from my computer these days. I want it to work for me.
I'm not a kernel hacker, I'm not even a developer (aside from some monitoring scripts at work). I want my web browser and my media player and my various little utility apps. I have no desire to be a sysadmin, I've been there and done that, and now I find it a waste of time.
Debian's package format is really simple and well-designed. However, Debian's packaging process is really tedious and had an almost ceremonial feel to it when I tried it (coming from PKGBUILDs).
Shameless plug: If you just want to throw a bunch of files together into a package, you might be interested in my own https://github.com/holocm/holo-build .
Maybe it's just me, but I've never had to do this once in the past two years (since I started using Arch). Literally every single update has been perfect.
Around that time, I had to reinstall arch ~4 times for some reason or another. It was not a great experience. It made me learn a lot of Linux stuff just to keep it up and hitting `pacman -Syyu` was always a scary thing to do. You could never hit yes to prompts without first going to archlinux.org first to make sure that there was no arcane ceremony to conduct before you upgraded your system (I probably know enough now that it would no longer be arcane, but, hey, we all have to start from nothing).
My experience since around 2014 has been drastically different. Things have been incredibly stable and I've never had to reinstall arch in the past 3 years. I don't really know what caused the change - maybe it was just maturity - but I do welcome it and working on arch has been amazing. I'm saying this not to convince you to go back, but to allay others' fears that Arch is unapproachable or impossible to deal with. At this point, it's still a hard Linux to work with, but it's no harder than any Linux in which you have to work on the command line.
- For mortal-level usage -> Ubuntu
- For mortal-level usage when you don't like Ubuntu -> Mint
- For Linux junkies -> Arch
EDIT - formatting
I had to choose distro for my gf, so I'd looked for some newbie friendly. I'd installed ubuntu 16.04 in qemu and I found that gnome-software does not work properly: there are a few packages available to install from gui (no scribus, no emacs, no kicad etc). Literally a year passed since lt came out and it has such unacceptable issue for a newbie-friendly distro. Hopefully fedora just works.
A less known thing about LTS releases is that the repos are smaller because of the testing they have to do to make it up to LTS standards.
Main reason I moved from 16.04 to 16.10.
I don't have direct experience with fedora but I heard that it's nice. Will have to try it someday ;).
It's not about availability, it's about possibility of installing packages that are in the main repo with the default software manager gui (gnome-software). In ubuntu lts I found no way to install scribus with gnome-software though it is in repository. This is just a bad quality of the distro itself and I wouldn't call suck behavior ``user friendly''
https://askubuntu.com/questions/783748/16-04-ubuntu-software...
In comparison arch: https://www.archlinux.org/packages/community/i686/scribus/
Fedora: https://apps.fedoraproject.org/packages/scribus
IIRC you have to enable multiverse repos in Ubuntu manually (doable with the GUI or somewhere in settings).
2017 will be the year of Linux on the desktop :P.
Weird! I ran dev versions of everything, updated once every couple days, and can only remember one time that I had to fix a catastrophic bug.
I've got around 1100 packages installed, so I'm not a really heavy or really light user.
Configuration wise, most of my stuff is stored in dotfiles and if I ever need to reinstall then I pull them down from github and I'm back where I was.
That said Mint is a wonderful OS and I can see the appeal.
Antergos (arch made easy) was one of the distro's I tried last and it stayed on my Asus netbook the longest. I was fairy impressed with Antergos as it installed nice and felt pretty quick. But then things got too manual for my tastes. I just wanted to install Brave Browser. The tgz package didn't run and I couldn't obviously use the deb or rpm version. It wasn't in the default software add/remove when I searched. So I was thrown to using the command line (yaourt) and researching it's commands to get the repository correct, download and install a browser I simply wanted to try that would be a download from website and install on Windows as well as the more popular linux distro's.
That was one. Then a week later a update knocked out my wifi. I had to again mess around with some command line fix that worked. The real kicker was when I had not touched the netbook in about a month and when I finally did, I did the routine Pacman -Syu. This I found out the hard way was supposed to not go more than a week or so of not doing. This wrecked the distro so bad I couldn't even get the GUI. That was enough tinkering for me with Arch. I don't have time to research that as I didn't care anymore. Formatted.
I was most impressed with PClinuxOS. I just worked and had pretty recent packages on a rolling release. Never had any breakage and it also held hand enough I never touched the command line (even to install Brave). OpenSUSE, Korora and KDE Neon all were also decent and feel I could have used them long term if forced to.
In the end of about two months, I just wanted to crawl back into my comfy Windows 7 world and get some work done again. Be able to use literally any software I want and not be confined to lesser quality alternatives. Not have updates kill my install. Etc. I seriously applaud all the coders and individuals dedicating their free time to open source and thank them for that, but I guess I am fine with proprietary closed source that I've grown up on since 1984.
Wow. Would be really interesting to know what happened there exactly.
In 2016, I installed an Arch VM using an image from 2014. Against all odds, I could update it. I had to download a few packages (pacman and its dependencies) manually, verify the digests against the package cache on another machine, and install them. After that, `pacman -Sy archlinux-keyring && pacman -Su` just worked.
The Wiki/Manual isn't quite there yet, but it's so manageable that that isn't important right away.
> having to randomly boot from a USB stick to rescue my system from some update with untested consequences.
Just imagine: Your OS broke after installing an update. You reboot, and pick the second to last GRUB/syslinux entry, and literally boot into the system you had before.
It's that flexibility which allows people to create arch installs with a very low memory footprint, or crazy-fast boot times, or bleeding-edge software.
Another part of Arch's allure is its overall simplicity: it is possible to learn how to administer the entire system within a day or two. The wiki makes it easy to read up and learn about how to configure a portion of your system should you want to, and the installation covers of your system covers most of the fundamentals anyway!
Pacman (and pacaur!) are great, and having the latest packages is also great (I've only needed to reinstall my Arch setup once in the 5+ years I've used it, by the way), but these days we have Docker and VMs which are fast and usable enough on commodity hardware that they can be used to safely compile and run custom packages if you really need them, so it's not quite as cool as it was back then, but having it integrated into your package management system (and getting updates from AUR maintainers on packages based on git clones!) is still very useful.
While I love Arch's ethos, I think the next step in distributions is to embrace declarative configuration, non-destructive actions and reproducible packages. NixOS & GuixSD provide this. And luckily there's still a lot of Arch ethos in their implementations. Namely, that your base system is totally barebones and you need to add (declare!) whatever you want to have.
Arch package have node 8.5.0 and couch is 2.1.0
When I read blogs about new software and I can't just packagemanager install/update it on I don't really see any more value than living on windows installing exe's from websites.
Every distro I've used except arch has a real case of documentation not living up to what's actually happening. I've used fedora a lot and it's sometimes hard to find current version docs. But what's worse it hard to know if 2+ versions ago docs are ok because that particular bit hasn't changed.
I don't know about couch but it has 2.0 and the change to 2.1 shouldn't be big.
[0] https://github.com/NixOS/nixpkgs/commit/c699694cbf4400480fe4...
There's also a fairly new feature called overlays which are used to fully track upstream releases (there's overlays available for rust and Firfox Nightly for instance).
On the other end, Nix's way is obviously a future in terms of package-management systems in comparison to the package-managers of the past - to a degree that I haven't seen anyone who read the docs ([1]) saying anything negative about the core ideas - I'd imagine that most people get blown away and become converts.
Arch build scripts are great, insofar as the entire packaging steps are open source and standardized, which in theory should make reproducibility easier.
I agree that Nix and Guix are superior in concept, but they don't seem production-ready.
FWIW I have been using Guix and GuixSD in production since 2014. I use Guix with a cluster of several hundred nodes and on countless workstations.
I find Slackware easier to install. (IMHO, it's the sanest distribution of all. I have used many of them but kept coming back to Slackware.)
2) No dependency hell (you do not install what you will never use; one could use pkgsrc, if desired).
3) Does not use the rolling release paradigm (with the need to stay up to date, more or less, in order to avoid breaking the system).
4) More minimalist, saner feel. (It has to be more minimalist, as the maintenance team is small.)
5) No systemd (so far; not that I care much, but still feels nice).
6) Good community support.
>Slackware is the sanest distribution of all
Are you a russian physicist?
Yes, as a decade+ user of Arch, these two are the only new distros that have made me consider switching, sort of waiting for some spare time (like a free weekend) to give each of them a try.
I find NixOS a bit less elegant, but it has many extra features.
Probably the only reason I haven't given NixOS a chance beyond fiddling with it for a day or two is that I can't run binaries that weren't built from nix packages. I understand that this is essentially the whole point of the distro, but there are some times when using a downloaded binary is essentially unavoidable for me, so I'd love to be able to just say "let me use this binary, and I'll accept the fact that it'll get removed if I ever rebuild my system from scratch or go back to a previous build (even one that was built after I installed it)". It's possible that this is feasible but I just don't know how to do it, but unfortunately it's somewhat of a dealbreaker for me.
I don't know how it is now, it's been about a year since I needed the Arch wiki, but back then it was stuffed full of outdated articles, which were useless or even counterproductive in the context of current package versions.
Because of the AUR I actually think Manjaro can be more user friendly than distros like Ubuntu. While using Ubuntu I remember constantly having to deal with PPAs which were broken/outdated after every update. On Manjaro I can just hit 'Install' in the GUI and don't have to worry about PPAs. I even found a package specific to my university that sets up the Wlan and other things. On Ubuntu finding such an unknown, rarely used package would be much harder.
Oh this is nice and easy
Hm, there isn't a package for this thing I love. I guess I'll build it myself...
[Several hours pass]
Ok, looks like I just need to get XYZ working and I'm good, lemme google how to do that for this distro
It looks like this is automatically configured using some Windows-style control panel hidden somewhere. Google suggests seven different places I could look for this option, corresponding to previous versions of the distro...
Wouldn't editing a config in /etc/ be easier than this? I'm reinstalling Arch...
For me, there are ecosystem/adoption reasons for why any alternative is a tough sell - any distro basically has to have the startup system baked into their package manager, if you're going to be able to install packages that depend on daemons, etc. So if updated package availability is a concern (and it is for me), I need a popular enough distro. And basically all the popular distros use systemd. So unless I want to make some pretty big compromises or do a ton of work, I'm stuck with it.
I cut my teeth on Slackware, then Debian and was a happy Arch user for years up until the systemd transition. I'm negative on it in general, but the upgrade completely borked my system. For the life of me could not find a way to recover it. And I know my way around the system...
Switched to OpenBSD and haven't looked back since. There's not all that much to tweak, mainly because I'm always in console. If I need to browse websites I can use my company issued mbp or my ipad.
I switched from Arch to Gentoo a few years ago (before systemd was on the radar). After installation, which is admittedly more involved, I found it felt much the same as Arch for day-to-day usage. And, for all the possible criticisms of Gentoo, you'll definitely feel in full control of your system.
Less magic, when something goes wrong, you have an idea where to look.
It's obviously not going to be true for some, but for power users, it's surprisingly great. I've been on Arch for many years myself with the same story.
I'm definitely a fan of setting things up and diving into config myself, but let's be honest : Arch is not a 'Just works' distribution. Ubuntu could be considered one, maybe elementary as well
It's not like Ubuntu, or similar batteries-included distros, doesn't require configuration and tweaking to get it your personal liking, anyway. And it's not like you cannot make choices during installation that affect the final state of your system. The difference between the Arch manual installation process and Ubuntu's is simply that you use a CLI and start a few scripts instead of pointing and clicking.
The amount of configuration necessary is exaggerated, probably by people that want to portray Arch as this expert-user distro. Once you've done e.g. "pacman -S gnome gnome-extra sddm && systemctl enable sddm", you can just boot into your graphical desktop and start using it just the same as Ubuntu, no extra configuration steps needed.
And, like I've said, for the nth time, use Arch-Anywhere to get a similar installation to that of Ubuntu.
I've been very impressed by Arch. Yes, it's a rolling release, so you have to update your system now and then, but this is a good thing--install once and run an up-to-date system for years on end. Unlike Ubuntu, which is outdated already on install, and if you want to upgrade, good luck with that process if you've installed a sundry of packages. Eventually, with an Ubuntu system, I've always started suffering from package-related problems, breakage, dependency issues, etc.
I won't detail all the problems I've had with other distros, suffice to say I've had none of those using Arch.
These supposed to "just work" distros haven't lived up to that in my experience.
In my experience, this also lets the system collect all kinds of cruft over time, which can definitely impact stability and predictability when it comes to updates, unless you're extremely vigilant about housekeeping.
As long as you remember to check the website for manual intervention requirements....
Put off updating for a couple of weeks because you're got better things to do? You may end up borking your system unwittingly.
Not subscribed to the Arch news feed and intimately familiar with the packages installed on your system? You may end up borking your system unwittingly.
Arch is good for dedicated power users, who want to tinker around. But most of us just want to get stuff done, not mess with the OS.
I use Arch exactly because I want to get shit done. My way.
The only reason the Arch forums are so informative, is because people run into stupid issues on a regular basis.
Mint updates itself and gets out of my way. That makes it ideal for actually getting shit done.
Mint packages tend to be quite old, even older than Ubuntu. This is no good if you want to run close to, or, upstream versions, which Arch excels at. Of course, you can install software not using your package manager, but that defeats the point of having centralized package management in the first place and can cause problems.
These days, only Chrome, Spotify, Qbittorrent and a couple of others are the newest versions (through PPAs), everything else is just stock and works perfectly fine.
As a power-user, Arch "just works" for me far more than other distros have, because I know the system and it's simple, I've never had a problem where I didn't have a handle on it.
And this might be the key point: if a package like Gnome is broken, I personally blame the package rather than the OS. I don't see a GUI desktop as integral to the operating system, so when I say that Arch has been trouble-free, I mean that I'm always able to boot to a usable system console and get my work done. So that's my disclaimer, and probably the big reason people shouldn't use Arch: if you rely on a DE, and see the system as broken without one, you're probably going to experience way more breakage than I've reported.
I tried Arch and it's not the case, my examples:
PostgreSQL: https://www.postgresql.org/docs/9.6/static/release-9-6-2.htm... 9.6.2 released 2017-02-09, in Arch repos - https://git.archlinux.org/svntogit/packages.git/log/trunk?h=... - almost a MONTH later. 9.6 released 2016-09-29, in Arch repos - 2016-10-29 (version 9.6.1, they skipped 9.6) - again, a MONTH later.
Had issues with outdated Node.js and some other package I can't recall.
To be honest, up to date packages for me were only available with brew in macOS.
Nix takes the clean install to an elegant extreme. You can totally break your install, and then boot the exact system you had before just by picking the GRUB entry. It's amazing.
Arch is great for home / hack stuff, for work you want something stable.
If your hardware is old enough, I recommend using the LTS kernel and kernel modules.
I ask this whenever a big thread comes up: are there any packages in the AUR that you'd really like to see be made into an official package?
I'd love to see VSCode[1] in the official repos, Atom is there and VSCode is arguably becoming even more popular now.
[1] https://aur.archlinux.org/packages/visual-studio-code-oss
qownnotes (one of the best FOSS Evernote alternatives)
vs-code
latte-dock(unknown for some people, but it's famous among KDE users)
I'd really like to see the web server caddy included in official packages.
https://aur.archlinux.org/packages/rcm/
Should also mention Blink, the softphone. Looks and works better than Linphone (in the offical repos) in my experience.
firefox-dev: as someone else has already mentioned Firefox Nightly
Unfortunately it was a no-go for me for the following reasons, but the situation may have been improved since then:
1) Back then it was only recently that they had instituted package signing and verification for their official packages. Ouch! That was something that most distros had for years back then. So security wasn't their primary concern.
2)There were 2 or 3 package managers. pacman was the one, don't remember the others and I didn't understand their purpose.
3)They were touting abundance of packages, but these were mostly AUR packages. AUR packages, back then at least, were completely unvetted, arbitrary packages provided by... anyone basically. And the official Arch documentation was crystal clear that they don't support them and that the user, individually, should inspect each one for their integrity or possible malicious intentions. Uh, no thanks.
Hope the situation has improved because I was planning to give it one more try at some point.
Packaging, yeah, some stuff is only AUR, but that's generally a better starting point than "well here is the source". In general, 99% of what I use is available in proper packages. Obviously that'll depend on what you use.
Definitely not when it comes to security. We are talking about packages, which means even legit, well-intended programs can be weaponized by the packager.
That's a hell of an attack vector.
In contrast with AUR without which you don't have much of a useful desktop experience.
Next thing would be for Arch to officially support SELinux and we're good to go :D
There are notable exceptions where the package license doesn't allow that. E.g. chrome (not chromium) spotify and dropbox.
Most AUR packages I have seen have been incredibly easy to read - if you really don't want to use them, it's still a good framework for making your own packages much more easily, so you can install from source without dumping unmanaged stuff into your system.
> Most AUR packages I have seen have been incredibly easy to read
It's not about quality, but rather more about quantity. I don't have the time to vet every package.
makepkg pulls source files and possibly patches, and then compiles them and installs them according to the instructions. It makes life simple.
Overall, highly recommended distribution, even for beginners, assuming you are willing to read and understand the excellent installation guide.
Over 11 years I've done only one re-install when moving to SSD. (It was not really necessary, I could have just as well copied rootfs content over and be done with it. But I wanted a clean slate after 7 years or so.) No need for big upgrades is absolutely the biggest benefit of Arch Linux for me. Understanding and being able to fix stuff myself is another one. Close second is makepkg/PKGBUILDs being simplicity itself and a joy to work with. And then wiki/docs.
Though, I was a Slackware and Linux From Scratch user before Arch, so I might be blind to things that other people would call breakage. :]
I would love to hear about what configuring the compiler to work in an optimized way for your specific CPU entails.
Doesn't "-march=native" just set the target CPU architecture to be that of the host you're running on? Isn't that the default behaviour anyway?
Got my system compiled with
CFLAGS="-march=native -O3 -flto -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
CXXFLAGS="-march=native -O3 -flto -pipe -fstack-protector-strong --param=ssp-buffer-size=4"
LDFLAGS="-Wl,-O3,--sort-common,--as-needed,-z,relro,-flto"
MAKEFLAGS="-j16"So how does this set of options tend to differ from those used by the guys who build the normal binary packages?
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now"
which ensure that it would still work with an AMD Athlon64 from 2003, but you don't get any "new" things such as SSE4, AVX, etc. unless the developer hand-codes specific cases for these CPUs.Of course, it has its limits and it probably isn't 100% to your liking, but it's pretty much there, and the best thing is since I tweaked everything myself, I know what's wrong when things go wrong.
Like most people, I had my fair share of bad surprises after updates, but these errors don't go unnoticed and so far I am able to solve them all following the solutions posted in the forums, it's not that hard. Pacman also cache your old packages so downgrading is also relatively painless.
I recommend Arch to anyone who wants to get to know better how their computer works. Some of its shortcoming are annoying, yes, but not a dealbreaker IMO.
The documentation is the main advantage for me. The Arch Wiki is a real treasure trove. I have learned more about the internals of Linux in the past few months than I have in the few years before that. And that's coming from someone who did a full stage one Gentoo install back in 2007!
I was always very skeptical of rolling releases until I tried Arch. I always feared an "unstable" system. In practice, however, I never ran into many problems, and when I did, a full system upgrade a few days later usually fixed the issue. The maintainers are very reactive.
(0) I'm somewhere at the middle in the spectrum between a noob and a power user. My parents think of me as the latter, but most technically competent people I've met think of me as the former.
(1) I'm lazy when it comes to computer stuff: If I'm given a bare-bones system, I won't bother installing and configuring more than is strictly necessary to start getting work done (not necessarily in the most efficient way). And conversely, if I'm given a bloated system, I won't bother removing what I don't need to use. Even worse, I often end up rationalizing that “I might need it someday”.
(2) I want stuff to both just work and be easy to understand. Alas, software that works automagically is usually complex, so a compromise is needed. The compromise I've settled for is that I'm willing to put just enough effort into learning from online guides and fora, so long as I'm not confronted with too much complexity. If I can't learn how to configure your software in 30 minutes, I won't use it. (The only exception is Emacs.)
Arch fits my needs pretty nicely: It provides good defaults for the low-level system stuff that I don't want to bother learning, and it provides no defaults whatsoever for the user-facing stuff that I do want to control.
"apt-get dist-upgrade or something similar every 6 months or so (and risk breaking everything)"
What is this rolling release fiasco? Even Ubuntu, which I use now has a "release" (technically an pt-get upgrade), almost every other day. But I've never had it break my system. If you keep your Ubuntu updated a dist-upgrade works just fine.
I might try Arch again, but for now I'm sticking to Ubuntu.
What you describe sounds like the consequence of installing a lot of packages. Arch "prefers" when you strip it down to what you need, if only because that way you don't need to worry about too many version mismatches.
If you're looking for your computer to Just Work(tm) look elsewhere. However I stand by my comment about it being an outstanding learning tool for the curious & future sysadmins.
If you don't subscribe to the Arch news feed, you're taking a chance on every upgrade, that your system will not boot correctly.
You can trivially fubar an arch install by updating your base install+user additions if you're not in the loop with the releases of whatever you installed.
That's generally what distro maintainers are supposed to minimize for the end users.
I see people recommending Arch for newbies, who maybe just want to dip their toes. They're figuratively thrown into the deep end, and I just don't think that's a particularly good idea for most people.
Mint (or Ubuntu) is a perfectly good alternative to Windows or Mac OS for an easy and "risk free" experience. Most people are perfectly satisfied with a black box OS.
Not that Mint has to be a black box at all. There's plenty of room for hacking around, if you're into that.
-Pacman (their package manager) is amazing - and if you want to install community packages from the AUR[0], you can use yaourt (if they've got dependencies on other AUR packages), or just git clone the package and run makepkg -si
I've never had any problems with it, and I've messed around a lot with my system.
-No bloat at all, you'll learn a whole lot from setting up your own system
-No choices are made for you, it's yours and yours alone.
-It's actually surprisingly stable, though you should be careful before you upgrade.
-It's always bleeding edge (maybe not always a good thing, hence you have to think before upgrading packages)
I have to read the article now though.
Is this really, honestly a problem anymore?
I'm running Linux Mint 18.2 on my 2011-vintage refurbed T420 (4GB RAM, 320GB old-fashioned hard drive) and it feels every bit as speedy as Arch on the same machine.
From a user point of view, how would you notice this "amazingness"? Having used yum, dnf, zypper, apt-get, apt, emerge and also pacman for a while I only saw very superficial differences and maybe formatting. (packaging is different,yes, but usage? Also speed is apples to oranges and "pretty" output I don't really care for.)
> no bloat at all.
_Any distro_ does that. Either use the netinstall or open the archinstall guide and replace pacstrap by debootstrap. Heck, for opensuse you even get the full package manager during installation and can select/deselect any package you want. How is arch any different?
> surprisingly stable, though you should be careful before you upgrade.
So much less stable than, say, debian testing.
I'm a former Arch user, and I can't honestly think of any concrete reason that would matter to most people. In my case it was first and foremost a tinkering project, as Arch provides an easy and thoroughly documented way to assemble a bespoke Linux environment.
A more glib answer would be "because Arch gives you street cred without the hassle of Gentoo"
To get a working arch install you'll be taken through The Install Guide that summarises the steps necessary to have a base install with links to relevant specialised articles. Once you have a bootable system, they provide links for further customisation if your system.
The amazing thing is that by contrast to ubuntu et al. you're by default left with the strict minimal bootable linux system and anything else you want/need on your machine, it's explicitely your responsability to ensure proper operation (dependency versioning, program specific configuration and maintenance). It's fairly overwhelming initially, but the tools arch gives you to cope with the "it's your mess" are second to none (pacman/yaourt is amazing)
The nature of the system is that updates can absolutely bork the system at any time so you have to keep up to date with potential issues before doing updates. Many other distros do this work for you so you only have to worry every couple of years (or six months if you want).
Don't get me wrong, Arch is great if you're willing to keep up the effort but it does require more attention than more mainstream distros.
I have CentOS at work, with a couple Arch boxes that predate me. I do not agree with is statement, "updates never break anything". Ours have a history of breaking, which is why I assume they were abandoned, but we do run custom software.
No one has recommended yaourt for years, but thanks to SEO I guess it still comes up https://wiki.archlinux.org/index.php/AUR_helpers#Comparison_...
- a very mature community of users. The arch docs and forums are really good. If you ever have a problem, you'll find a solution in no more than a few clicks
- an extremely tidy package manager. The choice of packages is huge and - more importantly - creating and maintaining a package is extremely easy. Way easier than making .debs or .rpms
- it just works. I've used arch for more than a decade on all my machines, including servers. I never had major issues. Annoyances coming from upstream are unavoidable of course, but the distro is well organised that identify the problem and rolling back is super easy.
And don't wait too long between updates, because apparently some newer versions of packages don't know how to properly upgrade from older versions.
It does indeed 'just work', it only doesn't if you fail to understand what rolling release means. There is usually a painless way to upgrade even after a long time, you just have to use pacdiff and read archlinux.org a bit more carefully than if you update daily/weekly.
Also, how does Apple not 'just work'?*
* 'just works' refers to a general idea of it being in good working condition and not behaving unexpectedly, if you use it in a reasonable manner, it doesn't mean that every cranky misconfiguration of a tool you just came up with will somehow read you mind and deduce how you intend it to behave.
With Mint (or Mac OS or Windows or Ubuntu), it updates automatically. Or if it doesn't, it flashes an icon, I click the icon, it updates for me.
That's what "it just works" means.
b. macOS doesn't track and update every package on your system.
c. in that sense, nothing just works, i.e. had to repair Windows after a botched MS update quite a few times and while macOS is not usually completely broken after significant updates, (it shouldn't, they control the hw), it tends to be broken in subtle and annoying ways nonetheless, 10.7 for example was particularly bad.
d. That Ubuntu just works is your experience, there are plenty of people who try it and it either cannot detect something, or the GPU driver is broken or Wifi doesn't work, (see the reports on that regarding 16.04 LTS) etc. so it is very subjective, but if you don't experience these issues with Ubuntu, it's great. All I'm saying is that it is the same way for Arch.
That is part of the documentation. Users shouldn't have to subscribe to a news feeds in order to correctly update their systems. Do you subscribe to Microsoft's or Apple's update news feed? If you do, you're unlike 99.999% of users.
"b. macOS doesn't track and update every package on your system."
Mint does. Ubuntu does. A large number of other desktop-oriented distros do, without requiring their users to read news feeds for instructions on manual procedures.
"c. in that sense, nothing just works, i.e. had to repair Windows after a botched MS update quite a few times and while macOS is not usually completely broken after significant updates, (it shouldn't, they control the hw), it tends to be broken in subtle and annoying ways nonetheless, 10.7 for example was particularly bad."
Shit happens. Shit just seems to happen a lot more often on Arch (and Gentoo, for that matter).
"d. That Ubuntu just works is your experience, there are plenty of people who try it and it either cannot detect something, or the GPU driver is broken or Wifi doesn't work, (see the reports on that regarding 16.04 LTS) etc. so it is very subjective, but if you don't experience these issues with Ubuntu, it's great. All I'm saying is that it is the same way for Arch."
I used Arch for ~9 years. I've had systems where it worked fine, and systems that required a lot of fiddling to work.
In contrast, Mint and Ubuntu has worked flawlessly, on those same systems.
Similarly, the config file merging process on Arch is basically 100% manual (I know pacdiff makes it a little easier, but still).
There's more, but I don't think a lot more. Also, if the automatic config in Ubuntu fails you, it's a lot harder to get in and manually override their settings.
Having said this, when it comes to updates, archlinux is really orders of magnitudes more efficient than any other distro I have ever tried.
I also find Pacman to be noticeably faster than all other binary package managers. I just did a full package upgrade on a laptop that hasn't been upgraded since the beginning of this year, and yet it was able to compute a (fairly lengthy) list of packages to upgrade faster than I could blink.
Arch is known to be always cutting edge even if this sometimes means breaking stuff so this decision is not exactly surprising.
I've used a bunch of distros over the years, starting at Red Hat Linux 5.2 when I was a kid, Mandrake linux 7,8, Ubuntu from 8.04 to 12.04, Debian stable, testing, unstable, sid, and finally Arch.
Arch has been, by far, the most hassle-free when I see some software on the web and want to use it on my machine. Also the only one where I wasn't able to botch the system as to make it either unable to install any package or unbootable, while it happened quite often with Debian and Ubuntu.
AUR is fantastic, both as an user and a software author: it means that I just have to make a small script to make my software available easily to other arch users, vs the ungodly process to get a package into Debian and Ubuntu ; also I can be fairly confident that my users will always have a somewhat up-to-date version of my software.
Pacman installs stuff much faster than apt or yum in my experience; updates seem almost instantaneous. The best is that as a software developer you always get the most recent version of libraries and compilers: gcc 7.2, qt 5.9, etc. Likewise for desktop environments: KDE updates come very quickly.
Some packages also have "git" versions available on the AUR; for instance the creative coding toolkit openframeworks is available in the AUR both as the latest stable version, 0.9.8, released a year and so ago, and the latest nightly git version which has a lot of improvements. It's very useful if you report a bug in some software and the author fixes it in git master : means that you can often just do `yaourt -S software-i-use-git` and have it be recompiled automatically with the fix, vs trying to follow the build procedure yourself.
If you have a recent computer, older kernels and mesa sometimes don't cut it while in arch you get the latest stable kernel very shortly after its release.
It uses systemd meaning that the general system config is very simple.
Generally Arch doesn't patch upstream software unless it is absolutely necessary and they are keen to drop patches when an issue is fixed, so if you read on a project's website that the config file is in /etc/whatever.conf then it will be. In other distros they move stuff around in a more capricious way.
The dist-upgrade thing is also kinda true. It's not that it breaks everything - I use Ubuntu too, and I don't think I've ever had an upgrade break on me in 10+ years - but you need to set aside a few hours to upgrade the world each time. With a rolling release you can spread those few hours out over the 6 months. Just a few minutes a day or per week. Also, because you go from one release to the next, as the upstream developer envisioned, the compatibility of programs between versions tends to work out OK. Whereas in a longer-term release there can be big version jumps that the upstream dev did not really anticipate, causing things to break. For example, maybe some feature gets deprecated and there are some months were releases show a warning "hey, this feature is going away, do this other thing instead". You can sort it out early in Arch. But in another distro, you go from the release with a feature to a release without it, and no smooth transition between versions. And all at once, so "everything" breaks/changes that same day.
Debian-based distros can have quite a lot of downstream modifications, the OpenSSL random bug being the most infamous. A lot of this is due to having long term releases which causes the need to have new software work with old dependency libraries and vice versa.
The package manager is much simpler and more transparent than apt, i.e. it apt always felt like a more obfuscated package manager, it writes to files I don't know about on its own, processes various triggers etc. paceman can also do this, but it's PKGBUILD format is really straightforward text description on how to build and configure a package, giving you greater visibility as to what's going on.
Then there's the rolling release model, not having to reinstall is extremely nice.
Overall, it is just a very clean distort, where the tools are intuitive and transparent and you can administer the system as fast as you can type in just a few days.
Plus, the Arch Wiki is by far the best source on all things Linux.
I can believe the lack of a simple installer is what has kept the quality up -- it is a way of signalling users should be prepared to use the terminal.
Sounds like a vegetables commercial :)
[1]: https://voidlinux.eu
That said, when setting up machines for others I pick the current LTS release of Kubuntu and install unattended-upgrades to ensure security updates get maintained. It provides a much better ongoing maintenance story for machines that are less "pets" and more "tools".
§
Due to a disk crash, I recently had to reinstall Arch for the first time in quite a few years. IMO the install process has become more opaque. I seem to remember the wiki use to have a newbie install guide which was really helpful and explained a lot of things as you go, or at least what the common practices were or the pros and cons of different options. That seems to be gone and anything that may be an opinion seems to be excised from any install instructions, and you're left to stumble around different pages a lot more, which is a bit of a shame.
I guess that's were arch anywhere and similar ones mentioned may have filled the gap. I will have to try them out.
That said, even if you don't use Arch, its wiki is a trove of information.
It's an almost pure developer setup, I quite regularly install bleeding edge (-git from AUR) of various software, I tinker around. Arch makes that rather easy.
When something goes wrong, I can usually rather easily tell what just exploded, it's kind of like when you have build yourself a car and now you can tell by the hum of the engine how much oil it has.
Though there are some issues with it; most notably, I hold back the kernel for a long time because updating the kernel is always a bit of a hassle and sometimes you need manual interventions, which you can easily be notified of via email and RSS in advance.
On the other hand, my servers all run either CentOS7 or up-to-date Ubuntu Server installs, I'm not that in love with Arch.
I did like it better when they still had their own minimal installer. I don't mind installing X and a DE but setting up encryption and partitioning manually is too much for me.
I love it most that you can really do anything with Arch, the wiki is very very good on any subject. Any suggestions on good Arch installers that just give you a working encrypted system (like Arch Anywhere but working)?
Then again I did 'manual' installs without the GUI I hear they have now.
Besides, the manual installation process of Arch does not consist of that many steps; it takes but a few minutes (perhaps not the first time). To shorten it further you can write your own installation script or use extant ones, of which there are many (Arch-Anywhere being one).
I harp on Arch-Anywhere because Antergos != Arch and Arch > Antergos and other derivations.
It's not that it is too hard or takes very long time, but I still have to pull up my notes and do it.
Support I agree with. If you have a problem installing Antergos or one of its packages, ask us, not the arch forums.
However, when I finally got to Arch I did so because I had no choice. I recently bought a new graphics card and it was the only one supporting many of the new features out of the box. The Linux kernel is always up-to-date, and I haven't had an upgrade problem in the 2 years I've been using it.
It's been interesting, because my second Debian computer which I keep around as a server has way more issues. It appears Arch supports more hardware, and in general (due to minimialist style) works a bit better on machines.
Idk just my two cents
Arch also has 4.12 and 4.13 in testing: https://www.archlinux.org/packages/?sort=&q=kernel&maintaine...
Doesn't seem like an appreciable difference.
Arch was my favorite distro right up until I installed NixOS. NixOS is the first distro that has truly innovated since Debian.
While I could maintain an Archlinux install for several years without much effort, I am guaranteed to be able to maintain my NixOS install longer than I could possibly want to. I am guaranteed a clean, working system. If something breaks, I need only reboot, and pick the last derivation in GRUB.
I find that very hard to believe. While I am still running Arch (gotta love those shiny new features), updates did break something minor fairly frequently due to occasionally incompatible updates, e.g. a missing symbol in a shared object.
Luckily there was only one time where something major broke which took me a few hours to fix.
That should never happen with official packages and full updates. I've seen it happen maybe twice in 10 years and it was fixed within an hour.
If you shoot your foot off by performing a partial update (pacman -Sy foo bar baz) or forget to rebuild your AUR packages, then it might happen. But that is on you, not the distro.