Nvidia oder Nouveau: Xorg 1.11.1 und das Dilemma mit den Treibern

Wie einige vielleicht wissen, bin ich im April auf ein Multi-Boot-System umgestiegen. Anstelle von Ubuntu als einziges Betriebssystem auf dem Dual-Core-Rechner, dient dieses nun als Video- und Bildbearbeitungsplattform, Debian Sid in der Minimalinstallation als Spielesystem und Debian Testing erledigt die Hauptarbeit mit Bürosoftware, E-Mail-Programm und Webbrowser. 90 % der Zeit mit dem Dual-Core-Rechner verbringe ich dann auch mit Debian Testing.
Vor wenigen Tagen gab es ein Update auf die aktuelle Version des Xorg-Servers 1.11.1. Seitdem verursachen manche Seiten in Iceweasel und anderen Browsern eine hohe CPU-Last und selbst das kurze Überfahren des AWN-Docks mit dem Mauszeiger bringt die CPU wegen der Compositing-Effekte schon ins Schwitzen.
Da es in mehreren Applikationen auftritt, liegt der Verdacht nahe, dass das letzte X-Update dafür verantwortlich ist. Wie meldet man aber so einen Bug und formuliert das Problem richtig? Immerhin gibt es ja nicht nur ein Paket zum X-Server. Ein simples: "Iceweasel ruckelt. Es muss an eurem X-Server liegen. Macht was" hilft sicher nicht weiter.
Ich suchte erst noch einmal etwas genauer im Netz und fand irgendwo den Hinweis, dass nicht unbedingt X, sondern die Nvidia-Treiber schuld seien. Und tatsächlich, als ich auf die freien Nouveau-Treiber umgestellt hatte, gab es plötzlich kein Geruckel mehr.
Damit wäre die Sache eigentlich erledigt, der Bug und das Problem aber nicht beseitigt. Das X-Team von Debian würde mich mit Sicherheit direkt zu Nvidia verweisen, da unfreie Pakete wegen dem verschlossenen Quellcode nicht von Debian gefixt werden können. Wahrscheinlich könnte Nvidia dann nur sagen, dass vor dem Update der Treiber wie beabsichtigt funktionierte und Xorg der Übeltäter sei.
Hier hilft außer ein Warten auf ein Xorg- oder Nvidia-Update nicht viel. Natürlich könnte man versuchen ein Downgrade auf die letzte Version von X zu machen. Sinnvoller wäre es auf die freien Treiber auszuweichen. Warum nutze ich die eigentlich nicht? Immerhin habe ich ja schon ein parallel installiertes OS für Spiele.
Das große Problem von Nouveau ist weniger der experimentelle 3D-Support, sondern auch die mangelhafte Unterstützung von Powermanagement-Funktionen. Der Lüfter meiner "Nvidia 9600 GT"-GraKa dreht nämlich permanent auf 100%. Hinzu kommen kleinere Fehler z.B. flackert mein Cursor auf manchen Webseiten plötzlich. Mit nvclock gelang es mir bisher leider ebenfalls nicht die Lüftergeschwindigkeit anzupassen.
Für mich heißt das erst einmal warten auf Gnome 3. Sollte Nouveau hier ähnlich gut funktionieren wie bei Arch Linux, erwäge ich den Umstieg, nehme auch das lautere Lüftergeräusch in Kauf und drehe in Zukunft die Musik einfach etwas lauter auf. 😉

Neue Softwareseite online

Teilweise war sie schon länger online. Zur Übersicht über meine grafischen Programme sind nun auch noch die Konsolenanwendungen hinzugekommen, die ich regelmäßig benutze.
Warum noch eine Übersicht zu leichtgewichtiger Software? Der wichtigste Grund ist sicher, dass ich nun auf eine eigene Seite in meinem Blog verlinken kann und somit auch mehr Kontrolle über den Inhalt habe. Gleichzeitig spare ich mir damit auch in Zukunft bei jeder Neuinstallation auf einem älteren Rechner das Aufzählen geeigneter Software und verlinke nur noch kurz dorthin.
Ich denke die Softwareseite beantwortet ganz einfach die Frage, welche Software ich regelmäßig oder sogar täglich benutze und nicht notwendigerweise nur auf den ältesten Laptops.
Software, die dort nicht auftaucht, die ich aber trotzdem einsetze, wäre z.B. Gimp, LibreOffice, Wine, Programme zu Video- und Audiobearbeitung, Virtualbox und Icedove. Alles Programme, die ich sehr schätze, die aber für sehr alte Rechner nicht mehr wirklich leichtgewichtig und auch zwingend notwendig sind.
Ich hoffe die Seite gibt anderen eine Idee, welche Programme sich für ein ressourcensparendes Setup eignen. Sehr wahrscheinlich kommen in Zukunft neue hinzu, sofern ich sie häufiger benutze. Auf jeden Fall werde ich aber an der ein oder anderen Stelle noch Bilder und Screenshots hinzufügen, die Texte runder schreiben und auf andere Artikel verlinken.
Blogs und Webseiten scheinen nie fertig zu werden. 😉
Genug der Vorrede, hier geht es zur Softwareseite.

Slitaz und der Thinkpad 600 kurz und knapp

Keine Angst ich werde nun nicht jeden zweiten Tag (sagen wir jeden dritten) eine andere Distribution vorstellen, die sich auf dem Thinkpad 600 installieren lässt. Ich muss auch gar nicht mehr so ins Detail gehen, denn im Prinzip haben schon Debian und ConnochaetOS gezeigt, dass es ohne viel Aufwand möglich ist den Thinkpad 600 in Betrieb zu nehmen.
Für Slitaz interessiere ich mich nun schon seit einem Jahr und die kleine Linuxdistribution macht wirklich Spaß. Damit ich noch in einem Jahr weiß, was ich beachten muss, hier eine kurze Liste.

Vorbereitung

Alles begann wieder mit dem Download der Slitaz-LoRAM-Version, die lediglich 80 MB RAM voraussetzt. Um keine CD unnötig zu verbrennen und meinem alten 128 MB USB-Stick noch eine sinnvolle Rolle zukommen zu lassen, habe ich die ISO-Datei mit Hilfe von Tazusb wieder auf den Stick geschrieben. Mit Hilfe von Plop ging es dann in eine Liveumgebung.

Installation

Slitaz benutzt hier und auch nach der Installation den generischen VESA-Treiber, so dass die Auflösung noch nicht optimal ist. Das System lässt sich aber bedienen und man kann auf die Konsole oder in den Terminalemulator wechseln.
Bei meinem Setup (/dev/sda1 = Swap, /dev/sda2 = Debian und /dev/sda3 = Slitaz) und nur 128 MB RAM sollte man am besten die Swap-Partition vor der Installation von Slitaz aktivieren.

swapon /dev/sda1

Die Slitaz-Installation lässt sich wie gehabt mit slitaz-installer starten. Die Root-Partition ist dann natürlich /dev/sda3. Soweit so gut, die Installation ist wirklich unkompliziert und die Fragen des Installers sind leicht beantwortet. Sollte es eine Fehlermeldung wie "rootfs" nicht gefunden geben, hilft eventuell dieser Beitrag weiter.
Nach dem Reboot sollte als erstes die Grafikkarte mit dem richtigen Treiber angesprochen werden. Neomagic ist hier das Zauberwort. Das entsprechende Paket bei Slitaz heißt xorg-xf86-video-neomagic. Anschließend muss noch in der /etc/X11/xorg.conf in der "Driver"-Zeile vesa durch neomagic ersetzt werden. Fertig.
Nach einem Neustart sind die grafischen Beschränkungen des Vesa-Treibers aufgehoben und man kann sich auf die volle 1024x768 Pixel Auflösung stürzen. 😉

Sound

Ganz so einfach wie bei Debian und ConnochaetOS war es mit dem Einrichten der Soundkarte nicht. Erneut muss man wieder etwas alte ISA-Magie und Modprobe-Zauberei anwenden.
Nachdem ich mir die entsprechende Zeile ergoogelt hatte, trug ich alles in /etc/init.d/local.sh ein.

modprobe snd-cs4236 port=0x530 cport=0x538 irq=5 isapnp=0 dma1=1 dma2=0

Slitaz Hauptkonfigurationsdatei

In /etc/rcS.conf landen viele wichtige Slitazeinstellungen. Um die neue ASUS WL-107G WLAN-Karte nach jedem Reboot automatisch in Betrieb zu nehmen, genügt es das entsprechende Modul in der "LOAD_MODULES"-Zeile einzutragen.

LOAD_MODULES=" yenta_socket rt2500_pci"

Fazit

Slitaz Installationsschritte sind potentiell einfacher. Dafür richtet Slitaz weder die Neomagic-Grafikkarte noch die urtümliche ISA-Soundkarte automatisch ein. Etwas Nachhilfe ist erforderlich. Absolut umwerfend ist aber der geringe Verbrauch an Festplattenspeicher für all die Programme, die standardmäßig bei Slitaz installiert werden (<150MB). Immer dort, wo Festplattenspeicher noch eine Rolle spielt, spielt Slitaz seine Stärken aus. Genauso wie bei ConnochaetOS ist die Auswahl an vorkompilierten Paketen begrenzt, aber zum Anfang vermisst man die wichtigsten Programme auch nicht. Halten wir mal fest: Debian, ConnochaetOS, Slitaz auf dem Thinkpad 600 versus Müllgrube irgendwo in Afrika: 3:0

Hardware für den Internetzugang mit freien Linuxtreibern

Als kurze Übersicht, hier sind die im letzten Beitrag erwähnten PCMCIA-Karten, die 100 % freie Linuxtreiber haben und sofort funktionieren. Empfehlenswert.

ASUS WL-107G

PCMCIA WLAN Karte von ASUS mit Ralink Chipsatz. Linuxtreiber: rt2500pci
Um die Fehlermeldung

phy0 -> rt2500pci_set_device_state: Error - Device failed to enter state 1 (-16)

zu unterdrücken, ist es notwendig z.B. in der Datei /etc/rc.local folgenden Befehl einzutragen.

iwconfig wlan0 power off


3Com Megahertz 3CCFE574BT

PCMCIA zu LAN Karte von 3Com. Linuxtreiber: 3c574_cs

3Com Megahertz 3CCFE575CT

PCMCIA zu LAN Karte von 3Com. Linuxtreiber: 3c59x

Für die letzten beiden Karten ist noch ein zusätzlicher Adapter notwendig, mit dem sich dann ein RJ45-Stecker anschließen lässt. Besonders praktisch für ältere Hardware, die fast immer auch über einen PCMCIA-Slot verfügt und sich damit problemlos in jedes Heimnetzwerk einbinden lässt.

Was bedeutet Freiheit?

Bei meiner Installation von ConnochaetOS kam ich bei dem Versuch meine WLAN-Karte in Betrieb zu nehmen zum ersten Mal mit dem Begriff "deblobbed" in Kontakt, was mich später dazu veranlasst hat ernsthafter darüber nachzudenken, was ich persönlich unter Freiheit und Freier Software verstehe und ob ich es damit bisher ernst gemeint habe.
Während meiner Suche stieß ich auf einen längeren Thread im Forum von ConnochaetOS, der sich ebenfalls mit der Thematik beschäftigte. Hier wurde eine Reihe von interessanten Aussagen getroffen, sowohl von Nutzern von ConnochaetOS als auch vom Hauptentwickler des Projekts Henry Jensen. Einige interessante Kernaussagen waren:

  1. WLAN- und USB-Adapter mit Freien Treibern sind verfügbar und bezahlbar. Es sollte kein Problem sein diese zu beschaffen. (Henry Jensen)
  2. Das offizielle Forum einer Freien Linuxdistribution sollte keine Ratschläge beinhalten, wie man ein unfreies Programm zum Laufen bringen kann. ( Richard Stallman Zitat aus einer E-Mail an Henry Jensen)
  3. Wenn Leute ConnochaetOS den Rücken kehren, weil es eine Freie Linuxdistribution ist, dann schätzen diese Leute ihre Freiheit nicht besonders. (Henry Jensen)

1. WLAN- und USB-Adapter mit Freien Treibern sind verfügbar und bezahlbar.

Wirklich, ich habe es versucht.
Da war zum einen meine WG511T WLAN-Karte von Netgear, bei der ich irrtümlich annahm, dass ein freier Treiber zur Verfügung stand, sie aber mit dem Modell WG511 und eben ohne T verwechselte. Das führte dazu, dass ich vor drei Jahren dann den Madwifi-Treiber selbst kompilieren musste. Das Problem löste sich schließlich von selbst als die Karte kaputt ging.
Beim nächsten Mal sollte alles besser werden. Ich wollte nun mit einem USB-Modell im Internet surfen und guckte mir dafür den Fritz-WLAN-USB-Stick von AVM aus. Hier wusste ich zwar, dass der Treiber proprietär war, fand es aber vertretbar, dass der Hersteller Linux unterstützte und zumindest einen eigenen Linuxtreiber anbot. Leider ahnte ich damals nicht, dass der Treiber nicht weiterentwickelt werden sollte und dazu noch Probleme verursachte, die mit den Windowstreibern nie auftraten, weswegen ich zu Ndiswrapper greifen musste.
Schließlich landete ich bei einer PCMCIA-WLAN-Karte von Linksys, die unter Linux mit dem Treiber b43 angesprochen werden kann. Leider ist die Firmware hierzu unfrei.
Ich denke Henry Jensen hat recht, wenn er behauptet, es sei kein Problem eine PCMCIA- oder USB-WLAN-Karte zu besorgen, die mit freien Treibern funktioniert. Man muss nur ein paar gute Quellen kennen, die einem den Kauf erleichtern und man sollte vor dem Kauf haargenau auf den Modellnamen schauen. Dabei spielt der Name des Herstellers weniger eine Rolle als der verwendete Chipsatz, der selbst bei ähnlich klingenden Produkten immer wieder anders sein kann.
Ich habe mich noch einmal nach Hardware mit Freier Software umgeschaut und daraufhin die PCMCIA-WLAN-Karte von Asus, Modell WL-107G mit Ralink-Chipsatz und zwei PCMCIA-zu-LAN-Karten von 3com gekauft. Das war dann zum einen das Modell Megahertz 3CCFE574BT und 3CCFE575CT. Ein weiterer positiver Effekt: Mit dem Erlös des alten WLAN-USB-Sticks von AVM konnte ich mir zwei der neuen Karten finanzieren. 6,95 € für das Asus-Modell waren auch nicht wirklich teuer.
Diese Links haben mir weitergeholfen:

Für ältere Notebooks mit PCMCIA-Slot ist deshalb der Netzzugang oft kein Problem. Problematisch wird es erst, wenn die Komponenten im Rechner integriert sind und sich schlecht austauschen lassen.

2. Das offizielle Forum einer Freien Linuxdistribution sollte keine Ratschläge beinhalten, wie man ein unfreies Programm zum Laufen bringen kann.

Was ist eine Freie Linuxdistribution eingentlich? GNU.org hat hierzu eine klar definierte Meinung. Aus den vier grundlegenden Freiheiten wird die Vorgabe abgeleitet, dass jedwede Dokumentation, die hilft unfreie Software auf einem System zu installieren oder die Vorzüge einer solchen Installation hervorhebt schlicht eine Freie Linuxdistribution disqualifiziert, was dazu führt, dass die Liste der nach GNU Definition Freien Distributionen sehr überschaubar ist.
Warum ist Debian GNU/Linux nicht darunter? Immerhin ist Debians Linuxkernel genauso wie der von ConnochaetOS vollkommen von unfreien Firmware Blobs befreit und der "Main"-Bereich des Produkts Debian besteht ausschließlich aus Freier Software. Nach GNU.org lautet das ausschlaggebende Argument gegen Debian, dass es möglich ist, die zusätzlich auf den Projektservern gehostete unfreie Software zu installieren oder sich darüber zu informieren.
Ich denke die Freie Software Bewegung hat Richard Stallman viel zu verdanken und seine vier definierten Softwarefreiheiten kann ich auch genauso unterschreiben. Ich widerspreche ihm aber in seinem Menschenbild. Freiheit bedeutet für mich auch, die Freiheit zu haben sich über Alternativen informieren zu dürfen und sich zur Not auch gezielt für unfreie Software zu entscheiden. Die Frage ist doch, benutzen mehr Menschen freie Software, weil sie davon überzeugt sind oder weil sie weniger über unfreie Software wissen? Anstatt die Möglichkeiten von Benutzern willkürlich einzuschränken, finde ich es besser die Entscheidung über die Installation freier oder unfreier Software dem Menschen vor dem Computer zu überlassen, ihnen nicht einen Weg zu diktieren sondern viel stärker auf Aufklärung und Information zu setzen.

3. Wenn Leute ConnochaetOS den Rücken kehren, weil es eine Freie Linuxdistribution ist, dann schätzen diese Leute ihre Freiheit nicht besonders.

ConnochaetOS kann genauso wie das GNU-Projekt jederzeit Regeln und Richtlinien festlegen, was ihrer Meinung nach Freiheit in Sinne von Softwarefreiheit bedeutet. Wer in dem Club nicht mitspielen möchte, muss es nicht. Das Ziel ältere Rechner zu unterstützen und gleichzeitig einen Linux-Libre-Kernel zu benutzen kann sich aber leicht ausschließen. Wo zieht man hier die Grenze? ConnochaetOS hat sich klar dafür entschieden im Zweifelsfall die GNU-Richtlinien vorzuziehen und damit auf Kompatibilität zu verzichten. Hoffentlich zahlt sich das irgendwann wenigstens durch eine Aufnahme in die GNU-Liste der Freien Distributionen aus.
Es ist einfach ein Freund von Schwarz-und-Weiß-Denken zu sein. Doch im Zweifelsfall entscheide ich mich lieber für die weitere Benutzung meiner Hardware anstatt sie auf den Müll zu werfen. Ich schätze meine Freiheit. Ich lehne nur diese aufgezwungene Freiheit ab, die zwar mein Bestes will, aber im Prinzip mich genauso einschränkt wie ein unfreies System und darüber hinaus im schlimmsten Falle den Rechner nutzlos macht.
Die einzige Distribution, die meiner Vorstellung von Freiheit am nächsten kommt ist Debian, wo ich standardmäßig ein freies Betriebssystem habe, das mir alle Freiheiten gewährt, ich aber nicht daran gehindert werde unfreie Komponenten zu installieren, wenn ich sie denn tatsächlich brauche. Die Entscheidung treffe ich und nicht das Betriebssystem.
Warum nicht das Ganze anders herum aufzäumen und hervorheben, dass es ohne Freie Software überhaupt keine aktuelle Software mehr für Rechner aus dem Jahre 1998 gäbe. Der Support für Windows 98 ist eingestellt. Es wird keine Windowssoftware mehr für diese Plattform geschrieben, geschweige denn neue Treiber entwickelt. Das sollte vermarktet werden.

Fazit

Es ist mit geringem Aufwand möglich Computerzubehör wie WLAN-Karten zu kaufen, deren Treiber auch als Freie Software vorliegen. Ich glaube nicht, dass man eine "bessere" Welt erschafft, indem man Menschen zu ihrem eigenen Glück zwingt. Es ist besser sich darauf zu konzentrieren die Dokumentation zu Linux zu verbessern und neue Freie Software zu schreiben als Freiheit zu predigen. Wer sich auch nur ein wenig für Technik interessiert kommt irgendwann selbst zur Einsicht wie wichtig freie, offene und transparente Standards sind. Und wer das nicht kann oder möchte, den muss man lassen. Auch das ist Freiheit.

PolicyKit und der alltägliche Wahnsinn mit den Rechten

Alternativer Titel: "Problem gelöst...Jetzt erst recht!". Gestern erreichte mich ein Kommentar, was mich dazu brachte erneut über diesen merkwürdigen Bug "Not authorized" nachzudenken. Egal wie ich es anstellte, sobald ich versuchte etwas in Thunar als normaler Nutzer zu mounten, wurde ich mit einer Meldung von PolicyKit abgewimmelt.
Das Problem hat zwei Dimensionen. Zum einen scheint der Bug mit der Wahl des Loginmanagers zusammen zuhängen. Slim erkennt oder wählt hier zumindest nicht die richtigen Einstellungen, damit PolicyKit die Rechte für die einzelnen Nutzer des Systems setzen kann. Auch mit einer Lösung ohne Loginmanager hatte ich keinen Erfolg. Man könnte z.B. mit der xinitrc-Methode ebenfalls in eine grafische Desktopumgebung starten:

exec ck-launch-session dbus-launch openbox-session

Ich schaute mir noch einmal den entsprechenden Debian-Fehlerbericht an. Der letzte Eintrag verweist dabei auf den Loginmanager lightdm. Lightdm scheint ziemlich neu zu sein, denn es gibt keine Version für Squeeze. Er selbst nennt sich kompatibel mit aktuellen Entwicklungen von PolicyKit und PAM. Vielleicht hatte ich hier mehr Glück.
Tatsächlich lassen sich nach einer Installation von Lightdm wieder externe Speichermedien ohne Probleme auch in Thunar mounten. Nur die restriktive Einstellung, dass lediglich Administratoren interne Partitionen oder Medien mounten konnten, gefiel mir noch nicht richtig.
Damit auch interne Laufwerke oder Partitionen ohne die Rechte eines Admins eingehängt werden können, genügt ein kleiner Eintrag in /etc/polkit-1/localauthority/50-local.d/10-udisks.pkla.
Die Textdatei kann beliebig benannt werden. Wichtig ist nur, dass der Dateiname auf .pkla endet. Mehr Informationen dazu gibt es auch mit man pklocalauthority. Interessanterweise schlägt ubuntu.com vor, dass man den Nutzer zur Admingruppe hinzufügen sollte, wenn man interne Datenträger mounten möchte. Ich sehe dabei das Problem, dass dadurch auch andere Aktionen möglich werden, die besser nur durch root ausgeführt werden und nicht durch irgendeinen Benutzer auf dem System.
Am Ende erstellte ich die Datei 10-udisks.pkla mit folgendem Inhalt

[Storage Permissions]
Identity=unix-group:disk
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.filesystem-mount-system-internal;org.freedesktop.udisks.filesystem-unmount-others;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown
ResultAny=no
ResultActive=yes
ResultInactive=no

Fügt man den normalen Benutzer zur Gruppe "disk" hinzu, kann dieser ab sofort wieder Partitionen oder Speichermedien auch intern mounten. PolicyKit ist sicher eine fortgeschrittene Möglichkeit Benutzerrechte zu definieren und diese auf verschiedene Anwendungen anzuwenden. Leider ist die Dokumentation zu sehr auf Entwickler ausgelegt. Als Endanwender erschließen sich manche Entscheidungen von Debian und PolicyKit nicht auf den ersten Blick. Danke auch für die Hinweise an diesen Post im Forum von Arch Linux.
Wem Debians restriktive Politik beim Mounten von Datenträgern bisher missfallen hat, kann mit einer kleinen Änderung dieses Verhalten schnell ändern. Man muss vorher nur wissen, dass es mit PolicyKit zu tun hat. 😉

Pacman und das Bedürfnis nach Sicherheit

In den letzten Tagen und Wochen habe ich mich öfter mit Pacman dem Paketmanager von Arch Linux auseinander setzen müssen. Kurioserweise ist er mir bei der Konfiguration von ConnochaetOS vertrauter geworden und weniger beim Umgang mit Arch Linux selbst. Irgendwann habe ich mich gewundert, wie Pacman eigentlich die Integrität der heruntergeladenen Pakete sicherstellt und nach Parallelen zu Debian GNU/Linux gesucht.
Ein wichtiges Hilfsmittel sind MD5-Hashes um zu bestimmen, ob ein vom Server heruntergeladenes Paket auch tatsächlich intakt auf dem eigenen Rechner ankommt. Auch Arch Linux greift genau auf diese Methode zurück. MD5 gilt seit einiger Zeit nicht mehr als ausreichend sicher und eignet sich daher auch nicht um die Echtheit von Paketen zu verifizieren.
Mittlerweile weiß ich auch, dass im Gegensatz zu Debians apt der Paketmanager von Arch Linux noch über keine ausreichende Implementierung zur Überprüfung von sicheren Paketsignaturen mit Hilfe von GnuPG verfügt. Bei meiner Suche nach Informationen bin ich dann auf einige lesenswerte und interessante Artikel gestoßen.
Zum einen wäre da der LWN Artikel "Arch Linux and (the lack of) package signing" und die Antwort darauf von Dan McGee, einer der Hauptentwickler von Pacman und Arch Linux. Kurz zusammengefasst wurde die Problematik am 23. März 2011 deutlich in den Fokus der interessierten Öffentlichkeit gerückt, obwohl das Problem schon seit mehreren Jahren im Bugtracker und Forum von Arch Linux bekannt war. Nach dem ich mir beide Artikel durchgelesen habe, denke ich, dass die Behauptung zutrifft, dass eine funktionierende Paketsignierung bei Arch Linux nicht existiert.

Weniger schwer wiegen da die verletzten Befindlichkeiten der Pacman-Entwickler und des im LWN-Artikels zitierten Arch-Nutzers, der die ganze Sache "ans Licht brachte". Offensichtlich gab es seit Jahren aus verschiedenen Gründen kein Interesse ein solches Sicherheitsfeature zu implementieren und gleichzeitig auch keine echte Hilfe von Seiten der Community. Die Entwicklung stagnierte. Die Frage ist nur, ob man ein solches Problem nur zur Aufgabe einiger Paketentwickler degradieren oder es nicht doch besser zu einer Aufgabe und zu einem Ziel der ganzen Distribution hätte machen sollen.
Natürlich ist jeder User immer ein Stück weit selbst für die Sicherheit seines Systems verantwortlich. Dennoch sollte es eine Möglichkeit geben zu überprüfen, ob es sich bei den heruntergeladenen Paketen auch wirklich um die offiziellen handelt und nicht möglicherweise doch um kompromittierte.
Seit dem Artikel sind sechs Monate vergangen und ein Blick auf die offizielle ArchLinux-Seite zeigt, dass man das Problem zumindest nicht versucht zu verbergen. Es gibt eine eigene Wikiseite zum Thema "Pacman package signing" und auch die FAQ listet unter dem Punkt "Warum man Arch nicht nutzen sollte" auf, dass man dann auf eine sichere Paketsignierung nicht verzichten muss.

Arch Linux ist nicht die einzige Distribution, die eine solche Verifizierung noch nicht vorgesehen hat. Sie wird deswegen auch nicht nutzlos. Selbst Debian hatte nicht von Anfang an eine Möglichkeit um die Echtheit von Paketen zu überprüfen. Doch im Gegensatz zu Arch Linux gab es bereits vor elf Jahren eine breite Diskussion zu diesem Thema. In der Dokumentation zur Absicherung von Debian finden sich hier zwei Links zu den wöchentlichen Neuigkeiten aus dem Jahr 2000 und 2001.
Wenn man etwas daraus lernen kann dann das, man sollte jede Distribution darauf überprüfen, ob sie zu den persönlichen Anforderungen passt. Wenn ich mich auf meine Software zu 100% in jeder Situation verlassen muss, greife ich eher zu Debian Stable als zu Arch Linux. Wenn ich der Meinung bin, dass das Risiko auf ein paar älteren privaten Laptops vernachlässigbar ist und die Distribution ansonsten wunderbar für mich funktioniert, werde ich die betreffende Distribution auch weiterhin verwenden. Ganz allgemein gesprochen kann es nicht schaden die vielen Drittquellen, wozu z.B auch die PPAs bei Ubuntu gehören, genauer unter die Lupe zu nehmen und nicht jedes Paket blindlings herunterzuladen. Schließlich sollte doch ein zentrales und vor allem sicheres Paketmanagement Linux von anderen Betriebssystemen positiv unterscheiden.

Debians Alternativen-System

Linux große Stärke ist die Vielfalt an verschiedenen Anwendungen. Auf jedem System lassen sich parallel mehrere Browser, E-Mail Clients, Editoren oder auch Pager installieren.
Ich hatte schon most als meinen bevorzugten Pager vorgestellt. Hat man zusätzlich noch less installiert, lassen sich die beiden mit Debian und seinen Derivaten mit Hilfe von update-alternatives als voreingestelltes Programm für einen Pager austauschen.

update-alternatives --display pager
update-alternatives --config pager

Mit den beiden Parametern lassen sich zum einen mehr Informationen über die Gruppe "pager" anzeigen und zum anderen die Alternativen hierfür neu festlegen. Nach der Auswahl der voranstehenden Zahl wird der symbolische Link von pager z.B. auf less gesetzt.
In der Regel wird die Einstellung automatisch bei der Installation des entsprechenden Softwarepakets vorgenommen. Mit update-alternatives lässt sich das jederzeit auch nachträglich manuell wieder ändern.

Link

Alternativen-System bei ubuntuusers.de

WebM: Videos mit Mplayer und Debian Squeeze abspielen

Als ich mit dem Thinkpad 600 begann Youtube Videos gegen den Framebuffer abzuspielen und dabei mal wieder auf mein Elinks-Youtube-dl-Mplayer-Setup zurückgriff, stellte ich plötzlich fest, dass etwas mit Mplayer nicht stimmte.
Das Problem rückte erst jetzt in den Vordergrund, weil ich in den letzten Wochen diesen ressourcenschonenden Trick lediglich auf dem Inspiron 4000 mit Debian Sid angewendet hatte. Da der Thinkpad 600 aber mit Debian Stable angetrieben wird, nahm ich die Veränderung bei Youtube erst vor kurzem wahr. Die Rede ist von WebM.
Das WebM-Projekt ist ein von Mozilla, Opera, Adobe, Google und siebzig anderen Herstellern entwickeltes offenes Videoformat, welches zusammen mit Vorbis als Audio-Codec und dem VP8 Video-Codec der freie Webstandard zur Übertragung von Video- und Multimediaangeboten werden soll.
Das kleine Python-Skript youtube-dl lädt mittlerweile standardmäßig Youtube-Videos im WebM-Format herunter, das Mplayer in der aktuellen Version in Debian Stable aber nicht abspielen kann. Der entsprechende Patch erschien erst einige Wochen nach dem Freeze im Sommer 2010. Es gibt nun mehrere Möglichkeiten. Entweder man übersetzt Mplayer für seinen Computer selbst oder man greift auf bestehende Binärpakete von deb-multimedia.org zurück.
Die /etc/apt/sources.list muss um den folgenden Eintrag erweitert werden

deb http://www.deb-multimedia.org squeeze main non-free

Danach sollte zuerst der GPG-Schlüssel für das Archiv auf deb-multimedia.org heruntergeladen werden.

aptitude install deb-multimedia-keyring

Schließlich noch das alte Mplayer-Paket entfernen und das neue mplayer-nogui (empfehlenswert um Ressourcen zu sparen) oder Mplayer-Paket installieren. Danach lassen sich auch Videos im WebM-Format problemlos mit Debian Squeeze abspielen.
Update: Mittlerweile stehen auch aktuelle Backports von Mplayer in den offiziellen Repositorien von Debian zur Verfügung.

Probleme mit bash-completion und WebM lösen

Auch der Patch für die bash-completion, um WebM-Dateien per TAB-Taste zu vervollständigen, kam zu spät. Ich habe mich mal daran gewagt und das aktuelle Paket bash-completion in Debian Sid installiert. Entweder man schaltet Sid in der sources.list frei oder man lädt das Paket manuell von einem der Spiegelserver auf der zuletzt verlinkten Seite herunter. Nach der Installation lassen sich nun auch *.webm Dateien vervollständigen. Probleme habe ich durch den Mix mit Unstable noch nicht festgestellt. Wie immer auf eigene Gefahr anwenden. 😉

Debian Squeeze: Installation auf dem Thinkpad 600

Die Frage nach der ersten Linuxdistribution auf dem T600 war schnell beantwortet - Debian Squeeze. Mit Debian habe ich die meiste Erfahrung und fühle mich damit einfach am wohlsten. Gleichzeitig dient mir Debian immer als Referenz. Was das Betriebssystem richtig erkennt und konfiguriert, erwarte ich auch von anderen Distributionen. Schneidet ein anderes Linux hier besser ab, gibt es Pluspunkte.
Die Installation war unkompliziert. Hier sind die wichtigsten Schritte, die man bei Debian beachten sollte.

  1. Netzinstallation. Mal wieder griff ich zu Debians Netzinstallation. Von einer minimalen Basisinstallation aus wollte ich später das ganze System erweitern. Kurzum die gesamte Installation verlief vollkommen reibungslos.
    Die einzig besondere Aktion war das Kopieren der Firmware meiner Linksys WLAN-Karte mit dem Broadcom Chipsatz nach /lib/firmware/. Ich griff dabei auf die schon entpackte und "zurecht geschnittene" Firmware meines Inspiron 4000 zurück. Da die Firmware des b43-Treibers unfrei ist, muss diese bei der Debian-Installation manuell dorthin kopiert werden. Danach konnte ich per WLAN alle weiteren Pakete aus dem Internet herunterladen.
  2. Den Framebuffer einrichten. Zuerst einmal wollte ich den Framebuffer auf dem Laptop aktivieren, da ich mir für später vorgenommen habe ein reines Konsolensystem mit Debian zu betreiben. Um herauszufinden welche Auflösungen das Framebuffer Device unterstützt, kann man beim Booten in Grub mit der Taste "c" in den Kommandomodus wechseln und mit dem Befehl vbeinfo diese Information ermitteln.
    Der Thinkpad 600 wurde mit einem Grafikchipsatz von Neomagic ausgestattet. Für dieses besondere Modell gibt es einen Framebuffer-Treiber namens neofb. Damit dieser automatisch beim Booten geladen wird, muss man in der Datei /etc/modprobe.d/fbdev-blacklist.conf zuerst einmal den auf der Schwarzen Liste stehenden neofb-Treiber kommentieren.
    Um eine Auflösung mit 1024x768 Pixel mit 16 Bit Farbtiefe zu erhalten, muss die Datei /etc/default/grub mit den folgenden Zeilen erweitert werden.

    GRUB_GFXMODE=1024x768x16
    GRUB_GFXPAYLOAD=keep

  3. Sound. Der T600 besitzt eine archaische ISA-Soundkarte, die vom System als CS4237B erkannt wird. Debian richtet sie vollautomatisch ein und lädt den entsprechenden Kerneltreiber snd_cs4236. Das einzige Hindernis war am Anfang das BIOS. Direkt nach der Installation hatte ich noch keinen Sound und sah beim Durchsehen der Bootnachrichten mit dmesg | most eine verdächtige Fehlermeldung:

    wss: can't grab control port

    Nach einer kurzen Googlesuche fand ich diesen Post bei linuxquestions.org, der mich auf die richtige Spur brachte. Übrigens ein Artikel von jemandem, der wie ich über K.Mandlas Blog gestolpert ist und nun auch auf dem "alten Laptop-Trip" ist.
    Im BIOS des Thinkpad, welches man mit der F1-Taste erreicht, musste ich zuerst das Bios neu initialisieren und danach die Option "Quick Boot" deaktivieren. Erst nach diesem kleinen Handgriff konnte Debian die alte ISA-Karte erkennen und sie automatisch konfigurieren. Nur am Rande bemerkt: Das Bios lässt sich wie in einer grafischen Umgebung mit dem Trackpoint bedienen mit einem Vogel als Mauszeiger. Witzig gemacht. 🙂

Das war es auch schon. Ab hier kann man nun nach Herzenslust sein Debian mit weiterer Software ausschmücken. Obwohl ich zwar vorhabe ein reines Konsolensystem aufzusetzen, habe ich als Beweis, dass eine grafische Desktopumgebung mit Debian kein Problem ist, X und Openbox installiert.
aptitude install xorg slim openbox tint2 conky feh alsa-base
Der X-Server konfiguriert sich automatisch. Ich musste lediglich meine Konfigurationsdateien für Openbox, Tint2, feh und conky vom Inspiron 4000 herüber kopieren. Der Rest war ein Selbstläufer.
Ich weiß, ich weiß "Screenshot oder es ist nie passiert!" Hier kommt er.