Ok its official, am a perceptual distro hopper at last count I have tried over 40 different ubuntu performance tweaks. Its a hobby am addicted to (partly due to the fact that the school were i work is in the middle of no where and there is little else to do than to learn python and become a DJ โ Distro Jockey). Recently I started observing a surge of positive raves and reviews about Archlinux. It seems everywhere I go ubuntuforum,Identica,twitter, random blog post, reddit, digg etc whenever the name Archlinux come up most people always have nice things to say about it. I naturally stick to distros that use live cd because of the ease in installation, but such was the hype around arch that I decided to give it a try and see what the โFOSSโ is all about.
Having used arch for almost 3 weeks now. Here are some of the things i find unique and love about it.
Installation
To start with Arch is not built for the absolute beginner, If you are a Linux first timer then its better to try out newbie centric Distros like the Ubuntus,Mints and Opensuse of this world. Arch is more appropriate for those who have had some level of experience with Linux, who at least knows what grub, or a filesystem is.
Base Installation
installation of archlinux is in two stages. The first stage involves the installation of the Base system which mainly comprised of the GNU toolchain, (compiler, assembler, linker, libraries, shell, and a few useful utilities) the Linux kernel, and a few extra libraries and modules.
everything here is done via text based installer. What i love about this approach is that it allows you to start your installation from the scratch, then gradually build your system to your taste leaving out the bloats. The Base Installation is where you partition your hard-drive (ext4 is now supported with the archlinux-2009.02-core-i686.iso image I used), select the packages that you would need (example I installed arch on a system without any wireless hardware hence there was no need to install the wireless-tool I also left out other packages that I will not be needed on system. Arch gives you control over your computer, allowing you to select just the package you need is one of its way of doing this. Arch also allows you to configure the system to your taste, you get to tweak fstab,hosts.allow,host.deny,resolve.conf,package manager mirrorlist etc.
One file Rule them all
One of the things I love most about Archlinux is that it follows in the *BSD tradition of utilizing /etc/rc.conf where one config file โ/etc/rc.confโ as the principal location for system configurations It puts several commonly edited settings such as timezone, keymap,network settings, kernel modules and daemons to load at start-up, etc. into one convenient text file to streamline system administration. For me as a sysadmin this is pure Nirvana I dont have to be search all over the systems for one config file or the other. Everything is available and nicely commented in one file. This is how a traditional rc.conf file looks like
#
# /etc/rc.conf โ Main Configuration for Arch Linux
#
#
# โโโโโโโโโโโโโโโโโโโโโโโโ
# LOCALIZATION
# โโโโโโโโโโโโโโโโโโโโโโโโ
#
# LOCALE: available languages can be listed with the โlocale -aโ command
# HARDWARECLOCK: set to โUTCโ or โlocaltimeโ
# TIMEZONE: timezones are found in /usr/share/zoneinfo
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE=โen_US.utf8โณ
HARDWARECLOCK=โlocaltimeโ
TIMEZONE=โCanada/Pacificโ
KEYMAP=โusโ
CONSOLEFONT=
CONSOLEMAP=
USECOLOR=โyesโ
#
# โโโโโโโโโโโโโโโโโโโโโโโโ
# HARDWARE
# โโโโโโโโโโโโโโโโโโโโโโโโ
#
# Scan hardware and load required modules at bootup
MOD_AUTOLOAD=โyesโ
# Module Blacklist โ modules in this list will never be loaded by udev
MOD_BLACKLIST=()
#
# Modules to load at boot-up (in this order)
# โ prefix a module with a ! to blacklist it
#
MODULES=()
# Scan for LVM volume groups at startup, required if you use LVM
USELVM=โnoโ
#
# โโโโโโโโโโโโโโโโโโโโโโโโ
# NETWORKING
# โโโโโโโโโโโโโโโโโโโโโโโโ
#
HOSTNAME=โmyhostโ
#
# Use โifconfig -aโ or โls /sys/class/net/โ to see all available
# interfaces.
#
# Interfaces to start at boot-up (in this order)
# Declare each interface then list in INTERFACES
# โ prefix an entry in INTERFACES with a ! to disable it
# โ no hyphens in your interface names โ Bash doesnโt like it
#
# Note: to use DHCP, set your interface to be โdhcpโ (eth0=โdhcpโ)
#
eth0=โeth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255โณ
INTERFACES=(eth0)
#
# Routes to start at boot-up (in this order)
# Declare each route then list in ROUTES
# โ prefix an entry in ROUTES with a ! to disable it
#
gateway=โdefault gw 192.168.0.1โณ
ROUTES=(!gateway)
#
# Enable these network profiles at boot-up. These are only useful
# if you happen to need multiple network configurations (ie, laptop users)
# โ set to โmenuโ to present a menu during boot-up (dialog package required)
# โ prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network-profiles
#
#NET_PROFILES=(main)
#
# โโโโโโโโโโโโโโโโโโโโโโโโ
# DAEMONS
# โโโโโโโโโโโโโโโโโโโโโโโโ
#
# Daemons to start at boot-up (in this order)
# โ prefix a daemon with a ! to disable it
# โ prefix a daemon with a @ to start it up in the background
#
DAEMONS=(syslog-ng network netfs crond)
# End of file
Once you are done choosing the needed packages, you get to install them and configuring the system, choose your boot loader whether grub or lilo, the set your root password, and reboot. completing first stage of the install
After installing the base system, you get a console environments. From there you can install the desktop environment of your choice. While installing arch I used the ubuntu users guide without which I wouldnโt have gotten anywhere. The Archwiki generally is a master piece. Not only does it tell you what to do, it also tells you why its necessary so that in the end you will be making an informed decision, its like a school of Linux and am not ashamed to say that i learnt a lot about Linux just by reading it.
KDEmod Exclusive*
Arch is soo cool that it has its a branch of kde that runs exclusively on it. that branch is called KDEmod. KDEmod is a
modular and tweaked package set of the K Desktop Environment that has been optimized for Arch Linux. Our KDE3 packages contain a lot of additional patches for eyecandy and functionality and a slightly enhanced Qt3 installation plus a completely customized default theme, while the KDE4 packages are almost vanilla, apart from some little fixes and the occasional small backport here and there. KDEmod is available in Archโs standard .pkg.tar.gz package format for the i686 (32Bit) and x86_64 (64Bit) architectures.
source
Its different from the official branch of kde which is also available in the arch repository. KDEmod is developedรย by the Chakra project .
As a disguised KDE fanboy I naturally went for KDEmod as my desktop environment of choice. (I love the K Desktop but Kubuntu does a poor job of KDE hence I run gnome on my laptop which runs ubuntu 8.10) I choose to go for kdeMOD3 which is based on kde 3.5.10. In true Arch spirit I installed A basic functional Desktop, the KDEmod theme and some basic applications to get me started.
Many people say that the mod* in KDEmod stands for Modify and Modular which I found out to be true because most kde desktop I have tried both on kubuntu and other distros usually come with billions of tools and applications many of which I never found any need for. KDEmod is an exception as it allows you to install a basic kde enviroment with very few tools to get you started expecting you to build upon that by installing just what you need.
On the appearance side, its the most stunning kde3 environment I have ever seen. I dont know what others feel but it seems the developers of kdemod read my mind, its just the way i want my kde to be, everything is very smooth and polished, from the theme, to wallpaper, to the kmenu, to the kde panel. kdemod is definitely kde done right.
I also tried KDEmod4 based on kde 4.2 which focus more on the modular than Modify. Hence it maintains a very vanilla looks while still it is slick and light, but I prefer KDEmod3.
What I love about Arch:
K.I.S.S Principle.
Arch is built on the principle of Keep It Slim & Simple. Its a minimalist Linux Distribution that has a lightweight base structure allowing the user to shape the system according to their lifestyle. Unlike some Linux Distribution based on the Just work principle which although cool, but also means that lots of modules and packages are enabled by default many of which the user has no need for and would never use. Arch does things very differently. Nothing is enabled unless you do it your self (even when I installed ssh I had to specifically add sshd to the daemon array in /etc/rc.conf otherwise the ssh daemon will not run on startup. same for alsa,hal,even kdm. while some may not like this approach, for many others who would like to maintain a strong control on everything that run on their computer, Arch is definitely the way to go). It installs just the Archlinux base from which the user can then gradually build his system the way he wants. I installed it on an old desktop and arch allowed me to install just what I needed for the desktop to function. I dont use wireless so naturally wireless tools areรย not installed and unlike ubuntu where Modaliases for the NVIDIA and ATI drivers are installed by default to enhance auto detection. On arch all I did was install the xf86-video-intel which is needed by my system. This approach allows me to keep my system slim and unbloated.
Pacman
I never knew that there could ever be a package manager that would rival apt-get. This was before I started arch and used pacman, its the biggest advantage of arch Linux, Simple, very fast, and does a good good at resolving dependencies. Building a package from source with pacman is a simple as ABC, ABS to be exact. Upgrading, Removing, and installing packages with pacman is dead easy. Perhaps what impressed me the most with pacman was the ability to remove packages and any dependencies which arenโt required by any other installed package. apt-get autoremove does this in ubuntu. but if I were to install a meta-package like kubuntu-desktop it would be a general PITA to remove not only kubuntu-desktop but every other package installed with it. On arch I was able to easily remove kde4.2 with pacman -Rd kde
which removed everything dependency installed with kde 4.2 for me this is a very big plus.
Rolling Release Arch is based on the Rolling Release model which means that I dont have to wait for x amount of months to get the latest and greatest packages on my system. the systems will always upgrade to the latest version of packages you have on your system.
If you are looking to obtain the latest Arch Linux release, you do not need to reinstall. You simply run the pacman -Syu command and your system will be identical to what you would get with a brand-new install.
source http://wiki.archlinux.org/index.php/FAQ#Q.29_When_will_the_new_release_be_made.3F
when I installed arch kde 4.2 just left the cooking pot and it was already in the arch repos. Same with the latest xfce 4.6, hence those with xfce 4.4 can easily upgrade to that version. One of the criticism of the rolling release model is that, it prone to system breakage while updating especially doing kernel upgrade. While this might be true some times ago, I never experienced any problem upgrading my system. Kernel upgrade was a breeze.
Arch Wiki
The arch wiki is one of the strengths of arch. its very comprehensive and from it I learnt a lot about Linux. The archwiki was also very useful in helping me set up my system. Whenever i needed to install something say multimedia codecs, i just go to the wiki and search for codecs and I would get a very comprehensive guide on how to install codecs on arch. Same goes for samba, or NFS etc. Such is the richness of the information on this wiki that I even go there when I need to learn about a particular thing in Linux.
Speed
Arch is fast, even though I choose a relatively heavy desktop. On an old system with 256mb of ram on a P4 processor the system is very fast and snappy, didnโt notice any drag in performance compared to when I installed xubuntu 8.04 on the same system. kde 4.2 on same system was just as fast which is quite impressive.
All didnโt go to plan
However my experience with arch wasnโt all a jolly jolly ride. I did encounter some problems. mainly being unable to get auto-mounting of removable device to work. i tried everything in the wiki but had to leave with the problem for over 2 weeks before a dude in identica pointed me from the arch wiki which fixed the problem for me. Another factor which might put people off archlinux is the amount of work which goes into setting up your system to your taste especially if you want to set up a general multi purpose system. The flip side is once things are up and running arch is good to go and its very stable and rock solid.
Conclusion
I would say that arch is definitely worth all the raves its getting. It doesnโt try to take over the world. but for those looking for a light systems that gives them control Arch is definitely the best way to K.I.S.S