Thursday, September 1, 2011

ArchLinux vs Slackware

This posting is not meant to start another flame war between these two great Linux distribution. It's just meant to be my personal opinion after trying ArchLinux for several days and compare it with the distribution i have been using for the last six years. I know it's not completely fair to compare few days experience with six years, but i will try to be as fair as possible.

Let's start with the history. Why would i try ArchLinux when i'm already comfortable with Slackware for the last few years? The answer is simple: curiousity. I had a discussion with my friend who lived in the US and he was a Slackware users as well, but migrated to ArchLinux and he said that i would like the disto as well since it's similar with Slackware. He told me lots of things about ArchLinux that i wouldn't find in Slackware. At the end, i promised him that i would someday try ArchLinux, but i didn't say when. That discussion was held in 2009/2010 (i forget the precise moment).

Since i have a one full week vacation due to national holiday in Indonesia (Eid), i decided to try ArchLinux to fulfil my promise to my friend. What a lucky me, ArchLinux has just released a new ISO few days ago that contains more up to date packages since they have migrated to the new Linux Kernel 3.0.x branch and that causes the netinstall ISO were broken, so they decided to release a new ISO. I downloaded this ISO and burnt it into a blank CD.

At first, i wanted to try it first on my Virtual Machine (I have Virtual Box and VMWare running on my machine), but that wouldn't reflect how optimum Arch is (i have read numerous article about how fast it is), so i decided to install it on my old laptop which has Fedora 14 on it. I haven't use the laptop for a while since i have a busy schedule this semester, so i think it's time to put a new Linux distro on it.

So, i installed ArchLinux on my old laptop. Most of the installation process was similar to Slackware's installation method. All you get is ncurses-based installer and since i'm already used to Slackware installation, i found no difficulties installing ArchLinux on my laptop. Everything works flawlessly. It's one of the advantage of learning to use Slackware: it will become easier to install other Linux distribution (except for some hard core Linux distribution, for example Gentoo or LFS).

Once i reboot the system, it showed a nice GRUB with ArchLinux logo on it and it simply has two entries: ArchLinux and ArchLinux Fallback (for recovery). Simple and elegant, just like Slackware with it's famous LILO boot loader covered up with a simple Slackware logo with dark background. I pushed the ENTER button on ArchLinux and i was truly amazed. I can have my login prompt in under 10s, something i can't achive with Slackware. My laptop is not a fast one. It only has Intel Pentium M 1.5 GHz as the processor and 1 GB of RAM with 60 GB of hard drive. It's an Acer TravelMate 4150L which i bought just when i was about to graduate in 2005.

Next, i create the normal username which i will use for my daily activities and start configuring the network since the ISO only contains basic packages and even NO GUI at all. It doesn't have any DE (Desktop Environment) or even XOrg packages, so i definitely need an Internet connection to grab all those packages. I plugged in my cable and start downloading some basic packages that i need to get a nice desktop, like XOrg, GNOME, and KDE. Since it was already past midnight, i went to bed while the laptop was still downloading the packages (full KDE installation requires about 600 MB alone).

In the morning, everything is already installed and i tried to login to GNOME, but it stucked. I don't know why. It doesn't give me any error messages, only a blue-stripped wallpaper and that's all. So i decided to abort it and re-login into KDE and this time, it works. After that, i start adding normal applications i use daily, such as LibreOffice, Firefox, Pidgin, xCHM, Flash Player, etc.

I tried to explore how ArchLinux works with daemon service, and in most part, it's similar to Slackware. ArchLinux also stores all it's service scripts in /etc/rc.d and we can start the service by using /etc/rc.d/httpd start for example (similar in Slackware). You can use rc.d command to start/stop service though. This is something that Slackware doesn't have.

One thing my friend told me that makes him loves ArchLinux was pacman, ArchLinux's package management tool. It works similarly like pkgtool, but it can solve dependencies as well just like apt-get used in Debian and Ubuntu. Since packages in ArchLinux are grouped, it will become easier for common users to install a full set of packages, such as kde, libreoffice, gnome, etc. You will have a choice to install them one by one, or even to all packages belong to that group. For example, i can use pacman -S kde to install all kde-related applications and libraries.

For a moment, i enjoyed pacman since it finds all the dependencies related to the application i need to install, but when i analyze it further, it also shares the problems i dislike when dealing with apt-get or any other tools that resolve dependencies: bloated system and upstream-dependency. I still prefer the Slackware method of pkgtool to handle dependency: leave it to users who has the absolute control of the system and not relying to the upstream developers.


Since ArchLinux is a rolling release, it's more likely a Slackware-Current in many ways, but the difference is the speed of updates. ArchLinux main repository is updated very often. Sometimes even once every five minutes or so. Meanwhile, Slackware-Current usually being updated on daily basis since there's only one man who does all the job on Slackware and that's Patrick himself. Rolling release means every new version of a package is being added into the main repository. Slackware-Current shares the same philosophy, but sometimes takes more traditional approach if the performance of the new version is worst than the old version. If you need a bleeding-edge systems, Arch might be suitable for you, but if you need a bleeding-edge with more stability on top of it, Slackware-Current might be the option you are looking for.

Slackware has SlackBuilds project and so does ArchLinux with it's AUR (ArchLinux User Repository). Both are user-contributed scripts which convert source codes into their native format (tgz/txz in Slackware and tar.gz in ArchLinux). If you need packages which are not yet or no longer supported in the main repository, you can try to find them on SlackBuilds or AUR project.

This conclude my initial review of ArchLinux after using it for several days. It's a great Linux distribution which challenges it's user with it's rolling release model, but for a production system that requires stability over new features, i would prefer Slackware. I myself will use ArchLinux only in my old laptop and i don't have plan to use it for my daily operational desktop/laptop until i know more about ArchLinux in the future.