blog · git · desktop · images · contact & privacy · gopher


Des Pinguins neue Spielwiese: Arch Linux

Ubuntu läuft wunderbar und es gibt auch keinen akkuten Grund, wechseln zu wollen. Und direkt vorweg, bevor ein falscher Eindruck entsteht: Dieser Bericht ist nicht dazu gedacht, Ubuntu in irgendeiner Art und Weise grundsätzlich abzuwerten! Im Gegenteil, es hat mir sehr gute Dienste geleistet und tut das immernoch. :)

Langfristig werde ich mit dem System aber vermutlich nicht glücklich, denn die eingefrorenen Software-Versionen pro Release gefallen mir nicht wirklich. Bereits im Oktober läuft der Support für 7.04 aus, was ich im Moment aber noch auf meinem Laptop laufen habe. Entweder, man bricht dann mit der Paketverwaltung (und sei es auch mit korrekt erstellten eigenen Paketen, irgendwie wird's halt doch Murks), oder man belässt es dabei und hat nur alle 6 Monate neue Software - oder eben gar nicht mehr. Stellenweise (GIMP, Inkscape, Blender, Wine, ...) gefällt mir das nicht wirklich. :( Die großen Upgrades, bei denen hunderte Pakete und sonstige Änderungen involviert sind, sind mir nach wie vor zu riskant. Dort würde es dann ohnehin auf eine komplette Neuinstallation hinauslaufen, wozu ich in so kurzen Abständen aber wirklich nicht bereit bin.

Daher habe ich mich nach Distri's umgeschaut, die ein gleitendes Release-System verfolgen. Leider sind mir dabei nur zwei über den Weg gelaufen: Gentoo und Arch Linux. Da ich für Gentoo zu ungeduldig bin, habe ich es also mal mit Arch Linux auf meinem Laptop versucht. :)

Folgender Satz in der Wikipedia ersten Bedenken aus:

Das System kann BSD-typisch fast ausschließlich über eine einzige Datei (/etc/rc.conf) konfiguriert werden.

Ohje, sind das etwa Zustände wie zu meinen Anfangszeiten bei SuSE 6.1? Eine zentrale Datei, die aber riesig und damit absolut unübersichtlich wird?

Weit gefehlt. Ich habe nicht mehr genau im Kopf, was bei SuSE alles in der local.rc oder rc.local (oder wie sie damals hieß) stand, aber die rc.conf von Arch ist wirklich nicht groß und sehr übersichtlich. Am Beispiel der zu startenden Daemons gewinnt man das System auch wirklich sehr schnell lieb, denn man schreibt diese einfach in eine Liste - kein Haufen symbolischer Links wie bei Debian. Will man einen Daemon deaktivieren, schreibt man einfach ein "!" vor seinen Namen, fertig. Analog läuft es mit Kernel-Modulen oder Netzwerk-Settings (aber dazu unten mehr). Ansonsten befinden sich nur noch einige wenige Einstellungen in der Datei, wie zum Beispiel das Tastaturlayout. Der Satz aus der Wikipedia ist also eher wörtlich zu nehmen: Das System wird hauptsächlich über eine Datei konfiguriert - in dieser befinden sich jedoch keine Einstellungen von Anwendungsprogrammen oder systemnahen Programmen, denn diese haben immernoch ihre eigenen Configs.

Arch ist ein recht minimales System, was mir persönlich aber eigentlich sehr in den Kram passt, weil man dadurch wirklich mehr lernt. Die großen Distri's verstecken fast alles vor mir, wodurch manche Vorgänge einfach schleierhaft werden - im Gegenzug läuft vieles ohne Zutun Out-Of-The-Box, was natürlich durchaus gemütlich ist. Bei einem System wie Arch Linux ist man dazu gezwungen, etwas tiefer in die Materie einzusteigen, aber ohne gleich auf dem Level von Linux from Scratch oder Slackware (Stichwort Paketmanagement) anzukommen. Auch, wenn ich nun über ein Jahr lang Ubuntu auf dem Laptop hatte, fühle ich mich immernoch als Linux-Neuling, da mir viele Internas gänzlich unbekannt sind - es gibt noch so viel zu entdecken und manchmal will ich's einfach genau wissen. :)

Die Geschwindigkeit von Arch ist berauschend. Von GRUB bis zum Login an der Konsole dauert es gerade einmal 13 Sekunden. Weitere 12 Sekunden sind dann nötig, bis X-Server samt Xfce bereit sind. Insgesamt ist das System also in 25 Sekunden betriebsbereit - und das auf meinem Laptop mit langsamer Platte. :) Ich bin gespannt, wie Arch Linux auf meinem Desktop laufen wird, wo ich wohl auch in naher Zukunft wechseln werde. Ob dieser Geschwindigkeitsunterschied wirklich an der i686-Optimierung von Arch liegt oder einfach daran, dass das System sehr schlank gehalten ist, vermag ich nicht zu beurteilen.

– Nachtrag: Am Desktop ist es langsamer. Das liegt unter anderem daran, dass er beim Booten ca. 10 Sekunden hängt, was er auch schon mit Ubuntu tat. Scheint ein Problem mit meinem Mainboard/BIOS zu sein.

Hier ein paar tolle Bootvideos (XviD) vom fertig konfigurierten Laptop:

Insgesamt bin ich also mittlerweile sogar unter den 25 Sekunden.

Und ja, ich habe doch wieder ein "großes" Desktop Environment gewählt. Anfangs hatte ich es mit wmii probiert, was auch eigentlich gar nicht so schlecht war. Jedoch fehlten mir dbus/hal-Funktionalitäten (oder genauer gesagt: Ich war zu faul, mir das alles zusammenzusuchen) und vermutlich habe ich nicht genug Zeit investiert, um mich daran zu gewöhnen. Bei XFCE renne ich natürlich bezüglich Fensterpositionierung in ähnliche Probleme wie bei GNOME, aber es ist mir irgendwie auf Anhieb ans Herz gewachsen. :geek: Klein, schnell und trotzdem nicht spartanisch minimal - eigentlich optimal.

Positiv überrascht war ich auch von den Wiki's zu Arch. Man wird keinesfalls alleine im Regen stehen gelassen, denn es gibt trotz der kleinen Community sehr viel und gute Doku:

Okay, hier mein persönlicher Merkzettel, was die Installation meiner Hardware angeht. Einen sehr guten Startpunkt bietet natürlich das englische Wiki, das praktischerweise einen Eintrag zu meinem Laptop hat:

http://wiki.archlinux.org/index.php/Dell_Inspiron_6400

Drucker und Scanner sind natürlich meine "Problemkinder" schlechthin, da beide nicht direkt von Linux unterstützt werden und externe Treiber brauchen. Jedoch war der Drucker eigentlich in Windeseile lauffähig, beim Scanner wurde es etwas hakelig. Aber der Reihe nach ...

Drucker: Epson AcuLaser C1100N

Wird natürlich benötigt: "Epson-ALC1100-filter-1.2.tar.gz" von der Avasys-Seite, klar.

Pakete von Arch:

cups foomatic-filters ghostscript samba bc

"bc" ist ganz wichtig, denn sonst passiert scheinbar gar nichts. Einer der Filter von Epson setzt es voraus und wer von Ubuntu kommt, der erwartet unterschwellig, dass soetwas wie "bc" schon installiert ist - tja. ;)

Nicht vergessen: CUPS und Samba durchkonfigurieren!

Epson-Archiv entpacken und einmal Dreisatz durchhauen. Ob das wirklich nötig ist, weiß ich nicht, vielleicht reicht es auch, einfach die Scripte bzw. die PPD an die entsprechenden Stellen zu kopieren.

Danach über das CUPS-Webadmin den Drucker einrichten. Zu diesem Zeitpunkt ist er schon in der Liste der verfügbaren Drucker drin, kann man also dort einfach wählen: "EPSON AL-C1100, ESC/PageS Filter"

Die Einrichtung über Samba empfiehlt sich. War bisher immer am schnellsten und hat die wenigsten Probleme gemacht.

PS.: Ich habe wegen eines Tipps aus dem Arch-Forum noch den User in die Gruppe "lp" hinzugefügt. Ob das wirklich nötig ist, weiß ich nicht ...

– Nachtrag: Gruppe "lp" ist nicht nötig. Außerdem hatte ich bei den Arch-Paketen "foomatic-filters" vergessen.

Scanner: Epson Perfection V10

Die beiden RPM-Pakete "iscan-2.3.0-1.c2.i386.rpm" und "iscan-plugin-gt-s600-2.0.0-1.c2.i386.rpm" von der Avasys-Seite besorgen.

Pakete von Arch:

sane rpmextract

In "/etc/sane.d/dll.conf" muss eine Zeile mit "epkowa" als Inhalt hinzugefügt werden.

Die beiden RPM's in bspw. /tmp/x kopieren und dort mit "rpmextract blabla.rpm" jeweils entpacken. Es entstehen dort dann etc/ und usr/ - diese beiden mit Root-Rechten nach / kopieren. Eigentlich dürfte nichts überschrieben werden, aber besser mit "-i" bei "cp" sicherstellen.

Das ist natürlich unglaublich unsauber - ich werde mich hier noch um ein richtiges Paket kümmern, wenn ich mich mit dem ABS genauer auseinandergesetzt habe. Epson liefert hier übrigens auch die Sourcen mit, welche sich bei mir aber nicht kompilieren ließen - hab's aber auch recht schnell aufgegeben.

Danach Reboot.

Mit "scanimage -L" testen, ob der Scanner erkannt wird. Falls ja, kann mit "iscan" oder eben "scanimage" prima gescannt werden.

Wireless-LAN

WLAN funktioniert eigentlich mit dem iwl3945-Treiber nach der Anleitung im Link oben. Für das Management vom Netzwerk empfiehlt sich aber generell die Verwendung von netcfg2. Das ist unabhängig vom DE und funktioniert einfach wunderbar. Manuell mit dem wpa_supplicant muss man da nicht rumhampeln. Auch das normale Ethernet kann man natürlich dort mit reinbringen, sodass man auch das voll unter Kontrolle hat (muss ja z.B. nicht jedesmal beim Booten gestartet werden).

Siehe auch: http://wiki.archlinux.org/index.php/Network_Profiles

Anmerkung: Die WLAN-LED geht mit dem iwl3945 nicht. Ob sie mit dem alten ipw3945 funktioniert, hab' ich aus Faulheitsgründen nicht getestet. ;)

–Nachtrag: Ja, mit dem ipw3945 funktioniert die LED. Da der iwl* aber keinen Daemon braucht, bleibe ich trotzdem bei dem ...

Xfce und FAM

Wenn sich "der Desktop nicht selbst aktualisiert", dann liegt das daran, dass der "File Alteration Monitor" nicht läuft, über welchen Xfce sich informieren lässt. Leider bringt das Teil auch Portmap mit und öffnet so ein paar lustige Ports auf 0.0.0.0. Da ich vorallem den Laptop auch im Uni-WLAN einsetzen will, ist mir sowas äußerst suspekt (jaja, ich weiß, paranoid und so). Ich habe auch keine Möglichkeit gefunden, Portmap das "sanft" abzugewöhnen, also blieb mir nur folgendes:

In /etc/rc.d/portmap beim Start des Programms "-l" hinzufügen. Der Start-Abschnitt sieht also jetzt so aus:

  start)
    stat_busy "Starting Portmap"
    [ -z "$PID" ] && /sbin/portmap -l
    if [ $? -gt 0 ]; then
      stat_fail
    else
      echo $PID > /var/run/portmap.pid
      add_daemon portmap
      stat_done
    fi
    ;;

In /etc/fam/fam.conf den Wert "local_only" auf "true" setzen.

Jetzt hören Portmap und FAM nur noch auf 127.0.0.1 und sind erstmal von außen nicht mehr erreichbar. Für die rc.conf reicht dann, wenn "fam" drinsteht, Portmap startet er selbst.

Falls jemand - vorallem für Portmap - einen eleganteren Weg kennt, immer her damit. :) Geschichten über /etc/hosts.deny und so finde ich allerdings nicht so prickelnd, auch wenn's vielleicht funktioniert ...

– Nachtrag: Gamin ist eine Alternative - und ein eleganterer Weg. Es muss kein extra Daemon gestartet werden und vorallem werden überhaupt erst keine Ports geöffnet. Es muss nur installiert sein.

HAL und ntfs-3g

Einfaches Mounten von Wechseldatenträgern ist praktisch, aber HAL ist leider so getrimmt, dass es NTFS-Partitionen nur mit dem normalen "ntfs" mountet und nicht mit "ntfs-3g". Ergo flugs eine Datei namens /usr/share/hal/fdi/policy/10osvendor/22-storage-ntfstweaks.fdi mit folgendem Inhalt erstellt:

<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">
    <device>
        <match key="volume.fstype" string="ntfs">
            <merge key="volume.fstype" type="string">ntfs-3g</merge>
        </match>
    </device>
</deviceinfo>

In den Wikis wird häufig darauf hingewiesen, dass das mit HAL >= 0.5.10 eventuell nicht funktioniert, aber hier läuft's. Bis auf locale-Probleme, denn nur pcmanfm mountet die Partitionen so, dass deutsche Umlaute sichtbar sind, Thunar nicht...

Sonstiges

Zum dynamischen Setzen der CPU-Frequenz:

http://wiki.archlinux.org/index.php/Cpufrequtils

Hier empfiehlt es sich, den Daemon zu verwenden, denn der setzt dann direkt beim Booten auf beiden CPU's den Governor richtig.

Bluetooth habe ich diesmal ausgelassen. Genauer gesagt: Bluetooth läuft und findet z.B. auch mein Handy, aber weiter einrichten werde ich's nicht, da es (also die "gängigen" Anwendungsprogramme dafür) einen relativ großen Overhead mitbringt und ich es quasi nie brauche.

Das war's so weit eigentlich. Alles andere (z.B. Sound/ALSA oder Hardware-3D mittels fglrx) findet sich schnell in den oben genannten Wiki's. :) Die Einrichtung des Grundsystems hat entgegen aller Erwartung auch nicht länger als bei Ubuntu gedauert.

Kurzes (Zwischen-)Fazit

Die Zeit wird zeigen, ob sich Arch auf Dauer im Alltag bewähren wird. :) Bis jetzt bin ich sehr davon angetan und kann es auch lernwilligen Ein- oder Umsteigern nur empfehlen. Klar: Wer lieber die Dinge fertig vorfinden möchte oder sich einfach nicht damit rumschlagen will, sollte lieber zu einer anderen Distri greifen.