top | item 9441641

The Arch Way

81 points| dgeex | 11 years ago |dgeex.de | reply

78 comments

order
[+] wz1000|11 years ago|reply
I use Arch because its the only distro that "Just Works" for me. I like to use the latest version of every software I use, and this is almost impossible on non-rolling-release distros. Installing from source almost always ends up breaking something on distros like Ubuntu.

Also, Arch is predictable. There are no weird quirks and distro-specific patches. Almost everything that is on the system is something that you consciously put there, not something that was decided by the distro-makers.

Finally, the AUR and the Arch wiki are simply amazing. Much has already been said about them and I have nothing to add.

[+] zxcvcxz|11 years ago|reply
>Installing from source almost always ends up breaking something on distros like Ubuntu.

Example? I've never once "broken" something by installing a program from source.

[+] capt8bit|11 years ago|reply
"I've seen good documentations, but nothing beats the Arch Wiki. It's the most comprehensive Wiki you could imagine."

I have heard this a number of times from Arch Fans, but I think I disagree. While I have referenced their wonderful Wiki often for "cook book" style answers (like how to fix URXVT+Tmux interactions), I do not view it the same as good documentation. I would also not really call it "comprehensive". To me, good documentation is as comprehensive as possible of the entire subject, and not just a "how to" on configuring it to look or behave like another user's installation.

Compare the Arch wiki to The OpenBSD FAQ [1], the FreeBSD Handbook [2], or good man pages [3]. The FAQ and Handbook have thousands of pages of comprehensive documentation and examples. A well written man page should be capable of answering most of your questions and allowing you to determine what actions you want to take.

I prefer the comprehensive documentation, or thorough man pages. Although, I definitely appreciate the usefulness of the "cook book" style Arch wiki.

[1] http://www.openbsd.org/faq/ [2] https://www.freebsd.org/doc/handbook/ [3] http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/...

[+] dgeex|11 years ago|reply
I completely agree that we need comprehensive documentations. That's irreplaceable when you need to properly configure something. Good manuals are mostly used as a reference.

The Arch Wiki is something different. It guides you step by step how to reach your destination, and that's what most of the users need.

[+] zackelan|11 years ago|reply
I'd call the Arch wiki comprehensive, but not cohesive. A prerequisite for cohesive documentation is that the system it's documenting is cohesive. The BSDs, as you noted, have cohesiveness down to a science, and their documentation reflects that.

Take as an example the network configuration for FreeBSD [1] and Arch [2]. FreeBSD, because it's a cohesive system, is able to document the One Correct Way of configuring the network.

The Arch instructions are much more "choose your own adventure", but that reflects the array of actual choices that you have in Linux for network config. Should you use systemd-networkd, dhcpcd, netctl, ifplugd, etc? Or maybe some combination? If you need wireless networking [3] which connection manager do you want to use? How is it going to interact with the thing managing your wired networking?

Linux, for better or worse, gives you a very fragmented set of options compared to more cohesive systems like the BSDs. The Arch wiki does a good job of documenting those fragmented options.

[1] https://www.freebsd.org/doc/handbook/config-network-setup.ht... [2] https://wiki.archlinux.org/index.php/Network_configuration [3] https://wiki.archlinux.org/index.php/Wireless_network_config...

[+] brudgers|11 years ago|reply
The documentation ethic comes, for better or worse, with somewhat of an RTFM ethos. While I am considering Arch for my enroute ThinkPad, Ubuntu is still a consideration because of AskUbuntu on StackExchange. QandA offers an alternative set of community standards in regard to support.
[+] hobarrera|11 years ago|reply
The Arch Wiki is a bit of a mix. Part documentation, part how-to guide, but it's still one of the best references to understand how stuff works (and how to use it) in *nix in general.

I do agree though, that OpenBSD has by far the best documentation out there.

[+] alexggordon|11 years ago|reply
Cached version: http://webcache.googleusercontent.com/search?q=cache:http://...

I'd actually argue a different point from the author. If you're a beginner at Linux, and want to learn more I would highly recommend Arch to you. Arch was the first *nix system I ever installed by hand (OS X doesn't count), and even as a developer, I learned more spending 3 weeks installing the OS than I'd ever known about linux previously.

I'm a big supporter of the mentality that you should know the stack you're working on (regardless of OS), and I've found it's too easy nowadays to ignore all the important frameworks and libraries that the tools you're using are built on. Arch forces you to understand them, because you can't just "guess" your way through. The thing I loved about installing it most was that on my 3rd and 4th attempt I realized how fun it was to just break stuff to figure out how it works. I'd never had the chance to do that to an OS. You learn how to diagnose errors, how to discover them, what to Google, and why it happened in the first place.

Understandably, most people might not be in the job situation where they need to do something as time consuming as install Arch as a dev environment, but I think that if you want to learn about operating systems, in a structured and incredibly well documented environment, Arch is unparalleled.

[+] vezzy-fnord|11 years ago|reply
If your goal is to learn without totally assembling something from scratch, I'd honestly recommend Gentoo, CRUX or Slackware, instead. Latter is what I use daily, and it's the closest to vanilla that you'll get while being suitable for daily tasks.

Arch is a rather odd duck in that it has long cultivated this cult image of being a "hardcore" distro, but I never understood much of the appeal myself. It seems to attract a lot of unjustified smug users, and the so-called "Arch Way" (https://wiki.archlinux.org/index.php/The_Arch_Way) seems to be rather tarnished in light of more recent decisions.

[+] dgeex|11 years ago|reply
Sorry for the downtime, it's fixed now.

Maybe some advanced users could start with Arch, but most of the people I know, will find it too difficult and give up on it. Yes, it's a great way to learn how stuff works, but it's just not for everyone. And in my opinion, beginners should start with something different. I'd never recommend my mom to try Arch for example.

[+] raziel2p|11 years ago|reply
If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

The argument I've heard against this is, "but it's simple, it's only like 10 commands to set these up". The problem is, it takes like an hour to read through the entire wiki page (and you need to read it all in case there's an important detail that may screw your system over). It may be simple, but it's still massively tedious.

Maybe if you're a full-time sysadmin you're familiar enough with ifconfig, fstab etc. to do it without instructions, but I'm fairly sure that's a very low percentage of linux users. Even if you do learn how to use them, for most people it's useless information until you reinstall.

I consider myself quite the power user, and Arch is appealing to me (and I've tried installing it a couple of times when the temptation is there), but until it can have a working system out of the box, I think I'll stick to Debian.

[+] lake99|11 years ago|reply
> If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

Netctl gets bundled in the install images because it is small. But after you have finished your installation, you can abandon it. No distro that I have come across handles partitioning and mounting automatically. I have come across a few that offer to wipe the entire disk and install themselves the way the distros prefer.

> it takes like an hour to read through the entire wiki page

I have installed Arch a few times on my machines, and I can't remember all those steps. The idea is to print it out (or open it on another screen) and follow it step-by-step. Arch is meant for people who are willing to do a lot more than execute some 10 commands to set up partitions and networking. After the initial effort, it is the least painful distro that I have used.

[+] hobarrera|11 years ago|reply
> If someone made an Arch installer that automatically set up networking and persisted the setup, as well as partitioning/mounting, I would be on board.

But then, it wouldn't be Arch any more. There'll inevitably come a user that wants a different partition scheme not contemplated (nfs /home? LUKS? LVM across all present drives? etc).

As far a networking: it's even worse. There's several choices of what you can use to manage your network (wicd, NetworkManager, netctl etc). An installer that supports all those, with all possible network configurations, would be a huge pain. It's just easier if the user picks a tool, installs it, and configures it.

It'll also help you greatly in future when you need to reconfigure it, fiddle around, of break it.

> Maybe if you're a full-time sysadmin you're familiar enough with ifconfig, fstab etc.

No need for ifconfig, you do have a lot of helpers, as mentioned above.

[+] dattl|11 years ago|reply
What about Antergos or Manjaro?
[+] graycoder|11 years ago|reply
I think ArchBang tries to do that. It might be a nice in-between for a new arch user's first time. Then again, I think I had a set of other problems when I tried it. I have spent a decent amount of time trying to understand all the steps of the process just so that I can troubleshoot without immediately needing to access the arch-wiki. The knowledge is nice to have, and building familiarity with the system one uses should never be seen as wasted time :)
[+] yuvadam|11 years ago|reply
You're asking for something Arch will never provide. Having a "next > next > next" installer defeats the entire purpose of Arch.

I once shared the exact same wish, and I never truly adopted Arch until I installed it 3-4 times on one of my secondary computers. It is only by taking that path and practicing that I truly learned to appreciate what it is that Arch gives.

I'm sure you'll have that experience too, some day.

[+] nextos|11 years ago|reply
I think the Arch Way really shines if you stick to small applications that do one thing and do it well. This is the essence of Unix.

There are periodic surveys among Arch users, and it's pretty interesting to see a majority of them sticks to this ethos:

https://docs.google.com/forms/d/1_LisP8224B2yahtZTYB-pnIt0aP...

Such a choice would be considered hardcore in some more mainstream distros. I began transitioning to this setup more than 5 years ago and I couldn't be happier. A simple system configured in a few text files is very rewarding:

* xmonad+dmenu (no login manager, other tiling WMs like dwm or i3 are worth considering)

---

* zsh

* urxvt (completely keyboard-driven with https://github.com/muennich/urxvt-perls)

* emacs (nox version)

* remind (a great DSL for events https://www.roaringpenguin.com/products/remind)

---

* firefox+vimperator

* mutt+isync+notmuch (fast Gmail-like index and address book)

* zathura

* irssi (consider switching to https://github.com/WhisperSystems when implemented for CLI Linux)

---

* git

* rsync+btrfs-progs (incremental time stamped backups)

* openssh+sshfs

* gnupg

---

* powertop+thermald

* connman

---

* arch-init-scripts (for systemd lightweight containers, all my development happens there)

* texlive

[+] hobarrera|11 years ago|reply
Out of curiosity:

How's connman working for you? Do you have a GUI for it, or just CLI?

Does isync support IDLE? offlineimap has quite a few bugs and I can't wait to change it (I've a very similar mutt+offlineimap+notmuch+opensmtpd setup).

[+] dgeex|11 years ago|reply
That's a really nice survey. Thanks for sharing!
[+] semi-extrinsic|11 years ago|reply
Why emacs and then vimperator? And why not pentadactyl?
[+] deelowe|11 years ago|reply
I'm not a huge fan of recommending yaourt. Users should really learn more about the AUR before just letting yaourt automate it all. I recommend cower until you get the hang of things (or maybe just use cower full time). Cower automates only the downloads and updates without completely abstracting everything away with regards to the build and install process.
[+] zanny|11 years ago|reply
Unless you use Antergos you need to at least manually build yaourt and its AUR dependencies once.

also, you can imitate yaourt with literally wget <pkgbuild> makepkg pacman -U <pkg>. There isn't a lot of secret sauce to take out of your life by automating those steps after you do it once or twice.

[+] FreeFull|11 years ago|reply
Some AUR packages won't build with yaourt for some reason too, in which case you still have to use cower or download them from the website, and run makepkg yourself.
[+] dgeex|11 years ago|reply
I didn't know about cower. Probably should give it a try. Thanks for the idea.
[+] tines|11 years ago|reply
I have to give it to Arch, The Wiki is the single most helpful and well-written wiki I have ever seen. I wish Debian had a similarly exhaustive collection of information. I don't ever recall having to go off hunting for additional resources; the info was either on or linked to from the Wiki. Like others have mentioned, I too greatly appreciate the AUR and the ease with which one can put a package up for others to use.

The thing that turned me away from Arch is that, after having installed it four or five times, I really got tired of having to do things like manually modify configuration files for everything I install, manually configure every service I want to start at boot, and look up instructions for support for my specific hardware (not which packages are needed, but how to configure those packages to work at all), whereas with Debian, I can just run through the Debian installer and the basic system is good to go, networking and all, even for some of my obscure-branded wifi cards. I could make a script to do this, but it's been different for every machine I have, so there'd be a script for every machine. I like Debian because it has sensible defaults (at least for my definition of "sensible"), and the "testing" release is extremely stable in my experience but also has pretty recent software in the standard repositories (g++ 4.9.1, etc), which is one of my strict requirements for a Linux distribution.

Also, if you're using Arch, reading the news announcements on their website is not optional. You're just one `pacman -Syu` from a(n) [nigh-]unbootable system at all times, and you may have to run some commands by hand to upgrade smoothly. This kind of breakage happened twice or thrice to me when I was using Arch, and at least once it was very difficult to apply a fix after the fact. Linus help you if you happen to upgrade before a fix for the issue (which probably happened because of your specific configuration and so was not caught by the developers in testing) is widely disseminated. Debian, at least for me, has never become difficult to use from an `apt-get [dist-]upgrade`.

In short, I respect and admire Arch and the people who make it happen, but it was just too time-consuming (for me) to administer and upgrading has too much potential to knock out the system I depend on for daily work. It was great for learning "how to Linux" because the system does relatively little for you, but for a work-machine that needs to keep on trucking without much upkeep while still giving great performance (sorry, but -- bad ubuntu! bad!), I personally prefer another, specifically Debian. Arch is a really important distro that fills a certain niche for people that need it, but I don't think everyone fits in that niche (but is there any niche that fits everyone?).

[+] MrBuddyCasino|11 years ago|reply
A bit OT, but:

> http://www.dgeex.de/2015/04/17/why-i-dont-like-java/

About halfway through, when it got to the "No preprocessor" section, at first I wasn't sure if it was serious or ironic.

[+] davidddavidson|11 years ago|reply
You missed some more good reasons after that like:

"It's not suitable for big projects"

"No global variables"

My takeaway from the article is "I [the author] don't like Java because it is not C/C++"

[+] crdoconnor|11 years ago|reply
>Unlike other distributions, on Arch you’re not forced to use a specific Window Manager, a Desktop Environment, a File Manager, and so on.

Excuse me?

[+] tormeh|11 years ago|reply
It's like the people complaining about Unity, not realizing that all the major WMs, DEs and FMs are a single apt-get command away...
[+] placeybordeaux|11 years ago|reply
I love arch. I stopped running it as my main OS when after updating it rebooted and couldn't reach the internet, even with an ethernet cord. Didn't feel like diagnosing the problem without easy access to google so I switched away.

I want to switch back, never before was it so easy to install any piece of software or as simple to have the exact set up I wanted. I am fairly sure this could have been avoided by signing up for the arch-announce mailing and watching for "manual intervention needed". If anyone wants to make the jump I would recommend following that mailing list.

[+] chpatrick|11 years ago|reply
I used Slackware, Gentoo and Arch for ten years but in the end I'm on Ubuntu. I liked feeling in control on those systems and it was great to have everything available immediately on Portage or AUR, but after a while I just got tired of having to read a wiki page for doing something as simple as setting up Bluetooth and ending up with a less convenient end result. I find there's almost always a PPA for an obscure package I need, so I found Ubuntu pretty convenient for actually getting stuff done.
[+] GmeSalazar|11 years ago|reply
I had been using Debian-based distros since 2010 -- Debian itself and the Ubuntu. Switched to Arch a few weeks ago and it's been a quite nice experience. While installing, I wrote a brief installation outline (based off of Arch Wiki); if someone is interested, it's available at [1].

[1] https://drive.google.com/file/d/0ByEPyxMys7A6T19Qc25JWTNKRE0...

[+] al2o3cr|11 years ago|reply
Not an Arch user, but I'm glad it exists. It's incredibly helpful to know which devs love tedium, boilerplate and hand-rolling; makes it easier to avoid them...
[+] noriak|11 years ago|reply
Arch is my workstation and it works very well (for maybe 5 years)

You just have to check the arch website for important updates (filesystem, etc) which may broke your system.

I had ubuntu before and it was impossible to upgrade to the new version after 6 months. I was obliged to reinstall my system ...

It was difficult t first to install Arch but like the article said, it makes you undesrtand Linux and your computer. A very good way to improve your skills

[+] yantis|11 years ago|reply
This isn't really the Arch Way but...

If you have a Mac or MacBook and want to give Arch Linux a shot: https://github.com/yantis/instant-archlinux-on-mac

Just run one line in Mac OSX and ten minutes later (depending on bandwidth) you will have a fully usable dual boot Arch Linux system.

[+] bitwize|11 years ago|reply
The Arch Way was kicked to the curb when they transitioned to systemd. It's one of those things -- like "the Unix Philosophy" -- that's nice on paper but has nothing to do with the way Linux is actually run in the real world now.
[+] forlorn|11 years ago|reply
I'm choosing between Arch and Debian Sid - what would you suggest?
[+] hobarrera|11 years ago|reply
If you like learning about how stuff works: Arch If you want the latest version of everything: Arch If you value flexibility: Arch

If you value simplicity to get this running ASAP: Debian If you're not comfortable configuring stuff yourself: Debian If you want something that won't mutate much over time: Debian

[+] dgeex|11 years ago|reply
Both are good. It depends on your needs
[+] yawniek|11 years ago|reply
i am using arch mostly as a server os and it works very well. if you want to quickly setup a working desktop i can recommend antergos.com, its essentially arch with a nice installer.
[+] hobarrera|11 years ago|reply
I love Arch, but bleeding-edge always intimidates me a bit for a production server. Plus, I've been using OpenBSD for servers since before I knew Arch, so I already have that flexibility (and makepkg is really based on BSD ports).

OTOH, I can't recommend Arch as a desktop OS enough!