Einfach Handhabung und volle Flexibilität in einer Distribution vereint

Aus LinuxUser 10/2005

Einfach Handhabung und volle Flexibilität in einer Distribution vereint

Von Grund auf

Die Distribution Arch Linux verbindet Vorteile aus anderen Konzepten zu einem Gesamtsystem. Dieser Artikel zeigt Ihnen, wie Sie das System von der Heft-CD richtig installieren und danach effektiv nutzen.

Linux Distributionen gibt es wie Sand am Meer: Vom Selbstbaukasten bis zum Rundum-Sorglos-Paket findet sich alles. Bei einigen legen Sie eine Installations-DVD ins Laufwerk, beantworten zwei, drei Fragen, und fertig ist ein schönes, buntes System – mindestens so schön und so bunt wie Windows.

Aber wie bei Windows stehen Sie dort auch wie der sprichwörtliche Ochs vorm Berge, wenn mal irgendwas nicht so läuft, wie es soll. An welcher Schraube sollten Sie drehen, wenn Sie das System verändern wollen? Wie funktioniert das alles? Was passiert unter der Haube der schönen, bunten Maschine?

Das System Arch liefert diese Informationen. Es setzt Sie als Nutzer ans Steuer, nicht in den Fond der Maschine. Schon bei der Installation legen Sie Hand an, sprich: Sie bearbeiten die wichtigen Installationsdateien. Welche das sind und wie Sie sie anpassen, sagt Ihnen die Installationsroutine.

So haben Sie die vollständige Kontrolle über das System; kaum ein Systemdienst startet, den Sie nicht selbst in die einschlägige Datei eingetragen haben. Arch richtet sich also an Benutzer, die ihr System verstehen wollen, die sich der “Diktatur des schönen Scheins” [1] nicht unterwerfen wollen.

Schnell, schlank, aktuell

Das ganze System ist für Prozessoren der i686er Reihe optimiert. Auf älteren Maschinen läuft nicht einmal die Installationsroutine. Da nur die notwendigen Systemdienste initialisiert werden, ist auch die Startzeit extrem kurz. Das vollständige System passt leicht auf eine CD, die Basisinstallation sogar auf eine kleine. Die Entwickler entfernten alles, was nicht unbedingt ist.

Das hervorragende Paketsystems hält die Installation ohne Mühe aktuell. Das ganze System einschliesslich des Kernels bringen Sie mit dem Befehl pacman -Syu auf den neuesten Stand. Das Arch Build System hilft auf einfache Weise beim Bau von angepassten Binärpaketen. Paket- und Build-System gehen dabei Hand in Hand.

Installation

Wenn Sie dieser Ausblick neugierig macht, sollten Sie sich zunächst einmal Archie ansehen – eine Live-CD auf der Basis von Arch. Sie werden staunen, wie schnell und sauber konfiguriert das System ist. Wollen Sie danach Arch selbst installieren, dann nehmen Sie sich ruhig etwas Zeit.

Um sich die Arbeit so leicht wie möglich zu machen, sei ein Blick in die gut gegliederte und übersichtliche Arch Linux Dokumentation [3] oder die aktuellere englische Fassung, den Arch Linux 0.7 (Wombat) Installation Guide [4], empfohlen. Das erspart Ihnen später unliebsame Überraschungen, und Sie wissen, wo Sie bei Problemen nachschlagen können. Für den Notfall ist auch die Adresse des einschlägigen Wiki hilfreich [5].

Und noch eine Empfehlung vorneweg: Besorgen Sie sich eine Tafel mit der Tastaturbelegung einer amerikanischen Tastatur. Leider erlaubt Ihnen die Installationsroutine nicht die Auswahl der Tastaturbelegung – ein ärgerliches und überflüssiges Manko.

Nach dem Neustart des Rechners bei eingelegter Installations-CD und entsprechend konfiguriertem BIOS befinden Sie sich in einem Boot Prompt, der Ihnen unter anderem die Auswahl zwischen einem IDE- oder SCSI-System ermöglicht und Sie anschliessend in eine Shell befördert.

Jetzt beginnt die eigentliche Installation mit dem Befehl /arch/setup. Das ist eine textbasierte Routine, die Sie durch die einzelnen Schritte der Installation führt; jeden Schritt schließen Sie mit der Menüauswahl DONE ab.

Vorbereitung der Festplatte.

Hier können Sie entweder Auto-Prepare wählen, was Ihre Platte buchstäblich platt macht, dafür aber eine kleine Boot-Partition, eine grosse Ext3-formatierte Datenpartition und natürlich eine Swap-Partition erzeugt.Besser ist es, zum wohlbekannten Partitionierungswerkzeug Cfdisk zu greifen und eine individuelle Partitionierung vorzunehmen.

Beachten Sie hierbei aber, dass Arch das Verzeichnis /usr/local von Hause aus nicht nutzt. Die grossen Programmpakete – wie Mozilla, Gnome und KDE – landen allesamt im Verzeichnis /opt. Für letzteres sollten Sie eine grosse Partition erzeugen. Für ersteres lohnt sich eine eigene Partition nur dann, wenn Sie partout nicht auf den altgewohnten Dreisatz ./configure; make; make install verzichten wollen.

Nach dem Zuordnen der von Ihnen erzeugten Partitionen zu Verzeichnissen im Dateisystem und der Auswahl des jeweiligen Dateisystemtyps formatiert der Installer die Platte entsprechend, und Sie sind mit diesem schwierigen Teil der Installation fertig.

Paketauswahl

Hierzu ist nicht viel zu sagen: Sie kreuzen in verschiedenen Kategorien auf die von Ihnen gewünschten Pakete an, der Paketmanager Pacman löst die Abhängigkeiten auf und kopiert alles auf die Platte.

Die Auswahl ist zwar nicht so riesig wie bei manchen anderen Distributionen, enthält aber beispielsweise in der Kategorie Entwicklung Perlen wie Boehm’s Garbage Collecting Memory Management Library (libgc) für die Sprache C.

Kernel-Installation

Anschließend wählen Sie zwischen einem Kernel 2.4 und 2.6, vorkompiliert für IDE- und SCSI-Systeme oder – für die Gurus – als Quelltext. Nachdem Sie sich für einen Editor (Vi oder Nano) entschieden haben, führt der Installer Sie durch verschiedene Konfigurationsdateien, wobei er Ihnen Vorschläge für die Einträge macht.

Einen besonderen Stellenwert nimmt dabei die zentrale Konfigurationsdatei /etc/rc.conf ein, in die Sie insbesondere KEYMAP=de-latin1-nodeadkeys eintragen sollten, wenn Sie nach einem Reboot mit deutscher Tastatur arbeiten wollen. Auch sollten Sie sich hier die beiden Arrays MODULES und DAEMONS genau ansehen, weil sie darüber entscheiden, welche Systemdienste starten.

In /boot/grub/menu.lst oder /etc/lilo.conf konfigurieren Sie den Bootlader, in /etc/modprobe.conf oder /etc/modules.conf (je nach Kernel 2.6 oder 2.4) unter anderem die Netwerkkarte.

Die Datei /etc/hosts mit Hostname/IP-Paaren anderer Rechner im lokalen Netz dürfen Sie beim ersten Durchgang ebenso übergehen wie /etc/resolv.conf, sofern Sie glücklicher Besitzer eines Routers sind. Andernfalls ist hier der Nameserver Ihres Providers einzutragen.

In /etc/fstab schließlich tragen Sie die Partitionen ein, die beim Start automatisch gemountet werden sollen, und in /etc/profile konfigurieren Sie die Systemumgebung der Shell einschließlich der Sprache (export LANG=de_DE).

Das alles hört sich ziemlich kompliziert an und ist für einen Linux-Anfänger auch schwer zu verdauen; es setzt zumindest eine gehörige Portion Lernbereitschaft voraus. Gehen Sie einfach schrittweise vor: Im ersten Durchgang übernehmen Sie die Vorgaben, starten damit Arch im Textmodus und bessern und später nach.

Bootloader installieren

Hier haben Sie die Auswahl zwischen Grub und Lilo. Die Auswahl von Grub erleichtert Ihnen später das Aktualisieren des Systems einschließlich des Kernels, was mitunter häufig geschieht. Bei Lilo erfordert ein neuer Kernel jedoch auch die Aktualisierung des Bootrecords, ansonsten wird das System unbenutzbar.

Jetzt sind Sie mit der Basis-Installation fertig und starten mit einem beherzten reboot im Textmodus den Rechner neu. Im nächsten Schritt legen Sie dann das Passwort für den Superuser fest und Nutzerkonten an, konfigurieren einen Drucker, installieren X und ändern eventuell die Datei /etc/inittab für den grafischen Systemstart.

Die X-Installation geht mit xorgcfg -textmode schnell von der Hand. Bei einer PS2-Maus ersetzen Sie aber in der erzeugten /etc/X11/xorg.conf in der Sektion InputDevice den Eintrag /dev/mouse durch /dev/psaux oder erzeugen einen entsprechenden Symlink.

Noch ein Tipp, die richtige Konfiguration der Hardware betreffend: Es gibt von den Archie-Leuten ein schönes Tool namens Hwd (Hardware Detect), das Ihre Hardware analysiert und Ihnen vorschlägt, in welcher Datei Sie welche Einträge vornehmen sollten, um diese Hardware zum Laufen zu bringen. Falls Ihr Netzwerk funktioniert, installieren Sie es mit dem Befehl pacman -S hwd.

Der Paketmanager

Pacman ist ein Highlight von Arch. Benutzer von RPM- oder TGZ-basierten Systemen beneiden die Nutzer von Debian-basierten Sytemen nicht selten um deren Paketmanager. Er erleichtert die Installation, das Entfernen sowie das Aktualisieren von Paketen. Abhängigkeiten überprüft er selbstständig und löst sie auf, indem er fehlende Pakete automatisch nachlädt.

Pacman leistet dasselbe. Ein einziger Befehl, pacman -Syu, aktualisiert die Paketliste auf dem lokalen Rechner und führt ein komplettes Upgrade des Systems durch. Man benötigt also nicht die neueste Installations-CD, um das System aufzuspielen, eine alte tut’s auch.

Der Befehl pacman -Sy aktualisiert lediglich die Paketliste. Ein anschliessendes pacman -S Paketname spielt das genannte Paket auf – zum Beispiel hwd, gnome oder kde. Details liefert die Manpage.

Arch Build System

Das Arch Build System (ABS) erfordert eine längere Einarbeitungszeit, um es richtig zu würdigen. Im Prinzip leistet ABS auf der Quellcodeseite das, was Pacman auf der binären Seite macht. Es erlaubt das rekompilieren einzelner Pakete oder des gesamten Systems mithilfe von Metadaten. Für so etwas ist Gentoo berühmt, aber eben auch berüchtigt – denn dort ist Kompilieren Pflicht, bei Arch die Kür.

Mit dem Befehl abs als root spiegeln Sie den ganzen Build Tree auf seinem lokalen Rechner unter /var/abs. Jedes Paket hat ein eigenes Verzeichnis, das eine Datei namens PKGBUILD mit den Metadaten enthält. Der Aufruf makepkg in diesem Verzeichnis erzeugt eine Paketdatei mit der Endung pkg.tar.gz, die Sie einfach Paccman zum Frass vorwerfen; Makepkg und Pacman arbeiten perfekt zusammen.

Sehen wir uns zwei typische Beispiele an, wie Sie ABS verwenden: das Verändern eines bereits installierten Pakets und das Erzeugen eines neuen Pakets. Dies setzt einen kompletten Build Tree unter /var/abs voraus. Außerdem müssen die Pakete wget, cvsup, fakeroot und namcap installiert sein.

Ein Verzeichnis /var/abs/local, für das Sie Schreibrechte haben, dient als privater Paketbauplatz: Alle während des Build-Prozesses erzeugten Dateien lagern unterhalb dieses Verzeichnisses. Um sicherzustellen, dass Sie keine Dateien versehentlich nach /usr oder /usr/local kopieren, sollten Sie während des ganzen Prozesses nicht als root arbeiten.

Pakete verändern

Angenommen, Sie starten den Textbrowser Links im Grafikmodus und der zuständige Aufruf links -g führt zu Fehlermeldung: Graphics not enabled when compiling. In diesem Fall bauen Sie einfach das Paket mit der entsprechenden Unterstützung neu. Sie erzeugen das Verzeichnis /var/abs/local/links, wechseln nach dort und kopieren aus dem Build Tree die Datei /var/abs/network/links/PKGBUILD.

Wenn Sie sich diese Datei ansehen, finden Sie in der Funktion build() beim Aufruf von configure die Parameter --disable-graphics --without-x. Wenn Sie die Zeile in --enable-graphics --with-x abändern, lädt makepkg -c das Quelltextpaket herunter, erzeugt ein binäres Paket mit der Endung .pkg.tar.gz, das Sie mit pacman -U links-2.1pre17-1.pkg.tar.gz als root installieren. Der Schalter -c erledigt die Aufräumarbeiten nach der Installation. Jetzt funktioniert links -g, wie Abbildung 1 zeigt.

Abbildung 1: Links im Grafikmodus mit der deutschen Arch-Linux-Homepage.

Abbildung 1: Links im Grafikmodus mit der deutschen Arch-Linux-Homepage.

Pakete erzeugen

Wer lieber mit schlanken Fenstermanagern wie Windowmaker, Fluxbox, Blackbox oder ähnlichen arbeitet, lernt sicher schnell die sogenannten Dockapps schätzen (bei Dockapps.org [6] finden Sie diese gleich serienweise). Die kleine Progrämmchen heften sich am Desktop-Rand an und stehen dann immer zur Verfügung.

Ein schönes Beispiel ist das Programm Mount.app, mit dessen Hilfe Sie grafisch das Mounten und Unmounten von Partitionen bewerkstelligen, sofern diese in /etc/fstab eingetragen sind. Den Quelltext finden Sie unter http://mountapp.sourceforge.net/mountapp-3.0.tar.gz

Mit dieser Information allein kommen Sie schon weiter. Sie legen also – wieder nicht als root – ein Verzeichnis /var/abs/local/mountapp an, wechseln in dieses hinein und kopieren den Prototyp /var/abs/PKGBUILD.proto nach PKGBUILD. Diese Datei sieht aus wie in Listing 1.

Listing 1

PKGBUILD.proto

pkgname=NAME
pkgver=VERSION
pkgrel=1
pkgdesc=""
url=""
license=""
depends=()
makedepends=()
conflicts=()
replaces=()
backup=()
install=
source=($pkgname-$pkgver.tar.gz)
md5sums=()
build() {
  cd $startdir/src/$pkgname-$pkgver
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=$startdir/pkg install
}

Hier könnten Sie pkgname=mountapp, pkgver=3.0, url="http://mountapp.sourceforge.net" und source=($url/$pkgname-$pkgversion.tar.gz) sofort ausfüllen. Mehr brauchen Sie zunächst auch nicht.

Der Aufruf von Makepkg in diesem Verzeichnis würde im vorliegenden Fall funktionieren, ebenso wie bei den meisten mit dem klassischen Dreischritt erzeugten Pakete. Wir wollen aber systematisch vorgehen, kommentieren die gesamte build() Funktion aus und erzeugen mit export STARTDIR=$(pwd) eine externe Kopie der internen startdir Variablen.

Makepkg erzeugt jetzt wegen der fehlenden Funktion build() einen Fehler, trotzdem lädt die Software das Quellpaket herunter und entpackt es an den richtigen Ort. So erhalten Sie eine Möglichkeit sich die Dateien README und INSTALL anzusehen.

Die Idee ist nun, jeden Befehl der Funktion build() von Hand auszutesten und – wenn nötig – abzuändern. Am kritischsten ist dabei der letzte Befehl. Beachten Sie, dass die Variable DESTDIR den Wert des Root-Verzeichnisses übrnimmt. Daher speichert Makepkg die Dateien bei der Installation zunächst unterhalb von DESTDIR ab.

Es sind also eventuell diverse Verzeichnisse zu erstellen, die der Programmautor nicht vorgesehen hat. Manchmal fehlt das Configure-Skript komplett. Dann können Sie das Makefile entweder patchen oder mit Sed ändern. Und schließlich hat das Quellverzeichnis unter $startdir/src/ gelegentlich einen anderen Namen, was aber leicht zu korrigieren wäre.

Im vorliegenden Fall funktioniert jeder einzelne Befehl so wie er soll, was wir nach dem Studium der README-Datei auch erwartet haben. Wir können also zu $STARTDIR zurückspringen, die build() Funktion entkommentieren und unser Paket mit makepkg bauen.

Allerdings sollten wir danach noch ein paar Verbesserungen vornehmen, insbesondere die Felder md5sums und depends ausfüllen. Das scheint schwierig zu sein, es gibt aber ein einfach zu benutzendes Werkzeug, das Ihnen dabei hilft: Namcap. Es vollführt die Rolle rückwärts von Pacman. Das Resultat von namcap PKGBUILD mountapp-3.0-1.pkg.tar.gz sehen Sie in Listing 2.

Listing 2

Namcap-Ausgabe

PKGBUILD (mountapp)  E: Missing md5sums
PKGBUILD (mountapp)  W: Missing Maintainer tag
PKGBUILD (mountapp)  W: Missing CVS Id tag
mountapp   E: Dependency detected and not included (libtiff) from files ['usr/bin/mount.conf', 'usr/bin/mount.app']
mountapp   E: Dependency detected and not included (gtk) from files ['usr/bin/mount.conf']
mountapp   E: Dependency detected and not included (xorg) from files ['usr/bin/mount.conf', 'usr/bin/mount.app']

Zunächst hängen Sie mit makepkg -g >> PKGBUILD die MD5-Summe ans Ende von PKGBUILD an, von wo Sie diese nur noch umzukopieren brauchen. Anschliessend tragen Sie die Abhängigkeiten nach, also depends=(libtiff gtk xorg). Erneutes Bauen – diesmal mit makepkg -fc um aufzuräumen – führt zu einem wesentlich verbesserten Paket, das auch auf anderen Rechnern brauchbar ist.

Hätten Sie x-server statt xorg eingetragen, wäre das Paket auch unter XFree86-Systemen installierbar. Die eigentliche Installation besorgt jetzt pacman -U mountapp-3.0-1.pkg.tar.gz. Ein Aufruf des neu installierten Progrämmchens mount.app zeigt Abbildung 2.

Abbildung 2: Die Anwendung Mount.app gibt eine Übersicht über die eingehängten Dateisysteme.

Abbildung 2: Die Anwendung Mount.app gibt eine Übersicht über die eingehängten Dateisysteme.

Fazit

Arch kombiniert in einer originellen Distribution die besten Eigenschaften anderer Systeme zu einem kohärenten Ganzen: Von Slackware die einfache Systeminitialisierung, von Debian die Paketverwaltung, von Gentoo das Build-System.

Zugegeben, die Installation macht Arbeit. Lohn der Mühe ist ein stabiles und schnelles System, das man versteht und mit dem zu Arbeiten Spaß macht.

Infos

[1] Neal Stephenson, Die Diktatur des schönen Scheins, Goldmann-Taschenbuch Nr. 15177

[2] Archlinux-Homepage: http://www.archlinux.de

[3] Deutschsprachige Arch-Dokumentation: http://archlinux.org/docs/de/guide/install/arch-install-guide.html

[4] Englischsprachige Arch-Dokumentation: http://archlinux.org/docs/en/guide/install/arch-install-guide.html

[5] Wiki der Arch-Linux-Community: http://wiki2.archlinux.org

[6] Dockapps: http://dockapps.org

Der Autor

Jürgen Lorenz ist Mathematiker. Sein “Hackmaschinchen” quält er hauptsächlich am Wochenende und in seiner Freizeit. Ein gut geschriebenes Buch wird aber auch der schönste und schnellste Rechner niemals ersetzen können!

LinuxUser 10/2005 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben