Arch has been my primary Linux distribution for two years and I dual boot it
with Windows XP on my Thinkpad. I like Arch for its KISS principle, good speed and repository full of latest stable packages. According to
Arch Wiki , Arch Linux is an independent i686-optimized community distribution for intermediate and advanced Linux users.
I wanted to check what it takes to build a highly usable Arch desktop from
scratch, so when my father asked me to teach him how to use e-mail, I got the
opportunity to revive my old Athlon XP 2400+ desktop and install Arch on it.
This document details my efforts to build a basic e-mailing and chatting Arch
Desktop system (or is it much more than that ?) and to help others install a
normal Arch desktop. Much has been said about Arch basic installation so I'll
stress on the configurations which I did in order to customize my system.
Unique Features Of Arch
First let me list some unique features of Arch Linux :
- i686 optimized
packages. This provides performance enhancement on modern hardware.
- Rolling Release System. Arch packages are regularly updated and an ISO release is just a snapshot to the stable packages at that time. Users need not reinstall (rpm based) or do an
‘apt-get dist-upgrade’ (debian, Ubuntu) when a new ISO CD is released. Arch can be easily updated by a single command ‘pacman –Syu’.
- Pacman . Arguably one of the most advanced package manager. Software pundits have always praised pacman and even dubbed it as the next generation package manager. It is so good that many other distributions, like Frugalware, have adopted it.
- ABS (Arch Build System). This enables users to build and install their
custom packages. It is easier to write custom ABS PKGBUILDs than installing from source on other distributions like rpm-based, deb-based or even gentoo.
- AUR (Arch User Repository) . This showcases the community powers of Arch. Here users upload their custom PKGBUILD for other users to download and use. AUR gives Arch a huge number of packages, though they are not officially supported by Arch.
Basic Installation
Coming back to the installation procedure, on the
Arch download website Arch offers three type of ISO to be downloaded
- Full ISO. This has all the packages in the current database
including Xorg.
- Base ISO. This has the base packages required for minimal Arch
install.
- FTP ISO. Useful when doing ftp install
I downloaded FULL ISO 561 MB using Ktorrent and was amused at the number of seeders (75), this resulted in a good download speed. Its
noteworthy that this number of seeders is one month after the ISO release. The basic installation is fairly simple and is well documented in the
Installation Guide. The installation requires to set a root password,
however, no user account is setup during install. The default grub
menu.lst file had a masked entry for dual booting windows, which had
to be enabled manually. This is clearly documented in the install guide.
The basic installation takes about five minutes and is the fastest I have
seen.
Initial Configuration
On the first boot after install I saw udev in action, reached the
login prompt in no time and logged in as root. I know it is not a good idea to
use the system as root so the first thing I did was to add a new user, set the
password, and add the user to sudoers group.
# useradd -m -s /bin/bash abhayks
# passwd abhayks
# vim /etc/sudoers, and add the
following line
abhayks ALL=(ALL) ALL
You may need to replace ‘abhayks’ with any username of your
choice.
After that I logged out and logged in using my new user ‘abhayks’.
I was delighted to see that my network was auto configured through dhcp.
Bring up KDE
The next step was to configure Xorg. As per Arch Xorg Wiki I installed and
used hwd for auto hardware detection.
# sudo pacman –Sy hwd
# sudo hwd –xa
This command auto detected my hardware and created a /etc/X11/xorg.conf file. The default window manager is twm, which is very basic and not easy to use. I like KDE and Arch had a modular and modified version called
kdemod. The installation is fairly simple.
I just added kdemod repo to my /etc/pacman.conf.
# sudo vim /etc/pacman.conf
And Added the following lines
[kdemod]
Server =
http://kdemod.ath.cx/repo/current/i686
#
sudo pacman –Sy kdemod
It downloaded and installed a subset of KDE including kdebase, kdepim,
kdelibs, kdearts, KDM and qt.
Some more KDE applications
# sudo pacman -S
kdemod/kdemod-kdegraphics-ksnapshot
# sudo pacman -S ktorrent
#sudo pacman -S kdewebdev
I wanted to enable GUI login at bootup, for that I edited /etc/inittab
# sudo vim /etc/inittab
Searched the line
id:3:initdefatul:
And changed ‘3’ to ‘5’, so now that line looks like
id:5:initdefault:
Also I modified the default display manager. In /etc/inittab
Searched the line
x:5:respawn:/usr/bin/xdm
–nodaemon
and changed it to
x:5:respawn:/opt/kde/bin/kdm
–nodaemon
then I saved the file and rebooted.
Final Touches
On reboot I was greeted with a shiny KDM login window with ‘abhayks’ as a
highlighted user. The default KDE has got a very good look and feel.
Kickoff is the default KDE start menu, which has many design and functionality improvements over standard KDE menu. However, the menu style is easily configurable and can be set to standard KDE menu.
I wanted some better looking fonts, so I did
#sudo pacman -S ttf-ms-fonts
ttf-dejavu ttf-bitstream-vera
I am from India, so installed indic fonts
#sudo pacman -S extra/ttf-indic-otf
To add Firefox and Gaim, along with plugins, I just typed in
# sudo pacman –Sy firefox gaim
flashplugin acroread j2re mplayer-plugin
Why not konqueror or kopete ? Well its my personal choice.
Open Office
# sudo pacman -S openoffice-base
# sudo pacman -S openoffice-spell-en
Though the second command itself will install openoffice-base too, but here I
am mentioning it for illustration purpose.
I ran
'/opt/openoffice/program/soffice'
to setup OpenOffice as abhayks.
I also want audio and video capabilities and went ahead with configuring ALSA.
# sudo pacman -Sy alsa-lib alsa-utils
# sudo amixer set Master 75% unmute
# sudo amixer set PCM 90% unmute
# sudo alsactl store
Optionally, this can be done with KMix too, but hey this is Arch Linux and
command line is the order of the day.
For installing Music and video applications
# sudo pacman –Sy amarok-base
amarok-xine gstreamer0.10-mad kmplayer kaffine libdvdcss
Also I had to add my user to the audio and video group
# sudo gpasswd -a abhayks optical
# sudo gpasswd -a abhayks audio
My father has a digital camera and a video camera so here comes
# sudo pacman -S digikam
# sudo pacman -S gimp
# sudo pacman -S kino
# sudo pacman -S cinelerra-cv
To access the windows (NTFS and FAT )drives
#sudo pacman –S ntfs-3g
# sudo chmod u+s /usr/bin/ntfs-3g
# sudo mkdir /mnt/windows
# sudo mkdir /mnt/backup
To enable auto mount of windows drives at boot and usable by all users, I
edited the /etc/fstab file
# sudo vim /etc/fstab
And Added the lines
/dev/sda1 /mnt/windows ntfs-3g users,defaults 0 0
/dev/sda5 /mnt/backup vfat users,defaults 0 0
Lastly I want a good personal finance manager, so I downloaded and installed
Buddi. This is a single jar file and requires java. I have created a desktop shortcut for it, the command line reads as
'java -jar Buddi.jar'
I know that this is a lot of command line configuration, but is that really
tough? This is a one time configuration and any updates to this is as simple
as
# sudo pacman -Syu
Personally I would rather do this, than work on a bloated and slow system,
which needs to do a full system upgrade with each ISO release.
Here I have a complete desktop system that can perform most common tasks. I
can access web, chat, use office documents, keep track of my finances, listen
to songs, watch video, read/write to my windows partitions, capture media from cameras and edit videos and photographs. The best part is that even after so many applications, the system appears very snappy and responsive. OpenOffice and Gimp both open very fast. The total hard disk space used is around 2.2 GB, now that’s fantastic. This can even be reduced further by 500MB if I clear the downloaded package cache. Not many distributions can boast of being so frugal.
Cons:Every coin has two sides, though in Arch's case its advantages totally dwarf
the disadvantages. Arch community has an answer to almost all the negatives I
have mentioned here
- Very few people know it, even lesser use it (Is it bad? )
- Too much initial configuration (but that’s easy if we read docs, also we
have Arch Linux Office Install CD which automates initial configurations)
- No official GUI package manager (Many non-official ones like ‘jacman’ exist in the community repository and AUR)
- No official GUI configuration Tool (But that’s Arch principle)
- Poor Documentation. The documents are there but scattered either throughout the wiki or in the Arch forums. Very few integrated docs exists.(That’s why this document, though I admit that Arch wiki is the base for this doc.)
My Take:
I would recommend Arch Linux to anyone who can read documents. Arch is a very simple, fast and clean Linux distribution and installs only the required
applications. This philosophy goes to the extent that KDE is heavily
modularized, enabling optional installs and making it highly customizable.
This is illustrated by the package kdemod-kdegraphics-ksnapshot,
normally we need to install entire kdegraphics package to get ksnapshot, with
Arch, modularity and minimal install is the name of the game.
People have said enough about pacman, still I cannot resist saying that I
found it to be the fastest and easiest packages manager.
I have been using Arch since long and am all praises for the Arch community.
People simply want to help others and contribute to the community in any way
possible. The forums are very active and highly informative. Whenever I asked
any query, I got multiple ways of solving my problem.
There is a huge number of packages available through community and an even
larger number through AUR. One remarkable thing about Arch is that though it has the latest version of software in its repositories, Arch is amazingly
stable. This indicates the inherent modular architecture of Arch and the
amount of testing that packages undergo.