Arch Linux – "It is what you make it"
h-online.com
h-online.com
Here's are the key benefits from my perspective:
- shallow mental model: I know where everything is, I know all the moving pieces
- pacman: outstanding package manager.
- aif: dieter has done a great job making a modular install framework.
- AUR: compared to PPAs, AUR is simple and easy to contribute to (both commentary and packages)
It really does take time if you want to understand Arch deeply. Not crazy amounts of time. Less than vim, I'd say ;) but enough that you shouldn't expect instant results. The knowledge gained is very rewarding and applicable to Linux systems in general.
1. New, popular system/language/app appears and gradually adds features and complexity in response to user requests as it catches on. Devs are personal and responsive. Users feel engaged.
2. Users grow disenchanted with the increasing complexity of the system. Developers burn out on support workload and slowly become more remote.
3. A new shiny, simple alternative appears and users flock to it with a storm of feature requests. Go to 1.
Of course you want to avoid non-intrinsic complexity, but a lot of things are only simple because they don't really do much.
The result is an OS that still uses a text-based installer, that is still easy to get accustomed to, and is still for the most part super reliable, even after years of development and popularity.
SQLite, OpenBSD, Python, PostgreSQL. Robust, stand through test of time, high quality.
Instead Linux, MySQL, PHP win the popularity contest.
But you say you use it on your servers? I'm not sure I would do it because Arch doesn't focus on stablity like Debian does, and sometimes update to core packages can break other packages, so... Not a big deal on your own computer but on a server? I would be happy to know if you have good reasons to use it on server :)
I first set up a basic webserver on Linode since they had images for Arch. I was skeptical particularly because I've screwed stuff up on Arch systems during an "aggressive" update.
It's been rock solid and I deal with updates through a basic test methodology. I keep a mirror of the system on a VM and update that first. I am also very conservative about what packages I update.
I'm only running nginx and a couple basic services along with Haskell related packages to update my static website, so I can't speak to anything more complex than that, but I've been very happy so far.
The big advantage for me is the single mental model between my personal and server systems.
I have almost the same setup (Arch, Linode, nginx) and although my VPS has been rock solid so far, I would like to have something like this for testing purposes.
It seems like a very straightforward package manager, what does it have that apt doesn't have, for instance?
If you just want to rollback you can download the current package if it's not in your cache. If you want and rollback to previous version, there's downgrade and the Arch Rollback Machine https://wiki.archlinux.org/index.php/Downgrade#ARM
Really, though, it's never been an issue for me. I've yet to encounter a situation where I nuke my cache and don't have rollback packages available. It boils down to a management issue. If you are nuking your package cache, I assume you are smart enough to have determined your system is running correctly first. There are cases where you might still want to rollback after clearing your package cache, so there is ARM.
Personally, if I ever hit that situation (absolute worst case scenario) I have backups and can reinstall an Arch system in minutes. Haven't had the need yet.
I'm don't get what you mean. I've been using Arch for 4 years or so and I don't think I know much more about the system internals than I did 3 years ago, because there aren't many.
The system config is stored rc.conf, the package manager is configured in pacman.conf. That is Arch Linux. You open these with vim, read the comment, edit, save, that is it. If you break something, tough luck. Other distros will half-assedly babysit you through the system config and leave you confused. That is the main difference I think.
How is that different than Ubuntu (or any other distro once you've used it enough)? (serious question, considering the same switch myself)
On Arch Linux, I go to /etc/rc.d and remove or modify any scripts, which are clearly labelled.
On Ubuntu, I think I need to weed through the dozen or so numbered /etc/rc directories and find what I need and modify. I got pretty frustrated about this.
I don't know where I'm going to be able to modify the modules that get run when my computer starts on Ubuntu, but with Arch, there is a clearly labeled array in the rc.conf file called modules.
It just seems like looking under the hood of ubuntu is something I'm not supposed to do, and arch requires you to when you install it, but it is tremendously simple.
I want to switch back.
To make a program not start on startup, either apt-get remove it, or chmod -x the init script.
I've used both Arch and Ubuntu extensively, and I like them both. For servers, I tend to use Ubuntu server edition, which really isn't that much different to Arch + a few hours of setup. It's really just a stripped down Debian flavored linux... nothing complex about it... but you do get the benefit of being downstream from lots and lots of testing, Arch not so much.
Pacman is 10x simpler then deb/ppa, so Arch is great if you like to tinker, or if you are building a special purpose system - eg for freeswitch, mythtv, xbmc, kiosk browsing, appliances etc.
I currently run Ubuntu desktop 10.04, and several Ubuntu Servers in bridged VirtualBox vm's for development, which lets me simulate a multi-server production environment on my desktop.
However, I've been thinking about switching the desktop to Arch using Xmonad or i3, and KVM for the vm's (keeping Ubuntu Server).
Any experience running KVM on Arch? Assuming there's no issues with it.
I also see qemu-kvm can run Windows too, which somehow escaped my notice. Cool. If only it could OS X as well, I could skip buying a Mac and spend the money on a souped up dev laptop from XoticPC instead.
I realize Ubuntu is moving to upstart, maybe that will simplify things, but the current sysV run level model results in tedious complexity that I don't need. Other's might, but I don't.
Usage of lsmod/rmmod and /etc/modprobe.d isn't exactly hard to understand either, though i don't know of a GUI for this.
You made me curious. Those sound like they are the opposite of each other.
On the article... the same old. Not for me. I like learning, but not just anything. Learning how to use the configuration of dozens of software pieces is NOT on my to do list, specially when it's pretty obvious I won't have room on my mental memory for all of it. As the article says, it's not for everyone.
"It really does take time" most likely refers to the fact that you are responsible for building up the OS yourself. So unlike in an OS like Ubuntu, where you do not have to know what a window manager is, or what an xorg xserver and client means, you'll have to learn it all along the way.
Fortunately the wiki makes figuring everything out managable, and I found it an enjoyable to spend a couple days with different software[1] and a programmable tiling window manager[2]. The end result is a fast-booting custom tailored system.
[1] https://wiki.archlinux.org/index.php/Lightweight_Application... [2] http://awesome.naquadah.org/
"The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated." [1]
And I believe that "system software" today means "installed by a package manager" (please correct me if I'm wrong).
I personally (rarely) use /usr/local for manually-installed packages. This way there's no risk of a package manager accidentally overwriting stuff outside its control.
[1] http://www.pathname.com/fhs/pub/fhs-2.3.html#THEUSRHIERARCHY
For instance, I recently switched off of using netcfg to wpa_supplicant instead. netcfg is an awesome way to manage network configs, but I am to the point that I enjoy and want to tweak my network configs to be faster (faster to get the network connection up, not faster throughput).
Most distros will take a very safe, works-in-all-cases approach to networking and sacrifice some efficiencies that can be squeezed out of the process. Since the system is very simple to configure, I can easily dump all that cruft (and in this case the "cruft" is the already pretty lean and efficient netcfg) and just use ip, iw, and wpa_supplicant.
It takes a bit of time to learn those tools, not long, but it's time. It's valuable because iproute2 is the Way going forward.
Just one example, but there are plenty of others.
For me, the best thing about Arch is simply how flexible it is. It feels more like a toolkit for building your own custom OS than anything else. That's obviously not for everyone, but it's definitely for me. I've got a trimmed-down, keyboard-driven, and CLI-focused interface that would not appeal to the average user, but it was fun to configure and I've learned a ton from the experience. My computer behaves exactly the way I want it to, with virtually no compromises, and that was a far easier goal to attain with Arch than with any other system I've tried.
Also, as a bonus for anyone interested in Haskell, there's a rather large Haskell community within the Arch community. In fact, there's a vast user-maintained repository of Haskell packages built for Arch (a large portion of the packages available from Hackage) which you can enable just by adding a line to /etc/pacman.d/mirrorlist.
For anyone who likes to tweak and tinker, and who loves having full control over their computing experience, I highly recommend it.
My experience has been the exact opposite. I've been using Arch for over 3 years now. And once I had the system configured for the first time, I've never had to mess with it at all. It is one of the simplest distros. And the packages are usually well maintained so that upgrades will automatically make the required changes or notify you about making them. It is surprisingly stable. Also whenever I've to install it on another machine, it takes just over an hour to install and then get it going with my custom config files etc. What I'm trying to say is that after the first time investment, its very very straightforward.
My config is here: https://github.com/tmhedberg/xmonad.hs/blob/master/xmonad.hs
Arch Linux can, in my experience, best be described as a journey. A journey to the top of a mountain. It starts steep, sometimes gets hazardous, and I fell down more then once and had to start climbing from the start. But with every time, it became easier as I got to know the mountain, and set out with new knowledge about the steps and stones, as they were aligned perfectly for climbing once you knew how to climb them.
Then finally, I reached the first peak - a custom, running and stable install - and just as you might hold your breath at the sight presented to you when you look down from the top of the mountain you just climbed, I felt kind of serene - I learned so much about my system during the installation, how it worked and how elegantly simple it was once you understood it's philosophy, it was overwhelming.
I knew I arrived at a place where I wanted to stay. Or rather, a place from where I could climb even higher mountains - because the Arch journey is probably never at its end. There's always something more to learn about the system - my system. Something to tweak, somewhere to hack around or some configuration to customize for my needs.
I won't say I'll stay with it forever, as in the world of GNU/Linux, one might always discover something new. I will say, however, that installing (and subsequently running) Arch was (and still is) one of the best and most rewarding things I've done in my life.
To anyone who is interested in learning new stuff and doing things on his or her own, I warmly recommend trying out Arch. You shall not be disappointed.
I started with Archbang, then CTKArch, and then finally installed my own from scratch. Archbang and CTKArch are excellent liveCD versions of Arch but in the end I found I did not like the personal choices made by the creators of those releases. My system is now truly mine. I am in love with it.
My system is stable, and bleeding edge - an oxymoron.
Intellij is in the damn repositories... MondoDB 2.0 - the day it was released was in the damned repositores.
Anything else can't compete.
After installing Arch, and failing at least 3 times and being successful 2 other times, I found an appreciation for the way in which Arch did things. My first version was a Mac OSx clone with some personal touches. It was beautiful; but I was too ambitious and went with BTRFS which was a mistake. So I reinstalled and now I'm on XFS and things purr.
I can setup a development environment in less than 10 minutes using pacman and then keep it updated easily.
To setup the equivalent environment on Ubuntu would take much longer for me.
I am not a linux newb nor a guru, but after using Arch I feel like I can hold my own.
I really like this distribution. Pacman (the package manager) is super fast, the system is much easier to configure from the command line than Ubuntu and the best thing is Arch's documentation. All the information you need to know can be found from the Arch wiki. No need to browse blog posts or forums, the wiki is so good.
My setup is very lightweight. I have only the minimal Arch installation with Xorg and xmonad, vim, RVM and Firefox. This distro is made for command line use and there it really shines.
Here's a screenshot how I want my work desktop to look. Nothing fancy, no distractions and fast usage without mouse. http://dl.dropbox.com/u/2402047/screenshot3.png
The only difference with yours will probably be the tabbed decoration theming and xmobar theming. I'd love to see your xmonad.hs too if it's online somewhere.
The more important part is my vim config, which can be found from github, of course. https://github.com/pimeys/dotvim
One thing that has kept me on Ubuntu family distros is font rendering. Ubuntu's patches for freetype, cairo, xft, etc are quite simply requirements for me for a desktop Linux.
Some distros have these by way of some guy maintaining his own set of patched packages. I have always been reluctant to rely on these.
I was thrilled when Linux Mint came out with Linux Mint Debian Edition, which is Debian + these font patches + some other Mint-y friendliness (but still mostly Debian).
The fact that Arch maintains the *-ubuntu family of patched packages means I just might consider using it, too.
To me, the spacing and kerning of the fonts matter much more than the clarity of the individual glyphs. Seeing letters smashed together or with wide gaps between letters drives me insane...
As I would define it, hinting is the modification of the appearance of the font at smaller sizes, usually away from the actual outline design of the font and the original spacing, in order to make it fit into pixel boundaries for the purpose of clarity and readability. Used with subpixel rendering, you can get sharp, punchy text that is even more readable, but I wouldn't consider subpixel rendering by itself to be hinting.
If anything, unhinted subpixel rendering (where any auto-hinting has been disabled and all font hints are ignored) allows the font to look more like the intended outline design in spite of being rendered at a small size on a low resolution screen by boosting the horizontal resolution and interpolating the values between points where the outline crosses partial pixel boundaries. That is, it allows all the glyph metrics to remain intact at smaller sizes while improving readability, whereas the very notion of hinting implies that those properties have been intentionally modified for the purpose of readability.
Infinality is great but even it requires some massaging to get it to the state I like (though of course now I have my configs pretty much ready to install off a repo).
With Arch, on the other hand, it's one program - makepkg - with only one or two "control files" (PKGBUILD and maybe an install script), and it generates a nice, easily-inspectable .pkg.tar.gz file. Plus you can find just about any package you could want in the AUR, and if not, you can find one that builds like it and then modify it to work with your package.
If you deploy Debian/Ubuntu on servers, your fate is pretty much dependent on this guy, unless you roll your own packages, which wastes precious time.
However, it would be nice if pacman used signed packages, especially in light of the recent kernel.org situation.
http://beej.us/blog/2009/12/arch-vs-slackware/
Both Slack and Arch are excellent, but not quite the same in their objectives. I run Arch on my netbook and desktop (with FVWM) and love it.
If you are a linux power user, I cannot think of a better distro than arch.
That wasn't really the first time I'd encountered ultra rude devs. I shortly after switched to Gentoo which I found to give the deep control that Arch did but amazingly was a system that worked properly and the community wasn't full of jerks. Hopefully the Arch community has changed, but I don't really intend to try and find out.
I do run Debian now though.
And the fix should come in through the right channel, like the package README or ChangeLog. Not sure if the home page of the whole distribution is the appropriate place for a fix like this.
All that said I'd recommend to anyone new to subscribe to the 'Latest News' RSS feed: http://www.archlinux.org/feeds/news/
That said Arch does have lots of documentation the answer is probably somewhere in the massive Arch docs.
Are there any advantages of Arch over Gentoo?
Or are there good comparisons?
However, Gentoo is closer to LFS. I learnt the details of manual configuration and compilation of the linux kernel thanks to Gentoo. I learnt initrc, set up the logging system I wanted, etc... What I learnt using Gentoo lets me sail through Arch administration with zero hassle. After fixing my Gentoo box numerous times, I understand the compromise that is made in Arch between power, simplicity of administration and time consumed doing real work. Arch maintains a "pro" feeling, does not try to hide the internals, while keeping a minimal number of "free variables" for you to tweak. Does that make Arch primitive? Maybe, and in that case, I like primitiveness inmy distros.
One thing I love about Portage over pacman is the masking. Arch seems to take bleeding-edge a little less seriously.
With Gentoo you have to compile everything yourself (as much as I can tell).
With Arch, you _can_ compile everything yourself, but don't have to: official repos have packages precompiled, but the package source is there if you want something different.
Honestly I wouldn't be surprised to see i686 dropped completely in the next 1-2 years.
I recently switched from 32bit Arch to 64bit and it works great so far, multilib included.