Server automatisch mit Hilfe von Unattended-Upgrades und Apticron aktualisieren

Eine der wichtigen Aufgaben als Admin ist es, Sicherheitsaktualisierungen zeitnah auf dem Server einzuspielen. Bei meiner Suche zu Informationen zu Unattended-Upgrades habe ich diesen englischen Artikel auf howtoforge.com gefunden, der sowohl Unattended-Upgrades als auch Apticron vorstellt. Deswegen nur zur Dokumentation für das Spieleserverprojekt, drei wichtige Punkte.

1. Debians Sicherheitsankündigungen

Nicht nur für Serveradmins, sondern auch allgemein zu empfehlen ist Debians Mailingliste für Sicherheitsankündigungen. Hier werden nur sicherheitskritische Meldungen des Sicherheitsteams veröffentlicht, weswegen die Liste ruhig und äußerst informativ ist.

2. Unattended Upgrades

Unattended-Upgrades ist eine Software, die automatisch und unbeaufsichtigt Sicherheitsaktualisierungen herunterladen und aktualisieren kann.
aptitude install unattended-upgrades
/etc/apt/apt.conf.d/50unattended-upgrades:
Die Datei ist gut kommentiert. Hier lässt sich festlegen, welche Debian-Distribution aktualisiert werden soll, ob Pakete auf eine Schwarze Liste kommen und nicht erneuert werden dürfen, ob man per E-Mail informiert werden möchte, der Rechner nach dem Update neugestartet werden soll und so weiter. // leiten Kommentare ein.
Ein Auszug:

// Automatically upgrade packages from these (origin, archive) pairs
Unattended-Upgrade::Allowed-Origins {
"${distro_id} stable";
"${distro_id} ${distro_codename}-security";
// "${distro_id} ${distro_codename}-updates";
// "${distro_id} ${distro_codename}-proposed-updates";
};
// List of packages to not update
Unattended-Upgrade::Package-Blacklist {
// "vim";
// "libc6";
// "libc6-dev";
// "libc6-i686";
};
// Send email to this address for problems or packages upgrades
// If empty or unset then no email is sent, make sure that you
// have a working mail setup on your system. The package 'mailx'
// must be installed or anything that provides /usr/bin/mail.
Unattended-Upgrade::Mail "root@localhost";

/etc/apt/apt.conf.d/02periodic
In 02periodic wird das eigentliche Paket aktiviert. Täglich wird dann auf Updates überprüft.

// Enable the update/upgrade script (0=disable)
APT::Periodic::Enable "1";
// Do "apt-get update" automatically every n-days (0=disable)
APT::Periodic::Update-Package-Lists "1";
// Do "apt-get upgrade --download-only" every n-days (0=disable)
APT::Periodic::Download-Upgradeable-Packages "1";
// Run the "unattended-upgrade" security upgrade script
// every n-days (0=disabled)
// Requires the package "unattended-upgrades" and will write
// a log in /var/log/unattended-upgrades
APT::Periodic::Unattended-Upgrade "1";
// Do "apt-get autoclean" every n-days (0=disable)
APT::Periodic::AutocleanInterval "7";

Das war es auch schon. Bei einem Update werden alle Nachrichten nach /var/log/unattended-upgrades geschrieben.
Zusätzlich besteht auch die Möglichkeit das Paket mit Hilfe von debconf zu konfigurieren.
dpkg-reconfigure -plow unattended-upgrades

3. Apticron

Als Alternative oder zur Ergänzung kann man apticron installieren, ein Shellskript, das regelmäßig auf Updates überprüft, im Gegensatz zu unattended-upgrades aber die Pakete nicht automatisch installiert. Mit Hilfe von apt-listchanges werden Veränderungen und Neuigkeiten per E-Mail an die eingestellten Adressen verschickt.
Diese werden in /etc/apticron/apticron.conf festgelegt.

Sauerbraten: Cube Server Lister für Debian und Ubuntu kompilieren

Für Cube2: Sauerbraten gibt es ein nettes, grafisches Programm, mit dem sich Sauerbraten-Server überwachen lassen. Es existiert eine Übersicht sowohl über die Anzahl der Spieler, den Serverstatus, diverse Variablen und auch eine Mapvorschau gibt es. Mit einem simplen Mausklick kann man sich mit dem Server verbinden.


Kleiner Haken. Der Cube Server Lister wurde schon länger nicht mehr aktualisiert und es gibt keine offiziellen Debian- und Ubuntu-Pakete. Als Alternativen bieten sich zum einen die Trunk-Version oder ein Projekt auf GitHub an, welches CSL so gepatcht hat, dass es mit der aktuellen Justice-Version von Sauerbraten funktioniert.
Wenn man von dort die Quellen heruntergeladen hat, muss man nur noch der Anleitung auf ogros.org folgen, dort wo der Cube Server Lister auch von "WahnFred" entwickelt worden ist.

Die Kurzfassung

  1. aptitude install automake libtool libglib2.0-dev intltool g++ libwxgtk2.8-dev
  2. svn co http://cubelister.svn.sourceforge.net/svnroot/cubelister/trunk csl-svn
  3. In das csl-svn-Verzeichnis wechseln.
  4. make -f Makefile.cvs (bei der GitHub-Version nicht notwendig)
    ./configure
    make
    sudo make install

The Debian Way

Besser ist es natürlich direkt Deb-Pakete zu erstellen. Zuvor müssen die Quellen debianisiert werden.
Ihr müsst nur den Schritten in dem alten Beitrag folgen und das Quellverzeichnis richtig umbenennen (z.B. csl-0.81 und csl_0.81.orig.tar.gz) und das .orig.tar.gz-Archiv erstellen. Anschließend wechselt ihr in das Verzeichnis und führt dh_make aus. (Paket dh-make muss installiert sein. )
Das Paket lässt sich dann mit
dpkg-buildpackage -rfakeroot -us -uc
bauen und mit
dpkg -i csl_0.81-1_i386.deb
installieren.
Anmerkung:
Ich musste noch zwei Zeilen in /po/POTFILES.in nachtragen, bevor sich das Debian-Paket kompilieren ließ.

./src/engine/CslCharEncoding.cpp
./src/engine/CslCharEncoding.h

Es erwarten euch noch eine Reihe von Aufgaben, bevor ihr tatsächlich dieses Paket in die offiziellen Repos hochladen dürft. Für eine lokale und private Version reichen diese Schritte aber aus.
Der Cube Server Lister lässt sich schließlich mit csl starten. Unter Einstellungen müsst ihr noch den Pfad zur ausführbaren Sauerbraten-Datei setzen (/usr/games). Um ein Update vom Masterserver zu bekommen, einfach F5 drücken.

Chronicle: Bloggen mit dem Blogkompilierer

Chronicle ist ein sogenannter Blogkompilierer, der aus einfachen Textdateien, Markdown und HTML ein vollständiges Blog mit Schlagworten, Archiv und RSS-Feeds erstellen kann. Ich hatte ursprünglich vorgesehen alle Webseiten von Hand zu erstellen, da linuxiuvat.de hauptsächlich zur Beschreibung von Spielen, Dokumentation und für Statistiken gedacht ist, für die ein CMS mit dynamischen Inhalten über das Ziel hinaus schießen würde. Auf die Idee nach einem statischen Webseitengenerator wie Chronicle zu suchen, hat mich ein Kommentator gebracht, der gerne mit Hilfe eines RSS-Feeds auf dem Laufenden bleiben wollte.
Wie man Chronicle konfiguriert und bedient, darum geht es in diesem Beitrag.

Installation und Konfiguration

aptitude install chronicle


Es gibt zwei Möglichkeiten Chronicle zu verwenden. Man kann den Blogkompilierer entweder direkt auf dem vServer installieren oder ebenso praktisch auf dem eigenen Rechner zu Hause und verschiebt dann die generierten Seiten per FTP/SSH zum Webserver. Die Einstellungen werden global entweder in /etc/chroniclerc oder für jeden Benutzer einzeln in ~/.chroniclerc vorgenommen.

# Hiervon werden die Blogeinträge gelesen
input = /home/apo/blog/input
# In diesem Verzeichnis liegt später das fertige Blog
output = /home/apo/blog/news
# Name des Themas. Die Themen liegen in /usr/share/chronicle/themes
theme = default
# Anzahl der Blogeinträge auf der Startseite
entry-count = 10
# Anzahl der RSS-Einträge
rss-count = 10
# Wir schreiben die Artikel in HTML. Alternativen sind Markdown und Textile
format = html
# Kommentarfunktion einschalten
no-comments = 0
# Der Name des Blogs
blog_title = Linux iuvat /news

Die Standardeinstellungen sind sinnvoll und es gibt nur noch wenige zusätzliche Optionen. Um einen Blogartikel zu erstellen, genügt es eine Textdatei im Input-Ordner mit dem folgendem Format zu erstellen.

Title: Hallo Welt
Tags: Neuigkeiten, Debian, Ubuntu
Date: 21st April 2012
<h2>Wichtige Nachrichten</h2>
<p>Mein Blog ist online!</p>

Lediglich die Datumsangaben müssen in englischer Notation erstellt werden. Die Ausgabe kann aber mit der Option --lang=german angepasst werden.
Nachdem auf die gleiche Weise alle Blogartikel geschrieben wurden, wird das gesamte Blog mit
chronicle
generiert und landet im vorher definierten Output-Verzeichnis.

Kommentare

Wie im letzten Artikel erwähnt, ist der Nachteil eines statischen Webseitengenerators, dass eine Kommentarfunktion entweder extern ausgelagert oder serverseitige Skripte zusätzlich installiert werden müssen. Im Falle von Chronicle wird aber schon ein CGI-Skript mitgeliefert, dass es möglich macht Kommentare zu verfassen. Diese werden in einer Textdatei gespeichert und beim Neukompilieren des Blogs in die statischen Seiten integriert.
Drei Einstellungen sind in der comments.cgi zu ändern.

my $COMMENT = "/var/www/comments/"
my $TO = 'root@localhost';
my $FROM = 'www-data@vps.example.com';

Der Ordner in dem die Kommentare gespeichert werden, sollte aus Sicherheitsgründen außerhalb des Webserver-Root-Verzeichnisses liegen. Die Benachrichtigungsadresse lässt sich beliebig wählen. Anschließend muss die Datei nur noch in das CGI-Verzeichnis des Webservers kopiert werden. Wer z.B. Lighttpd benutzt, kann das entsprechende CGI-Modul mit
lighty-enable-mod cgi
aktivieren. Zusätzlich muss noch folgendes bedingtes Konstrukt zur Konfiguration in der lighttpd.conf oder /etc/lighttpd/conf-available/10-cgi.conf hinzugefügt werden.

$HTTP["url"] =~ "^/cgi-bin/" {
cgi.assign = ( "" => "/usr/bin/perl" )
}

Die Kommentare werden mit dem Befehl
chronicle --comments=Pfad_zum_Kommentar_Ordner
eingebunden. Es gibt verschiedene Ansätze wie man dem Spamproblem entgegnen kann. Da ich bisher noch keine Probleme damit hatte, ein anderes Mal mehr dazu.

Fazit

Einige Ideen wie Chronicle aussehen kann, findet ihr im Blog des Machers, Steve Kemp, auf der Homepage von Kai Wasserbäch oder auf meiner News-Seite bei linuxiuvat.de.
Die Themen lassen sich mit etwas HTML-Kenntnissen gut anpassen. Chronicle ist schlicht, aber dadurch meiner Meinung auch einfach zu erlernen. Man erhält mit lediglich einem Befehl ein vollständiges Blog mit Schlagworten, Feeds und Archiven, dass ressourcenschonend und schnell ist. Wem das noch nicht zusagt, sollte auch einen Blick auf die Alternativen werfen.

Humble Bundle für Android 2 – etwas verspätet

Leicht verspätet, ein kurzer Rückblick auf Humble Bundle for Android 2. Noch etwa eine Stunde und die vorerst letzte Runde geht zu Ende. Der große Knaller war dieses Mal aus meiner Sicht nicht dabei, obwohl eine gute Mischung angeboten wurde. Wie immer gilt ihr bestimmt den Preis, der zwischen Entwicklern, gemeinnützigen Organisationen und den Veranstaltern der Aktion aufgeteilt werden kann.
Obwohl mir dieses Mal ein wenig die Muse fehlte um jedem Spiel die gebührende Aufmerksamkeit zu schenken, habe ich zumindest Swords & Soldiers angespielt. Mein erster Eindruck bestätigte sich schnell, dass es spieltechnisch etwas leichtere Kost war. Die Grafik ist comichaft und bunt, das Spielprinzip darf sich wohl seitwärtsbewegende Strategie nennen. Für Debian und Derivate lässt sich das Ganze spielend leicht per .deb-Paket installieren.

Im Kampagnenmodus startet man zuerst als Volk der Wikinger, die ihr Essen gegen diverse angreifende Bösewichte verteidigen müssen. Ja richtig gelesen, genauer gesagt ist es ihr Barbecue.
Als Ressourcen hat man am Anfang Gold und Mana vorrätig, die man dazu einsetzen muss um neue goldschürfende Maiden anzuwerben, blutrünstige Berserker und Axtwerfer den Flächentarifvertrag schmackhaft zu machen und schließlich mit Blitzen aus dem Himmel, die durch das Mana gespeist werden, die Gegner ordentlich zu vermöbeln.
Im Prinzip geht es darum, wie in so vielen anderen Spielen auch, zur richtigen Zeit die richtigen Knöpfe zu drücken, welche deutlich am oberen Bildschirmrand hervorleuchten. Die eigenen Kämpfer lassen sich nicht steuern. Sie marschieren unaufhaltsam ihrem Schicksal entgegen und beginnen beim ersten Feindkontakt wild um sich zu schlagen. Mit Heilzaubern, die ebenfalls durch Mana gespeist werden, kann man gezielt einzelne Kämpfe für sich entscheiden. Je nach dem wie gut man spielt, werden zusätzliche Herausforderungen in Form neuer Aufträge freigeschaltet.
Also kurzum ein typisches Spiel für Zwischendurch, dass wirklich selbsterklärend ist und niemanden überfordern will und sich meiner Meinung als Smartphonespiel hervorragend macht.
Ich denke, das war auch das Ziel dieses Bundles, es für Androidnutzer interessant zu gestalten. Das Gute dabei ist, dass wieder neue DRM-freie Spiele für Linux dazugekommen sind! Wer die Gelegenheit hatte mal bei Google Play reinzuschauen, findet das ein oder andere Spiel aus den letzten Bundles auch dort. Wohlgemerkt natürlich nur für Android. Wenn ich mir die Verkaufszahlen da so anschaue, kennen scheinbar noch nicht alle die Humble Bundles.
Verpasst habt ihr noch:

  • Snuggle Truck: Vermutlich das Aushängeschild der Aktion. Mit dem Truck und einer Ladung voll Tieren geht es durch teilweise äußerst schwieriges Terrain. Ziel ist es die Tiere sicher durch Loopings und Schluchten zum nächsten Zoo zu bringen.
  • Canabalt: Jump&Run, dass man auch zu Zweit spielen kann.
  • Zen Bound 2: Ein interessantes Puzzlespiel mit der Aufgabe eine hölzerne, dreidimensionale Figur durch Rotation in so wenig Schnur wie möglich einzuwickeln.
  • Cogs: Aus einem der letzteren Bundles schon bekannt. Ein kniffliges dreidimensionales Puzzlespiel, bei dem es darum geht eine Maschine durch geschicktes Zusammensetzen zum Laufen zu bekommen.
  • Avadon - The Black Fortress: Ein Rollenspiel mit isometrischer Draufsicht. Sieht auf den ersten Blick ziemlich nach alter Schule aus. Verschiedene Klassen, Zaubersprüche, Gegenstände und die obligatorischen Dungeons mit finsteren Gegnern dürfen nicht fehlen.

Debian-Server mit der unkomplizierten Firewall ufw absichern

Zwischen dem Sperren des Root-Zugangs für SSH und dem Installieren des ersten Spieleservers musste ich eine Firewall einrichten. Ich bin noch kein Firewall-Experte, weswegen ihr genau überlegen solltet, ob die folgende Anleitung euren Ansprüchen genügt. Fakt ist aber, dass ich damit momentan meinen Spieleserver mit Debian schütze und ich damit bisher zufrieden sein kann. 😉
Die Errichtung einer Barriere mit Hilfe von netfilter und iptables unterstützen heute viele Werkzeuge. Ich hatte mir ufw und arno-iptables-firewall als mögliche Kandidaten ausgesucht und mich dann für die "unkomplizierte Firewall" entschieden.
Ursprünglich von Ubuntu entwickelt bietet ufw eine einfache Möglichkeit nur die Dienste freizugeben, die tatsächlich öffentlich verfügbar sein sollen.

Installation

aptitude install ufw

Konfiguration

ufw enable


Aktiviert die Firewall. Bestehende SSH-Verbindungen können unter Umständen getrennt werden. Standardmäßig werden eingehende Verbindungen geblockt und ausgehende Verbindungen erlaubt. Bevor man die Firewall aktiviert, kann man z.B. mit

ufw allow proto tcp from any to any port 22


explizit Port 22 für den SSH-Zugang freigeben.

ufw allow 44443/tcp


In der vergangenen Erklärung konnte man sich über Port 44443 per SSH einloggen, also muss zuerst dieser Port mit allow freigeschaltet werden. Dabei lässt sich mit /udp oder /tcp die Erlaubnis auf bestimmte Protokolle eingrenzen oder ohne auf beide ausdehnen.

ufw limit 44443/tcp


Noch mehr Sicherheit bietet die Limit-Funktion von ufw, mit der die Anzahl von eingehenden Verbindungen pro IP begrenzt wird, wodurch Brute-Force-Attacken deutlich erschwert werden.

ufw default deny


Im Prinzip der wichtigste Schritt, da dadurch standardmäßig alle eingehenden Verbindungen abgewiesen werden. (Genauer, jedes eingehende Packet wird kommentarlos verworfen. DROP)

ufw status verbose


Zeigt den Status der Firewall an. Oder einfach nur ufw status.

ufw allow 27960/udp


Gibt den UDP Port 27960 für OpenArena frei.

ufw allow 40000:40009/udp


Gibt die Ports von 40000 bis 40009 für UDP frei (XPilot-ng)

ufw allow http


Eine andere Schreibweise um Standard-Port 80 für den Webserver freizugeben

ufw logging on und ufw logging medium


Der erste Befehl schaltet die Logfunktion der Firewall ein (standardmäßig auf niedrig). Weiterhin gibt es noch medium, high und full.

ufw delete allow 44443/tcp


Mit der Delete-Funktion lassen sich Regeln im laufenden Betrieb auch wieder löschen.

Ausgehende Verbindungen

Ausgehende Verbindungen werden standardmäßig erlaubt. Im meinem Fall bin ich der einzige Benutzer mit Shellzugriff auf meinem Server und es gibt bisher weder CGI noch PHP-Anwendungen, die man manipulieren könnte um diese Einstellung zu missbrauchen. An dieser Stelle scheiden sich die Geister. Tatsache ist, man kann sein System so fest zuschnüren, dass nicht einmal ausgehende Verbindungen erlaubt sind oder einen Mittelweg finden.

ufw deny out to any


Blockiert alle ausgehenden Verbindungen

ufw allow out 80,443/tcp


Erlaubt ausgehende TCP-Verbindungen für Port 80 und 443.

IPv6

UFW blockt standardmäßig alle Anfragen mit IPv6. Damit ufw mit IPv6 zusammenarbeitet muss in /etc/default/ufw die Variable IPV6 auf Yes gesetzt und die Firewall einmal mit ufw reload neu gestartet werden.

Fazit

Die unkomplizierte Firewall macht ihrem Namen alle Ehre. Das Prinzip ist immer das gleiche. Alle eingehenden Verbindungen verwerfen und nur die tatsächlichen Dienste freigeben, die man wirklich braucht. Wie restriktiv man ausgehende Verbindungen behandelt, hängt vom eigenen Benutzerszenario ab. Die Regeln lassen sich noch deutlich verfeinern. Mehr Informationen verrät man ufw oder die folgenden Links.

Links

Ubuntu ufw Documentation
Firewall Ubuntu Servers

Crossover XI und Wine: Freie Software mit Support in neuem Gewand

Es gibt neue Artikel zu einem meiner Lieblingsthemen "ältere Rechner", doch bevor es hier ab morgen heute wieder Neues geben wird, möchte ich auf Grund der fortgeschrittenen Stunde nur kurz auf ein Softwarepaket hinweisen, dass vor kurzem in einem neuen Gewand erschienen ist.
Die Rede ist von Codeweavers Crossover XI. Normalerweise versuche ich Produktwerbung in diesem Blog zu meiden, da ich nicht den leisesten Anschein erwecken möchte in Verbindung zu einem Produkt zu stehen, dass ich unter Umständen nicht einmal regelmäßig benutze. Auf der anderen Seite sind solche Gedanken ziemlicher Quark, da man permanent Dinge kauft und seine Brötchen unter Umständen mit dem Verkauf der selben verdient. Ich habe manchmal das Gefühl viele vergessen, dass es zwar Open Source und Freie Software heißt, damit aber nicht ausgeschlossen ist, dass man diese Produkte auch ausdrücklich verkaufen darf und bezahlte Dienstleistungen selbstverständlich sind oder zumindest sein sollten. Gerade mit Freier Software scheint es aber oft so zu sein, dass viele immer noch frei und kostenlos durcheinander würfeln.
Wie in der Vergangenheit schon geschrieben, sehe ich auch Ubuntus SoftwareCenter gelassen entgegen und finde es sogar gut, dass dort auch kommerzielle Angebote unterbreitet werden. Die Frage ist dabei immer, brauche ich tatsächlich ein solches Produkt oder gibt es Alternativen, die ich nutzen kann. Schon ein paar Mal wurde mir als Grund genannt, warum er oder sie noch nicht mit Linux arbeiten würde, weil Software X oder Y fehlen würde. Doch trifft das tatsächlich auf den "normalen" Desktop-Konsumenten immer zu?
Kurz gesagt: Nenne mir deinen privaten Anwendungsfall und ich sage dir wie die Freie Software-Lösung dazu heißt!
Ähnlich aber doch anders stellt es sich bei dem kommerziellen Wine-Ableger von Codeweavers dar. Hier muss ich mich nicht einmal zwischen freier und unfreier Software entscheiden. Hier kann ich problemlos zwischen der durch die Gemeinschaft betreuten Wine-Software und diesem kommerziellen Produkt mit Support wählen.
Ich werde nicht gezwungen, dennoch denke ich, dass es sich lohnt zumindest ab und zu auch einmal etwas Geld für die kommerzielle Version auszugeben, insbesondere dann, wenn man der Überzeugung ist, dass populäre Spiele für die Windows-Plattform nicht unter Linux laufen würden. Im Gegenteil Starcraft II funktioniert bestens mit Linux und Wine.
Meine Erfahrungen mit Crossover und Starcraft II waren ebenso positiv. Ich sage damit nicht, dass ich mir jede Crossover Version gekauft habe oder kaufen würde und seit ein paar Monaten spiele ich gar keine Wine-Spiele mehr und andere Software habe ich noch nie unter Linux vermisst. Ich denke nur bei Crossover wird ein sehr positiver Aspekt von Freier Software deutlich, da ich für das investierte Geld nicht nur Support und ein stabiles Produkt erhalte, sondern auch die Weiterentwicklung der Software unterstützen kann. Codeweavers trägt nämlich zu einem wesentlichen Teil Code zum Wine-Projekt bei, was schließlich allen zu Gute kommt.
Was ist schließlich neu an Crossover XI? Es gibt nur noch ein Produkt, dass sowohl Spiele als auch alle anderen Windows-Anwendungen unterstützt und auf der seit gestern veröffentlichten stabilen Wine 1.4 Version basiert.
Meiner Meinung nach ein sehr fairer Schritt von Codeweavers, da man das Produkt vorher kostenlos testen kann. Gerade in ungewissen Zeiten um Wine in Debian kann das eine Alternative sein.

Ideen zur Datenrettung bei Rechnern mit kaputtem Bootmanager

...und so entkam ich schließlich den Außerirdischen, die mich zu ihrem König machen wollten. Zurück in der Wirklichkeit, rief mich ein Freund an, der sich bei einem dist-upgrade den Bootmanager GRUB zerschossen hatte, was er aber erst nach einem Reboot bemerkte. Sein wirkliches Problem war aber, dass er kein funktionierendes optisches Laufwerk mehr hatte und damit der Zugriff auf die Daten erst einmal verwehrt war. Ich mailte ihm ein paar Ideen zur Datenrettung, die ich für zukünftige Fälle einfach hier noch einmal kurz erwähne. 🙂

1. Der Adapter

Was wäre ich ohne ihn. Ich benutze einen USB zu IDE/SATA-Adapter von Digitus, mit dem ich eine Festplatte problemlos an jeden Rechner mit USB-Anschluss in Betrieb nehmen kann. Er eignet sich nicht nur dazu als Notanker im Fall der Fälle zu dienen, sondern erspart mir auch ein zusätzliches Gehäuse für eine externe Backup-Festplatte.

2. dd - disk destroyer

Man sollte als erstes die Daten auf der Platte komplett sichern, bevor man irgendetwas anderes damit anstellt.
// Sichert die komplette Platte sda

dd if=/dev/sda of=backup.img

// Nur den MBR sichern

dd if=/dev/sda bs=512 count=1 of=mbr.img

// Und ihn wieder zurückspielen

dd if=mbr.img of=/dev/sda bs=512 count=1

Bei einem vorhandenen Backup, hätte die letzte Zeile ausgereicht um das Problem aus der Welt zu schaffen. 🙂

3. Partimage und Partclone

Möchte man nur einzelne Partitionen sichern, geht es mit Partimage und Partclone oft bedeutend schneller.

4. Stichwort chroot

Mit dem Kommando chroot lässt sich das alte Root-Verzeichnis der ausgebauten Festplatte zum neuen, aktiven Wurzelverzeichnis machen, in dem man sich so verhalten kann als befände man sich im alten System. Unter Umständen nützlich, wenn man das System so reparieren möchte. Meiner Meinung aber eher die schwierigere und umständlichere Lösung. Ich hatte vor einem Jahr mit debootstrap Debian in ein laufendes Ubuntu installiert. Die Vorgehensweise ist die gleiche.

5. Reparatur in der Virtualbox

Nachdem man mit dd die Platte gesichert hat, lässt sich das Rohabbild z.B. in ein Vdi-Format für Virtualbox umwandeln und dort sicher bearbeiten. Natürlich geht auch der umgekehrte Weg. Betriebssystem in virtueller Maschine installieren und dann auf die Festplatte schreiben.

6. SuperGrubDisk

Speziell für kaputte Bootmanager gibt es SuperGrubDisk. Damit lässt sich sowohl der alte GRUB 1 als auch GRUB 2 reparieren, wozu aber ein CD-ROM-Laufwerk oder USB-Anschluss notwendig sind.

7. Plop Bootmanager

Der Plop Boootmanager lässt dich auch von USB booten, selbst wenn das im BIOS nicht vorgesehen ist. Wenn auch hier keinerlei Laufwerk vorhanden ist, einfach beim nächsten Mal Plop direkt in den MBR installieren und GRUB außen vor lassen. 🙂

Wir kommen in Frieden: Anomaly Warzone Earth und Toki Tori

Noch ein Tag und dann ist die letzte Humblebundle-Aktion vorerst wieder zu Ende gegangen. Ich vermute die Verkäufe für Android und Linux wurden zusammengezählt, weswegen dieses Mal 25% der Kaufsumme auf das Konto der beiden Systeme geht.
Ich habe am Wochenende die Gelegenheit genutzt, um Anomaly Warzone Earth und Toki Tori kurz anzuspielen. Beide Spiele lassen sich mit den vorgefertigten .deb-Paketen für i386 problemlos installieren. Gespielt wurde mit Debian Sid, diesem Core Duo und einer Geforce 9600 GT. Anomaly scheint keine echte 64bit Version auszuliefern, sofern dieser Eintrag im offiziellen Forum richtig ist.

Anomaly - Warzone Earth

Anomaly definiert sich über zwei Spielmodi und lässt sich mit dem Schlagwort "Tower Offense" einordnen. Als Kommandeur einer Spezialeinheit plant man die Route des bewaffneten Konvois zum Zielgebiet. Dieser Modus lässt sich jederzeit mit Hilfe des Mausrads aufrufen und da die Zeit angehalten wird, bleibt genügend davon übrig um den Pfad zum Ziel neu zu planen, wenn gerade einmal wieder neue Aliens um die Ecke auftauchen.
Im normalen Spielmodus hat man die Möglichkeit die Einheiten zu reparieren und Spezialfähigkeiten zum Täuschen des Gegners einzusetzen. Außerdem muss man von Zeit zu Zeit Objekte einsammeln, die vom Nachschub abgeworfen werden und den Vorrat wieder auffüllen. Warum wieder einmal eine technisch weit fortgeschrittene außerirdische Spezies als Gegner herhalten musste, wissen natürlich nur die Entwickler, aber wäre das Raumschiff derselben nicht auf der Erde abgestürzt, könnte man die bösen Eindringlinge auch nicht mit Waffengewalt bekämpfen. Die weiteren Spielelemente werden ganz gut in dem verlinkten Video aus meinem ersten Beitrag zum Spiel gezeigt.
Gut gefallen hat mir die englische Stimme des Commanders. Die Musik gehört zum typischen Action-Genre, treibend aber nicht nervend. Anomaly ist ein gutes Indiespiel und erinnerte mich durch den Planungsmodus auch ein wenig an Frozen Synapse.

Toki Tori

Es ist wohl ausgeschlossen, dass man jemals Toki Tori mit Anomaly verwechseln würde. Bei diesem Spiel dreht sich alles um das Aufsammeln von Eiern. Der Weg dorthin ist durch verschiedene Hindernisse und Gefahren blockiert und Toki Tori muss mit Hilfe von Fähigkeiten wie Brückenbau oder Teleport zum Ziel gelangen. Das Spiel bietet verschiedene Schwierigkeitsgrade und auch die Möglichkeit mit Hilfe einer Wildcard einen Level zu überspringen, falls dieser zu schwierig sein sollte, dazu auch eine Taste zum "Zurückspulen", wenn man an einem Ort festsitzt und es keinen Ausweg mehr gibt.
Insgesamt war mir das Spiel etwas zu ..hmm.. süß und die Optik entspricht meinem Vorurteil eines typischen Smartphonespiels. Dennoch glaube ich, dass man sich bei wichtigen Besprechungen mit diesem Puzzlespiel die Zeit vertreiben kann, auch wenn es mich persönlich nicht vom Stuhl gerissen hat. Doch entscheidet selbst. Noch 1 Tag ist Zeit und hier gibt es die Vorschau zu Toki Tori.

OS-tan: Mein verpasstes Internetphänomen

Scheinbar habe ich OS-tan vor einigen Jahren als Internethype verpasst, obwohl er sich bis heute wohl an verschiedenen Stellen fortsetzen soll und immer neue Kreationen hinzukommen. Kurz zusammengefasst ist OS-tan ein ursprünglich japanisches Phänomen, bei dem Betriebssysteme in Form von äußerst niedlichen Manga- und Animefiguren dargestellt werden und deren menschliche Eigenschaften die Stärken und Schwächen der Betriebssysteme symbolisieren sollen. Auf tomodachi.de findet sich ein interessanter und anschaulicher Artikel zu dem Thema.
Durch die Wunder des Internet bin ich nun nach all den Jahren auf diesen Begriff aufmerksam geworden. Danke K.Mandla. Sein kurzer Post aus dem Jahr 2007 hat mich auf die Seite von Jozu-kun, einer italienischen Künstlerin, gebracht, die eben diese OS-tans für Linuxdistributionen gestaltet hat.
Ich denke die Bilder sprechen für sich. Weitere Hintergrundbilder in besserer Qualität finden sich auf ihrer Desktop-Seite. Ist Debian wirklich so seriös? 🙂
Lizenz der Bilder: by-nc von Jozu-kun

Arch Linux

Debian

RedHat

Ubuntu

Lubuntu: Der Weg von LXDE zu einem reinen Openbox-Desktop mit Tint2 und Conky

Ich wollte meinem Lubuntu einen neuen Anstrich verpassen und die standardmäßige LXDE-Desktopumgebung gegen meinen Openbox-Arbeitsplatz austauschen. Ziel war es aber nicht wie üblich von einer minimalen Installation das System aufzubauen, sondern so wenig wie möglich an den vorinstallierten Einstellungen von Lubuntu zu ändern. Ich habe die einzelnen Schritte hier noch einmal dokumentiert, nützliche Quellen angegeben und meine eigene Konfiguration vorgestellt. Ich hoffe, es ist für diejenigen nützlich, die eine schnelle Lubuntu-Installation schätzen, aber anschließend gerne mit wenig Aufwand den Desktop an die eigenen Vorstellungen anpassen möchten.

Vorher und Nachher

Lubuntu benutzt von Haus aus das LXPanel am unteren Bildschirmrand und den Dateimanager PCManFM zum Verwalten des Desktops und der darauf befindlichen Icons. Damit entsteht das klassische Desktopgefühl, wodurch Lubuntu sich in der Standardeinstellung als perfekter Ersatz für all diejenigen eignet, die Gnome 3 und den zahlreichen Gnome-Shell-Varianten nichts abgewinnen können.
Mit ein paar Handgriffen lässt sich aus Lubuntu aber auch ein typischer Openbox-Desktop machen mit Rechsklickmenü, Tint2-Panel und Conky. Zusätzlich habe ich noch Ubuntu One installiert, in das PCManFM-Menü integriert und mir die Alpha des Lubuntu-Software-Centers angeschaut.

vorher
nachher

Konfiguration

Die folgenden Abschnitte sollen nur kurz erklären, was installiert und konfiguriert wurde ohne dabei zu sehr jedes Detail auszuschmücken. Im Idealfall könnt ihr meine Konfigurationsdateien an den entsprechenden Ort kopieren und die Textdateien bearbeiten, wonach sich das entsprechende Ergebnis einstellen sollte.
Wer mehr Informationen zu LXDE und Openbox haben möchte, sollte einen Blick auf die Artikel im Wiki von ubuntuusers.de oder meine kurze Übersicht "Erste Schritte mit Openbox" werfen.
Diese Pakete haben ich insgesamt entfernt oder zusätzlich installiert.

  • Entfernte Pakete: lxpanel
  • Installierte Pakete: tint2, conky, menu, obmenu, nitrogen, ubuntuone-client, ubuntuone-control-panel, lubuntu-software-center

Hintergrundbild

Der einfachste Teil des Ganzen. Damit nicht mehr PCManFM das Hintergrundbild zeichnet, bietet sich dafür z.B. das Programm Nitrogen an, das leicht zu bedienen ist. Programm aufrufen, Bilderverzeichnis mit dem gewünschten Hintergrundbild auswählen, fertig. Eine gute Alternative dazu bleibt weiterhin feh. Das Bild habe ich auf wallbase.cc gefunden.

Openbox- und GTK-Thema

Das Thema des Fenstermanagers lässt sich mit obconf, die Themen der GTK-Anwendungen bequem mit LXAppearance ändern. Ich habe mich erneut für Alghattas entschieden, da es mir schon als Thema für meinen Openbox-Desktop mit Arch Linux gefiel. Ein Problem scheint derzeit zu sein, dass Alghattas nicht für GTK3-Applikationen geeignet ist oder LXAppearance hier einfach schlapp macht.
Lösungen: Wählt ein anderes Thema, tauscht die GTK3-Anwendungen aus oder ignoriert das Ganze. 😉
Entpackt Alghattas nach ~/.themes/ und ihr solltet keine Probleme haben das neue Thema mit obconf und LXAppearance auszuwählen.

Conky

Normalerweise bevorzuge ich eher schlichte Conky-Themen. Mir genügen die wichtigsten Systeminformationen in Textform. Das wars. Langweilig, ich weiß. Für den Showeffekt habe ich deswegen mal nach etwas anderem gesucht und bin bei webupd8.org fündig geworden. Ihr könnt euch das Original des Benutzers despot77 von gnome-look.org herunterladen.
Ich habe die Version leicht angepasst, die Farben geändert und das Lubuntu-Logo verwendet. Mit diesem Conky-Beispiel sieht man recht gut die Möglichkeiten von Lua, womit die Kreise und die Uhr dynamisch gezeichnet werden.
Damit Conky sauber beim Abmelden beendet wird, ist es derzeit noch notwendig in der Datei /etc/lxdm/PostLogout
pkill -9 conky
einzutragen.
Download: Mein Conky
Kopieren nach: ~

Tint2

Ich weiß auch nicht genau, was mich an Tint2 so begeistert. Ich denke, es ist dieser schlichte, aber trotzdem so effektive Ansatz. Aufmerksame Leser erkennen auch hier wieder die Vorlage von Crunchbang Linux. Dieses Mal habe ich mich für einen transparenten Hintergrund und vier Arbeitsflächen entschieden. Da ich mit Conky schon Datum und Uhrzeit darstelle, entfiel der entsprechende Konfigurationsteil bei Tint2. Die Anzahl der Desktops lässt sich mit obconf unter dem Reiter "Arbeitsfläche" ändern.
Download: Meine tint2rc
Kopieren nach: ~/.config/tint2/

Autostart

Es ist ziemlich umständlich bei jedem Neustart das neue Panel, Conky und Nitrogen manuell auszuführen. Damit dies automatisch geschieht, gibt es eine Autostartfunktion, die man bei Lubuntu meiner Meinung nach an zu vielen Stellen suchen muss.
LXDE greift auf die freedesktop.org Standards zurück, was ungewohnt erscheint, wenn man es bisher lediglich mit der Datei autostart im Ordner ~/.config/openbox/ zu tun hatte.
Anwendungen lassen sich bei Lubuntu global in /etc/xdg/lxsession/Lubuntu/autostart automatisch ausführen. Diese Datei sieht bei mir so aus.

@nitrogen --restore
@xscreensaver -no-splash
@xfce4-power-manager
@/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1

Wo sind Tint2 und Conky geblieben? Aus Gründen, die ich nicht nachvollziehen konnte, wurden beide trotz des Eintrags nicht gestartet. Die Alternative ist eine .desktop Datei, z.B. tint2.desktop, anzulegen, sie gemäß dem folgenden Muster zu editieren und dann nach ~/.config/autostart/ zu kopieren.

[Desktop Entry]
Encoding=UTF-8
Name=Tint2
Comment=Panel
GenericName=Tint2
Categories=GTK;Utility;
Exec=tint2
Icon=/usr/share/pixmaps/gksu.png
Terminal=false
Type=Application
NoDisplay=false
StartupNotify=true

Mehr Informationen dazu gibt es im Wiki von ubuntuusers.de unter dem Stichwort Menue.

Rootmenü

Mir gefällt das Openbox-Menü, weil ich hiermit schnellen Zugriff auf alle Anwendungen an jedem Punkt der Arbeitsfläche haben kann, indem ich nur die rechte Maustaste drücke. Im Zusammenspiel mit Tastenkürzeln ist das eine große Zeitersparnis. Zuerst muss man das Menü wie folgt aktivieren.

Rechsklick auf den Desktop -> Einstellungen der Arbeitsfläche -> Fortgeschritten -> Option "Menü mit Fenstermanager anzeigen" aktivieren.

Um den Vorgang rückgängig zu machen, kann man pcmanfm --desktop-pref in einem Terminal ausführen.
Ein Nachteil ist aber am Anfang, dass man dieses Menü zum einen mit obmenu manuell an seine Vorstellungen anpassen muss. In der Regel ändere ich aber nur einige wenige Einträge von Hand, der Rest wird automatisch mit Hilfe des Debian-Menüs generiert. Nach der Installation von menu, trägt man noch folgende Zeilen an die passende Stelle in ~./config/openbox/lubuntu-rc.xml ein.

<!-- You can specify more than one menu file in here and they are all loaded,
       just don't make menu ids clash or, well, it'll be kind of pointless -->
<file>debian-menu.xml</file>
<file>menu.xml</file>

Die beiden Namen zwischen den tags verweisen auf die gleichlautenden Dateinamen in ~/.config/openbox/. Mit dem Befehl update-menus als normaler Benutzer wird das spezielle Debian-Menü neu generiert. Einziger Nachteil, wenn man es nicht global benutzt: Man muss nach dem Entfernen oder einer Neuinstallation von Software update-menus erneut ausführen, damit das Menü angepasst wird.
Download: Meine Openbox-Konfiguration
Kopieren nach:~/.config/openbox/

Ubuntu One und Software-Center

Ubuntu One und das Software-Center werden beide standardmäßig bei Lubuntu nicht vorinstalliert. Sie lassen sich aber schnell mit
aptitude install ubuntuone-client ubuntuone-control-panel software-center
nachinstallieren. Möchte man mit PCManFM Ordner zur Synchronisation freigeben, kann man sich einen zusätzlichen Menüeintrag im Dateimanager erstellen.

Rechtsklick auf einen Ordner -> Öffnen mit -> Befehlszeile -> u1sdtool --create-folder %f

Das Kommandozeilenprogramm u1sdtool lässt sich dann auch genauso zum Auflisten und Entfernen von Ordnern aus UbuntuOne benutzen.
u1sdtool --list-folder
u1sdtool --delete-folder "ID"
Lubuntu entwickelt zusätzlich zum normalen Software-Center noch eine leichtgewichtige Version, die schlicht Lubuntu-Software-Center heißt. Es lässt sich aus dem Lubuntu-Desktop PPA einbinden. Da es sich um eine Entwicklungsversion handelt, sollte man dementsprechend mit dem Paket umgehen. Zur Zeit bemerkt man deutlich das reaktionsfreudige Verhalten, einige der Funktionen des normalen Software-Centers wurden aber noch nicht integriert.

Fazit

Ich denke die größte Hürde bei der Umstellung auf einen klassischen Openbox-Desktop ist zum einen das Finden der passenden Stelle für den Autostart und das Anpassen des Rechtsklickmenüs. Der Rest ist Geschmackssache und schnell erledigt. Zum Schluss noch der Desktop ohne geöffnete Fenster.