Debian-Derivate sauber und minimal halten

Jedes auf Debian basierende System lässt sich mit dem Paketmanager apt spielend leicht an die eigenen Bedürfnisse anpassen. In der Regel reicht täglich ein

aptitude update
aptitude safe-upgrade

um das System auf dem aktuellen Stand zu halten. Gerade wenn man aber regelmäßig Anwendungen auf einem sich häufig ändernden Debian Unstable oder Testing installiert oder deinstalliert, können mit der Zeit ein paar verwaiste Bibliotheken zurückbleiben, die keinem Programm mehr zugeordnet werden können.
Um Platz zu schaffen oder seine Installation einfach nur sauber zu halten, gibt es für dieses Problem zwei Debianprogramme.

  1. deborphan
  2. debfoster

Deborphan bringt das textbasierte Programm orphaner mit, welches als Supernutzer Root ausgeführt werden kann. Orphaner findet alle verwaisten Bibliotheken, die sich mit einem Druck auf die Space-Taste zum Deinstallieren auswählen lassen.
Debfoster hingegen führt man am besten einmal nach einer Minimalinstallation mit Debian aus und wählt alle dann installierten Pakete als erwünscht aus. Kommen später neue Pakete dazu und wird debfoster erneut aufgerufen, werden die vorher bestätigten Pakete nicht noch einmal zur Auswahl gestellt und man muss sich nur noch entscheiden, ob man die neuen behalten oder deinstallieren möchte.
Beide Programme interagieren im Prinzip nur mit apt und vereinfachen die Suche nach bestimmten Paketen und das Löschen derselben.

Empfohlene Pakete nicht mitinstallieren

Seit Squeeze werden empfohlene Pakete automatisch bei der Auswahl eines Pakets mitinstalliert. In der Regel hat das keine Nachteile, sondern ist einfach ein sinnvoller Bequemlichkeitsfaktor. Anstatt sich darum zu kümmern, welche weiteren Programme im Zusammenhang mit Paket X noch sinnvoll sind, nimmt apt einem diese Aufgabe einfach ab.
Manchmal möchte man aber tatsächlich selbst bestimmen, welches Paket wirklich gebraucht wird und auf einem absoluten Minimalsystem ist es deswegen oft besser das automatische Installieren der empfohlenen Pakete zu deaktivieren.
Dazu muss folgende Zeile in der /etc/apt/apt.conf nachgetragen werden.

APT::Install-Recommends "false";

Möchte man lieber von Paket zu Paket entscheiden, ob man empfohlene Pakete mitinstallieren möchte, geht das am einfachsten mit der Option -R, z.B.
aptitude -R install surfraw
Hier wird zwar das Paket surfraw installiert, das empfohlene und mehrere Megabyte große surfraw-extra aber nicht. Natürlich lässt sich der Schuh auch anders herum aufziehen. Man kann standardmäßig das Installieren empfohlener Pakete in der apt.conf deaktivieren und dann wieder je nach Paket entscheiden

aptitude -r install surfraw

Man beachte hier nun das kleine r. Übrigens lässt sich als normaler Benutzer das Installieren und Deinstallieren von Paketen simulieren. Hierzu gibt es den Schalter -s, z.B.

aptitude -r -s install surfraw

Ein paar Tipps zum Leben auf der Konsole

Ich wurde vor kurzem gebeten ein paar Tipps zum Thema "Leben auf der Konsole" zu schreiben. Das ist gar nicht so einfach, denn mit der Kategorie versuche ich gleich mehrere Themen unterzubringen, ein Ziel, was ich mir Anfang des Jahres vorgenommen habe.
Zum einen ist es eine Möglichkeit Konsolenanwendungen, die ohne grafische Oberfläche auskommen oder nur auf ncurses basieren, auszuprobieren und dann hier darüber zu schreiben. Für einen wirklich alten Rechner sind solche Programme eine Notwendigkeit, viele davon benutze ich aber auch täglich auf den leistungsfähigeren Rechnern, weil ich sie für eine bestimmte Aufgabe schlicht für das beste Programm halte. Auf der anderen Seite soll "Leben auf der Konsole" auch zeigen, dass man mit einigen wenigen Kommandos ein bestimmtes Problem lösen kann und das praktisch auf jeder Art von Hardware auf der eine Linuxdistribution läuft. Kurz zusammengefasst landet in dieser Kategorie alles, was ich überwiegend in einem Terminalemulator oder direkt in der Konsole ausführe.
Hier einmal sechs allgemeine Punkte, die vielleicht am Anfang nützlich sind.

  1. Bücher. Als ich im Jahr 2001 mit Linux angefangen habe, war mir weder genau klar, welche Linuxdistribution ich verwenden sollte, noch wie ich am effektivsten an Informationen komme. Mir wurde damals als Einstieg Michael Koflers Buch "Linux. Installation, Konfiguration, Anwendung." empfohlen, was in der 6. Auflage noch heute in meinem Bücherregal steht. Ich kann es als Überblick über wichtige Linuxthemen und für die ersten Schritte mit Linux allgemein und auf der Konsole heute noch empfehlen. Am besten ihr schaut z.B. bei ebay nach einer aktuellen und kostengünstigen Version vorbei.
  2. Wikis. Heutzutage ist es nicht mehr weiter schwer an Wissen zu Linux zu gelangen. Man muss sich nur etwas Zeit nehmen und das Wiki bei ubuntuusers.de oder archlinux.org bzw. archlinux.de durchstöbern. Garantiert hat man danach sein Wissen über Linux vervielfacht.
  3. Blogs. Mein Interesse speziell für ältere Laptops kommt daher, dass ich mir 2008 einen Dell Inspiron 4000 gekauft habe und darauf zuerst Gnome und später Xfce ausprobiert habe. Mit Debian Etch war Xfce damals noch als Desktopumgebung in Ordnung, stellte mich aber später auf diesem Modell nicht mehr vollständig zufrieden. 2009 begann ich mich deshalb nach Alternativen umzuschauen und stieß auf Urukramas Weblog, wo ich viele neue Ideen zu Fenstermanagern und speziell zu Openbox fand. Dort erfuhr ich auch zum ersten Mal von K.Mandlas Blog.
    K.Mandla hat seit 2006 über 2000 Blogartikel zum Thema Linux auf älteren Rechnern geschrieben. Sein Blog ist eine echte Fundgrube, wenn es um Ideen zu Leichtgewichtigen Linuxdistributionen, Software und speziell älteren Rechnern geht. Dabei hat er auch über eine längere Zeit ein reines Konsolensetup auf seinen ältesten Laptops vorgestellt. Viele seiner Tipps habe ich schon ausprobiert, doch es gibt immer noch Neues zu entdecken. In vielen seiner Gedanken finde ich mich auf der gleichen Wellenlänge wieder. Kurzum ist es das Blog, was ich nicht nur wegen dem Fokus auf ältere Hardware, sondern auch wegen den wertvollen Informationen zu Linux im Allgemeinen jedem empfehlen kann, der sein Linuxsystem an die eigenen Vorstellungen anpassen möchte.
    Ich versuche mit manchen Blogartikeln, die Posts aus dem Englischen ins Deutsche zu bringen, die mich am meisten interessiert haben. Meine Laptops und Schwerpunkte unterscheiden sich dabei natürlich. Im Prinzip könnte ich jeden Tag einen Post zu einer bestimmten Konsolenanwendung schreiben, es ist aber besser, wenn man erst einmal schon auf bestehendes Wissen zurückgreift.
    Leider kenne ich kein deutsches Blog, welches den gleichen Fokus und auch die Qualität wie das von K.Mandla hat. Möglicherweise bin ich aber auch einfach nur ignorant. Wenn also jemand ein deutschsprachiges Blog kennt, welches die gleichen Themen abdeckt, dürft ihr mich gerne in den Kommentaren darauf stoßen.
  4. Leichtgewichtige Anwendungen. Unter diesem Schlagwort findet man im Internet tonnenweise Informationen. Leichtgewichtig wird heutzutage schon beinahe inflationär genutzt. Nicht jedes Programm ist wirklich so genügsam und gleichzeitig flexibel. Das erfährt man aber erst, wenn man den Realitätscheck auf einem älteren Computer macht. Wenn man auf der Suche nach leichtgewichtigen Programmen ist sollte man auf jeden Fall diesen Seiten einen Besuch abstatten.Gunnix
    K.Mandlas Software Seite
    K.Mandlas Wiki
    Archlinux Wiki Lightweight Apps
    Übersicht zu Konsolenprogrammen und ihren grafischen Entsprechungen
  5. Übung macht den Meister. Am besten ist es, man schnappt sich einen alten Computer/Laptop, den es bei ebay teilweise für wenig Geld gibt und versucht alle Anwendungen, die man auf seinem leistungsfähigen Computer nutzt in Konsolenanwendungen zu übersetzen. Das Ziel ist es den älteren Rechner genauso zu nutzen als sei er ein brandneues Modell. Als Distributionen kann ich Debian, Arch Linux oder Slitaz empfehlen und die vielen anderen leichtgewichtigen, die ich in der Kategorie Distributionen schon vorgestellt habe. Wer sich nicht extra einen neuen Rechner zulegen möchte, kann natürlich auch mit einer Virtuellen Maschine experimentieren, der z.B. nur 128 MB RAM oder weniger zugewiesen wurde. Natürlich wäre ein Multiboot-System ebenfalls eine gute Möglichkeit um verschiedene Distributionen oder Setups parallel auf einem Rechner zu vergleichen.
  6. Geduld. Linux ist sehr vielseitig. Man kann praktisch alles auf der Konsole machen, man muss es aber nicht tun. Niemand kann sich alle Befehle oder Programme merken, die es für Linux gibt. Deshalb hilft oft ein Blick in die Handbuchseite des Programms mit man weiter. Wenn etwas nicht auf Anhieb klappt, sollte man Linux nicht gleich verdammen, sondern schauen, ob es vielleicht ein Hardwareproblem, das falsche Programm oder schlicht falsche Handhabung ist. Wenn man sich genug Zeit nimmt, lösen sich viele Probleme oft von selbst.

Ich hoffe, ich konnte ein paar Denkanstöße geben.

Ein Vergleich von grafischen Browsern für Linux

Mal ehrlich der einzige Grund, warum alle Welt noch nicht ausschließlich auf der Konsole lebt, ist die Notwendigkeit Internet Banking, Shopping und Social Networking über einen grafischen Browser abzuwickeln. Bemitleidenswert erscheinen da frühere Generationen, die ihre Überweisungen noch persönlich bei ihrer Hausbank vorbeibringen mussten, dabei im Plausch mit den Bankangestellten ihr Soziales Netzwerk erweiterten und danach erstmal bei Wertkauf einkaufen gingen. Damals.
Natürlich möchte heute niemand mehr in eine solche Schublade gesteckt werden. Ich natürlich auch nicht, weswegen ich als moderner Mensch nicht nur einen grafischen Browser sondern deren gleich sechs, übrigens eine vollkommene Zahl, auf meinem Laptop installiert habe. 😉
Ich hatte schon in meinem Beitrag zu den Webkit-Browsern und noch etwas länger her zu Leichtgewichtigen Linuxanwendungen erwähnt, dass ich mir gerne die Unterschiede der zahlreichen Webbrowser auf älteren Laptops anschaue.
Nicht ganz erstaunlich sind diese mitunter ziemlich groß. Was liegt also näher als die Erfahrungen mit dem Internet zu teilen.
Als Testrechner benutzte ich den Inspiron 4000, einen PIII mit 800MHz, 256MB RAM und einer 4200rpm Festplatte.
Ergebnis:

Chromium 13: Start1       26s
             Start2       15s
             Private:     62,2MiB
             Shared:      18,2MiB
Iceweasel 6: Start1:     27s
             Start2:     17s
             Private:    51,2MiB
             Shared:      2,7MiB
Midori 0.4:  Start1:      8s
             Start2:      4s
             Private:    34,7MiB
             Shared:      7,3MiB
netsurf 2.7: Start1:     14s
             Start2:      8s
             Private:    17,2MiB
             Shared:      3MiB
Opera 11.5:  Start1:    17s
             Start2:     9s
             Private:   58,9MiB
             Shared:     2MiB
surf:        Start1:     7s
             Start2:     4s
             Private:   23MiB
             Shared:     2,5MiB

Was bedeuten die Zahlen? Zum einen habe ich die Zeit gemessen, wie lange es vom Start dauert bis der Browser www.gambaru.de aufgerufen und dargestellt hat. Danach habe ich den Browser geschlossen und erneut die gleiche Seite aufgerufen. Über diese Startzeit gibt Start2 Auskunft. Schließlich habe ich mit dem Python Skript ps_mem.py aus dem letzten Beitrag den Speicherverbrauch gemessen. Dabei wurden außer dem Terminalemulator urxvt keine weiteren Programme aufgerufen und es waren keine weiteren Tabs offen.
Klar, es ist alles für die Wissenschaft. Wenn man es aber ernsthaft angehen will, muss man mehrere Tests durchführen, über Tage und Wochen Buch führen, Werte messen und einen Durchschnittswert bilden. Denn je nach dem, wie viele weitere Tabs man parallel öffnet oder welche Anwendungen zusätzlich laufen, das Ergebnis verändert sich.
Ich denke, ich kann trotzdem guten Gewissens zu einem Urteil kommen.
Iceweasel alias Firefox ist mein bevorzugter Browser auf praktisch jedem System. Wie der Test aber zeigte ist der gute Fuchs nicht der schnellste bei den Startzeiten. Genauer gesagt fühlt er sich sogar ziemlich zäh an, wenn man versucht einzelne Webseiten oder sogar mehrere davon aufzurufen.
Chromium wird manchmal sogar als leichtgewichtige Alternative bezeichnet. Das ist er mit Sicherheit nicht. Er bietet aber eine akzeptable Startzeit, die sich nicht großartig von Iceweasel unterscheidet. Ich persönlich sehe nur marginale Unterschiede auf einem älteren Laptop.
Das Einzige, was man Opera vorwerfen kann ist, Opera ist nicht Freie Software. Mittlerweile kämpft Opera im Browser-Markt förmlich ums Überleben. Schade eigentlich, denn Opera war und ist eine Quelle für Innovationen. Die Startzeit ist besser als bei anderen großen Browsern. Dazu bietet Opera einige Alleinstellungsmerkmale, wie Opera Unite, Opera Mail oder Opera Turbo.
Netsurf ist quasi der Außenseiter. Im Grunde genommen dreht sich alles um Webkit, Gecko oder Presto. Er ist genügsamer als die großen Spieler, bietet aber leider auch wesentlich weniger Feature. Obwohl ich wahrscheinlich mit netsurf leben könnte, gäbe es keine anderen Browser,ist es doch etwas enttäuschend, dass er weniger schnell als bekannte Webkit Browser ist und gleichzeitig auch noch die Webseite schlechter als das Original darstellt.
Midori verwende ich schon sehr, sehr lange. Zwischenzeitlich war die Startzeit ziemlich schlecht und es gab einige Bugs, die Midori gegenüber den großen Browsern klar zurückfallen ließen. Seit die 0.4 Version erschienen ist, spielt Midori wieder vorne mit. Die Startzeit auf dem älteren Laptop ist hervorragend und die Webseiten werden ausgezeichnet gut gerendert. Manchmal kommt es zu einem unerwarteten Absturz, den ich leider nicht reproduzieren kann und nach wie vor ist das sogenannte Speed-Dial Feature buggy. Zumindest kann ich keine Links per Linksklick mit der Maus hinzufügen.
Surf ist ein minimalistischer Traum. Dieser Browser benutzt wie Midori die Webkit-Engine, ist aber ansonsten radikal auf Minimalismus getrimmt. Er nimmt relativ wenig Speicher in meinem System ein und wenn man so wie ich nur eine handvoll Webseiten hat, die man wirklich braucht, sehe ich auch keine Probleme mit surf.
Mein Fazit ist: Geschwindigkeit und Startzeit ist nicht alles. Ich bin auf meinem Laptop mit Midori seit Version 0.4 wieder sehr zufrieden. Dieser Browser verbindet sowohl Standards als auch schnelle Startzeiten.
Wenn man lediglich ein paar Webseiten regelmäßig aufruft und weiß, dass diese mit surf funktionieren, spricht nichts dagegen auch diesen kleinen Webkit Browser zu verwenden.
Wie schon erwähnt benutze ich Iceweasel in der Regel am häufigsten. Er ist zwar nicht der schnellste, er bietet mir aber mit Abstand die meisten Erweiterungsmöglichkeiten von allen vorgestellten Browsern.
Auf neueren Rechnern merkt man alle diese Unterschiede kaum. Erst wenn man Browser auf älteren Computern ausprobiert, fällt dies wirklich ins Gewicht.
Die Zahlen werden mit Sicherheit auf jedem System anders ausfallen. Trotzdem glaube ich, dass sie zumindest auf meinem Laptop die Wirklichkeit richtig widerspiegeln. Übrigens, für einen Vergleich von text-basierten Browsern hat K.Mandla schon interessante Daten veröffentlicht. 😉

Den Speicherverbrauch im Blick behalten mit ps_mem.py

Um den Speicherverbrauch von Anwendungen zu messen, gibt es in Debian diverse Programme, die über den belegten Arbeitsspeicher Aufschluss geben. Teilweise wird man aber nicht richtig schlau daraus, wieviel Speicher ein Programm tatsächlich für sich allein beansprucht.
Mit htop erhält man z.B. gleich drei unterschiedliche Werte in kb VIRT, RES und SHR.
VIRT gibt dabei den virtuellen Speicherverbrauch an, welcher eine Summe aus tatsächlich belegtem und mit anderen Prozessen geteiltem Speicher ist. Zusätzlich kann auch der Inhalt einer Datei mit Hilfe von Memory Mapping direkt in den virtuellen Adressraum eines Prozesses abgebildet werden. Jeder Prozess hat seinen eigenen virtuellen Adressraum und ist dadurch von allen anderen getrennt. Kurz gesagt ist es eine Technik um die Schranken des begrenzten physikalischen Speichers zu umgehen und Prozessen Speicher dynamisch zuzuteilen, so wie er gerade benötigt wird.
Sollten also mehrere Programme die gleiche Bibliothek benötigen wird der Speicher nicht jedesmal extra neu zugeteilt sondern zwischen den Prozessen, die ihn anfordern, geteilt, worüber der Wert SHR genauer Aufschluss gibt.
RES hingegen ist die Kennzahl, die den aktuell physikalisch genutzten Speicher repräsentiert. In den meisten Fällen ist VIRT nicht der Wert, der mich interessiert, wenn ich untersuche, welches Programm gerade das System herunterzieht.
Eine ausführliche Erklärung zum Speichermanagement eines Linuxsystems gibt es im Linux Documentation Project zu lesen.
Mir ist schon beim Vergleich des Speicherverbrauchs von Ubuntu 11.04 und Debian Testing aufgefallen, dass man die Thematik nicht einfach mit dem Gnome-Systemmonitor und ein paar Zahlen erschlagen kann. Der Linuxkernel handelt auch getreu dem Motto: "Ungenutzter Speicher ist verschwendeter Speicher." So ist es auch kein Wunder, wenn sich der belegte physikalische Speicher mit der Zeit nach und nach füllt, weil Linux anfängt nicht nur Programme sondern auch aufgerufene Dateien zu cachen, was einen deutlichen Performancegewinn beschert.

Vor längerer Zeit entdeckte ich bei K.Mandla ein in Python geschriebenes kleines Skript namens ps_mem.py, welches den Speicherverbrauch von Programmen in privaten und geteilten Speicher aufteilt. Prozesse werden nicht getrennt betrachtet sondern eine Summe pro Anwendung gebildet. Klingt vielleicht anfangs verwirrend, aber mir erschien es damals als ob das Skript damit die Antwort auf die Frage liefert, wieviel RAM eine einzelne Anwendung tatsächlich einnimmt.
Um die Genauigkeit der Messergebnisse zu verbessern, lässt sich das Skript nur mit Root-Rechten und dem Befehl python ps_mem.py ausführen. Ich empfehle daher einen kurzen Blick in den Code zu werfen, ob irgendetwas Merkwürdiges dort zu finden ist und es nicht blind zu verwenden. Mir ist bisher noch nichts besonderes aufgefallen.
Ich werde es in Zukunft dazu nutzen, um eine weitere Vergleichsmöglichkeit zu den bekannten Systemmonitoren zu haben. Eines kann man jetzt schon sagen, die Textausgabe des Skripts ist übersichtlich. Die aktuelle Ausgabe auf dem Inspiron 4000 sieht so aus.

Private  +   Shared  =  RAM used	Program
  4.0 KiB +  12.5 KiB =  16.5 KiB	dhclient
  4.0 KiB +  39.0 KiB =  43.0 KiB	dbus-launch
  8.0 KiB +  45.0 KiB =  53.0 KiB	getty (2)
 48.0 KiB +  13.5 KiB =  61.5 KiB	ssh-agent
 52.0 KiB +  12.5 KiB =  64.5 KiB	polipo
 44.0 KiB +  24.0 KiB =  68.0 KiB	init
 40.0 KiB +  32.0 KiB =  72.0 KiB	acpid
  4.0 KiB +  77.5 KiB =  81.5 KiB	sshd
 84.0 KiB +  24.0 KiB = 108.0 KiB	sleep
  4.0 KiB + 105.0 KiB = 109.0 KiB	xfconfd
 76.0 KiB +  36.0 KiB = 112.0 KiB	cron
108.0 KiB +  10.0 KiB = 118.0 KiB	.wallpaper
  8.0 KiB + 110.0 KiB = 118.0 KiB	su
 16.0 KiB + 112.0 KiB = 128.0 KiB	gvfs-gphoto2-volume-monitor
  4.0 KiB + 132.5 KiB = 136.5 KiB	gdm3
 24.0 KiB + 130.0 KiB = 154.0 KiB	gvfs-afc-volume-monitor
  4.0 KiB + 160.0 KiB = 164.0 KiB	polkitd
  4.0 KiB + 171.0 KiB = 175.0 KiB	gvfsd-trash
 48.0 KiB + 128.0 KiB = 176.0 KiB	gvfsd-dnssd
  4.0 KiB + 182.0 KiB = 186.0 KiB	gdm-session-worker
  8.0 KiB + 179.0 KiB = 187.0 KiB	udevd (3)
  4.0 KiB + 189.5 KiB = 193.5 KiB	gdm-simple-slave
148.0 KiB + 115.5 KiB = 263.5 KiB	gvfsd
184.0 KiB +  85.5 KiB = 269.5 KiB	gvfsd-metadata
220.0 KiB +  77.5 KiB = 297.5 KiB	wpa_supplicant
180.0 KiB + 182.5 KiB = 362.5 KiB	gnome-keyring-daemon
 16.0 KiB + 361.0 KiB = 377.0 KiB	gvfsd-network
404.0 KiB +  45.5 KiB = 449.5 KiB	rsyslogd
256.0 KiB + 205.0 KiB = 461.0 KiB	console-kit-daemon
244.0 KiB + 266.0 KiB = 510.0 KiB	gconfd-2
392.0 KiB + 203.0 KiB = 595.0 KiB	upowerd
460.0 KiB + 268.5 KiB = 728.5 KiB	conky
604.0 KiB + 193.0 KiB = 797.0 KiB	gvfs-gdu-volume-monitor
644.0 KiB + 248.5 KiB = 892.5 KiB	udisks-daemon (2)
640.0 KiB + 381.0 KiB =   1.0 MiB	dbus-daemon (2)
524.0 KiB + 613.5 KiB =   1.1 MiB	notification-daemon
436.0 KiB + 796.5 KiB =   1.2 MiB	python2.6
640.0 KiB + 782.5 KiB =   1.4 MiB	bash (3)
  1.1 MiB + 452.5 KiB =   1.5 MiB	tint2
860.0 KiB + 764.5 KiB =   1.6 MiB	xfce4-power-manager
  1.6 MiB + 356.0 KiB =   1.9 MiB	openbox
  2.4 MiB + 274.5 KiB =   2.7 MiB	urxvt
  1.9 MiB +   1.4 MiB =   3.3 MiB	leafpad
  2.0 MiB +   3.2 MiB =   5.2 MiB	osmo
  9.0 MiB + 185.5 KiB =   9.2 MiB	tor
  8.8 MiB + 996.0 KiB =   9.8 MiB	Xorg
  7.7 MiB +   2.5 MiB =  10.3 MiB	claws-mail
 96.9 MiB +   4.5 MiB = 101.4 MiB	midori
---------------------------------
                        159.9 MiB
=================================

Webseiten mit elinks in screen über eine SSH-Verbindung mit rxvt-unicode solarisiert betrachten

Die Überschrift sagt schon alles. Ich vermute ein ähnliches Problem dürfte weniger als ein Milliardstel der Weltbevölkerung betreffen, aber aus Spaß hier die kurze Geschichte.
Ich hatte mich per SSH in den Toshiba Portégé 3110CT alias speedy eingeloggt und wollte nun mit Solarized und meinem neuen 256-Farben-Terminal rxvt-unicode das System updaten und überprüfen, ob mein Blog in elinks irgendwie anders als zuvor aussah. Wenn ich mich remote zu meinem mit Debian Stable betriebenen Laptop verbinde, starte ich danach für gewöhnlich screen, womit es mir leichter fällt mehrere Anwendungen parallel wie mit einem grafischen Fenstermanager zu nutzen.
Als erstes erhielt ich die Fehlermeldung

Error opening terminal: rxvt-unicode

als ich versuchte eine Anwendung wie htop zu starten. Das Problem resultiert daraus, dass das System den Terminal rxvt-unicode-256color nicht kennt und deshalb auch nicht weiß, wie es das aufgerufene Programm darstellen soll. Da das scheinbar ein uraltes Problem ist konnte ich sowohl im englischen Gentoo als auch im deutschen Arch Linux Wiki eine Lösung hierzu finden. Kurz gesagt, muss die Terminfo Datenbank auf den aktuellen Stand gebracht werden und eine Infodatei im versteckten Ordner .terminfo im Home-Verzeichnis des Benutzers auf dem entfernten Rechner angelegt werden.
Im Gentoo-Wiki wird das elegant so gelöst:

infocmp rxvt-unicode | ssh USER@REMOTE_IP 'mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti'

Auf dem lokalen Rechner werden die Informationen über den verwendeten rxvt-unicode-Terminal abgefragt und über SSH auf die entfernte Maschine geschickt, wo die Infodatei mit Hilfe von tic von einem Quellformat in ein kompiliertes Format umgewandelt wird. Danach konnte ich dann wie gewohnt Programme öffnen.
Obwohl ich den Terminaltyp in elinks nicht auf 256 Farben eingestellt hatte, sondern weiterhin bei den 16 ANSI Farben belassen hatte, wurde meine Webseite ohne weiteres Zutun schon in den Solarized-Farben dargestellt. Als allgemeiner Tipp solltet ihr bei Farbproblemen % in elinks drücken, womit man zwischen verschiedenen Dokumentfarben umschalten kann. Ich verstehe nur noch nicht, warum bei manchen Farbkombinationen die Schrift fett dargestellt wird und bei manchen normal. Vermutlich hat das etwas mit dem ANSI-Farbcode zu tun. Und so sieht gambaru in elinks solarisiert aus. 😉

AntiX: Ein schlankes Debian-Derivat mit Fluxbox und IceWM

AntiX. Der Name ließ mich zuerst an ein reines Betriebssystem für die Konsole denken. Doch ein Blick mit Hilfe von Virtualbox offenbarte eine Live-CD mit der Möglichkeit in einen grafischen Desktop mit Fluxbox oder IceWM zu booten. Ich war zuerst skeptisch als ich las AntiX basiere auf Debian Testing und Mepis, welches ebenfalls wiederum auf Debian Stable fußt. Schon wieder ein Debian-Derivat?
Nachdem ich dieses Jahr einige neue Distributionen ausprobiert hatte, wusste ich, zählt man Debian und Ubuntu basierende Distributionen zusammen, dass laut Distrowatch Debian in 66% aller Linuxdistributionen steckt. AntiX war in dieser Hinsicht also auch keine Überraschung mehr. Welche Gründe könnte es geben AntiX einer reinen Debian Installation vorzuziehen?
Nach dem Login fällt auf jeden Fall das ansprechende Design des IceWM-Desktops auf. Nicht dass das Panel am unteren Bildschirmrand eine originelle neue Erfindung wäre, aber die Struktur des Menüs und das gewählte Thema machen einen überzeugenden Eindruck. Schaut man sich dann die installierten Programme etwas näher an, findet man dort viele bekannte schlanke GUI- sowie Konsolenanwendungen wieder. Großes Kompliment für alpine, moc, rtorrent, elinks und irssi, die ich auch ohne weiteres für jedes effiziente und leichtgewichtige Setup empfehlen kann.
Zusätzlich gibt es z.B. auch noch den DOS-Emulator DOSBox dazu. DOSBox in AntiX in Virtualbox auf einem Debian Testing Wirtssystem...ah Fortschritt ist wundervoll. 🙂

Für Linuxeinsteiger kann es eventuell verwirrend sein, dass AntiX sich nicht auf eine Applikation pro Aufgabe beschränkt hat. Während ich die Idee GUI- und Konsolenapps nebeneinander zu präsentieren gut finde, macht es nicht so viel Sinn den ROX-Filer als Zeichner des Hintergrundbilds zu verwenden, Thunar parallel zu installieren und dann ROX mit einem Desktopicon in den Vordergrund zu rücken. Eine Abwechslung ist hingegen die Verwendung der Internetsuite Iceape, mit der Browsen, E-Mail, ein Adressbuch, ein HTML-Editor und Chatten zur Verfügung stehen.
Die Fluxbox-Variante bringt die gleichen Anwendungen mit und...den Fenstermanager Fluxbox.

AntiX liefert einen eigenen Installer, mit dem sich das Betriebssystem direkt von der Live-CD aus installieren lässt. Hier gibt es nichts wirklich Neues zu bestaunen. Auffallend ist die EULA, die man zuvor akzeptieren muss und die auf einige Copyright-Einschränkungen zu Mepis hinweist, dessen treibende Kraft ein Unternehmen mit Sitz in den USA ist. Mein erster Eindruck war, dass das nicht im Widerspruch zu FOSS steht, da die GPL oder andere freie Softwarelizenzen respektiert werden. Mepis versucht aber genauso wie Ubuntu mit Dienstleistungen und einem eigenständigen Produkt Geld zu verdienen.
AntiX lässt einem die Wahl der Software. Debian Testing ist voreingestellt, man kann aber auch zu einem Mix aus Debian Stable und den Mepis-Repositorien wechseln. Mir persönlich hat die Konfiguration des IceWM-Desktops gefallen und wer einfach an eine Konfiguration für Fluxbox oder IceWM gelangen möchte, kann mit AntiX nicht viel falsch machen.
Dennoch würde ich Debian AntiX vorziehen. Das Derivat bringt zwar einige einfache grafische Konfigurationswerkzeuge mit, hebt sich aber nicht so stark von Debian ab, dass es unverwechselbar wäre. Deinstalliert man den Mepis-Kernel und schaltet nur Debian-Quellen frei, ist es im Prinzip auch nichts anderes als Debian. Hinzu kommt, dass die Dokumentation ziemlich dürftig ist.
AntiX lässt sich ein wenig mit Crunchbang vergleichen, was eine sehr gute Openbox-Konfiguration zusammengestellt hat, das Rad aber auch nicht grundsätzlich neu erfindet. Während AntiX teilweise mehrere Applikationen pro Aufgabe ausgewählt hat, bleibt Crunchbang dem Motto "Eine Anwendung pro Aufgabe" treu.
Alles in allem ist der Testkandidat eine gute Alternative für ältere Rechner, die man gerne näher anschauen darf, sofern man sich für Fluxbox- oder IceWM-Desktops interessiert und nicht so viel Zeit in die Konfiguration stecken möchte. 128 MB RAM werden als Mindestanforderungen empfohlen. Wem die vorinstallierten Anwendungen nicht gefallen, sollte sich auch einmal die Base- oder Core-Variante von AntiX anschauen, worauf man aufbauend sich ein eigenes System erstellen kann.

Iceweasel 6 ist erschienen

Vor kurzem ist Iceweasel 6 erschienen, sehr zeitnah zur Veröffentlichung von Mozillas neuster Firefox Version Nr. 6.
Mittlerweile scheinen sich diverse Abhängigkeitsprobleme in Debian Unstable aufgelöst zu haben, so dass alles seinen gewohnten Gang geht. Das Debian Mozilla Team hat auf seiner Webseite die Installationsbeschreibung auf den neusten Stand gebracht.

Debian Unstable und Testing

Für Unstable lässt sich der neuste Iceweasel-Browser wie gehabt mit

aptitude install iceweasel

installieren. Die deutschen Sprachdateien müssen auch nicht mehr manuell von einem Spiegelserver heruntergeladen werden, sondern können mit

aptitude install iceweasel-l10n-de

eingerichtet werden.
Die selbe Prozedur sollte in wenigen Tagen auch für Testing funktionieren, wenn die Pakete automatisch in diesen Debian-Zweig einfließen.

Debian Stable

Für Debian Stable gibt es einen Backport. Der Eintrag in der /etc/apt/sources.list lautet:

deb http://backports.debian.org/debian-backports squeeze-backports main
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release

Installation

aptitude install -t squeeze-backports iceweasel

Wer an der Beta- oder Aurora-Version von Iceweasel interessiert ist muss nur das Wort release in der sources.list durch beta oder aurora ersetzen.

Schlüssel importieren für mozilla.debian.net

Wie bei Debian üblich werden alle Pakete mit gpg vom Paketverwalter signiert. Der Schlüssel zur Verifikation für mozilla.debian.net lässt sich mit Root-Rechten im Terminal durch zwei Befehle so importieren.
wget -O- -q http://mozilla.debian.net/archive.asc | gpg --import
gpg --export -a 06C4AE2A | apt-key add -

Ansonsten gilt das Geschriebene in meinem alten Post zu Iceweasel 5.0.
Ich hoffe in Zukunft bleibt das Installationsschema nun so erhalten. Damit lässt sich leben. Als offensichtlichste Neuerung ist mir im neuen Iceweasel nur der hervorgehobene Domainname in der Adresszeile aufgefallen, was es schon (wie so vieles) bei Opera mal zuerst gab.
Sollte die Geschwindigkeit bei den Veröffentlichungen beibehalten werden, hat Firefox/Iceweasel die Chance Chromium mit der Versionsnummer Ende nächsten Jahres zu überholen. Ob es sinnvoller ist nur für große Änderungen ganze Versionsnummern zu nehmen oder nicht, sei an dieser Stelle mal dahingestellt.

GNU screen: $term too long – sorry

Kurze Notiz um einen nervigen Bug zu fixen.
Nachdem ich wegen der 256-Farben-Palette von Solarized auf rxvt-unicode-256color umgestiegen bin, lässt sich GNU-Screen plötzlich nicht mehr starten.
Die Fehlermeldung lautet:

$term too long - sorry

Der Bug ist im Debian-Bugtracker mit der Nummer #621804 bekannt. Es gibt scheinbar auch einen Fix sowohl Upstream als auch bei Debian, aber das Ganze scheint noch nicht eingepflegt worden zu sein.
Ich weiß zwar nicht, warum die Char-Variable für den Namen des Terminalemulators nur 20 Byte groß sein darf, aber die Lösung des Problems scheint recht einfach zu sein.
In .Xdefaults muss der Name des Terminals verkürzt werden.
z.B.

urxvt*termName:		rxvt-256color

Damit scheint alles wieder in Ordnung zu sein.

Ein Lob für Midori

An dieser Stelle muss ich einfach mal ein Lob für Midori loswerden. Seit mehr als einem Jahr benutze ich die grüne Pfote nun auf dem Inspiron 4000 und mit der aktuellen Version 0.4 in Debian Unstable hat es Midori geschafft erneut die Balance zwischen Funktionalität und Effizienz wiederzufinden, die mich mal zu diesem schlanken Webkit-Browser gebracht hat.
Ich bin mir nicht sicher, ob es die neue Upstream-Version oder der Wechsel der Bibliothek von libwebkit zu libwebkitgtk in Debian war (die Gründe dafür stehen leider nicht im Changelog), auf jeden Fall ist die Startzeit deutlich verbessert worden und zumindest ein Bug, der mich noch vor Monaten darin hinderte einige Webseiten mit sehr viel JavaScript zu betrachten ist mit der aktuellen Version vollständig beseitigt worden.
Was mir an Midori besonders gut gefällt, sind die schon integrierte AdBlock-Funktion, Mausgesten und ein Feature, was ich bisher nur von elinks und dem Vimperator-Addon des Firefox Browsers kannte.
Drückt man . erscheinen Zahlen neben allen Links einer Webseite. Man muss dann nur noch die Nummer eingeben und Return drücken und schon öffnet sich der Link im Browser. Ich bin zwar auch gerne ein Mausklicker, aber wenn man viel im Internet unterwegs ist, bemerkt man einfach die Geschwindigkeitsvorteile dieser Methode.
Also von mir darf es mit Midori gerne so weitergehen. Gute Arbeit! 🙂

Paketerstellung mit Debian: Weitere nützliche Quellen

Es ist mitunter gar nicht so einfach den besten Weg zum Erstellen eines Debianpakets zu finden, da über die Jahre die Werkzeuge zur Paketerstellung immer ausgefeilter und zahlreicher in Debian geworden sind.
Wenn man aber sieht, dass tausende von Freiwilligen ihren Beitrag zu Debian und Ubuntu leisten, kann es nicht anders sein, als dass es Standards und Prozeduren gibt, um die Qualität des gesamten Projekts zu gewährleisten.
Lucas Nussbaum hat z.B. ein Packaging Tutorial erstellt, was eine gute Übersicht über den gesamten Paketerstellungsprozess bietet. Es lässt sich unter dem angegebenen Link direkt als PDF-Dokument herunterladen und befindet sich auch als Deb-Paket in Unstable.

aptitude install packaging-tutorial

Dort gibt es zusätzlich zu dem PDF-Dokument drei Praxisbeispiele aus dem Entwickleralltag, die sich Schritt für Schritt nachvollziehen lassen.
Vor ein paar Wochen hatte ich ein paar Methoden vorgestellt, wie man seine eigenen Debian Pakete erstellen kann. Nimmt man diesen Merkzettel, das Packaging Tutorial und folgt den Links zur offiziellen Dokumentation, sollte einer Karriere als Debianentwickler nichts mehr entgegen stehen.
Es kann sicher nichts schaden, deshalb hier noch einmal die Linkliste zur offiziellen Dokumentation.

Offizielle Dokumentation

Extras

Gutes Video Tutorial zum Paketbau in Deutsch (AdvPackaging.ogv)