I've been using Arch for about three years now and can't imagine using another distro.
The install phase is a pain if you want to get a full-blown plug-and-play ready-to-go desktop experience that rivals Ubuntu, OS X, or Windows.
It's actually really easy if you just want a bare-bones system that boots into a shell and doesn't install any packages other than what it needs to do just that.
Switch to Arch if you're a minimalist.
My rig only runs Stumpwm on Xorg. I only use xterm, emacs, and the usual GNU toolchain. A couple of interpreters. I have installed GTK so I can use Firefox (and so I can hack on Firefox), but nothing else. I don't have a crap load of applications running in the background waiting to notify me of crap I don't care about or services that I never use. I know exactly what runs on my system and it does no more than that and no less.
I think Arch fills a very nice niche and I'm so happy it exists.
Why would you want to be a minimalist? Even a Raspberry Pi system, which costs under $50 kitted out with storage, could handle a moderately full install.
The only "minimalist" Linux install I've ever wanted was one so stripped down it would boot off of a 3.5" floppy. It's amazing what you can do with a kernel, a baked in read-only filesystem and a tiny loopback device for storing configuration files.
My Arch system doesn't inundate me with pop-ups to update my system with out-of-date libraries. It doesn't integrate "the social web" into my "desktop." In fact it doesn't do anything unless I specifically want it to.
Some people are happy with everything and the kitchen sink. I don't need all of that, so why have it? It takes up resources, clutters my space, requires maintenance, and often just gets in the way for no good reason. I don't need that and Arch serves me well.
> My Arch system doesn't inundate me with pop-ups to update my system with out-of-date libraries. It doesn't integrate "the social web" into my "desktop." In fact it doesn't do anything unless I specifically want it to.
> I'd count Ubuntu's Me menu as integrating "the social web" into the desktop.
I don't see that on my Window Maker desktop.
(People either forget or have never been told that Ubuntu is still actually Linux, and can run all the same software Arch and Slackware and CentOS can run. That's the charitable explanation, anyway.)
Of course... every distro becomes the same once you remove their defaults. You can run RPM on debian and APT on fedora. You can compile everything from source on ubuntu and copy binary packages to your gentoo install. You can use ubuntu repositories on debian and vice versa. Amazingly enough, i have the freedom to kill explorer on windows and use an alternative shell+panel there too. The fact remains that Canonical are integrating "the social web" into their desktop and shipping it to you.
At some point you have to make a distinction between the desktop environment, and the increasingly meaningless term "operating system"; once you stray from the defaults, there's no point distinguishing between distros at all.
> every distro becomes the same once you remove their defaults
You can remove some of the defaults and not all of them. For example, I still use the default Ubuntu package repos. I'm still getting value out of the default Ubuntu system without needing to run every single default.
There's a finite distance you can run this train of thought, but i'll continue: At what point does your system stop being Ubuntu, and start being identical to someone's WindowMaker distro, customised to use ubuntu repos? (Lots of desktop debian users add ubuntu repos for the occasional package.)
I find that it makes more sense to get the minimal and add what I want, rather than get the huge Ubuntu (and it's not the only one) bundle and try to remove everything that is unnecessary as I discover it.
On a complex system I don't know what is installed and how it's installed. It's just too big to apprehend, I will never hold all this in memory. For instance I used Ubuntu for years before discovering that I do not use 'GNU bash' at all, it was a fork called 'dash'. It may be silly and won't make a big difference, but the fact remains that I didn't know for so long. If I had bash and 10 other binaries in total on my system, I would have realized earlier. A lot earlier.
Unless you set /bin/dash or /bin/sh as your shell you weren't using dash(interactivly). /bin/sh is just a symlink to /bin/dash so dash is only used for scripts with #!/bin/sh at the top.
Even root has /bin/bash as its log in shell.
/bin/dash is more like the original bourne shell which helps people write more portable shell scripts and it's faster(especially for startup).
If I'm reading this right, you must be one of the very few people on Earth to use dash when you have the option to use bash.
I think you misread that. It sounds to me that he didn't realise he was using dash because it was bundled with Ubuntu and Ubuntu being a large distro with lots of defaults, it took him a long time to find this out. Your comment just validates his point because he didn't want to use dash at all, he just didn't know he was using it until a lot later (possibly after the differences already wasted his time).
"generally knowing where stuff is" has been my favorite part of using Arch. I started out on redhat systems back in the day, and kinda figured out where the really important stuff was, but never wrapped my head around everything. Adding things piece by piece as I need them to Arch is much more instructive.
IMO boot time isn't a big selling point anymore with SSDs in the market (albeit not exactly affordable). A MacBook Air can boot up within seconds and that's plenty fast for me.
I am using Arch with gnome3 on 5 different machines and still think of arch being minimalist in the sense that you only need to know a handful of commands and config files and you are ready to go.
I've also used Arch for half a year now. I just installed it to boot me to the console, set a simple .xinitrc to open me a xmonad session, cloned my configs and I was ready to go. Fast, minimal and no distractions. That's what I want from my work computer.
I appreciate the minimalist philosophy, and Arch is on my todo list (it's even got a vm allocated). However, I seemed to have evolved into a more dual-pronged strategy - Full featured Ubuntu desktop, with relatively stripped down Ubuntu/Cent/OpenSUSE servers running in VMs.
For my desktop, I still value 'just works' over minimalism. Things like Spotify just work out of the box. And any software I may want to play with in the future that has to choose which distro to target will most likely target Ubuntu and Fedora first.
Also, the Debian repo is extensive, and the Ubuntu PPA system almost always compensates for when the Debian package is too outdated.
I also like where Ubuntu is going with the UI/UX. At first I hated the idea of the sidebar, but after trying it and realizing it autohides and stays out of your way most of the time, I switched my opinion. And I'm really looking forward to HUD in 12.04. I've been wanting an integrated Gnome-Do/Synapse for a long time now.
Finally, I get my minimalism fix where it's most important - on the servers. I can set up a local dev environment using vm's that mirrors production - database server on one vm, app server on another vm, and Nginx running on the desktop and pointing to the app server vm.
It does annoy me to start up htop on the desktop, and compare the plethora of stuff I see there with what htop on the servers displays. But I just accept it for now.
Compared to that best-of-both-worlds setup, Arch seems like it would require more compromises than is worth the time and effort to deal with it. I still intend to learn it, just because I value things that will help me learn Linux (or any of my primary tools) better. But I don't see fully making the switch to Arch.
I have switched from OS X, to Arch (2 months now full time?), so I'm not exactly coming from your angles, but I will say that every single piece of software I've ever needed has been in the main repos, and if it wasn't there, it was in the AUR.
What's fascinating is that AUR packages get voted up. Packages past a certain threshold get the choice to become a main repository package. Creating and maintaining community packages is a snap with their build system (though I've never done it personally, but understand the mechanism).
On top of that, re-building your kernel, should you ever need to (I did), is dead simple.
So to your main argument of more compromise, I believe it to be false. It's less compromise to me. I feel I have to compromise with an Ubuntu distro that has made all the choices for me (and for a client-services company at least, you'll come to the day where you need to know what those choices were). Now I have the power and ability to make the decisions I want to make, especially following the extensive wiki and super helpful forums (I feel like you could compare the helpful responses there with the type of intelligence that this community possesses).
To your final point, of the "just because I value things that help me learn Linux", this will absolutely help you learn Linux. And once you know it the Arch way, most of the other ways seem completely opaque. The standards of packages in Arch allow you to find all the important bits of all the software you installed. My company uses Arch for our servers as well because we know we can count on the standards and have up to date software that, for us, "just works".
Some time ago I went to reverse way, from Arch to Mint Debian Edition. Just to try out other distro.
Spotify doesn't work for me in Mint. In Arch worked flawlessly. Anyway, YMMV.
Now I'm willing to have time to switch back to Arch and enjoy the minimalist (and speedy) desktop experience and the easy way to use bleeding-edge software in a (almost) safe way.
But all isn't bad in Mint. I like the performance of its kernel with the 200-lines patch scheduler. For any archer: any idea of some AUR kernel with that? Or does it get in mainstream kernel already?
I'm curious how you enjoy working with virtual machines instead of all native?
This is admittedly my first day of not being just a lurker here, so forgive me if I shouldn't ask this here, but what is your setup and environment like?
I've considered running VMs for each client I work on, but am unsure if it'd just be a hassle or not.
As long as your hardware can handle it, it's more than worth it. A few points:
1. I have a rule - never install server software on my base machine. Servers and server frameworks (like Rails, Jetty, PostgreSQL, etc.) are only allowed on server OS's (Ubuntu Server) running in a virtual machine. That keeps a lot of cruft and extraneous processes out of my base install, while also quarantining them into easily clonable virtual machines, should I want to recreate the vm for something. I only break that rule with one thing - I run Nginx on my host OS, and just point it at different vm appservers.
2. It helps separate your work for multiple clients. So you could setup three vm's for client 1 and three for client 2 like so - client1-webserver.vdi, client1-appserver.vdi, client1-dbserver.vdi; client2-webserver.vdi, client2-appserver.vdi, client2-dbserver.vdi.
3. It lets you more accurately simulate the production environment of an n-tier application locally, so your dev environment will be closer to prod than if you ran all these server apps directly on your base machine.
Only caveat is you need the hardware to support this. Enough disk space for multiple ~10GB vm's, enough RAM to hold them in memory, and a CPU with VT-x (and VT-d if possible) and lots of cores. I particularly like Intel's Sandy Bridge chips for this, since every core is hyperthreaded, making it appear to the OS to have twice as many cores as it actually does. Each vm can be assigned one more more core.
That's about it. Try it with Virtual Box and see what you think.
I run Ubuntu as my main OS. Then I have VirtualBox running with couple Windows virtual installs and a couple Linux virtual installs. I give about 5G-10G disk space to each, and about 500M to 800M RAM to each (my work laptop only has 2GB, so I have to be careful). The windows virtual installs are for running different versions of IE and programs like Photoshop. The Linux versions are for running things I don't want to conflict with my main Ubuntu system. For example, I use rvm for Ruby programming, and wanted to try rbenv. However, I heard they don't play well together, so I installed rbenv on one of my virtual Linux installs and was able to experiment right away without worrying about messing up my rvm configuration. Another time, I was learning about certificates and keys, and did not want to screw up my current configuration on Ubuntu, so I was able to experiment on on of my Linux virtual installs instead, with no harm done to my main Ubuntu system. It's very liberating to be able to experiment with these without worrying about affecting your primary system.
Wow. That's fantastic. I'll do that tonight actually. Because ArchLinux is constantly moving so quickly, I'd like to know what I might have to deal with when I run a pacman -Syu.
I think I'm a convert. Now, if I could get OSX to boot in a VM, and dedicate the entire HDD to Arch, that would be perfect. For some reason my Macbook won't boot the 64bit Archboot iso. But I'll wrestle that demon another day, heh.
> The install phase is a pain if you want to get a full-blown plug-and-play ready-to-go desktop experience that rivals Ubuntu, OS X, or Windows.
Just about every Linux distribution offers this, because the distro-makers create none of the window managers, etc. Which other distributions have you tried?
I read the article and groaned. My days of "tweak it until it works, just for fun" are pretty much past me (I'm typing this on a Mac, for instance). I like to spend my energy creating things these days.
But Arch seems really cool if you want to rebuild Linux systems for fun & knowledge!
Once you have Arch set up, there is very little tweaking that needs to be done. It "just works", well unless you have an AMD or NVIDIA graphics card and a new kernel or xorg comes out which isn't supported yet...
I think this is a little disingenuous. The Arch developers do their best to make sure that nvidia and amd drivers work with new kernels.
Sometimes updated drivers are needed, but not released for months, and the developers have to make the choice between holding back the kernel update for that small minority or releasing it to the benefit of everyone not using that driver.
Well, there are no graphics cards except AMD and NVIDIA (for Intel doesn't make discrete cards). And someone's a GPGPU developer who develops for various bleeding-edge Radeons and Teslas.
nouveau and the open source ATI radeon drivers work quite well on hardware that isn't the latest generation, and do not result in those sorts of issues.
Mac has major package management issues. Homebrew is fine (not as good as the linux counterparts, but fine), but if you make the mistake of installing Ruby with RVM Homebrew won't work, and you will spend a lot of time fixing it. With Arch you just have to get your basics set up and any development related item you need, there are precompiled packages you will install in seconds.
Perhaps, my point was that if you screw up your Ruby installation on Mac it is a pain to get things right again. RVM is the recommended way to install Ruby according to ruby-lang.org.
Homebrew expects ruby to be installed at /usr/bin. RVM installs it in ~/.rvm/bin/ruby-$VERSION. Even if you symlink there are compatibility problems. I'm sure it's fixable, but non-trivially so.
Sure. But unless you're deploying custom Linux builds, what does that get you, exactly? I have a number of packages on my computer I don't use, and I am not being hindered by their existence. I instead use my brain cycles for creating new software & systems, not retooling the existing one to no end.
edit: Please understand that I'm not saying a fully customizable Linux doesn't have its place. It absolutely does. But when you're trying to crank stuff out, having to stop and tweak/fix your system simply gets in the way. Well, it gets in my way, at least. :-)
Although I wouldn't word it so aggressively, I too feel compelled to react to your "creating thing" idea. Dismissing OS customization as something that "gets in the way" is a terrible misunderstanding of the role of an OS in "cranking stuff out". The truth is, good configuration of the OS can save you huge amounts of time in your creating "new software & system time".
The truth is, the OS is not supposed to be a black box that lets you run your IDE on top. That leads to extremely redundant systems with multiple failure points. Idiotic as it may sound, proper manipulation of your OS will make you "one" with the machine, and simplify your thoughts greatly.
I'll leave you with a quote found all over the Web: "Those who don't understand UNIX are doomed to reinvent it, poorly".
you make excellent points, but that still doesn't answer pnathan's problem. He just wants to get his work done, and he's getting just that with a Mac. Maybe he would not like to invest time in configuring his OS, that's a personal decision. Yes, OS customization may be an interesting/exhilarating experience for you, but maybe not for him; that's how its "getting in the way", for him
Just because a system gives you the freedom to customize your environment, it doesn't mean you required to "retool [it] to no end." I have used a simple Arch Linux installation for years and it has never interrupted my work flow.
My favorite thing about running on an Arch system is I know what's going on all the time. If an Ubuntu system breaks I'm generally dealing with a mass of preinstalled things, it's hard to know what's relevant.
Similarly for increasing boot speed, I really like knowing exactly what I need to be running at any one time.
I appreciate it's not for everyone, but I imagine most coders around here who run a Linux system would benefit a lot by taking the time to set up an install and having it work how they like.
I was running Gentoo before. In Gentoo, you could configure everything up to the smallest details, and you had the system that worked exactly as you want it too. The cost was frequent recompiles and a bunch of time lost playing with the things.
After I swithced to Arch, I found it much easier to configure, and it required almost no maintenance. It is a great balance between ease of use and full power.
Have you found a difference in freshness of packages since you switched? I really like how in Arch packages tend to be much more up to date than other distros ( a side effect of the rolling release)
Gentoo had slightly fresher packages (I was running ~x86). But, arch packages are in principle more stable. I haven't had any major breakage with Arch for a few years now, while with Gentoo it was a norm to have breakages every month until I finally switched off.
I was under the impression that the situation was reversed. My Gentoo systems have been very stable because I take many of the masked package guidelines seriously (of course not all). Meanwhile you have Arch that changed the default python version to 3 back in October 2010 that hosed a lot of people's systems. Discussion: http://news.ycombinator.com/item?id=1808840 and my favorite quote (there are so many great ones though) from the mess:
20:20 <dash> well that confirms my impression that arch was invented by a bunch of guys who thought gentoo was too stable and easy to use
Getting through the initial hurdles of getting wifi working and daemonized, getting X to start when you boot (if you want to run X), etc. can take a little time because it's not something you normally have to think about with the preinstalled distros. But once you get through those things it's pretty smooth sailing. Pacman is fantastic, and AUR is unmatched. The benefit of knowing exactly what is running is worth the initial pain.
I would never go away from running releases, its fantastic I have my laptop since quite some years now and since I did the install I never had a real problem with keeping it going.
I wanted to try Arch to see what the fuss was about after I got badly burned by the Ubuntu 11.10 upgrade. I'm not a Linux newbie by any stretch and I managed to get it set up in a virtual machine, but when it came time to install the community package installer, I just couldn't do it. I was no doubt doing something stupid. But after fiddling with it for half an hour, I sat back and said to myself, "If I can't even install the installer, what is maintenance going to be like for anything remotely complicated?"
And that's when I realized that while it's fun to tweak and fiddle, I have real work to do and doing things like fighting with a package manager and installing drivers is not very high on my to-do list. I ended up rolling back to 11.04, which I'll probably stick with for some time.
I'm curious what you mean by "community package installer"? If you're referring to Yaourt, that is an unofficial, third-party wrapper script that is unsupported by the Arch Linux developers and isn't required by any means. It does add some convenience for building packages from the AUR (Arch User Repository), but it's much safer to actually examine those PKGBUILDs to make sure they're sane. You also shouldn't need it for regular community repository packages, as those can be installed via pacman just fine.
If you do want something from the AUR, are customizing one of the official packages, or are trying your hand at packaging something else, editing PKGBUILD files and using makepkg manually is pretty straight forward once you've done it once or twice.
The community is very helpful and responsive...on the forums, mailing list, and on IRC. Feel free to stop by if you ever want to give it another shot and get stuck.
Just a note, yaourt asks you if you want to examine and edit PKGBUILDs builds every time it builds a package, I really fail to see what the advantage of doing all the steps manually is.
That's exactly what I was trying to install. I just couldn't get it to work. No doubt some simple step I had overlooked, but not being able to install the installer was extremely frustrating.
Once ago, I spent a few hours during the night installing Arch, painfully managed to set most of stuff working and then... formatted it the hell out. Just as you say, my computer and my OS are my tools too, and tools only. I need to get my shit done, not spend all days long quircking every basic detail just to make it work. Even if my disk crashes I can set up a fully configured and working Debian with all most needed software, repos downloaded and ready to do real work in one hour flat. And if I wanted real challenge and had way too much free time, I'd probably try LFS. Or shoot myself in the foot.
If you don't like the way Ubuntu went, go with Debian (sid if you like the warm feeling of having the newest stuff).
Even if my disk crashes I can set up a fully configured and working Debian with all most needed software, repos downloaded and ready to do real work in one hour flat.
I can do this with Arch Linux. I can't imagine what you could've had so much trouble with.
OP here. That 2 hour estimate is for people who have never done an Arch install. I think 1 hour is reasonable for someone who's done it a few times to go from nothing to a fully working system.
That said, I won't argue that it's still a good bit more work than setting up other distros.
I ran with an arch install for about a semester, similarly after not liking Ubuntu's direction. I figured it was also a nice time to try out a tiling window manage so I used xmonad. It was fun for a bit and the rolling release cycle was nice, but when it comes down to it every small change takes too much time. You end up hunting down config files or hacking things to work the way you want them and it can burn hours.
I like Arch as a whole but I've found that for my purposes it is a time sink compared to Debian for example.
Debian has lots of sensible well thought out defaults. Arch has lots of disparate defaults each provided by the package vendor (as they don't customise packages).
It's not a criticism, but a difference to bear in mind.
That was my experience too. I switched to Debian from Arch a half year ago or so and I've spent far less time maintaining it; and once I'm used to "the Debian way" I can navigate new packages without having to think about it. And updates don't break my system or fail to deploy, and 'python' isn't a symlink for 'python3.2'.
I also reported a major security vulnerability in the default configuration of an Arch package but I had to reopen it because the maintainer said something stupid like "people who install this package should operate on trusted networks". What?
This is a great comment and the key phrase is "for my purposes..."
Many people look at a particular OS, decide that it's not right for what they need or want, and jump straight to "that OS sucks because it doesn't meet my needs." It should be fairly obvious how that is just a silly thing to think.
Different OSs meet different needs. We should strive to understand our own needs and to understand our options so we can make the optimal choice for our particular situation.
As an arch user myself, I like (and can afford the time) to tweak and fiddle with my setup so that it's just right for my workflow. Another reason I use it, is that it's a great way to learn more about linux.
Arch probably is not right for people who need lots of stability or don't have the time to fiddle and tweak the OS. And that's ok. There are many other options they can use. It sounds like Debian is the right fit for you and that's awesome.
Glancing through the instructions, it looks like things might have got better than when I installed arch linux around 6 months ago. At the point I felt like installation involved a lot of carefully designed "busy work", which I couldn't imagine not wanting to do, but which had to be done exactly.
The reason I left is because of their incredibly bizarre choice to make /usr/bin/python run python3, and messing headers around so much you couldn't build gcc from source. Between these two features, it made the system basically unusable for me.
Those downsides were upsides for me. I love that everything must be configured on Arch, because I know that I am doing all the configuring. I've tried to customize Ubuntu's motd, change services to start backgrounded, and install packages from source in a way that integrates with the packaging system. Ubuntu likes to get in the way of this in the name of simplicity and for a casual or even intermediate user, sure, this works. For advanced users too, depending on your priorities.
Arch is awesome because it's basically FreeBSD-like packaging and something not unlike FreeBSD's service configuration on a Linux box. Things are in a predictable place, rather than in /usr/local OR /usr/, and installing source packages is something that is very customizable and very easy. It yields the responsibility to be careful about your versions to you, but in doing so gives you an immense amount of power to be the master of your system.
For minimal systems, where you know what you're doing, it's fantastic. Running Xorg is a bit of a pain, but I hardly blame Arch, and if something that "just works" were what I was going for, I wouldn't run Arch. I wouldn't use it on my MBP, but it's been running great on my home server for quite some time.
It feels like he's describing installing Linux (any distribution) around 1997-1998. A bit complex, lots of manual setup, etc. Not terrible, and it has its benefits for sure, but it feels a tad like a step back.
Honestly, the install isn't so terrible. The documentation is pretty excellent, and while it does take about 2 hours for the first install, if you need to install it on a different machine (or you really, really screw up your install), it'll probably only take a half hour.
My main issue is that the rolling release thing didn't actually solve the problem that I expected it to - which is that I didn't want to need to install a new release every 6 months to keep up with changes. While Arch makes it so that you don't need to frequently re-install, if you don't update often enough, you can get into situations where upgrading will break your system.
At this point, I'm afraid to do the upgrade on my server for a number of reasons, first is that I might run out of disk space on root part-way through (I should mount something else to /tmp for this). And, the other reason, as mentioned above, is that the upgrade might bork my system, and that's just something that I can't afford on my server.
I realize now that this was a really poor choice as a server distro, but I am happy that Arch does not get in your way with system config stuff and you can find just about anything you want to install in either the base or community repos.
I use Arch on my laptop for daily use, it brings in my paychecks. The benefit is, once you have it setup, it is dead-simple easy to maintain. All my applications and libraries are always up to date and there are no big releases or reinstalls. It is easier than dealing with Ubuntu releases every 6 months and their constant interface changes.
Also I use some esoteric software that is more difficult to get on Ubuntu.
I use arch at both work and home. It's not really that bad to configure and setup although I guess my usual setup isn't really "a normal user" in terms of 99% of PC users. If you are familiar with linux itself then it's straightforward to get running. I actually prefer it over the likes of ubuntu.
I'm a developer though that's been using Linux as my main OS since the days of red hat 4 in 1996 so I'm quite used to it. Arch focuses more towards seasoned users that want to do their configuration this way. The rolling release schedule can introduce some issues for me but they typically are fixed within hours to a few days as new packages come in.
All in all I'm very happy with it as my primary OS for both work (within a creative agency) and at home. Certainly as a developer I've found it far easier to get things to work on it than other linux flavours.
Different strokes for different folks really. I still continue to recommend Ubuntu and Fedora to friends looking a more friendly and "out of the box" experience. Arch is not there to fill that niche.
Distributions like this can't be taken seriously. They're for the outcasts of the neckbeard crowd.
Cynically I suppose that the people involved in making this software aren't encouraged to improve ease of use because then they couldn't be "helpful" in the IRC channel used for support.
Is something like this the reason so many open-source projects so vehemently opposed to usability?
Disclaimer: I've been an incredibly happy Arch user for two years now (have it on all my home systems) which may indicate my bias.
Whether I'm an "outcast" or a "neckbeard" is entirely for others to decide. What I can tell you is that based on your comment, you simply have never experienced the joy of building something from scratch.
Rather than defend Arch explicitly, I'd like to use an example.
I like bicycles. I cycle 20 miles daily on my work commute and use my bike as my only form of transportation for running errands and getting around town.
The most "usable" route of transitioning to a car-free lifestyle would have to be going to a bike shop and buying one that fits. Now of course there's nothing wrong with this approach.
However, using this approach, when something goes wrong (as inevitably will happen with all machines, mechanical or digital) my reaction would most likely be be to look down at the problem, scratch my head, then walk my ass to the bike shop.
The approach I prefer is to build my bike from scratch. Acquire the perfect frame, the ideal wheelset, a rack that saves me some extra grams over what comes default on most transpo bikes.
Then all the tools.
When something goes wrong with my bike, I know exactly what's wrong. I know what shortcuts I took, what configuration I chose, and most importantly, I've got all the tools necessary to fix the problem.
Further, I know my bike is as fast and efficient as possible (given all necessary trade offs) because I was able to choose the ideal components.
tl;dr: I use Arch because time spent tinkering is time spent learning and optimizing. For more info I suggest anyone interested read The Arch Way: https://wiki.archlinux.org/index.php/The_Arch_Way
I don't mean to hijack OPs response, but it reminded me of Robert M. Pirsig's book, Zen and the Art of Motorcycle Maintenance: An Inquiry into Values.
From Wikipedia: "In the book, the Narrator describes the "Romantic" approach to life of his friend John Sutherland, who chooses not to learn how to maintain his expensive new motorcycle. John simply hopes for the best with his bike, and when problems do occur he often becomes frustrated, and is forced to rely on professional mechanics to repair it. In contrast, the "classical" Narrator has an older motorcycle which he is usually able to diagnose and repair himself through the use of rational problem solving skills."
However, using this approach, when something goes wrong (as inevitably will happen with all machines, mechanical or digital) my reaction would most likely be be to look down at the problem, scratch my head, then walk my ass to the bike shop.
You could just learn to maintain/repair the store bike, which has after all been designed to work by someone, and probably does most of the time. I've ridden bikes for years and only replaced things as they wear. Not that there's anything wrong with building your bike from scratch, but it's not an automatic guarantee of superiority.
You could just learn to maintain/repair the store bike
Personally, I find Ubuntu like a store-bought bike that uses a bunch of non-standard parts. You may have a complete tool kit, but you don't have the right tool for this bike.
Or: when I troubleshoot Ubuntu, I learn Ubuntu. When I troubleshoot Arch, I learn Linux.
Some people like to know how things work, they like to take things apart and rebuild them. Linux From Scratch (the distro) might be the extreme of this but Arch seems to strike a decent balance.
Also, you do get more vanilla software from these distro. It's a lot less likely that someone modified the software to work with their distro idiosyncrasies. Sometimes that's a big plus.
I used Gentoo around 2002-2005 or so and I learn a great deal of what I know about Linux through the experience. I now run Ubuntu or Debian cause there are other things I want to learn about ;p
Hooray for ad-hominems and sweeping generalizations!
I've found the Arch community to be EXTREMELY helpful because they are encouraged by people who want to know what's going on and not just taking whatever is pre-packaged into the distro and shoved down their throats.
The beauty of Linux is that there's something for everyone. We could speak with equal pejoratives about distributions that do everything for the user but the reality is that Arch is around because there is a community who wants it --- and they're not the "necbeard crowd."
What OS do you use? I'm sure we could hurl insults at you, too. That wouldn't be a constructive conversation, though.
I disagree with that, certainly there's space for a slackware-like distro with a decent package manager. Debian, RHEL, etc. are excellent, but there's no denying that they do some things in their own special ways, for better or worse. But with most sysadmins used to some combination of FreeBSD, Debian, and RHEL, I doubt very many would spring at the idea of something new with no discernible benefits.
Like you said, most people using Arch are those who want a great deal of control over their desktop machine, but without the compilation and general cruft of Gentoo. And those will be the ones putting Arch on servers, I believe.
Any distribution is going to form it's own 'way' though. It's a natural side effect of having a packaging system in the first place - you have to start standardizing some things. Take filesystem organization for instance - after many distros fought over this for years we got the FHS. But there are still thousands of open source projects out there that each do things their own way and if you install a bunch of them on one system you're going to have a mess unless there is some standardization. Debian has its own way of doing things but it was developed over time, just like Arch is developing ways of doing things now.
Most arch users attempt to solve their own problems before asking another.
What do you expect to get out of your system? Maybe Arch just isn't tailored for your needs (but you could certainly configure it to meet your needs with a pinch of effort).
astrodust, do you really honestly believe that people mostly use arch because they want to stroke their (neckbeard) egos and lord it over everybody else?
Maybe it is more likely that they use arch because it's the tool that meets their needs and that they enjoy using...
I've been using Arch for the last 7-8 months and I think my love affair with it has already peaked.
Everything written here is true re: learning about Linux, having more control, straightforward architecture, bleeding edge software, etc.
But the instability factor eventually will bite you in the ass, and per Murphy's Law, often at the worst possible time. It's happened to me twice in this time span.
My solution is to use a separate data partition for all my files and install Arch and a more stable distro (Mint in my case) in different partitions. Both OSs link to the data partition and grab dotfiles and things from a git repo.
Arch is my preferred environment, with a tiling WM and everything painstakingly set up for my preferred workflow. But when it crashes, I can still use my workstation to get stuff done, and go about troubleshooting when I have free time.
Not really. Arch takes about 10 seconds less to boot up than Mint on my machine. Then there would be the question of having to wait for both the host OS and guest (virtual) OS to boot up.
It's a one-time expense, too, in terms of time. And there's the added benefit that you learn how to partition, how to mount, link, etc.
Arch is fun to play with. A couple years ago the fact that everything was i686 optimized was a big deal. These days just about everyone is using 64bit. It's a good choice for embedded linux systems and servers (Beyond Oblivion used arch for their servers).
Speaking from experience, life is just too short to run arch on a laptop. Heck, I have a hp pavilion dv7 with switching graphics and even that was a pita to get stable on ubuntu.
I run arch on a laptop with no problems at all. I specifically got a laptop with intel graphics and wireless so I have a great experience with any distro :) Arch required almost no setup when it came to graphics/sound/wireless. Just had to install xf86-video-intel and xf86-input-synaptics.
IMO its best to stay the hell away from switchable graphics period if you intend to use linux.
As a developer who has been using Linux as a desktop and enjoys tweaking every little thing: I think Arch is fantastic. It took my understanding of the OS and exactly what is going on to the next level.
However I work with developers who don't want to tweak every little thing they just want their OS to work and let them be passionate about development. They should stick to OSX, or if they are feeling adventurous try Ubuntu. I also would not suggest Arch if you have not used another more friendly Linux distro for a while and had the "opportunity" to troubleshoot some issues and enjoyed it.
To enjoy Arch you really have to be passionate about Linux and tweaking your machine, otherwise you will just be frustrated. For those that are I cannot recommend Arch enough.
Arch is great, but my favorite thing about it is that it stays out of the way. It led me to using new tools like XMonad and MPD. I could be perfectly happy with using the same setup on debian-unstable, but never would have got there without Arch.
The package manager Arch uses, pacman, recently introduced package signing (albeit with a few bugs to iron out.) I wonder if more people will start to use Arch as a server OS now.
I find Archbang to be a good compromise. It presents a minimal Arch install with X+openbox (a la Crunchbang, hence the name) pre-configured. It has a live CD too, so really, it' s just like plain old regular Arch except you don't need a 2nd computer during install ^^
Arch is incredibly stable - you just have to rethink your idea of what stability means in an Arch context.
In Ubuntu, 'stability' means that you can run apt-get upgrade all (I think that's the command), press 'y' a few times (or, better yet, just pipe 'yes' to it) and then forget about it, knowing that your system may not have the latest version of every package, but the latest version in the Ubuntu repos, which is presumably 'stable' with the rest of the system.
With Arch, you have to think before you -Syu. Running pacman -Syu will upgrade all packages to the latest version in the Arch repos, which are usually updated much more quickly, as it's a rolling-release distribution. This means that you may want to check the mailing lists before upgrading important packages, or wait until a later time to upgrade. Or not upgrade at all, which is 'stable' by virtue of the fact that you haven't changed anything. The choice is yours. You can decide what to do on a per-package or system-wide basis, depending on your use case (Personal user & tinkerer? Luddite personal user? Large-scale server? There's no 'one-size-fits-all' approach to keeping a system up-to-date, but Arch is a 'one-size-fits-all' distro in that it allows people to make these decisions for themselves very easily).
Rolling release isn't for everyone - I'll agree. But that's the main difference between Arch and other distributions. (That, and it's highly minimalist by default, whereas Ubuntu and Mint are 'everything and the kitchen sink' by default). But I certainly wouldn't say that Arch is any more or less stable than other Linux distributions (I can't compare to BSD), because it's really just as stable as you want it to be, given your definition of 'stable'.
> Arch is incredibly stable - you just have to rethink your idea of what stability means in an Arch context.
I don't understand what your definition of stable is. Obviously anyone can not upgrade any distribution or software. If I want to upgrade I have to check the mailing lists to see if there are any major issues. That sounds like a source of instability.
How can I update Arch, on a semi-regular basis (at least yearly), without having to worry about upgrade issues? If I can't, then I don't think you can call it 'incredibly stable'. Of course, you can accept the trade-offs, but don't try to 'rethink stability'.
> How can I update Arch, on a semi-regular basis (at least yearly)
You can - in fact, it's best to do it more often than yearly.
> without having to worry about upgrade issues?
Compared to someone who's coming from Ubuntu, Arch isn't a distro that you can just upgrade all in one go, without thinking twice, and then forget about it. Or, to quote the Arch Wiki, pacman is not a 'fire and forget' package manager.
If your definition of 'stability' is 'I can run a full system upgrade as often as I want, without thinking about what I'm doing', then no, Arch isn't 'stable'.
If your definition of 'stability' is 'My system will run with minimal errors and above-average security as long as I carefully consider each package before I update it', then Arch is incredibly stable.
The concept of stability, in the context of a personal user, comes with an implicit assumption of how much choice will be presented to the user, which affects how much mental effort the user will have to provide. Ubuntu will make a set of choices on behalf of the user, which can result in bloated software packages, serious security concerns and bugs that persist for the six-month release cycle or longer. Arch will require the user to make some of those choices for himself or herself, which ends up by providing the user with a more modular set of packages, a much faster upgrade cycle, and a more (easily) configurable system.
For example, there was a bug in X that affected pretty much every distro a few weeks ago, allowing the screen lock to be bypassed trivially. If I remember correctly, Arch had that fixed within a few hours (the advantages of rolling-release). I'm not sure when (or even if) Ubuntu fixed that bug, but it ends up taking much longer, because they have to provide official support for those packages, and something as widespread as X needs to be tested against a variety of configurations before releasing a patch. With Arch, I can decide if the patch is important enough to update now, or if I should wait, and I can make a reasonable judgement as to whether it s compatible with my system -- something Ubuntu users will have a harder time doing, because they didn't go through the process of building their operating system from scratch when they installed it, so they may not understand it under the surface as well.
To put it another way, using a rolling-release system like Arch is no less stable than a fixed-release cycle, because nobody is forcing you to upgrade a package when it comes out.
(The other difference is that Arch provides community support, whereas Ubuntu provides corporate support, but at that point you're starting to compare apples and oranges).
That's not so far off. It has all of the really beautiful system stuff of FreeBSD (rc.conf, predictable file hierarchy, documentation) and matches them or does better. It forces you to learn how things work and does a good job of teaching you good practices. Even if you don't use Arch, the Arch wiki is a gold mine on configuring pretty much anything.
The main thing Arch has over FreeBSD is you get easy access to lots of shiny toys. Pacman repos update much more frequently and the process of updating packages is much faster. If your favorite text editor drops a new version, it will be available in Arch repos in minutes/hours; it may be months before it makes it to FreeBSD ports. And things like audio, video drivers, wireless are pretty painless in Arch compared to FreeBSD.
The biggest downside of Arch is that it sits on the complete opposite side of the security spectrum. FreeBSD makes sure you start with a secure machine and anything you do to cheapen the security is your bag; most of the time it'll try to let you know you when you're doing it wrong. The BSDs in general have a really healthy culture of security paranoia. You don't get that with Arch. Signed packages have only recently made their way into pacman and I'm not sure if they're even required yet. So a lot of the time, it feels like you just have to cross your fingers and trust that the repos you're hitting haven't been compromised. And you're constantly installing software from them.
Also, occasionally you'll need to spend 5 or 10 minutes recovering from a wonky upgrade (upgrading often is better than not).
Arch is an excellent, if not secure, desktop/laptop environment and you'd be crazy to run a production server on it.
I started using Arch about eight months ago, when Ubuntu didn't have the latest ATI and Xorg packaged so I could use EyeFinity + 3 monitors. At the time, I was very sad to leave my comfy Debian/Ubuntu roots.
After struggling a little with the initial setup, I got everything in place, and it has just worked since then. Breakage from upgrades has been no worse than Ubuntu, and my Python work hasn't been disturbed at all.
For those who don't mind rolling up their sleeves and just RTFM'ing it, this is a great distro.
I have an ArchLinux installed at home. Well I am unsure on what to think. It can be used to go on the internet, have the latest software but if you are serious on coding stable things well... you're going to cry.
Since you always have the latest packets ready your code is going to be often broken by changes in the libraries (damn Boost!). Other problem, if you leave your computer untouched for 1 months you'll have 1 Gb of updates to do.
But it's still a very good distribution, just be careful about what to use.
Agreed. Back when I had Arch installed as my main OS I'd run updates every now and then only to find out after that FireFox or some other program broke. Of course, it's nice to know how your OS works and how to fix things, but considering all the other OSs out there, it's nice to have something that "just works" with as little downtime as possible.
In hindsight, the learning phase of having to set everything up taught me a lot about using Linux, bash, etc. Switching to a tiling WM (dwm rocked) was a great experience when I had been using Windows all my life.
>First of all, nothing works out of the box. You will have to manually set up the driver for your video card, support for your sound card (which can be a little difficult if you use USB headphones), wifi support, Xorg, your desktop environment and/or window manager of choice, etc.
I've been using Arch for a number of years and I don't see why the author thinks it's so difficult to set up.
During installation I only set up partitioning and /etc/rc.conf which is the main configuration file. I'd set up partitions and change some default settings (like keymap, locale, etc) on any computer, so it's not a problem. I also make sure wicd is installed for painless Wifi configuration.
After the first boot, I install most of the stuff I use with a one-liner, something like this:
pacman -S xorg xfce4 chromium-browser pidgin gdm thunderbird mc skype htop vim gcc ruby
and that's my base system.
Plus, being a rolling release distro means that you don't have to do major upgrades (which tend to break things more often than not). The installation I'm currently using on my main computer is about 20 months old and I've even changed my machine since then.
My video card works after installing xorg, sound works out of the box, wifi works out of the box, etc.
Something the article mentions, but bears repeating, it that Arch has an excellent wiki on just about every component you're likely to use. So for those fearful of having to set everything up yourself, the wiki will be your savior.
First of all, nothing works out of the box. You will have to manually set up the driver for your video card, support for your sound card (which can be a little difficult if you use USB headphones), wifi support, Xorg, your desktop environment and/or window manager of choice, etc.
Literally everything mentioned here worked out of the box for me when I installed Arch (except for USB headphones, which I do not own).
Author here. I think we're talking about two different things. By "nothing works out of the box" I mean that you need to set it up yourself. For example, the Beginner's Guide leads you through setup of your video driver [1], ALSA [2], Xorg [3], and wifi [4]. These are all things that require manual work. Maybe there's a more appropriate term for this than "doesn't work out of the box" (?) but it's the first term that came to mind.
That's the beautiful thing about arch. While figuring out configurations, tweaks, or problems for yourself may seem daunting Arch has fantastic documentation through the web on tons of issues, ranging from software- to hardware-specific. It is one of the best documented linux distros I've had the pleasure of using.
Absolutely correct on the wm comment. However, I am an organized, messy person and prefer stacking wm. Currently in favor of openbox, but it may be something else tomorrow.(Note: not archbang, but I am not entirely opposed to archbang as some are. Archbang turned out to be really great for my old laptop that I use primarily as a browser, but nothing beats the real deal when it comes to my everyday-everything machine)
That nixos looks interesting, possibly something to consider for one of my personal machines.
Arch has kinda blossomed into a nano-debian status, people start to build stuff upon it, archbang, archhurd, it's great.
The former has filled the 'out of the box' niche sort of, now you have a minimalist yet ready to use system.
# note aside, about nixos, I can't tell how it's gonna turn out, but for once it's a linux system with a real paradigm shift. Funny how non-mutable ideas are spreading these days, btrfs, nix, even git.
# second note, have you seen this http://www.youtube.com/watch?v=8jULGE0rq8M ? makes me wanna say 'tiling' is the only 'management' right now, stacking doesn't do sh*t.
You may be right. I have only recently made the switch to wm, mostly because of the problems with gnome 3. Originally gnome was the only de that I liked, absolutely hated KDE for no real reason other than something about it bothered me. Then gnome 3 just ruined it.
Then I discovered wms. I'm probably more attracted to openbox because the stacking is closer to the sort of window management that you would get in any de.
However, I so very rarely have a bunch of windows open at once that I need to see all at once. And I can also easily open, close, move, resize, switch screens, etc. with the keyboard. I'll give it a try before I say that it's not for me though. Who knows, maybe I'll use one for when I'm working on projects.
Xmonad mainly, look at the video you'll see some usages where tiling shines ( chat , monitor ), only drawback, it requires haskell which is a large bundle. When space is limited , dwm6, less fancy tile modes but super tiny.
I found those peaceful to use, you just forget they're here even though they lay things for you.
For some reason (there must be a limit on the number of subthread levels) there was no reply link under your last message so I'm replying to my own in the hopes that you're reading it.
I'm sure there are quite a few wm/de threads on the arch forums. They get a little repetitive though. Maybe a thread about the less obvious subtleties and tricks for your favorite wm.
For wifi it's much easier to install networkmanager, add it to DAEMONS (after dbus) and then configure your network with one of the KDE/GNOME networkmanager applets. It pretty much just works after that. For example I plugged in a USB wifi adaptor and it automatically appeared in the applet and found various SSIDs.
For sound, the best solution that worked for me was ALSA + esd. I could never get PulseAudio to work properly.
I've had a great experience with pulseaudio + gnome 3. Some people consider gnome 3's tight integration with pulse a downside, but so far its given me the best sound experience on linux.
On arch after installing gnome 3 my sound just works flawlessly, even my usb headphones.
I did have issues with pulse when I used XFCE though.
Out of the box typically means "with no effort after initial install". I'm sure you did a pacman -S gnome or something like that after the initial install.
That said, Arch does have very sane defaults, so I'm sure after using pacman to install your DE or graphics drivers, it worked fine.
Technically true, but misleading. I've installed Arch on four machines of various hardware, and this is actually the easiest part of the installation process.
You have to select a driver from a comprehensive list of which drivers work for which cards, and you don't have to make any (non-trivial) changes to xorg.conf, unless you want to set up multiple monitors. (And even then, I was able to avoid that for a long time by using XFCE, which apparently doesn't mind when xorg.conf settings are unspecified/improperly specified).
Yes, everything has to be set up manually on an Arch system, but that's a feature - you know where everything on your system is, and you know that there's nothing you didn't add yourself.
And with the wiki, setup may take some time (again, by design), but the process is incredibly straightforward.
I have an Arch laptop that I frequently use with a second monitor, and I've never had to tweak my xorg.conf. The now-ubiquitous XRandR extension for X largely obviates the need for xorg.conf completely. These days, it tends to "just work".
All too true. Both my work and home computers run Arch. At work, dual monitors on a single ati video card with xinerama was a HUGE pain in the ass. I ended up just running without xinerama and the Driver/Screen/Monitor/Server sections, let X choose its defaults, and then use xrandr to get the monitors working proper, although they still don't share the same background image, I can live with it.
In Archs defense though, setting up xorg is simply installing the packages which is trivially easy with pacman. I love it to death.
I constantly switch between using two external monitors through my docking station, using my TV through HDMI, or just the internal display. I don't even have an xorg.conf file. The defaults are perfectly fine and RandR does the job of changing outputs while X is running.
I'm running arch and home and have a love / hate (mostly love) relationship with it. It's certainly taken up a lot of my time, but I learned more about linux just by installing it than I did in months of using ubuntu. Getting something to work is so satisfying, as it usually involves learning quite a bit about how it works, but there are times when you just want something working and it can be frustrating.
Being forced to make all those choices was the best part about it for me. I'm sure it's possible to customize Ubuntu to look like my arch set up, but if I hadn't been forced I likely wouldn't have tried. I'm currently running i3 as my window manager and I love it. I use a macbook pro at work, and It's nice but going back to a non-tiling window manager after getting used to i3 is pretty painful.
It's interesting how relative people's experience can be: for me, it was the opposite, as I feel that Arch has let me save a lot of time. I was using Gentoo at the time I decided to switch to Arch, and the relatively deeper understanding of the internals of the OS that is necessary to keep a stable Gentoo system made Arch feel like a very well-designed Lego toy. I guess that LFS people coming to Gentoo would feel the same :)
TLDR: I love Arch, I feel that I don't lose time on it because I made the switch from Gentoo.
I've been a debian user for about three years now. Lately, I got somewhat settled, since most of the things in my distribution were not new anymore, thus I was not learning that much anymore. Arch seemed a good possibility. I installed it in a virtual machine to code really simple 'hello world' kernel modules, and I liked it very much. It is a barebone installation and gives me the feeling to be in control. I think I'd use arch as a server distribution, since I haven't had any problems with the latest packages. Maybe my opinion will change, and maybe I'd prefer something more stable in a server...
Anyway, I respect the opinion of the author, but it sounds a bit overdramatic to me. Tough were the days of winmoden + slackware... tears falling
I suppose, at the end of the day. It is all about an individual's preference. The gift of Linux is Choice. Having said that I've used Arch for the past 4 years or so and I have to admit that, for me at least, it is a beautiful thing.
I've never had any issues with it what so ever. The box stays up for months on end without problems, except for the times when there is no power :). Pacman, is by far the most straight forward package manager I've come across. The control it lets you have on what you install on the system (the minimalist approach) is just wonderful. The blog makes it sound a bit intimidating when it really isn't.
I would highly recommend it to anyone.
I've been using Arch on my HP Mini since May 2010. I haven't had any serious stability issues. Once in awhile I have to resolve differences between old and new system configuration files.
Arch is easy to set up with the installer. You get a minimal shell system which is good for focusing on code. Most things work out of the box if you just pacman -S the-package-you-need.
The hard stuff (wireless) is very well documented on http://wiki.archlinux.org/. Failing that, community on #archlinux is very helpful.
I'm sure it's not for everybody, but I like to spend my time creating things in code, and not arguing about what's the best environment to create things in.
If you want to learn the entire Linux ecosystem, I can't recommend Arch enough.
From personal experience, don't try to install Arch on your machine unless you have another internet-capable device in hand. You're going to reach for ArchWiki several times.
Of course, ArchWiki is an incredible resource with great examples, so as long as you have it, the process is mostly painless.
Arch is kind of an intermediate Linux in terms of how much it will rely on your configuration. Not quite Gentoo, but far, far, far away from Ubuntu.
There's also a local installable mirror of the arch wiki. I don't know how often it's updated but if I didn't have multiple machines laying around I'd put this on my arch laptop:
Thanks for the tips, I was recently thinking of installing Linux on my secondary desktop and Arch seems like a good choice.
I played around with Slackware a few years ago and it was a good learning experience doing things like trying to get wifi to work and configuring xmonad. Arch does appear to have more extensive/organized documentation compared to Slackware though, which would make the learning process go smoother.
After 4 years of Gentoo I've switched recently to ArchLinux. Fantastic community, very rich wiki. The simplest Linux distro I have ever used. Everything works as you want -- zero debia/ubunto-nism. Rolling release just like Gentoo.
Also it has a very rich Arch Linux User-community Repository (AUR) + some AUR PKGBUILDs even install from Ubuntu's PPAs
Writing new PKGBUILDs is also very straightforward.
Arch was the very first distro I tried. I had no idea that there was "another" way to do it. Having to pay attention to the manual install helped me later when I was trying to figure stuff out. Highly recommended to jump in the hard way before getting pampered with something easy as hell like Mint.
I recently switched from Ubuntu to Arch for my web server and could not be happier. I prefer the bleeding edge packages and the simplicity. I also learned a ton by having to dive into my config files and launch scripts in more detail. I can imagine for a desktop though it could get overwhelming.
I recently got a system w/ a gtx580 that would be running the gpu 24/7. Was excited to try arch as I had heard a lot of good things about it and thought I liked the cut of their jib.
4 hours into install, I realized how much Ubuntu had spoiled me and remembered installing Linux for the first time as a kid and how confusing setting up X had been. I also remembered I had stuff to do so I installed Debian and called it a day. Cuda and nvidia drivers are frustrating enough, figured I'd pick my battles.
I suppose I liked the idea of arch much more than the practice.
I've been using Arch on my little Samsung N150 for a while now. Initial setup was tedious but not altogether difficult thanks to their brilliant wiki. I'm no guru and I'm sure If I looked hard enough I could find excellent documentation on Ubuntu. I don't have to look far for Arch, a simple google nets me their wiki page as a top result and it's almost always able to fix any current problem.
I feel like the OP misconstrued things like "doesn't work out of the box". What he meant was, "I needed to install the package to get my video driver and sound driver working".
Generally Arch doesn't install something until you ask it to.
Alternatively, you could say this like every other linux distro at some level.
I started back at about Redhat 5.0, used a lot of distros over the years, currently I use ubuntu because it 'mostly worked' from install, although it didn't really. I've ended up doing make/make install a few times for packages I needed configured like I wanted them. I might go back to Slackware when I get around to it, not really a big fan of Ubuntu at this point for what I do (programming).
Isnt gentoo still like that? I have been using gentoo since I got into using and learning about linux (cant really remember how long now). And it seems pretty much the same.
Yeah I remember it back in the beginnings, it was quite friendly. Now I see people get yelled at in #archlinux for having an opinion on x vs y which is opposite of what the majority of #archlinuxers think. The forums are like "not my problem fix it noob, here is half a wiki page"
I agree somewhat, but I tend to find that it's newbies who have managed to migrate away from MyFirstLinux™ that make all the annoying noise coming from the Arch community; so perhaps it's not fair to judge Arch users as a whole.
Frugalware is also nice. Used it for a while. It was an awesome alternative when Arch got really unstable for a while some time ago. I use Arch again, but for everyone out there who has some problem (or simply needs a more stable approach) use Frugalware. It's also nice for people coming from Slackware or BSD.
Most things are close to Arch Linux, so it's pretty straight forward to switch between them without having to get used to another distribution again.
In short I think it can be a better alternative for people who don't like to hack (so much) on their systems.
The install phase is a pain if you want to get a full-blown plug-and-play ready-to-go desktop experience that rivals Ubuntu, OS X, or Windows.
It's actually really easy if you just want a bare-bones system that boots into a shell and doesn't install any packages other than what it needs to do just that.
Switch to Arch if you're a minimalist.
My rig only runs Stumpwm on Xorg. I only use xterm, emacs, and the usual GNU toolchain. A couple of interpreters. I have installed GTK so I can use Firefox (and so I can hack on Firefox), but nothing else. I don't have a crap load of applications running in the background waiting to notify me of crap I don't care about or services that I never use. I know exactly what runs on my system and it does no more than that and no less.
I think Arch fills a very nice niche and I'm so happy it exists.