Auch ein veralteter PC leistet mit der richtigen Distribution noch gute Dienste, etwa als Zweit-Desktop. Ein paar Kniffe helfen dabei, mit Puppy Linux die gewünschte Performance zu erzielen.
Günstige Angebote kommen oft unverhofft daher: So rangieren Unternehmen gerne alte Hardware für einen symbolischen Betrag aus, zum Beispiel einen alten, aber funktionsfähigen Laptop für einen Euro. Zweifelsohne ein Angebot, bei dem niemand lange nachzudenken braucht. Mit diesem Schnäppchen gesellt sich zum heimischen PC eine preiswerte Reiseschreibmaschine hinzu, die unterwegs die typischen Büroarbeiten stemmt.
Logisch, dass nur Linux als Betriebssystem für ein solches Unterfangen in Frage kommt. Blieb nur noch zu klären, welche Distribution sich für die alte Hardware eignet. Moderne Distributionen, wie OpenSuse oder Fedora, überlasten alte Rechner häufig. Auf der anderen Seite sollte schon aus Sicherheitsgründen halbwegs moderner Software zum Einsatz kommen.
Im vorliegenden Fall fiel die Wahl auf Puppy Linux [1], das Sie in der aktuellen Version 2.17.1 auf der Heft-CD finden. Die Website nennt 64 MByte RAM und einen Pentium-Prozessor mit 90 MHz als Minimum für die Hardware. Der frisch erworbene IBM Thinkpad 760 EL, der diesem Artikel zugrunde liegt, glänzt mit 133 MHz, bringt allerdings nur 48 MByte RAM mit. Der LCD-Bildschirm hat eine Auflösung von 800×600 Pixeln. Ob das reicht für ein flüssiges Arbeiten?
Um es vorweg zu nehmen: Ja, es reicht, auch wenn Sie einige kleinere Schwierigkeiten zu umschiffen sind. Tun Sie sich bei Ihrer alten Hardware etwas schwerer bei der Auswahl der richtigen Distribution, hilft Ihnen die Tipp im Kasten “Die richtige Distribution finden” eventuell weiter.
Die richtige Distribution finden
Regelmäßig stoßen Sie in Zeitschriften und im Internet auf Distributionen, die von sich behaupten, ressourcensparend zu sein. Um zu testen, ob so ein System auf dem Zielrechner läuft, müssen Sie es nicht zwangsläufig installieren. Einen einfachen Weg für erste Experimente bietet Qemu. Starten Sie also zunächst die virtuelle Maschine, in der einige Probleme, wie etwa das nicht bootfähige CD-Laufwerk, nicht bestehen.
Reduzieren Sie beim Aufruf von Qemu mit dem Parameter -m den Speicher auf den Wert, der später im Zielsystem zur Verfügung steht, also zum Beispiel 48 MByte. Da die virtuelle Maschine oft erheblich langsamer arbeitet als die gastgebende CPU, erhalten Sie so vom Zustand auf dem Alt-PC einen realistischen Eindruck. Das hilft beim Beurteilen der Leistung und gibt Antwort auf die Frage, ob die mitgelieferte Software den eigenen Anforderungen entspricht.
Probleme beim Booten
Die erste Hürde auf dem Weg zum funktionierenden Zweitrechner wartet gleich beim Booten. Die zum Beispiel-Laptop passende Dockingstation enthält zwar ein CD-Laufwerk; das BIOS erkennt dieses aber nicht. Das trifft übrigens auf fast alle Rechner der Generation zu. Wie also Linux starten? Abhilfe bietet Puppy Linux mit der WakePup2 genannten Boot-Diskette.
Diese enthält ein kleines FreeDOS-System, das alle erreichbaren Laufwerke, seien es CD-ROMs, interne Festplatten (nur mit FAT-Dateisystem) oder USB-Sticks nach der Initial RAM Disk und dem Kernel durchsucht. Findet es beide, startet es den Kernel mittels Loadlin. Das funktioniert nicht nur mit den Original-CDs, sondern auch mit der aktuellen Heft-CD, da die benötigten Dateien dort in den richtigen Verzeichnissen liegen.
Sie erzeugen die Boot-Diskette am einfachsten, indem Sie Puppy auf einem anderen Computer hochfahren, der von CD bootet und zudem ein Diskettenlaufwerk verfügt. Im Menü der grafischen Oberfläche (Abbildung 1) finden Sie den Menüpunkt Setup | WakePup create boot floppy. Wer selbst im Puppy-Dateisystem nach dem Boot-Disketten-Image fahnden will, findet dieses übrigens im Verzeichnis /lib. Das Image steht auch im Netz [2] zum Download bereit.
Rechner ohne CD-Laufwerk booten
Obwohl Puppy Linux lediglich auf einer bootfähigen CD daher kommt, eignet sich die Distribution selbst für Rechner ohne CD-ROM-Laufwerk. Sie erzeugen die WakePup-Diskette und kopieren die Dateien von der CD einfach auf eine ausreichend große Partition, die FAT formatiert ist.
Haben Sie auf dem Zielrechner eventuell noch ein Windows-System, böte sich beispielsweise der Transfer der Daten via Samba-Share an. Das setzt natürlich einen funktionierenden Netzwerkadapter voraus. Ganz hart gesottene zerlegen die Daten von der CD in Floppy-gerechte Stücke und kopieren sie so auf das Zielsystem.
Mit der Boot-Diskette stellt sich meist das erste Erfolgserlebnis ein. Das Live-System fährt hoch, die Hardwarekonfiguration startet. Das Setup fragt die gewünschte Tastaturlayout und die korrekte Bildschirmauflösung ab. Dann erscheint das Hintergrundbild der grafischen Benutzeroberfläche JWM. Treiberprobleme traten im Test mit dem alten Notebook nicht auf. Die Hardware ist mittlerweile alt genug, so dass für jede Komponente der passende Treiber an Bord ist. Kommt es in beim Hochfahren des Systems doch zu Problemen, finden Sie im Bootlog (/tmp/bootsysinit.log) die festgehaltenen Meldungen, die meist Aufschluss geben, was alles schief gelaufen ist.
Im nächsten Schritt gilt es, das System auf die eingebaute Festplatte des Rechners zu installieren. Im JWM-Menü findet sich dafür unter Setup | Puppy universal installer der Puppy-Installer. Bevor Sie den starten, legen Sie mittels GParted (System | GParted partition manager) eine Linux-Partition auf der Festplatte an. 300 MByte reichen schon aus. Das ist selbst bei sehr alten Pentium-I-Rechnern meist noch drin. Mehr Platz erleichtert natürlich später das Leben ein wenig.
Es bietet sich an, bei dieser Gelegenheit eine Swap-Partition anzulegen. Damit die funktioniert, erzeugen Sie die Swap-Signatur von Hand. Wir zeigen dies exemplarisch für die Partition /dev/hda2, die zweite Partition auf der ersten Festplatte:
mkswap /dev/hda2 swapon /dev/hda2
Leider berücksichtigt der Installer die so angelegte Swap-Partition nicht automatisch. Tragen Sie diese daher später manuell in die /etc/fstab ein. Der Kasten “Swap-Partition” zeigt die entsprechende Zeile:
Swap-Partition
# Zusätzliche Swap-Partition einbinden /dev/hda2 swap swap defaults 0 0
Der Installer fragt nun der Reihe nach alle wichtigen Parameter ab, bevor er das Linux-System auf die Platte kopiert. Den Abschluss bildet die Installation des Bootloaders Grub. Nach dem anschließenden Reboot startet Puppy Linux zum ersten Mal von der Festplatte. Allerdings stellte sich im Test mit einer früheren Version gleich die erste Enttäuschung ein: Trotz Auswahl des deutschen Tastaturlayouts erschienen keine Umlaute beim Druck auf die entsprechenden Tasten.
Auf der anderen Seite befanden sich zum Beispiel Z und das Y an den richtigen Stellen. Klarer Fall: Die in Puppy Linux enthaltene deutsche Tastaturtabelle ist unvollständig. Glücklicherweise ist die Abhilfe einfach. Die Tastaturtabelle befindet sich in der Datei /usr/share/kbd/keymaps/i386/qwertz/de.map. Diese überschreiben Sie einfach mit einer fertigen Tabelle aus einer anderen Distribution. Die aktuelle Version 2.17.1 weist das Problem nicht mehr auf.
Insgesamt gibt sich die Distribution sehr englisch. Alle Meldungen erscheinen in englischer Sprache. Da trifft es sich gut, dass unter dem Menüpunkt Desktop | Choose locale country localisation die Möglichkeit besteht, eine deutsche Lokalisierung zu installieren. Doch einerseits endet die Installation mit einer Fehlermeldung, zum anderen ändert sich an der englischen Spracheinstellung auch nach manuellem Kopieren und Konfigurieren der Lokalisierungsdateien nichts, weil die meisten Programme dafür nicht eingerichtet sind.
Es gibt zwar eine Variante von Puppy Linux, die sich Muppy [3] nennt und entsprechende Lokalisierungen mitbringt, aber diese ist nach Aussage des Maintainers eher für leistungsstärkere Rechner gedacht. Was aber funktioniert, ist die in der unteren rechten Ecke angezeigte Uhr auf das in Deutschland gebräuchliche 24-Stunden-Format umzustellen. Dazu passen Sie die Datei .jwmrc-tray im Benutzerverzeichnis von root an. Suchen Sie darin die folgende Zeile:
<Clock>minixcal</Clock>
und ändern Sie sie diese wie folgt ab:
<Clock format="%H:%M:%S">minixcal</Clock>
Nach einem Neustart des Windowmanagers zeigt die Uhr die Zeit im gewünschten Format an.
Etwas Schutz muss sein
Während bei den meisten Distributionen die Grundregel gilt, nur in Ausnahmefällen als root zu arbeiten, gehört der Einsatz des Administratorenkontos bei Puppy Linux zur Normalität. Darüber hinaus startet die grafische Oberfläche ohne die Abfrage des Passworts. Für eine Live-CD mag das sinnvoll erscheinen, aber bei einem auf Festplatte installierten System birgt das Risiken. Es fällt jedoch recht leicht, Puppy Linux wenigstens zu einer Passwortabfrage zu bewegen. Das geht über die Datei /etc/inittab, in der sich folgende Zeile findet:
tty1::respawn:/sbin/getty -n -l /bin/autologinroot 38400 tty1
Diese Zeile bekommt nun folgenden Inhalt:
tty1::respawn:/sbin/getty 38400 tty1
Anschließend setzen Sie mit dem Befehl passwd in einem Terminal das Passwort, so noch nicht geschehen. Danach fragt Puppy-Linux beim nächsten Booten nach dem Benutzernamen und dem Passwort. Das passiert zwar nicht mittels grafischer Oberfläche, sondern im Textmodus, aber das ist immerhin besser als gar nichts. Nicht so einfach ist es übrigens, Puppy mit einer normalen, nicht privilegierten Benutzerkennung zu betreiben. Einige Konfigurationsdateien liegen in nur für root zugänglichen Verzeichnissen. Verschiedene System-Skripte versuchen diese zu lesen oder sogar zu beschreiben.
Dank der mitgelieferten Werkzeuge stellt die Netzwerkkonfiguration kein Problem dar. Das Aufwändigste an der DSL-Konfiguration beispielsweise ist die Suche nach dem Zettel mit den Zugangsdaten für den Provider. Danach steht dem Zugriff auf das Internet nichts mehr im Weg. Damit wären Sie eigentlich schon am Ziel. Aber es lohnt sich zu schauen, wie Sie aus dem Veteranen-PC das Optimum an Leistung herausholen.
Nu mach hinne!
Das Tuning stellt also die zweite wichtige Etappe im Projekt dar. Bei den beschränkten Ressourcen des alten Schnäppchens erweist es sich als besonders wichtig, so viele Flaschenhälse wie möglich zu beseitigen. Ausgangspunkt der Bemühungen ist die schlichte Erkenntnis, dass zu großer RAM-Verbrauch die größte Leistungsbremse darstellt, noch vor der CPU-Last. Da bieten sich folgende Punkte für ein Optimieren an:
- Alle Hintergrundprozesse entfernen, die nicht unbedingt erforderlich sind.
- Wo immer möglich Anwendungen und Systemsoftware so konfigurieren, dass sie möglichst wenig Speicher und CPU-Zeit benötigen.
- Weniger ist manchmal mehr: Die Ansprüche an die Anwendungen ein wenig herunter schrauben, und die Augen nach einem genügsameren Programm offen halten.
Der erste Ansatzpunkt sind Dienste, die Sie nicht unbedingt brauchen, die aber ebenfalls Speicher und Rechenzeit kosten. Hier zeigt sich: Puppy Linux verhält in diesem Punkt sehr vorbildlich, denn in der Prozessliste taucht nichts auf, was einzusparen wäre. Alle Dienste nicht unbedingt erforderlichen Dienste starten nicht, wie bei vielen anderen Distributionen automatisch beim Hochfahren, sondern erst nach Aufruf eines entsprechenden Menüpunkts. Das dient nicht zuletzt der Sicherheit, denn ein Dienst, der nicht läuft, öffnet auch keine Sicherheitslücken.
Im Hintergrund arbeiten auch noch die Applets des JWM-Desktops. Die kleinen Helferlein erweisen sich zwar als nützlich, beanspruchen allerdings auch die knappen Ressourcen des Rechners. Deshalb liegt es nahe, nicht benötigte Applets zu entfernen. Sie konfigurieren diese in der Datei /root/.jwm/jwmrc-tray. Für jedes Applet gibt es dort einen Abschnitt wie diesen:
<Swallow>
<Swallow name="mini-volume.tcl">
mini-volume.tcl -bg gray90
</Swallow>
Im Beispiel handelt es sich um ein Applet zum Einstellen der Lautstärke – auf einem Rechner ohne Soundkarte zum Beispiel höchst überflüssig. Um das Applet zu deaktivieren, löschen Sie einfach die Zeilen aus der .jwm/jwmrc-tray. Nach dem nächsten Start der Oberfläche erscheint das Applet nicht mehr.
Der nächste Ansatzpunkt für das Tuning ist im wahrsten Sinne des Wortes augenfällig. Es handelt sich um das Hintergrundbild des JWM-Desktops. Das besteht nur aus einer Hintergrundfarbe und dem Schriftzug “Puppy”, trotzdem stellt das System Speicher und Rechenzeit dafür bereit. Sie schonen die Ressourcen, wenn Sie statt des Bildes einer einheitlichen Farbe und niedriger Farbtiefe verwenden. Dieses richten in Puppy Linux über Desktop | JWM configuration | System | Desktop background ein. Die Wirkung fällt mitunter frappierend aus: Durch diese sehr einfache Maßnahme sparen Sie bis zum 5 MByte RAM.

Abbildung 2: Durch die Wahl eines Hintergrundbildes mit niedriger Farbtiefe sparen Sie zusätzlich Arbeitsspeicher.
Eine weitere Möglichkeit, Ressourcen zu sparen, sind die Arbeitsflächen der grafischen Oberfläche. Deren Anzahl stellen Sie in der Datei /root/.jwm/jwmrc-personal ein. Dazu suchen Sie folgenden Abschnitt:
<!-- Number of virtual desktops --> <Desktops count="2"/>
Die Zahl zwischen den Anführungszeichen gibt die Anzahl der Arbeitsflächen an. Diese ändern Sie wie gewünscht.
Was die Arbeitsflächen für die GUI sind, sind die Konsolen im Textmodus. Fast alle Linux-Systeme bieten in der Standardkonfiguration die Möglichkeit, sich parallel auf mehreren Textkonsolen anzumelden. Das ist zwar mitunter nützlich, aber bei einem Rechner mit grafischen Oberfläche in der Regel unnötig. Da das System für jede Konsole einen eigenen Login-Prozess (Getty) startet, verbraucht das unnötig Speicher. Um die überflüssigen Gettys zu stoppen, editieren Sie wieder die /etc/inittab entsprechend. Die Zeilen, die die Konsolen starten, haben Sie bereits gesehen:
tty2::respawn:/sbin/getty 38400 tty2
Die erste Konsole, deren Eintrag mit tty1 beginnt, belassen Sie, wie sie ist. Aber die zweite (tty2) können wir getrost auskommentieren, indem wir ein # davor setzen. Beim nächsten Boot wird die zweite Konsole nicht mehr gestartet.
Was geht, was geht nicht?
Ein langsamer Rechner verlangt natürlich Kompromisse. Nicht alles, was auf einem nagelneuen Boliden läuft, funktioniert genauso auf einem Alt-PC. Mit der richtigen Auswahl an Software erschließen Sie sich trotzdem erstaunlich viel Funktionalität bei ansprechender Geschwindigkeit.
Eine wie auch immer geartete Textverarbeitung (und wenn es nur mit einem einfachen Editor auf der Kommandozeile ist) würde sogar mit einem alten 486er noch funktionieren. Das vermeintlich schwachbrüstige Geany, das als Default-Editor bei Puppy Linux arbeitet, läuft jedoch viel zu zäh. Überraschend gut arbeitet dagegen das doch recht funktionsreiche Abiword unter begrenzten Ressourcen. Es schlägt Geany um Längen. Wer es noch ressourcenschonender möchte, greift einfach zum Editor Leafpad. Abiwords Schwester-Software Gnumeric hinterlässt den gleichen guten Eindruck – kein Vergleich mit einem OpenOffice, wenngleich der Funktionsumfang sicher nicht der gleiche ist.
Mailclients gibt es wie Sand am Meer. Darunter einen zu finden, der auf einem langsamen Rechner funktioniert, fällt leicht. Der populäre Sylpheed kommt zwar auf einem schwachbrüstigen Rechner gut zurecht. Er gehört aber nicht zum Standardumfang einer Puppy-Installation. Sie installieren ihn daher einfach mit Pupget nach. Das Paket finden Sie im Netz [4]. Wer als Browser und für’s verschicken elektronischer Nachrichten auf Seamonkey setzt, den bestraft das System mit langen Ladezeiten und einer zähen Reaktion. Haben Sie keine hohen Ansprüche an die Darstellung der Webseiten, bietet sich Dillo als Alternative an.
Der klassische Büroaufgabensatz – Schreiben, Rechnen, Mail und Internet – wäre damit eigentlich schon abgedeckt. Für viele zählen jedoch dazu auch Präsentationen. Dafür bietet Puppy Linux zwar kein Tool. Wenn Sie fertige Präsentationen aber als PDF-Datei speichern, erlaubt das System zumindest das Anzeigen mit einem PDF-Viewer. Die Folien selbst erstellen Sie beispielsweise mit LaTeX und der Beamer-Klasse [4]. Dazu brauchen Sie nur einen ganz einfachen Editor und schreiben aber trotzdem mit etwas Geschick sehr ansprechende Präsentationen.
Bei anderen Aufgaben kommen Sie nicht umhin, sich etwas in Geduld zu üben. Natürlich zeigt auch ein Pentium mit 133 MHz Digitalfotos an. Es dauert jedoch etwa 15 Sekunden, bis ein 1,5 MByte großes JPG-Bild endlich auf dem Bildschirm erscheint. Beim Abspielen von MP3-Dateien kommt der Rechner ebenfalls an seine Grenzen: Er darf mit nichts anderem beschäftigt sein – jeder Festplattenzugriff führt unweigerlich zu Unterbrechungen in der Wiedergabe.
Das in Puppy-Linux enthaltene Gxine allerdings quittiert Versuche, MP3-Material wiederzugeben, mit einem Absturz. Greifen Sie besser auf das Kommandozeilenprogramm Madplay zurück. Bei nicht komprimiertem Material (zum Beispiel WAV-Dateien) sieht es naturgemäß günstiger aus. Hier entfällt das aufwändige Umrechnen der Daten. Ähnlich sieht es beim Videomaterial aus: Komprimierte Formate bringen Probleme mit sich, Unkomprimierte zwar weniger, füllen aber sehr schnell die kleine Festplatte des Alt-PCs.
Aufgrund des recht umfangreichen Softwarerepertoires von Puppy findet sich für viele Aufgaben geeignete Alternativen zu den weithin bekannten Lösungen. Manchmal setzt es etwas Suchen voraus, aber speziell die Paketsammlung im Netz [5] hilft oft weiter, wenn die mitgelieferten Tools Ihre Bedürfnisse nicht ausreichend abdecken. (agr)
Fazit
Es erstaunt, wie viel Funktionalität ein Veteranen-PC noch bietet. Mit ein wenig Aufwand stellen Sie eine komplette Anwendungssuite für einfache Bürotätigkeiten auf die Beine. Neben der monetären Ersparnis freut sich die Umwelt, denn durch das Wiederverwenden alter PCs sparen Sie einiges an Energie und Rohstoffen ein. Am wichtigsten aber ist sicher der Spaßfaktor beim Ausprobieren.
Glossar
-
FreeDOS
-
Open-Source-Nachbau von Microsoft DOS.
-
Swap-Partition
-
Eine separate Partition auf der Festplatte, in die der Kernel aktuell nicht benötigte Speicherinhalte kurzzeitig auslagert, um so für andere Zwecke RAM freizuschaufeln.
-
Swap-Signatur
-
Swap-Partitionen enthalten kein Dateisystem. Sie brauchen sie also nicht zu formatieren. Stattdessen stehen in einem Datenblock am Anfang der Partition eine Reihe von Verwaltungsinformationen und eine Signatur, anhand derer das System die Swap-Partition als solche erkennt.
[1] Puppy Linux:http://www.puppylinux.com
[2] WakePup: http://puppylinux.org/wikka/WakePUP
[3] Muppy: http://www.murga-linux.com/puppy/viewtopic.php?t=15404
[4] Beamer-Klasse: http://latex-beamer.sourceforge.net
[5] Pakete für Puppy: http://distro.ibiblio.org/pub/linux/distributions/puppylinux/pupget_packages-1






