Sie sind optimale Zweitsysteme für die Hosentasche – zum Arbeiten, Surfen oder Reparieren. Die Puppy-Systeme, die Barry Kauler vor 15 Jahren entwickelt hat, sind ausgereift und flexibel, aber nicht ganz simpel.
Wer die Puppy-Familie mit Tahrpup, Slacko, Quirky, Fatdog, Macpup, Lxpup, Simplicity ignoriert, verschenkt das Potential großartiger Livesysteme: Die Puppies bringen auf typischerweise nur 200 bis 300 MB großen ISO-Abbildern kaum glaubliche Software-Sammlungen unter, haben einen RAM-Eigenbedarf von nur 60 bis 150 MB, booten fix (mit Ausnahmen) und bieten ein Konzept, um die an sich unveränderlichen Livesysteme über persistenten Speicher individuell anzupassen. Die Einrichtung birgt allerdings einige Hürden und wird begleitet von einer Dialogflut mit Frickler-Tonalität. Diese Hürden muss man erst mal nehmen. Dieser Beitrag erklärt das Puppy-Konzept, die Einrichtung der Systeme sowie Ausrichtung und Unterschiede einiger populärer Puppy-Varianten.
Einsatzgebiete: Warum Puppy?
Kleine Linux-Live-Distributionen, die sich für schwachbrüstige Hardware oder für den mobilen Einsatz als Zweitsystem eignen, gibt es zuhauf. Puppy-Varianten sind aber nicht nur besonders klein und sparsam (bei reicher Software-Ausstattung), sondern kombinieren die Sicherheit eines nicht kompromittierbaren Livesystems mit der Anpassungsfähigkeit eines installierten Linux. Das erreichen sie dadurch, dass die schreibgeschützten Squash-FS-Archive (Dateien mit der Endung -sfs) für das Kernsystem ergänzt werden durch persistenten Speicher, der System- und Software-Einstellungen sowie nachinstallierte Software bereithält. Dieser persönliche Speicher kann als einzige große Datei „pup_save.4fs“ (oder je nach Puppy-Variante ähnlich, etwa „thar_save.4fs“) oder als Ordner (etwa „tharsave“) vorliegen. Dieser Speicher wird beim Booten automatisch geladen, es sei denn, es gibt mehrere persönliche Speicher (auch das ist möglich), die eine vorherige Abfrage des Benutzer erfordern.
Livesystem mit Persistenz und individuellen Einstellungen? Auch das ist natürlich kein Alleinstellungsmerkmal von Puppy: Typische Livesysteme wie Tails oder Porteus beherrschen das ebenfalls, und sämtlichen Ubuntu-basierten Systemen kann das Tool Unetbootin zur Persistenz verhelfen, sofern man sie als Livesysteme nutzen will. Aber keine andere Linux-Linie neben Puppy hat sich so fokussiert, live, schnell, klein und optimal anpassungsfähig zu sein. Es ist letztlich ganz egal, ob der Einsatzzweck ein mobiler Werkzeugkasten, eine Arbeitsumgebung, ein Surfsystem oder sicheres Home-Banking sein soll.
Im Kern ist Puppy eine Methode, vorhandene Distributionen auf ein möglichst kleines Livesystem zu reduzieren. Während viele Projekte Linux-Systeme als Grundlage nehmen, die mit weiteren Ergänzungen ausgebaut werden, geht Puppy den umgekehrten Weg und entfernt zunächst viele Komponenten. Dazu dient das Baukastensystem „Woof-CE“ (https://github.com/puppylinux-woof-CE/woof-CE), das die Reduktion einer Distribution mit Scripts vereinfacht. Die Resultate sind Livesysteme mit eigener Bootumgebung und komfortablen Tools aus dem Puppy-Baukasten. Puppies laden sich während des Starts komplett in den Arbeitsspeicher. Im Unterschied zu typischen Linux-Verhältnissen wird der Anwender automatisch angemeldet und hat root-Rechte. Puppy ist somit kein Mehrbenutzersystem, jedoch ist möglich, Benutzerprofile mit unterschiedlichen Einstellungen zu verwenden.
Die Einrichtungsmöglichkeiten
Offizielle Webseite der Puppy-Systeme ist http://puppylinux.org. Dort gibt es grundsätzliche Informationen und als Download-Link zumeist den Server http://distro.ibiblio.org/puppylinux/, der alle offiziellen Puppy-Varianten versammelt, ferner auch zahlreiche „Pets“ – Software-Pakete für Puppy-Systeme. Eine schnellere Quelle für einige prominente Puppies ist http://puppylinux.com/download.html. Download-Quellen für weniger prominente Varianten müssen Sie gegebenenfalls recherchieren. So liegt Lxpup etwa auf Sourceforge (https://sourceforge.net/projects/lxpup) oder Macpup auf http://macpup.org.
Puppy-Systeme laufen an sich hervorragend von CD und können dabei auch Benutzeranpassungen in einem Persistenz-Speicher nutzen, der dann allerdings auf einer internen Festplatte oder einem zusätzlichen USB-Stick gespeichert werden muss. Ein von CD bootendes Puppy durchläuft dabei einfach sämtliche angeschlossene Datenträger und sucht nach Persistenz-Ordnern oder Dateien in deren Hauptverzeichnis. Ungeachtet der technischen Möglichkeit und der Schnelligkeit auf CD ist Puppy aber auf CD nicht ideal, denn für Anpassungen brauchen Sie immer noch ein zweites Medium. Und als reines Livesystem auf CD ohne Persistenz ist Puppy auch nicht ideal, da Sie dann bei jedem Start der unkomfortable „Quick-Setup“-Dialog begrüßt, wo Sie zumindest die deutsche Tastaturbelegung einstellen müssen.
Ideal für Puppies sind USB-Sticks, weil Sie damit das Livesystem plus Speicher für Anpassungen an Ort und Stelle auf einem Datenträger haben. Die Größe des Sticks spielt praktisch keine Rolle: Für die meisten Puppies sind schon 1 oder 2 GB üppig und bieten ausreichend Platz für Nachinstallationen und Anpassungen. Andererseits ist es keine Platzverschwendung, eine heute übliche Stick-Größe mit entsprechender Leistung zu wählen, da der Stick zusätzlich auch als normaler Datenträger genutzt werden kann.
Die Installation aller Puppy-Varianten ist identisch. Die nachfolgende Anleitung zeigt die Einrichtung am Beispiel eines Puppy Tahr („Tahrpup“) auf USB-Stick. Dabei nehmen wir den Umweg über das Puppy Livesystem auf einer CD, weil der Puppy-Installer dies als den Normalfall annimmt und unter dieser Voraussetzung am einfachsten zu durchlaufen ist.
Vom ISO-Abbild zum Puppy auf USB
Schreiben Sie das gewählte ISO-Image zunächst auf eine CD. Alle Puppies passen locker auf CD, eine DVD wäre Verschwendung. Die heruntergeladene ISO-Datei brennen Sie unter Linux mit einem Tool wie Brasero und der Option „Abbild brennen“, unter Windows mit der Freeware Imgburn und der Option „Imagedatei auf Disc schreiben“. Danach booten Sie einen Rechner mit optischem Laufwerk über die CD.
- Das Puppy-System wird am Desktop den Dialog „Quick Setup“ anzeigen. Eigentlich brauchen Sie für das temporäre Livesystem keine Einstellungen, aber es kann für die nachfolgende Einrichtung hilfreich sein, die Tastatur auf „de (Germany)“ zu setzen. Wer die Installationsdialoge in Deutsch sehen will, kann auch die Ländereinstellung auf Deutsch setzen und über den Puppy-Paketmanager (unter „Setup“ im Hauptmenü) sogar das langpack_de installieren. Wirklich notwendig ist das nicht, weil dies an dieser Stelle nur temporär bliebe und die englischsprachigen Dialoge im Installer meist klarer sind als die deutschen.
- Stecken Sie den USB-Stick ein, der das Puppy aufnehmen soll, und starten Sie über die Menü-Kategorie „Setup“ den „Puppy Universal Installer“ (in einigen Varianten auch nur „Puppy Installer“). Der oberste Eintrag „USB Flash Drive“ ist der richtige. Wenn nur ein Stick angeschlossen ist, wird der Installer diesen anbieten und mit Angabe der Gerätebezeichnung (etwa /dev/sdb1 oder /dev/sdc1) um Bestätigung bitten.
- An dieser Stelle besteht noch die Möglichkeit, den USB-Stick mit Gparted zu bearbeiten. Notwendig ist die Neupartitionierung nicht, weil auch die Systempartition zusätzlich als ganz normaler Datenspeicher dienen kann. Der Abstecher zu Gparted ist jedoch manchmal nötig, wenn dem USB-Stick das Boot-Flag fehlt. Der Puppy-Installer meldet das, korrigiert es aber nicht selbst. Die Korrektur erledigt dann Gparted nach Rechtsklick auf die Partition und „Markierungen bearbeiten -> Boot“.
- Nun folgt die Abfrage, aus welcher Quelle der Puppy Installer die maßgeblichen Systemdateien kopieren soll. In diesem Szenario mit dem Livesystem auf CD können Sie die Option „CD“ wählen.
- Der nächste Dialog bietet eine Auswahl von Bootsektoren. Gemäß der Empfehlung scheint mbr.bin die zuverlässigste Wahl. Vor allem aber ist wichtig, überhaupt einen Bootsektor zu wählen, denn die Voreinstellung fährt ohne Bootsektor fort. Damit wäre der Stick nicht bootfähig.
- Der Rest des Installer geht bei einigen Puppies grafisch weiter, oft aber im Terminal. Zunächst müssen Sie dem Vorgang noch einmal generell zustimmen, danach erscheint noch eine Option für den künftigen Systemstart, die Sie nach der Empfehlung mit „yes“ oder „ja“ beantworten.
Die nachfolgende Kopieraktion (initrd.gz, sfs-Dateien) ist angesichts der Kompaktheit schnell erledigt. Damit hat das Livesystem auf CD seinen Dienst getan. Starten Sie nun den Rechner mit dem USB-Stick.
Einrichtung des Puppy-Systems
Auch das Puppy auf USB begrüßt Sie wieder mit dem Dialog „Quick Setup“. Hier lohnt es sich nun, alles sorgfältig einzustellen, erste Anpassungen am Desktop vorzunehmen und im Puppy-Paketmanager das langpack_de oder andere Software nachzuinstallieren. Das Systemtool, solche Änderungen außerhalb des Livesystems zu sichern, also den persönlichen Speicherbereich anzulegen, suchen Sie vergebens. Es startet aber automatisch, sobald Sie das neue Puppy zum allerersten Mal herunterfahren („Exit“ im Hauptmenü). Dann erscheint „Erstmals: Sitzung speichern“ („First shutdown…“). Optik und Wortwahl dieses wichtigen Vorgangs unterscheidet sich bei den Puppy-Varianten erheblich, jedoch ist das Prinzip identisch:
Antworten Sie in jedem Fall mit „Speichern“ (oder „Ja“, „Yes“). Die Auswahl einer Partition entfällt beim USB-Stick, weil das Tool hier sinnvollerweise den USB-Stick als Ziel nimmt. Verwenden Sie als Speichertyp die empfohlene Option „Folder“ („Ordner“), denn dies ist flexibler als eine Speicherdatei mit fixer Größe. Weitere Entscheidungen betreffen die optionale Verschlüsselung des Speichers und einen individuellen Namenszusatz. Danach legt das System den Speicherbereich an, kopiert die bereits angefallenen Daten und fährt herunter.
Die künftige Puppy-Nutzung gestaltet sich äußerst komfortabel: Störende Bremsen wie „Quick-Setup“ und „First shutdown“ entfallen, Software-Nachinstallationen sind durch „Quickpet“ und den „Puppy Package Manager“ schnell und einfach. Für Desktop-Anpassungen ist die Menü-Rubrik „Desktop“ einschlägig, die unter anderem den JWM Configuration Manager anbietet. Joe’s Window Manager ist die typische Puppy-Oberfläche, jedoch gibt es auch Varianten mit LXDE.
Der persönliche Speicherbereich, der alle Änderungen aufnimmt, ist auf Dateiebene unter /mnt/data/ leicht zugänglich und erlaubt damit auch einfache Experimente: Es genügt den kompletten Save-Ordner oder die Save-Datei auf gleicher Ebene und neuem Namen zu kopieren – etwa „tharsave“ als „tharsave-sepp“. Dadurch entsteht praktisch ein neues Benutzerprofil, das Sie mit eigenen Einstellungen ausstatten können. Das Puppy-System wird dann künftig beim Start eine Auswahl der Form
- 0 none
- 1 sdd1 /tahrsave
- 2 sdd1 /tahrsave-sepp
anbieten, was nebenbei auch den Start des puren Livesystems (mit „none“) ermöglicht.
Alle lokalen Laufwerk zeigt Puppy standardmäßig als Desktop-Links an. Netzwerkfreigaben erreichen Sie über das Pnethood-Tool unter „Netzwerk“. Falls eine manuelle Einrichtung des Netzwerks notwendig ist, versammelt das Tool „Internet Connection Wizard“ (unter „Setup“) alle LAN-, WLAN-, Internet-, Proxy- und Firewall-Einstellungen.
Einige Puppy-Varianten im Steckbrief
Der ursprüngliche Entwickler Barry Kauler ist im Ruhestand und arbeitet nur noch sporadisch an Puppy. Seit den Anfangszeiten ab 2003 entstanden unzählige Varianten auf Basis des Buildsystems Woof-CE. Die offizielle Puppy-Familie unterteilt sich in zwei Hauptlinien. Die erste Puppy-Linie nennt sich „Slacko“, das die besonders kompakte Slackware als Systembasis nutzt. Die zweite Hauptlinie namens „Tahrpup“ basiert auf Ubuntu 14.04 LTS „Trusty Tahr“. Daneben gibt es inoffizielle Puppy-Systeme sowie die große Unterfamilie der „Puplets“. Dies sind mit speziellen Software-Paketen ausgestattete Puppy-Varianten, die meist im Puppy-Forum vorgestellt werden (siehe „Puplet for special features“ unter http://puppylinux.org/main/).
Im Allgemeinen fahren Sie am besten mit Puppy Slacko (Slackware) oder Puppy Thar (Ubuntu 14.04). Das auf Ubuntu 16.04 basierende und längst überfällige Xenialpup ist noch Beta. Das teilweise aus Ubuntu 16.04 gebaute Quirky vom Puppy-Gründer Barry Kauler (http://barryk.org/quirky/) ist experimentell und nicht für den Produktiveinsatz empfohlen. Das inspirierende Puppy-Konzept treibt aber allerlei Blüten, die je nach Einsatzzwecke ebenfalls interessant sein könnten:
Lxpup nutzt statt des JWM-Fenstermanagers einen soliden LXDE-Desktop, der für manche Anwender vertrauter ausfällt (https://sourceforge.net/projects/lxpup). Die vorinstallierten Programme fallen mit der Firefox-Abspaltung Palemoon, Mailclient Sylpheed oder Gparted ebenso Puppy-typisch aus wie die große Zahl kleiner System-Tools. Hauptmotiv für Lxpup ist eindeutig der LXDE-Desktop.
Simplicity ist ein Abkömmling Lxpup und geht einen Schritt weiter Richtung Desktop-System. Mit einem fast 600-MB-ISO-Abbild (http://simplicitylinux.org/) übertrifft Simplicity übliche Puppies um das Dreifache, liefert dafür aber ein komplettes Desktop-System unter einer LXDE-Oberfläche (Firefox, Skype, VLC, Libre Office). Aufgrund dieser Software sind die Hardware-Anforderungen etwas höher als bei einem reinen Puppy. Nach unserer Ansicht widerspricht Simplicity dem Konzeptkern der Puppy-Livesysteme, hat aber eine gewisse Popularität.
Macpup ist ein Puppy mit dem ganz hübschen, aber exotischen Enlightenment-Desktop (http://macpup.org) – nur für Enlightenment-Fans! Wer ein pragmatisches Zweitsystem sucht, handelt sich damit nur weitere Komplikationen ein. Immerhin handelt es sich um ein typisches Puppy mit einem nur 220 MB großen Abbild, das sogar für einen ausgewachsenen Firefox Platz findet.
Fatdog ist ein witziger Name für ein kleines Puppy-System, dessen ISO-Abbild etwa 360 MB beträgt (http://distro.ibiblio.org/fatdog/iso/). In der Runde der sonstigen Puppy-Winzlinge darf Fatdog aber in der Tat als dicker Hund gelten. Dies geht in erster Linie auf die erweiterte Software zurück, da bereits ein komplettes Libre Office, ferner Gimp und der VLC an Bord sind. Als Desktop dient LXDE mit Openbox.