25 Jahre Linux: Slackware 1.1.2 – Meine erste Linux-Distribution

Da sich der Geburtstag von Linux zum 25 mal jährte, dachte ich mir, es wird mal Zeit eine uralte Linux-Distribution auszugraben und auszuprobieren.

Ich hatte den gleichen Artikel schon einmal vor ein paar Jahren auf meinen Blog veröffentlicht, dieser ging aber nach der Stilllegung dieses aber verloren. Dank der Wayback-Machine habe ich ihn wieder herstellen können (Wenn auch ohne Bilder). Zusätzlich habe ich ihn noch ein wenig überarbeitet.

Einleitung

Slackware 1.1.2 erschien am 15.Februar 1994. Ausgestattet war diese Distribution mit Linux 0.99.15, GCC 2.5.8, und XFree86 2.0. Als Windowmanager wurden “fvwm” in der Version 1.2, sowie SUNs Desktopversuch OpenWindows mitgeliefert. Man kann die mitgelieferte Softwareausstattung also ohne Übertreibung als „prähistorisch“ bezeichnen.

Für mich war diese Version die erste Bekanntschaft mit Linux und Unix überhaupt. Ich spare mir an dieser Stelle die Geschichte, wie ich damals an die Installations-CD mit Slackware kam. Jedenfalls nimmt die Slackware-CD immer noch einen Ehrenplatz in meiner CD-Sammlung ein. Witzigerweise war die Installation unter QEMU auch das erste Mal, dass ich diese Slackware-Version überhaupt sauber zum Laufen bekommen habe. Als ich mir nämlich die CD damals kaufte, hatte ich gerade einmal einen Rechner mit einer 386SX25-CPU, 3MB RAM und einer 40MB Festplatte. Da ich im Leben noch nie etwas von Swap-Partitionen gehört hatte, ging mir beim Rumspielen mit dem System immer der Speicher aus, weshalb es damals auch bei einigen wenigen Versuchen blieb. Die ersten richtigen Schritte mit Linux machte ich erst ein paar Monate später mit einem 386DX40MHz, 4MB RAM, einer 120MB Festplatte und DLD (Deutsche Linux Distribution).

Die Installation

Die Installation dieser alten Slackware-Version stellte mich vor einige besondere Herausforderungen:

Linux lernte erst mit Version 1.2 mit IDE-CDROM-Laufwerken umzugehen. Davor konnte es nur mit einigen proprietären Laufwerkscontrollern und den passenden Laufwerken (Das bekannteste Laufwerk war damals ein Single-Speed-Laufwerk von Mitsumi) umgehen. Ein direkter Zugriff auf das CD-Image während der Installation war also nicht möglich.

Mir blieben also nur zwei Wege, die Installation durchzuführen:

  1. Installation über Disketten-Images
  2. Installation über ein gemountetes Installationsverzeichnis

Den ersten Weg konnte ich mir gleich sparen, da außer der „root“- und „boot“-Diskette (Ältere Linux-Benutzer dürften sich noch erinnern), keine weiteren Disk-Images vorlagen. Ich hätte also alle Dateien der einzelnen Verzeichnisse auf dutzende Disketten verteilen müssen und dazu hatte ich einfach keine Lust.

Als zweite Möglichkeit bot sich die Installation per gemounteten Installationsverzeichnis an. Der Installer von Slackware bietet seit Alters her die Möglichkeit an, die Installationsdateien aus einem beliebigen Verzeichnis zu holen. Ich musste also nur einen Weg finden die Dateien auf eine, von Slackware lesbare, Partition zu packen.

Um dieses zu ermöglichen, musste ich folgendermaßen vorgehen:

  1. Erstellen eines zusätzlichen QEMU-Festplatten-Images mit ca. 100MB.
  2. Einbinden dieses Images (neben dem Image des später installierten System) in QEMU.
  3. Partitionieren und formatieren der neuen Partition unter dem virtualisierten Slackware mit dem ext2-Dateisystem.
  4. Mounten des QEMU-Images bzw. der ext2-Partition innerhalb meines Host-Systems, mit Hilfe von des Kernelmoduls „nbd“ und „qemu-nbd“.
  5. Kopieren aller Installationsdateien von Slackware auf die Partition.
  6. Einbinden der Partition in das virtualisierte Slackware.
  7. Auswählen des Verzeichnisses im Installer.

Dieser Weg funktionierte deshalb, weil sich das ext2-Dateisystem in all den Jahren kaum verändert hat bzw. moderne Versionen des Dateisystems einen Kompatibilitätsmodus für ältere Versionen besitzen und man ein älteres Dateisystemformat relativ problemlos auch heute noch mounten kann.

Jedenfalls konnte ich am Ende innerhalb der virtuellen Maschine, problemlos auf die Installationsdateien von Slackware zugreifen.

Alte Dateisysteme von Linux:

  • Minix – Dieses war das ursprüngliche Dateisystem bei der Entwicklung von Linux. Es wurde 1:1 von Minix übernommen, wurde aber recht schnell, wegen zu großer Beschränkungen, gegen weiterentwickelte Dateisysteme ersetzt. Das Minix-Dateisystem wurde aber noch einige Jahre auf den Installationsdisketten diverser Linux-Distributionen benutzt (z.B. SuSE).
  • extfs – Der Vorgänger des bekannten ext2fs. Das Dateisystem war im Grund nur eine leicht verbesserte Version des Minix-Dateisystems.
  • Xiafs – War eine verbesserte Variante des minix-Dateisystems und war bis zu einem bestimmten Zeitpunkt stabiler, schneller und platzsparender als das bekannte ext2-Dateisystem. Größtes Manko im Vergleich zu ext2, war das Fehlen eines “Dirty”-Bits um ein nicht korrekt ausgehängtes Dateisystem zu markieren. So musste ein Dateisystemcheck immer von Hand ausgeführt werden. Zudem entwickelte sich ext2 damals rasant weiter, sodass Xiafs ab einem bestimmten Zeitpunkt nicht mehr konkurrenzfähig war.

Die Konfiguration

Nach der Installation fing die eigentliche Arbeit an:

So gab es damals nicht ohne Weiteres eine deutsche Tastaturbelegung. Diese musste von Hand nachgeladen bzw. in die Datei „rc.local“ eingebunden werden.

Auch die Inbetriebnahme der Netzwerkkarte gestaltete sich etwas schwieriger, da Plug’n Play und PCI damals noch nicht existierten. Zum Glück erlaubt QEMU auch das Emulieren einer ISA-Netzwerkkarte. Da die Version 0.99.15 einen kleinen Bug im Zusammenhang mit der NE2000-Karte hat (Es wird grundsätzlich IRQ4 benutzt, egal was in der Config-Datei des Kernels eingestellt ist), habe ich den Kernel gleich auf Version 1.0 aktualisiert (Linux 0.99.15 wurde im Dezember 1993 freigegeben. Die Version 1.0 erschien im März 1994).

Als größtes Problem sollte sich die Einrichtung des X-Servers erweisen. Da sich die Syntax der X-Konfigurationsdatei in den letzten 20 Jahren sehr stark verändert hat, musste ich erst einmal mein Wissen über diese alte X11-Version auffrischen. So musste man sich damals noch mit den Modeline-Einträgen zur Programmierung der passenden Auflösung und Bildwiederholfrequenzen herumärgern. Durch die freie Programmierung des Monitors musste man damals sehr vorsichtig sein, um seinen Monitor nicht über den Jordan zu schicken. Nicht wenige Benutzer sahen nach einer Fehlkonfiguration (Weil sie z.B. den Monitor außerhalb seiner Spezifikation betrieben) schwarzen Rauch aus den Lüftungsschlitzen aufsteigen. Unter QEMU kann so etwas natürlich nicht passieren, da der Monitor bzw. die Grafikkarte nur emuliert wird. Hier kann man im Prinzip Fantasiewerte in einem Modeline-Eintrag angeben. Hauptsache die Felder mit den der Auflösung sind richtig eingetragen.

Auch musste ich explizit einen bestimmten (eigentlich falschen) „Cirrus Logic“-Chip angeben (QEMU benutzt den Cirrus Logic 5446, benutzt habe ich den Cirrus Logic 5424, kurz clgd5424), um den X-Server überhaupt zum Laufen zu bekommen. Der X-Server kannte nämlich die ID des emulierten Grafikchips noch nicht (Der “verbaute” Grafikchip kam erst ein paar Jahre später auf dem Markt).

Danach lief der Xserver vollkommen problemlos, auch wenn nach dem Umschalten auf die Textkonsole die Schrift nicht mehr angezeigt wird. Zumindest reagiert das Terminal noch auf Eingaben, wodurch ein „reboot“ abgesetzt werden kann.

Betrieb

Tja, was ist mit so einem alten System überhaupt noch möglich? Man kann sich daran ergötzen ein Linux-System zu haben, dass innerhalb weniger Sekunden betriebsbereit ist. Richtiges Arbeiten nach den heutigen Maßstäben ist mit dieser alten Slackware-Version nicht mehr möglich. Dazu fehlen einfach die Programme bzw. die vorhandenen Programme sind einfach schon zu alt. Ich habe z.B. versucht eine alte Version des Mosaic Browsers zum Laufen zu bekommen, was aber aus verschiedenen Gründen fehlschlug (Fehlende Motif-Bibliotheken, andere fehlende Bibliotheken, generelle Bugs beim Starten). An modernere Programme die Gtk oder Qt benötigen braucht man gar erst nicht zu denken.

Im Grunde sind als Produktivprogramme nur Emacs, TeX (ohne LaTeX), GCC, diverse andere Editoren und einige kleinere grafische Tools vorhanden. Also nichts, womit sich ein moderner Computerbenutzer überhaupt anfreunden würde.

Fazit

Im Vergleich zu heutigen Linux-Distributionen wirkt die alte Slackware-Installation sehr unfertig und kantig. Es gibt so gut wie keine Automatismen oder Komfortfunktionen. Das man z.B.nach der Installation nur eine englische Tastaturbelegung hat, ist noch eines der kleineren Übel. Die größte Hürde wird für die meisten die Einrichtung eines funktionierenden Xservers sein gewesen.

Linux war damals noch ein System für Menschen, die sich schon mit Unix auskannten und daheim auch ein “echtes” Unix haben und/oder gerne an ihrem Computer experimentierten und etwas Neues kennenlernen wollten. Es war definitiv nicht für Leute gedacht, die ihren Computer nur einfach benutzen wollten. Ohne eine gedruckte Dokumentation lief fast gar nichts, schon alleine aus dem Grund, da es damals keine bezahlbaren Zugänge zum Internet für den Heimanwender gab.

Das war auch der Grund warum z.B. SuSE Linux in Deutschland recht schnell zum Marktführer bei den Linux-Distributionen wurde. Man bekam sehr gute gedruckte Handbücher und die Vorkonfiguration des gesamten Systems war auch deutlich besser als beim reinen Slackware (Auf dem SuSE Linux in den ersten Versionen basierte).

Ich habe mir mal den Spaß erlaubt und ein TAR-Archiv mit den QEMU-Image-Dateien des installierten Systems bei Dropbox hochgeladen. Um das System in Betrieb zu nehmen, muss man nur QEMU installieren, das Archiv entpacken und über Befehl „start-slackware.sh“ ausführen.

Die Installation startet direkt zum einem grafischen Login durch. Der Benutzer „gonzo“ startet den Fenstermanager “fvwm2”. Es sind noch die Benutzer „satan“ (Verzeichnis „/home/hell“) und „snake“ (Verzeichnis „/home/pit“) vorhanden, die aber komplett unkonfiguriert sind und den Fenstermanager “twm” starten. Alle Benutzer (inkl. „root“) haben kein gesetztes Passwort.

Um den Rechner sauber herunterzufahren, muss man in einem geöffneten grafischen Terminal den Befehl su -c „/sbin/shutdown -h now“ bzw. su -c „/sbin/reboot“ ausführen. Beim Herunterfahren, Neustarten oder Ausloggen aus X11 (Wenn man den Textmodus benutzt und X11 erst später startet) gibt es leider einen Bug, welcher dazu führt, dass man die Text-Meldungen nicht mehr sehen kann. Man sollte deshalb ungefähr eine Minute warten, bis man das QEMU-Fenster schließt.

Um wieder dauerhaft den Textmodus einzustellen, muss man in der Datei „/etc/inittab“ das Standard-Runlevel von 6 auf 5 ändern (Zeile „id:6:initdefault“). Im Text-Modus-Runlevel gibt es den oben beschriebenen Bug übrigens nicht. Dort funktioniert alles wie gewohnt.

Wer gerne mit Linux experimentiert, wird mit dem alten System seine wahre Freude haben. Vor allem kann man sehr deutlich sehen, wie sich Linux in den letzten 21 Jahren weiterentwickelt hat. Witzigerweise hat sich der Installer von Slackware seit dieser Zeit kaum verändert.

Am Ende möchte ich noch einen Link zu einer Webseite anbieten, welcher einige sehr alte Linux-Distributionen zum Download anbietet:

http://www.oldlinux.org/Linux.old/

Auf dieser Seite kann z.B. eine Version von DLD, welche damals die beste deutsche Übersetzung aller Distributionen anbot, finden. Auch findet man dort ein VMWare-Image einer Linux-Installation (Distribution ist in diesem Fall zu hoch gegriffen), die auf der Kernelversion 0.11 basiert. Diese Version erschien am 6. Dezember 1991 und stellte die erste Linux-Version dar, die unter sich selbst kompiliert werden konnte (Bis zu dieser Version musste Linux unter Minix kompiliert werden). Linux war zu diesem Zeitpunkt nicht einmal drei Monate alt!

Tipps für das Thinkpad T460 und Ubuntu 16.04

Nach einigen Wochen mit dem Thinkpad T460 und Ubuntu 16.04, habe ich meine Probleme mit dem Notebook komplett lösen können.

Dazu benötigt es vier Dinge:

  1. Mindestens die Kernelversion 4.7.0rc7 aus dem Mainline-PPA
  2. Eine aktuellere Version des „linux-firmware“-Pakets, da der i915-Treiber eine aktuellere Version der Skylake-Firmware benötigt.
  3. Das Paket „TLP“

Zusätzlich habe ich die Proposed-Quellen aktiviert, um schneller Bugfixes zu erhalten.

Ich habe ich noch eine Datei names „iwl.conf“ im Verzeichnis „/etc/modprobe.d“ erstellt und mit folgendem Inhalt gefüllt:

options iwlwifi power_save=1 power_level=5

Durch diese kleine Maßnahme sinkt das Stromverbrauch der WLAN-Karte um einiges gesunken und ich erreiche dadurch im Alltagsbetrieb Laufzeiten von mehr als 8h.

Ich habe außerdem noch das oibaf-PPA aktiviert, welches Git-Versionen des Intel-Grafikktreibers und des Mesa-Stacks enthält. Dieses sollte man nur aktivieren, wenn bereit ist auch mal kleinere Fehler im Mesa-Stack zu akzeptieren. Ich benutze es seit einigen Wochen und bisher hatte ich noch keine Probleme (Alles läuft stabil, auch solche Brocken wie MOE).

Update: Thinkpad T460 und Ubuntu 16.04

Ich habe in den letzten Tagen ein wenig mit aktuelleren Kernel-Versionen herumexperimentiert. Dabei hat sich für mich herauskristallisiert, dass der DRM-Intel-Nightly-Kernel aus dem Ubuntu-Mainline-PPA die Grafik-Glitches beseitigt und zudem die Laufzeit noch ein wenig erhöht, da die Stromspareigenschaften des Systems noch besser genutzt werden.

Ich benutze aktuell die Version vom 07. Mai und bin bisher auf keine Probleme gestoßen.

Es gibt nur eine Einschränkung bei der Verwendung des obigen Kernels:

Man benötigt zwingend eine aktuellere Version des „linux-firmware“-Pakets, da der i915-Treiber eine aktuellere Version der Skylake-Firmware benötigt.

 

Thinkpad T460 und Ubuntu 16.04

Thinkpad T460Nach einem mehrjährigen Abstecher in die Mac-Welt (MacBook Air 13 seit Mitte 2013) bin ich am Montag mit meinem neuen Thinkpad T460 wieder in die „normale PC-Welt“ zurückgekehrt.

Das Thinkpad enthält sehr viele aktuelle Technik (Skylake-CPU, NVMe SSD, usw.) und wie fast jeder Linux-Benutzer weiß, sind aktuelle PC bzw. Notebook-Technik und Linux eigentlich keine gute Kombination (In diesem Fall ist das Notebook erst seit Mitte März auf dem Markt).

Trotzdem habe ich mir das Gerät zugelegt, da es sich im Gegensatz zu anderen „Ultrabooks“ gut aufrüsten lässt (Zwei DDR3L-Steckplätze) und als Business-Notebook einige nette Features enthält (Zwei Akkus (Einer intern fest verbaut, einer ist zum Wechseln), Docking-Anschluss, langer Ersatzteil-Support, mattes Display) und zudem spottbillig war (Gemessen an der Ausstattung). Als Student, Schüler oder Lehrer bekommt man die 1400€-Variante mit 256GB NVMe SSD, 8GB RAM und mattem FullHD-IPS-Display in diversen Online-Shops für knapp 900€. Das kein Betriebssystem mitgeliefert wird, spielte für mich keine Rolle.

Jedenfalls hatte ich erst ein paar Bauchschmerzen ob es mir überhaupt gelingen würde Linux bzw. Ubuntu 16.04 sauber zum Laufen zu bekommen. Meine Befürchtungen waren grundsätzlich unbegründet:

Alles was an Hardware verbaut ist funktioniert OotB. Ubuntu 16.04 lies sich völlig problemlos installieren und starten, nur für den Fingerabdruck-Scanner muss man ein zusätzliches PPA einrichten. Auf diesen habe ich aber verzichtet, da es in meinen Augen schneller geht sein Passwort einzugeben als den Finger jedes Mal über den Scanner zu ziehen.

Einige Benutzer haben sich im Zusammenhang mit Ubuntu 16.04 und dem HDMI-Anschluss über abstürzende Systeme beschwert. Ich konnte diesen Fehler nicht nachvollziehen. Vielleicht wurde er mit einem Kernel-Update in der Zwischenzeit gefixt (Ich habe aus den Proposed-Quellen die Version 4.4.0-22 installiert). Den Display-Port-Anschluss habe ich noch nicht getestet.

Das wichtigste überhaupt:

Die Akkulaufzeit ist sehr gut. Laut PowerTop benötigt das Notebook ca. 3,5W im Idle-Modus und installiertem TLP. Durch die beiden 23Wh-Akkus ist eine Laufzeit von über 12h möglich, realistisch sind aber eher 6-7h (Vor allem beim Einsatz von IntelliJ IDEA) Einen Tag an der Hochschule hält das Notebook auf jeden Fall locker durch.

Der Standby-Modus funktioniert ebenfalls problemlos. Nur hin und wieder muss der WLAN-Treiber händisch nach dem Aufwachen Ent -und Wiedergeladen werden, da der NetworkManager keine Netzwerke mehr findet bzw. eine Verbindung aufbaut, aber keine Netzwerke mehr anzeigt. Diesen Mechanismus versuche ich gerade zu automatisieren, damit dieser Schritt bei jedem Schlafenlegen und Aufwachen durchgeführt wird.

Das einzige Manko stellt der GNOME-Power-Manager dar, der immer nur die Restlaufzeit eines Akkus anzeigt. Dadurch bekommt man immer wieder den Eindruck, dass der Rechner mehr Strom verbraucht bzw. die Laufzeit kürzer als es tatsächlich der Fall ist. Es wird nämlich immer zuerst ein Akku komplett geleert bevor der andere an der Reihe ist. Leider kapiert das G-P-M nicht, weshalb man tunlichst vermeiden sollte, das automatische Herunterfahren bei niedrigerem Akkustand ausschalten.

Das einzig echte Problem sind die hin und wieder auftauchenden Grafik-Glitches (Bildschirm zuckt kurz), welche aber nur im Akkumodus auftauchen. Damit kann ich aber leben, da sie wirklich nur selten und kurz auftreten und dadurch nicht wirklich stören.

Alles in allem war das Notebook ein perfekter Kauf für mich und ich muss nicht auf Windows ausweichen um das Notebook vernünftig benutzen zu können.

Firefox 46 unter Linux standardmäßig als Gtk3-Build

Nach Jahren des Wartens wird seit Firefox 46 endlich standardmäßig Gtk3 als Toolkit benutzt. Dadurch passt sich Firefox besser an moderne Oberflächen an und benutzt z.B. die integrierten Scrollbars von Gtk3. Zusätzlich scheint Firefox ein wenig performanter in der Grafikdarstellung geworden zu sein, wobei das ein rein subjektiver Eindruck meinerseits ist.

Neben dem offiziellen Paket von der Mozilla-Seite wird in allen noch unterstützten Ubuntu-Versionen (14.04, 15.10 & 16.04) Firefox 46 ebenfalls als Gtk3-Build ausgeliefert.

Leider hat es die Multiprozess-Architektur noch nicht in Firefox 46 geschafft. Diese soll ab Version 48 dann für alle Benutzer aktiviert werden.

Kurztipp: Fehlende deutsche Übersetzung von Evolution 3.18

Ich benutze schon seit Jahren Evolution als E-Mail bzw. Groupware-Client. Leider fehlt in Ubuntu 16.04 seit einigen Wochen die deutsche Übersetzung des Programms.

Da eine Besserung im Moment noch nicht in Sicht ist, habe ich kurzerhand diese händisch „nachgerüstet“.

Ich habe aus dem GNOME3-Staging-PPA das „evolution-common“-Paket für Wily heruntergeladen und daraus die Datei „evolution-3.18.mo“ extrahiert und danach händisch nach „/usr/share/locale-langpack/de/LC_MESSAGES“ kopiert. Danach musste ich nur noch die Dateirechte anpassen.

Danach ist Evolution wieder auf Deutsch.

Unity in Ubuntu 16.04 erlaubt Verschieben der Dash

Seit heute (18.03.16) ist es (endlich) möglich die Dash von Unity an den unteren Rand des Bildschirms zu bewegen. Im Moment funktioniert das nur durch das Setzen eines dconf-Eintrages mit Hilfe von „gsettings“ oder dem „dconf-editor“:

gsettings set com.canonical.Unity.Launcher launcher-position "Bottom" # Setzt den Launcher nach unten
gsettings set com.canonical.Unity.Launcher launcher-position "Left" # Setzt den Launcher nach links

Im Moment ist die Unity-Version (7.4.0+16.04.20160318-0ubuntu1) noch in den Proposed-Quellen von Xenial, wird aber mit ziemlicher Sicherheit spätestens in ein paar Tagen auch in die offiziellen Quellen aufgenommen.

Unity mit Dash am unteren Rand

ZFS-Snapshots automatisch erstellen und kopieren

Im letzten Beitrag hatte ich das Tool „zfSnap“ erwähnt. Dieses Shell-Skript ist in den Universe-Quellen von Ubuntu (15.04 und höher) enthalten und vereinfacht das Erstellen und Verwalten von ZFS-Snapshots.

Ich habe mir zwei Cron-Skripte erstellt, welches das Erstellen von Snapshots meiner beiden Pool automatisiert. Ersteres erstellt mit Hilfe von „zfSnap“ jeden Tag einen Snapshot meiner beiden Pools „ubuntu-1“ (Der Systempartition) und „home-1“ (Benutzerverzeichnis) und kopiert diese Snapshots dann wöchenlich mit Hilfe von „zfs send“ auf meine zweite interne Festplatte.

Skript zum Snapshots erstellen (Liegt in „/etc/cron.daily„):

#!/bin/sh
test -x /usr/sbin/zfSnap || exit 0
/usr/sbin/zfSnap -a 5d rpool/ROOT/ubuntu-1 rpool/HOME/home-1
/usr/sbin/zfSnap -d

Die Parameter sind relativ leicht erklärt:

-a 5d -> Es werden maximal 5 Tage lang die Snapshots gespeichert (Dient quasi als Hinweis für den „d„-Parameter)

-d -> Löscht alle Snapshots, die älter als die Zahl am Ende des Names eines Snapshot ist.

Verständlicher wird die Sache, wenn man sich die Namensgebung eines Snapshots anschaut:

pool/HOME/home-1@2016-03-16_09.30.42--5d

Das Datum und die Uhrzeit sind selbsterklärend. Am Ende stehen dann die 5 Tage Haltezeit, die durch den Parameter festgelegt wurden.

Skript zum Kopieren der Snapshots (Liegt in „/etc/cron.weekly„):

#!/bin/sh
BACKUP_DIRECTORY="/data/Backups"
FILEEXTENSION="zfs"

LATEST=`zfs list -t snapshot -o name -s creation | tail -n2`
for NAME in $LATEST;
   do
   SHORTNAME=`echo $NAME | awk 'BEGIN{FS="/|--"; OFS="\t"}{print $3}'`
   zfs send $NAME > $BACKUP_DIRECTORY/$SHORTNAME.$FILEEXTENSION;
   done

In der Variablen „BACKUP_DIRECTORY“ kann man das Verzeichnis festlegen, in welches der/die Snapshots verschoben werden sollen. Das Skript funktioniert prinzipiell mit jedem Snapshots, also nicht nur mit solchen die mit Hilfe von „zfSnap“ angelegt wurden.

Beides zusammen ergibt für mich eine wunderbare Möglichkeit ohne Aufwand regelmäßig ein Backup meines Systems zu erhalten. Das schöne an der Sache mit den Snapshots ist zudem, dass man auch mal mit dem System experimentieren kann ohne keine Sorge haben muss, dass man etwas dauerhaft kaputt macht. Einfach vor dem Experiment einen Snapshot anlegen und wenn es schief geht, diesen wieder einspielen.

Der Tod einer SSD oder warum ich ab sofort Backups mache

Nach 5 Jahren des völlig problemlosen Dienstes hat meine SSD vollkommen unerwartet den Dienst quittiert. Sie starb einfach während der Aktualisierung meiner Ubuntu-Installation und das völlig ohne Vorwarnung. Bis zu diesem Zeitpunkt gab es nicht einmal ansatzweise einen Hinweis, dass die SSD plötzlich sterben könnte.

Zum Glück sichere ich alle wichtigen Daten per Syncthing, trotzdem musste ich mangels eines System-Backups den Rechner komplett neu aufsetzen. Dabei habe ich erst vor kurzem mein System auf ZFS umgestellt, damit ich solche Backups bequem sichern kann. Nur leider hatte ich bis zum Samstagabend noch keines durchgeführt. Also musste ich neben dem Neukauf einer SSD auch noch meine Ubuntu-Installation neu aufsetzen.

Sei’s drum. Fehler sind dazu da, dass man aus ihnen lernt. Ab sofort benutze ich zfSnap und cron um von meiner Installation regelmäßig Snapshots anzulegen. Zusätzlich lasse ich einmal pro Woche den neuesten Snapshot per „zfs send“ auf meine zweite interne Festplatte schieben. Dadurch bin ich wenigstens einigermaßen auf der sicheren Seite.

Zurück zu WordPress

Ich habe mich schweren Herzens entschlossen meinen Blog wieder auf WordPress umzustellen und das aus zwei Gründen:

  1. Yellow macht sich gut als einfaches Blog-System und sehr gut als statischer Webseitengenerator, aber sobald es um etwas komplexere Dinge geht (Vor allem ein gutes Kommentarsystem), steht man im Regen. Ich habe Tage damit verbracht ein gutes Flat-File-Kommentarsystem zu finden, habe aber nichts gefunden, dass wirklich gut mit Yellow harmoniert (Vor allem bezüglich des Themings).
  2. Das Theming ist 100% Handarbeit. Da es bei Yellow keine echten Themes (Im Sinne des Aufbaus der Seite) gibt, muss man den PHP-Code von Yellow stellenweise komplett abändern um das CMS an seine Wünsche anzupassen. Einfaches CSS-Theming ist kein Thema, komplexere Themes erfordern aber sehr, sehr viel Umbauarbeiten. Ein Beispiel war ein zusätzliches Menü mit Awesome-Font-Icons. Dieses musste ich von Hand kodieren und einbinden.

Mir gefällt Yellow aus den ursprünglich genannten Gründen immer noch sehr gut und ich werde meine Hochschulseite weiterhin damit betreiben (Alleine schon deshalb, weil ich dort keinen Datenbankzugriff habe und nur PHP 5.4 vorhanden ist und ich eh nicht viel daran ändere). Meinen Blog werde ich aber wieder mit WordPress betreiben.