luckyBackup: Die benutzerfreundliche Datensicherung mit rsync

Was Backup-Lösungen angeht halte ich es am liebsten einfachRsync ist immer noch mein bevorzugtes Werkzeug für die Datensicherung und in Kombination mit Dirvish setze ich es noch heute ein, um wichtige Informationen auf meinem Laptop und dem entfernten vServer zu sichern. Nun hat rsync auch so seine Tücken. Insbesondere kann ich mir die Dutzenden von Kommandozeilenoptionen nicht alle merken und die Handhabung lässt sich schwer mit dem Wort intuitiv umschreiben. Es stellt sich immer mal wieder die Frage, ob es nun das Ziel- oder Quellverzeichnis war, das zuerst angegeben werden muss.
Für die meisten populären Kommandowerkzeuge gibt es auch eine grafische Lösung, so auch in diesem Fall mit luckyBackup. Im Prinzip ist es ein Frontend für rsync mit weiteren Annehmlichkeiten wie Sicherungsprofile mit separat einstellbaren Aufgaben, einem Zeitplaner und einer übersichtlichen Menüstruktur. Alle wesentlichen Funktionen sind hinter leicht zu findenden Schaltern und Knöpfen versteckt.

LuckyBackup

Daten sichern

Eine simple Sicherung des Dokumentenordners funktioniert wie folgt. Nach dem Klicken auf "Hinzufügen" erscheint ein neuer Dialog. Hier sollte man sich zuerst einen aussagekräftigen Namen für die Aufgabe ausdenken, z.B. "Dokumente sichern" und als Typ "Sichere Quelle innerhalb des Ziels" wählen. Danach als Quellverzeichnis den zu sichernden Ordner auswählen und den Ort, vielleicht eine externe Festplatte, wo das Ganze abgelegt werden soll. Das wars im Prinzip auch schon. Interessant ist die Möglichkeit Schnappschüsse anzulegen, hierzu gleich mehr. LuckyBackup bietet noch eine Reihe zusätzlicher Funktionen wie das Sichern zu einem entfernten Server oder das Ausschließen bestimmter Dateien von der Sicherung an. Letztere Option ist gerade dann sinnvoll, wenn man z.B. den gesamten Home-Ordner sichern möchte, jedoch auf temporäre Dateien verzichten kann. Der zweite Sicherungstyp "Synchronisiere Quelle und Ziel" ist vor allem dann nützlich, wenn man Daten häufig mit sich herumträgt und diese permanent bei allen Geräten auf den neusten Stand gebracht werden sollen. Zur reinen Datensicherung empfiehlt sich aber die Option "Sichere Quelle innerhalb des Ziels".

Aufgabendialog
Eine nützliche Option bei rsync und luckyBackup ist das Simulieren des eigentlichen Backupvorgangs. Ein gesetzter Haken bei "Simulation" reicht aus, um vorher nachzuvollziehen, ob das Programm auch das Richtige tun wird. Hat man sich Gewissheit verschafft, genügt ein Klick auf  "Ausführen", um die Datensicherung zu starten.

Schnappschüsse

Schnappschüsse

Ein weiteres nützliches Merkmal von luckyBackup ist die Sicherungsverwaltung und das Wiedereinspielen von Schnappschüssen. Im Aufgabendialog kann man festlegen wie viele Schnappschüsse vorgehalten werden sollen. Unter Aufgabe -> Verwalte Sicherung besteht nun die Möglichkeit einen älteren Schnappschuss mit dem derzeitigen Systemzustand zu vergleichen und bei Bedarf z.B. eine irrtümlich gelöschte Datei wiederherzustellen.
Möchte man sich das manuelle Sichern langfristig sparen, bietet das Programm auch die Möglichkeit die Datensicherung mit Hilfe eines Cronjobs regelmäßig auszuführen. Die Funktion versteckt sich hinter "Zeitplaner". Im Prinzip wird der tatsächlich benutzte rsync-Befehl in die crontab-Datei des Benutzers eingetragen und dann zum festgelegten Zeitpunkt ausgeführt. Im übrigen bietet luckyBackup auch immer die Möglichkeit eine solche Aufgabe vorher zu überprüfen und den rsync-Befehl direkt anzuzeigen, wodurch sich die Möglichkeit ergibt endlich die Syntax zu lernen. Die Anwendung hilft sozusagen dabei, sich selbst überflüssig zu machen.

Fazit

Ich mag luckyBackup, weil es einfach gestaltet ist und die komplizierten Details sinnvoll versteckt. Dabei greift es auf die Stärken von rsync zurück, überträgt nur tatsächlich geänderte Daten und lässt sich sowohl für die Sicherung mit wiederherstellbaren Schnappschüssen als auch zur Datensynchronisation einsetzen. Insgesamt eine benutzerfreundliche Alternative zu reinen rsync-Befehlen auf der Konsole.

My Free Software Activities in March 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my second month as a paid contributor and I have been paid to work 14,25 hours on Debian LTS. During this month I worked on the following things:

  • DSA-3530-1: I finished the work on Tomcat 6 which I started last month and closely worked together with Debian's Security Team who reviewed the package and eventually issued DSA-3530-1. This update fixed 18 CVEs in Wheezy and Jessie.
  • DSA-3524-1: Prepared security updates for ActiveMQ (Wheezy and Jessie) fixing one CVE.
  • Tomcat 7.  Prepared security updates for Tomcat 7 fixing 9 CVEs in Wheezy and 7 CVEs in Jessie. I asked for reviews and testing on the debian-java mailing list and I intend to finish the work in April.
  • DSA-3537-1:  Prepared security updates for imlib2 fixing 3 CVEs in Wheezy and Jessie.
  • DSA-3538-1:  Prepared security updates for libebml fixing 3 CVEs in Wheezy and Jessie.
  • DSA-3539-1:  Prepared security updates for srtp fixing 1 CVE in Wheezy and Jessie.
  • roundcube. Prepared a security update for roundcube (Wheezy) fixing 1 CVE. Review by the Security Team is still pending. I expect a DSA in April.
  • optipng. Prepared and uploaded a security update for optipng to Wheezy fixing 1 CVE.
  • Making OpenJDK 7 the default-java implementation in Wheezy-LTS: March was also the month to prepare for the next LTS release on 2016-04-26. I worked several hours on the transition to OpenJDK 7 which will be supported for the whole LTS release cycle.  I identified eighteen Java packages in Wheezy whose runtime dependencies must be updated to ensure that they will not pull in OpenJDK 6 by default but they will still work with OpenJDK 7. I updated the java-common package to make OpenJDK 7 the default-java implementation. I filed bug #819247 against release.debian.org and asked the Release Team to include the updated Java packages in the last point release for Wheezy. This issue is pending now and I expect that those packages will either be uploaded as part of the next point update for Wheezy or at the beginning of Wheezy-LTS. I will continue to work on this task in April and provide a backport of java-common for testing purposes and upload no-change updates of Tomcat 6/7, Jetty and java-common to Wheezy-LTS with NEWS files that inform users about the switch to OpenJDK 7. The goal is to switch default-java to OpenJDK 7 on 2016-06-26.

Debian Android

  • android-platform-tools-base. I uploaded a new revision because I could eventually reenable the Lint module since lombok-ast got accepted into Debian which I had packaged one week before.
  • apktool. Thanks to Chirayu Desai, who discovered a free public-domain implementation of the Little Endian data input stream class, I could fix apktool, close #819191 and sync this version with Ubuntu.
  • android-platform-build. I sponsored a new revision for Kai-Chung.

Debian Java

  • qdwizard. I sponsored qdwizard (ITP: #816426) prepared by Felix Natter, a new dependency for Jajuk, an advanced jukebox and music organizer.
  • netbeans. I tightened the dependency on Java 8 because Netbeans did not work correctly with Java 7. (#816758, #817152)
  • I triaged the following RC bugs for jpathwatch (#816998),  velocity (#814679), lwjgl (#814167)
  • activemq. I spent several hours on upgrading ActiveMQ, a Java message broker, to the latest upstream release 5.13.2 and closed two RC bugs (#809733, #808636) and another bug (#770455). All files under /etc/activemq will be properly removed on purge now. In addition this update required an update of uima-as that build-depends on libactivemq-java and while I was at it I did some spring cleaning and updated the related activemq-protobuf and activemq-activeio packages as well.
  • uima-as. I updated uima-as and fixed an activemq related RC bug.
  • undertow and jboss. I packaged new upstream releases of undertow, jboss-modules, jboss-jdeparser2 and jboss-xnio.

Debian Games

  • renpy. I packaged the latest upstream releases 6.99.9 and 6.99.10 of python-pygame-sdl2 and renpy, a framework for developing visual novel games.
  • spring. I packaged the latest release 101 of spring, a modern full-3D RTS game engine.
  • freesweep. I updated the whole Freesweep package, a minesweeper game for the console, to use modern Debian helpers and technologies. In this process I fixed four outstanding bugs.
  • atomix. I packaged the latest stable release of Atomix, a puzzle game.
  • teg. I did another spring cleaning and updated teg, a strategy game like Risk.
  • hitori. Packaged new upstream release 3.20.0.
  • nikwi. Fixed bug #791966 and added arm64 to nikwi's supported architectures.
  • dopewars. Fixed FTBFS bug #819619.
  • zaz. Fixed three bugs and triaged the remaining ones in zaz, a 3D arcade action puzzle game.

Non-maintainer uploads

  • mtpaint. Fixed RC bug (#803286), so that mtpaint could migrate to testing again.
  • pinball. Fixed FTBFS (#816108) and another build failure when building with dpkg-buildpackage -A (#806093). I also discovered that /var/games/pinball is correctly removed on purge nowadays and closed #443493.
  • jcc. I NMUed jcc and fixed two RC bugs because it was one the packages that blocked the removal of OpenJDK 7 from Debian.

QA uploads

  • piespy. I did a QA upload for piespy because it was one of the packages that blocked the removal of OpenJDK 7 from Debian.

Misc

  • yics. I requested the removal of yics because this chess client was defunct without the Yahoo chess servers which closed down in 2014. (#814360)
  • smc. I tried to fix #812096, a FTBFS, and updated outdated CEGUI includes but I soon realized that more porting work had to be done and it would be best to package the lastest upstream release instead.

Debian mit FreeBSD-Kernel: GNU/kFreeBSD

Im Jahr 2013 kam ich zum ersten Mal mit Debian GNU/kFreeBSD in Berührung als ich an einem Patch für libgphoto2 arbeitete. Galt GNU/kFreeBSD zu Zeiten von Debian 6 "Squeeze" noch als technische Vorschau, war es in Debian 7 "Wheezy" schon eine offiziell unterstützte Debian-Architektur. Als Teil von Debian Testing konnten demnach Kompilierungsfehler von GNU/kFreeBSD die Veröffentlichung eines Pakets verhindern. Dieser Status hat sich mit der aktuellen stabilen Debian-Veröffentlichung nun erneut geändert, leider aber zum Schlechteren. GNU/kFreeBSD ist keine offizielle unterstützte Debian-Architektur mehr, gehört jedoch weiterhin zu den sogenannten Debian-Ports wie GNU/Hurd (eine weitere Kernelalternative) oder m68k (unterstützt ältere Amiga, Atari und Apple Macintosh). Der wohl entscheidende Grund, warum GNU/kFreeBSD seinen alten Status verloren hat, ist die zu geringe Anzahl an aktiven Entwicklern und vielleicht vermag dieser Artikel das Interesse zu wecken, sich etwas mehr mit dieser Debianvariante auseinander zu setzen.

Warum GNU/kFreeBSD?

Brauche ich einen FreeBSD-Kernel, wenn Debian mit dem Linux-Kernel schon tadellos auf meinem Rechner läuft. Vermutlich ist die Antwort "eher nicht" aus den gleichen Gründen, warum FreeBSDler nicht zu Linux wechseln. Es ist diese Mischung aus Gewohnheit und der Tatsache, dass man mit beiden sowohl Desktop- als auch Serveraufgaben erledigen kann. Was GNU/kFreeBSD jedoch interessant macht ist die Tatsache, dass es zwei verschiedene Welten miteinander verbindet und was in der einen nur sehr schwierig oder gar nicht funktioniert, lässt sich mit dieser Kombination, FreeBSD-Kernel aber Debian-Paketsystem und Systemwerkzeuge, möglich machen.
Die Entwickler geben im Debian-Wiki die Antwort auf die Warum-Frage. Aus meiner Sicht am interessantesten sind:

  • Die Möglichkeit Jails zu benutzen, die man am besten mit OpenVZ bei Linuxsystemen vergleichen kann. Für Systemadministratoren bieten sie ein zusätzliches Sicherheitsmerkmal und die Möglichkeit Prozesse "einzusperren" und so eine weitere Barriere für Angreifer zu schaffen. Wie in einer Chroot-Umgebung unter Linux ließe sich aber auch ein Debian GNU/kFreeBSD unter FreeBSD betreiben und natürlich auch umgekehrt.
  • Das 128-bit-Dateisystem ZFS, das theoretisch so viel Speicherplatz bietet, dass die zum Betrieb notwendige Energiemenge alle Ozeane der Welt verdampfen könnte.  Wie man sich schnell denken kann, wurde es vor allem für den Einsatz in Rechenzentren mit immens vielen Daten konzipiert. Auf handelsüblichen Rechnern lässt es sich natürlich auch verwenden, setzt aber mindestens 1 GB RAM voraus, besser 2 GB oder gar mehr. Am ehesten lässt es sich mit btrfs vergleichen, wobei es jedoch schon deutlich länger produktiv zum Einsatz kommt. Größtes Hindernis für einen Einsatz auf Linuxsystemen ist die CDDL-Lizenz des Dateisystems, die leider inkompatibel mit der GPL-Lizenz des Linuxkernels ist. Das OpenZFS-Projekt versucht unter anderem dieses Problem zu lösen. Mit dem FreeBSD-Kernel gibt es aufgrund der liberalen BSD-Lizenz keine Probleme.
  • GNU/kFreeBSD benutzt die gleichen Debianpakete, die sich auch beim Linuxpendant finden lassen. Sie lassen sich genauso installieren und verwalten wie man das schon von Debian GNU/Linux gewohnt ist. FreeBSD bietet mit den Ports und seinem neuen Paketmanager pkg ebenfalls einfache Hilfe beim Installieren, jedoch muss man als Benutzer permanent die neuste Upstream-Version installieren, da sich der Support auf das Kernsystem beschränkt. Sicherheitsupdates für GNOME 3, Apache oder LibreOffice als stabile Version für drei oder sogar fünf Jahre, gibt es bei FreeBSD nicht.

Installation und erste Erfahrungen

Am einfachsten lässt sich FreeBSD zur Zeit mit dem "Test-Image" von Steven Chamberlain installieren, der maßgeblich die Entwicklung von GNU/kFreeBSD vorantreibt. Sehr wahrscheinlich wird es in den nächsten Monaten auch wieder ein offizielles Abbild auf debian.org zu finden geben. Ich empfehle entweder die Installation auf einem älteren, unbenutzten Rechner 😉 oder ihr probiert das Ganze mit Qemu aus.
Vor drei Jahren hatte ich zuerst die Qemu-Variante gewählt und anschließend das Ganze auf meinen "neuen" Lenovo-X200-Laptop transplantiert, es geht aber wohl auch einfacher. Danach funktioniert die Installation weiterer Pakete genauso wie unter Debian GNU/Linux. Meine alten Anleitungen sollten hier immer noch weiterhelfen können. Wer GNU/kFreeBSD auf etwas älteren Rechnern mit wenig Arbeitsspeicher verwenden will, sollte besser das ufs-Dateisystem wählen, was einen deutlichen Performanceschub verspricht.
GNU/kFreeBSD 1
Ich selbst teste gerne mit Lightdm als Displaymanager und Mate (alias Gnome 2). Andere Desktopvarianten sollten auch funktionieren, wobei man bei den großen wie Gnome 3 und KDE jedoch Abstriche hinnehmen und ggf. einen anderen Displaymanager wählen muss. Das gesamte System "fühlt" sich nicht viel anders als unter Linux an. So lässt sich zum Beispiel der Befehl lsmod weiterhin benutzen, das entsprechende Kommando von FreeBSD lautet kldstat. Bekannte Software wie Firefox und VLC funktionieren ohne Probleme und lassen sich mit apt install firefox vlc installieren. Neu und anders sind die Gerätebezeichnungen für Festplatten oder Netzwerkkarten, einige bekannte FreeBSD-Werkzeuge fehlen oder wurden durch die GNU-Alternativen ersetzt.
GNU/kFreeBSD 2
Einige Anlaufschwierigkeiten hatte ich bisher nur mit dem Grafikartentreiber und manchmal startete ein Spiel nicht. Ich denke, das sind Fehler, die sich durch mehr Benutzer schneller finden und beseitigen ließen. Oft wäre es auch möglich beim FreeBSD-Projekt nach Patches zu suchen. Insgesamt ist GNU/kFreeBSD deutlich weiterentwickelt als dies z.B. beim GNU/Hurd-Port der Fall ist, dies sollte jedoch nicht darüber hinwegtäuschen, dass sich die Pakete nur aus "unstable" installieren lassen und damit mit Vorsicht zu genießen sind. Zum Testen und Ausprobieren reicht es allemal. Um den Vergleich abzurunden, empfehle ich ebenso einen Blick auf FreeBSD zu werfen, das demnächst Version 10.3 veröffentlichen wird.

KeePassX 2: Ein sicherer und übersichtlicher Passwortverwalter

Einst gehörte ich zu den Leuten, die sich ihre Passwörter anhand mehr oder weniger komplizierter Sätze gemerkt haben, wie z.B. Captain Jack Sparrow ist ein Pirat im Film Fluch der Karibik aus dem Jahr 2003 alias CJSiePiFFdKadJ2003. Das Ganze klappte eine Weile ganz gut, zumindest solange ich mir nur eine Handvoll Kennwörter für "wichtige" Seiten merken musste. Für den Rest genügte ja auch das Standardpasswort. Die Probleme hierbei sind offensichtlich: Erstens, warum selbst für weniger wichtige Seiten immer ein und dasselbe Kennwort verwenden und zweitens, was macht man, wenn man sich plötzlich bei mehr als siebzig verschiedenen Seiten anmelden muss, sei es ein Wiki, Forum oder der Bugtracker von Projekt XYZ.
Die Lösung ist ein Passwortmanager wie KeePassX. Das Programm ist mit Hilfe der Qt-Bibliothek geschrieben worden, funktioniert betriebssystemübergreifend und natürlich gibt es hierfür auch ein Debian-Paket. Das Grundprinzip ist einfach. Alle Kennwörter, URLs, Namen und Notizen werden in einer Datenbank gespeichert, nicht mehr als eine simple Datei, und entweder mit dem AES- oder Twofish-Algorithmus verschlüsselt.

KeePassX
Passwörter lassen sich in Gruppen einteilen und zum Beispiel in Internet oder Bank kategorisieren. Mit der Option "Neuen Eintrag hinzufügen" können dann der Titel des Eintrags, der Benutzername, URL, Notizen und natürlich das Passwort hinzugefügt werden. Um das Auffinden später zu erleichtern, lässt sich jedem Titel noch ein besonderes Symbol zuordnen. Praktischerweise bietet KeePassX einen Passwortgenerator an, mit dem sich per Schieberegler und Kontrollkästchen bis zu 99 Zeichen lange Kennwörter erstellen lassen, die aus Groß- und Kleinbuchstaben, Zahlen und Sonderzeichen bestehen können. Nie wieder identische oder leicht zu erratende Passwörter.

KeepassX - neuer Eintrag

Nun muss man sich nicht mehr alle Anmeldedaten für Amazon, ebay, Bank X und sein eigenes Weblog merken oder an anderer Stelle unsicher aufbewahren, es genügt ein einziges Masterpasswort, um die Datenbank zu öffnen und die Daten für den jeweiligen Account aufzurufen. Meistens genügt es im Suchfeld die ersten Buchstaben des Titels einzugeben, mit der linken Maustaste den Eintrag hervorzuheben und dann entweder die Kombination STRG+B für den Benutzernamen oder STRG+C für das jeweilige Passwort zu benutzen. Die Information findet sich danach im Zwischenspeicher wieder und kann mit STRG+V in jedes Formular wieder eingefügt werden.
Dazu hilft mir KeePassX noch die Übersicht zu behalten, wo ich mittlerweile überall einen Account habe. Die GUI ist übersichtlich und kompakt und besonders viel Ressourcen braucht das Programm auch nicht. Als zusätzliche Sicherheitsmaßnahme empfehle ich die Datenbankdatei regelmäßig zu sichern. Wenn man diese noch mit GnuPG zusätzlich verschlüsselt und z.B. auf seinen vServer als Backup hinterlegt, muss man sich um die Sicherheit seiner Passwörter keine Gedanken mehr machen.

My Free Software Activities in February 2016

My monthly report covers what I have been doing for Debian. I write it for Debian's Long Term Support sponsors but also for the wider free software community in the hope that it might inspire people to get more involved with Debian or free software in general.

Debian LTS

This was my first month as a paid contributor and I have been paid to work 11,25 hours on Debian LTS. During this month I worked on the following things:

  • Released DLA-410-1 for OpenJDK 6 fixing eight CVEs.
  • Released DLA-418-1 for WordPress fixing two CVEs.
  • Released DLA-422-1 for python-imaging fixing one CVE and a second buffer overflow in PcdDecode.c. I also helped to fix these issues in Wheezy and Jessie and sent the patches to Debian's Security Team. This resulted in the release of DSA-3499-1.
  • Released DLA-435-1 for Tomcat 6 fixing six CVEs.
  • Released DLA-441-1 for pcre3 fixing one security vulnerability. A CVE had not been assigned but this issue is also known as ZDI-CAN-3452.
  • Released DLA-443-1 for bsh fixing one CVE. I fixed this issue for all versions of bsh. A DSA is still pending.
  • Since February was also the last month of support for Debian 6 "Squeeze" I looked for packages that had been fixed in Squeeze but not in Wheezy. I discovered that Lighttpd was still affected by CVE-2014-3566 aka the "POODLE" attack. Although SSLv3 could be disabled it was still enabled by default. After consulting the Debian Security Team we disabled SSLv3 by default and released DSA-3489-1
  • Backported versions 6.0.41 and 6.0.45 of Tomcat 6 to fix all open security vulnerabilities in Wheezy. At the moment I am waiting for the green light from the Security Team.

Debian Android

I have been paid by the Guardian Project to package apktool and android-platform-tools-base. Apktool is a tool for reverse engineering Android apk files while android-platform-tools-base includes the Android Gradle Plugin and several tools and libraries for developing Android software. Unfortunately I discovered that LEDataInputStream.java in apktool was covered by a non-free license. I had to remove this class and thus the tool is currently broken. I am aware of this and I reported this issue to upstream as #1166. I hope I can resolve this problem together with them this month. In order to package the software above I also had to package the following build-dependencies: gradle-jflex-plugin, intellij-annotations and lombok-patcher. I am still working on getting lombok-ast into Debian for which the lombok-* packages were a precondition. These packages were non-trivial because ivyplusplus, lombok and lombok-patcher depend on each other. In addition they failed to build with OpenJDK 8 due to the use of older classes from OpenJDK's tools.jar.  I fixed ivyplusplus and lombok which were both broken and updated proguard, trove3 and jflex to simplify the packaging of android-platform-tools-base and apktool by providing Maven artifacts.

Debian Java

  • libjide-oss-java. Packaged new upstream release 3.6.13+dfsg-1.
  • Netbeans. Packaged Netbeans 8.1+dfsg2-1. I could finally fix the HTML 5 parser runtime error (#809256) because libhtml5parser-java, which I had packaged last month, got accepted into Debian. I also fixed a FTBFS due to a change in svnclientadapter.
  • jgit. I disabled the tests as a workaround to fix a FTBFS. (#812643) I intend to package the latest upstream release in the near future. I hope it does not break as many reverse-dependencies as usual.
  • libslf4j-java. Updated the package to fix a Netbeans runtime error.
  • tomcat6. Packaged new upstream release 6.0.45+dfsg-1.

Debian Games

  • simutrans, simutrans-pak64, simutrans-pak128.britain. I sponsored new upstream releases of simutrans which were prepared by Jörg Frings-Fürst.
  • extremetuxracer. I packaged the latest upstream release 0.7.1. Eventually I decided to upload this version to unstable and to replace the 0.4 series because upstream ships the extra courses too now. They were once part of tuxracer-extras and had to be converted to a new data format. Since tuxracer-extras was obsolete, I requested its removal from Debian. (#814604)
  • freeciv. Packaged version 2.5.3 that fixed two bugs in FreeCiv's Qt client. (#813107, #813218) I also backported this version to Debian Jessie.
  • debian-games. I released the latest version of the Debian Games Blend. I recommended four new games: edgar, a 2D platformer, ufoai, a squad-based tactical strategy game, zoom-player, a player for Z-Code stories or games and endless-sky, a space exploration and combat game. The Free Software Foundation recently interviewed Michael Zahniser, the developer of endless-sky, because he uses the GPL for his work.
  • corsix-th. I sponsored corsix-th, an open source clone of Theme Hospital. This package was prepared by Alexandre Detiste. You still need the original game data from Theme Hospital to play the game. That is the reason why I had to upload it to contrib. If you own a copy of the game yourself, you can use game-data-packager to create a Debian package for the data.

Misc

  • osmo. Osmo's internal backup feature was broken on i386 systems. In fact it always produced the same empty file with seize 50 byte. I reported this issue upstream and Maxim Gordienko provided a patch. This issue (#813414) was fixed in version 0.2.14-4. I also uploaded a fixed version for Jessie after I got the permission from the Debian Release Team.  (#815469)

Drei Jahre in (fast) 1000 Worten

Debian-Logo

Debian-Logo
Es war einmal in einem anderen Universum, da war ein Schreiber dessen Feder in den letzten drei Jahren täglich neue und gefeierte Artikel entsprangen. Er lebte in Reichtum und Überfluss bis ihn sieben betrunkene Zwerge für seine Lügen vermöbelten. Das Ende.
Zurück in der Wirklichkeit, wer kann sich noch an diesen Artikel erinnern. Ich beinahe schon nicht mehr. Zwischen diesem 3. Oktober 2012 und dem heutigen Tag hat sich viel Neues in Sachen Debian zugetragen, Zeit das ganze Mal Revue passieren zu lassen. Damals wollte ich endlich aktiv zum Beseitigen von Bugs und Fehlern in Debianpaketen beitragen und der Zeitpunkt war günstig, da Debian 7 "Wheezy" gerade eingefroren worden war, die Fehlerbeseitigung oberste Priorität hatte und es nur noch ein paar Monate bis zur nächsten Veröffentlichung dauern konnte. Dachte ich zumindest.
Der sogenannte "Freeze" zog sich zehn Monate hin und erst am 4. Mai 2013 war es endlich soweit und Wheezy wurde die neue stabile Version von Debian. Die lange Wartezeit hängt mit Debians Philosophie zusammen nur dann zu veröffentlichen "wenn es fertig ist", will heißen, alle veröffentlichungskritischen Fehler müssen behoben worden sein und dieser Ansatz gilt darüber hinaus noch für alle Pakete. Selbst eher unscheinbare Software konnte also die Veröffentlichung verzögern. Ehrlich gesagt, ab Januar 2013 war es selbst für die meisten Debianentwickler kaum noch möglich die Probleme zu lösen, ohne dabei weitreichende Entscheidungen wie das komplette Entfernen eines Pakets zu treffen. Es machte sich etwas Unmut breit und wieder einmal kamen die alternativen Modelle Debian zu veröffentlichen ins Gespräch.
In Anbetracht dieser eher außergewöhnlichen Wartezeit hat Debians "Release Team" ein paar Veränderungen auf den Weg gebracht. Es gibt nun einen neuen Automatismus, wobei "unbedeutende" Softwarepakete (sogenannte leaf packages) automatisch aus der Testing-Distribution entfernt werden, wenn veröffentlichungskritische Fehler nicht in einem bestimmten Zeitraum repariert worden sind. Handelt es sich dabei um Bibliotheken können auch ansonsten fehlerfreie Pakete, die von diesen abhängen, ebenfalls entfernt werden. Dadurch erhöht sich natürlich der Druck für Betreuer auch die Software in Schuss zu halten, von der das eigene Paket abhängt. Zum anderen können einzelne Maintainer das gesamte Projekt dadurch nicht mehr in "Geißelhaft nehmen" und somit die Veröffentlichung verzögern.
Mitte 2013 war ich schon seit einigen Monaten Mitglied im Debian Games Team. Ausschlaggebender Grund, warum ich gerade hier den Einstieg gewählt habe, war mein Interesse an freien Spielen, mein Projekt linuxiuvat.de war damals erst einige Monate alt, sowie der Wunsch aktiv in Form von Debianpaketierung mitzuhelfen. Außerdem, wenn man frei entscheiden kann, sind Spiele sicherlich nicht die langweiligste Freizeitbeschäftigung. Leider klappte es innerhalb des Teams nur äußerst selten mit dem sogenannten Sponsoring, also dem Sichten von eingebrachten Verbesserungen und dem Hochladen der Softwarepakete. Immer wieder war ich auf "externe" Debianentwickler angewiesen. Mein besonderer Dank gilt hier insbesondere Adrian Glaubitz, Tony Mancill, Emmanuel Bourg, Miguel Landaeta, Guido Günther, Vincent Cheng, Gregor Herrmann und vielen, vielen weiteren, die meine Pakete begutachtet und schließlich hochgeladen haben.
Des weiteren verschlug es mich in das Debian Java Team, anfänglich weil ich "Sponsoren" für Mediathekview und dessen neue Abhängigkeiten suchte, später weil mir der freundliche Umgangston gefiel und ich viel Neues in Bezug zu Java und Debianpaketierung dazulernen konnte.
Schnell begann ich immer mehr Pakete zu betreuen. Einen guten Überblick, was ich gerade so für Debian mache, liefert diese Paketübersicht oder speziell für den Bereich "Debian Games" diese Statistik. (Hier ist also die Zeit fürs Bloggen flöten gegangen...) Die meisten Pakete pflege ich bis heute innerhalb der bereits genannten Teams, weil sich dadurch Synergieeffekte ergeben und es einfach mehr Spaß macht. Dringend gebraucht werden mehr aktive Mitglieder, das gilt sowohl für das Spiele- als auch das Java-Team! Einige verwaiste und notleidende Pakete habe ich auch übernommen darunter Mediathekview, wbar, Xarchiver, Osmo und iftop.
Mit debian-games habe ich den ersten Schritt zu einem "Debian Pure Blend" gemacht. Ich fand es schon immer recht mühselig Spiele für eine bestimmte Zielgruppe oder Kategorie zu finden und diese Metapakete (Tasks) machen es einfach sich sämtliche Strategie-, Schach- oder Kartenspiele bequem auf den Computer zu installieren.
Bei all den Ideen, die ich hatte und bei all der Arbeit, die ich meinen Sponsoren dadurch machte, war es nur konsequent, dass ich mich als Debian Maintainer (DM) bewarb, nachdem zuvor mein GPG-Schlüssel von zwei Debianentwicklern, Anselm Lingnau und Christoph Martin, signiert worden war. Im November 2013 war easymock das erste Paket, das ich eigenständig hochladen durfte. Ein spektakulärer Prozess, der ungefähr 1,2431 Sekunden gedauert hat, da EasyMock nicht besonders groß ist. Nach und nach erhielt ich Upload-Rechte für mehrere Dutzend weitere Pakete. Ein Jahr später ging ich dann den nächsten Schritt. Ich bewarb mich als Debianentwickler (DD). Während DMs nur solche Pakete hochladen können, für welche sie entsprechende Rechte von DDs bekommen haben, können Debianentwickler alle Pakete hochladen und an wichtigen Abstimmungen teilnehmen. Sie sind offizielle Projektmitglieder. Die Gerüchte sind wahr, der Auswahlprozess dauert lange und ist mit lebensgefährlichen Prüfungen gespickt. 😉
Im Oktober letzten Jahres war es dann soweit und nun bin ich Debianentwickler. Ich bin immer noch hauptsächlich im Java- und Spielebereich aktiv, jedoch gibt es auch andere Teams, bei denen ich mitwirke. Im letzten Jahr war ich Debian-Mentor für ein Google-Summer-of-Code-Projekt im Android-Bereich, dass sich gut mit Java verbinden ließ. Dieses Jahr werde ich auch wieder als Mentor dabei sein. Darüber bin ich in Kontakt mit dem Guardian Project gekommen, für welches ich apktool und android-platform-tools-base nach Debian gebracht habe. Dies war meine erste bezahlte Arbeit für Debian, über die ich in Kürze noch ein paar mehr Worte verlieren möchte.
Zu guter Letzt bin ich auch Mitglied im Debian Long Term Support Team, wofür ich letzten Monat dank der Sponsoren 11,25 Stunden arbeiten durfte. Auch hier folgt bald ein Bericht. Nicht wundern, wenn Artikel nun ab und zu auch in Englisch erscheinen, da dies die einzige Möglichkeit ist alle Debianentwickler und -freunde zu erreichen. Oder wie es ein Freund ausdrückte, manche meiner alten Artikel seien zu "hardcore". Wie kann man nur cowbuilder, eatmydata und ccache nicht mögen. 🙂
Ich habe mir auch fest vorgenommen wieder über "alte Hardware" zu bloggen. Versprochen ist versprochen.

MediathekView 3.2: Neues Release für Debian verzögert sich wegen des neuen Mac-Designs

Das neue Jahr hatte mit dem guten Vorsatz begonnen öfter mal kleinere Artikel zu schreiben und wie das mit guten Vorsätzen so ist, waren sie dann auch schon kurze später wieder vergessen und man war wieder im alten Trott gefangen.
Dass ich nicht nur Müßiggang betreibe, sondern einfach nur das Schreiben mit ein paar Aufgaben für Debian getauscht habe, will ich mit diesem kleinen Bericht zur aktuellen Version von MediathekView beweisen, dem Betrachter für die Mediatheken des deutschsprachigen Fernsehens.
130321_MediathekView_3_2

Eine neue Version

Die neue Version 3.2 von MediathekView erschien vor zwei Tagen und brachte vor allem als neues Feature eine "Blacklist", mit der es möglich ist Sendungen und Abonnements herauszufiltern, die man nicht angezeigt bekommen möchte. Das ist vor allem für viele Trailer nützlich, deren Datum in der Zukunft liegt und die trotzdem bisher in der allgemeinen Übersicht angezeigt wurden.
Ebenso auffällig ist die neue Filteransicht, die sich z.B. durch Drücken von F8 aus- und einschalten lässt. Nun lässt sich die gesamte Filmliste, wie in der Adressleiste von Webbrowsern gewohnt, schon durch die Eingabe von einzelnen Buchstaben durchsuchen. Außerdem wurde mit der neuen Version eine optische Auffrischungskur eingeleitet, so dass sich das Design nun mehr an MacOSX orientiert.

Alles Aqua?

Murren und Knurren oder doch eher Jubel? Ich bin anfangs skeptisch gewesen, da die Veränderungen hauptsächlich für Mac-Benutzer zu sehen sind, jedoch werden davon langfristig alle profitieren, da ein neuer Entwickler zum Projekt hinzugestoßen ist, der die UI für alle verbessern möchte.
Obwohl ich die Entwicklung von MediathekView regelmäßig verfolge und auch im dortigen Forum aktiv bin, hat mich der Umfang der Veränderungen "unter der Haube" doch überrascht. Mir ist erst letzte Woche bewusst geworden, dass einige neue Abhängigkeiten, sprich Java-Bibliotheken, hinzugekommen sind. Das ist nichts Schlechtes, sondern erspart viel Entwicklungszeit, da man das Rad nicht wieder neu erfinden muss. Problematisch für mich als Betreuer des Pakets wurde es nur, als ich feststellte, dass noch niemand JIDE Common Layer (jide-oss) für Debian gepackt hatte.
Die Firma Jidesoft hat vor sechs Jahren Teile ihres ehemals proprietären Rahmenwerks für Java-Swing-Komponenten unter eine freie Lizenz gestellt und bietet mehr als 30 Komponenten und Werkzeuge an, damit komplexe Java-Anwendungen erstellt werden können. Das Angebot reicht von Buttons und Schiebereglern, über die Taschenrechnerkomponente, über Funktionen die Systeminformationen abgreifen bis hin zum Autocompletion-Feature und der SearchBar.
Als erstes stellte ich dann fest, dass die Lizenz nicht GPL-3 war, obwohl im Git-Repo von MV so ausgewiesen, sondern tatsächlich GPL-2 mit Classpath Exception. Eigentlich egal, GPL ist GPL, oder? Leider nein. GPL-3 und GPL-2 sind nicht kompatibel. Nach einiger Diskussion im Forum kamen wir jedoch zur Überzeugung, dass uns (mich) der Zusatz "mit Classpath Exception" rettet, weil es dadurch möglich wird MediathekView rechtmäßig gegen diese Bibliothek zu linken. Ansonsten hätte das Programm nicht in Debian erscheinen können. Umgehen lässt sich das Lizenz-Dilemma mit der GPL, indem man den Nutzern die Möglichkeit gibt, auch jede spätere Version der GPL nutzen zu dürfen. Das muss aber explizit in der Lizenz erwähnt sein, war aber hier nicht der Fall.
Ursprünglich sollte dem Programm auch nur die Jar-Datei von jide-oss beiliegen, also der schon übersetzte Bytecode der Bibliothek. Das widerspricht jedoch auch Debians Gesellschaftsvertrag, wir brauchen den Quellcode, so dass in der neuen Version auch dieser MediathekView beizufügen wäre. Der "saubere" Weg besteht jedoch darin Bibliotheken in separate Pakete auszulagern und extra zu packen. Im Klartext: Ich hatte mich gerade freiwillig als Maintainer für ein weiteres Javapaket gemeldet. 😉
Das neue Paket habe ich vergangene Woche auf der Mailingliste debian-java vorgestellt und kurz darauf auch darum gebeten dieses neue Paket in das Archiv hochzuladen. Natürlich kann das noch eine Weile dauern. Selbst wenn es augenblicklich passieren würde, müsste es erst mal durch die sogenannte Warteschlange für neue Pakete und von den FTP-Mastern gesichtet werden.
Ich erspare euch an dieser Stelle die Geschichte davon, wie ich den Code von Jide-OSS nach potentiellen Lizenzproblemen gescannt habe. Neben der allgemeinen Lizenz, GPL-2 with classpath exception, stehen Teile des Codes nämlich noch unter der BSD-, LGPL-2.1-, Apache-1.1- und Zlib-Lizenz.
Kurzum es wird wegen dieser neuen Bibliothek etwas länger bis zum Debian-Release dauern, jedoch verpasst ihr nicht allzu viel, wenn ihr noch Version 3.1 benutzt.
Wer mit Git nicht auf Kriegsfuß steht kann sich libjide-oss-java und MediathekView direkt aus dem Git-Repository herunterladen.
git://anonscm.debian.org/pkg-java/libjide-oss-java.git
git://anonscm.debian.org/collab-maint/mediathekview.git
Für alle, die nicht warten wollen, lassen sich Pakete hier herunterladen. Der Link verschwindet nach dem offiziellen Release wieder.

Installation

Installieren lässt sich MediathekView 3.2.1 dann mit

dpkg -i mediathekview_3.2.1-1_all.deb libjide-oss-java_3.5.3+dfsg-1_all.deb
aptitude install libmac-widgets-java libswingx-java libjgoodies-forms-java libcommons-compress-java libcommons-lang3-java

Schnell und schmerzlos: Editiere das MoinMoin-Wiki mit editmoin

Ich habe nun damit begonnen auch endlich mal einen Beitrag zu Debians Wiki zu leisten. Das Ganze wird durch MoinMoin angetrieben. Nur zur Erklärung für alle, die südlich der Donau wohnen, das ist nicht nur der abstruse Morgen-, Mittag- und Abendgruß der Nordlichter, sondern auch der Name einer freien Wiki-Software.
Wie gesagt habe ich mir nun schwer vorgenommen auch ein paar Einträge dort zu hinterlassen und das Ganze etwas mit Informationen zu füllen. Mein ultimatives Ziel jedoch ist es, dass irgendwann bei jedem Spiel ein kurzer, informativer Beitrag steht. Um was geht es, wie wird es installiert und konfiguriert und wie spielt man es eigentlich. Jetzt denke man sich noch ein grafisches Feuerwerk dazu und schon entsteht das "Debian Games Portal". So oder so ähnlich.
Bevor es soweit ist, brauchte ich zuerst einmal ein schlankes Werkzeug, mit dem sich das MoinMoin-Wiki bearbeiten ließ. Womit wir bei editmoin wären.
Wer schon mal das Debian Wiki mit dem Webbrowser angesteuert hat und versucht hat Seiten darin zu editieren, bemerkt unter anderem eine extreme Verzögerung beim Aufbau der Seiten. Ich habe keine Ahnung, woran das genau liegt, aber eigentlich kommt dafür nur die Hardware in Frage (Debian kann ja nicht Schuld sein. 😉 )
Mit editmoin hingegen geht das Editieren ganz leicht von der Hand, mit Hilfe des favorisierten Editors, in diesem Fall Vim.

aptitude install editmoin
aptitude install vim-addon-manager
vim-addons install editmoin

Mit diesen Befehlen wird editmoin installiert und zugleich auch die auf Vim zugeschnittene Syntax-Datei, mit der die Wiki-Syntax farblich hervorgehoben wird.
Nun muss man nur noch die Datei ~/.moin_users editieren und die URL des Wikis und den Benutzernamen angeben.

http://wiki.debian.org DEBIANBENUTZERIN

Danach genügt einfach editmoin und die entsprechende Seite, die man bearbeiten möchte, als Aufruf.
editmoin http://wiki.debian.org/Games/Atomix
Das ist alles. Der Vorteil: Keine Verzögerungen mehr beim Aufbau der Seite und bequemes Editieren im Lieblingseditor. Gerüchten nach zu urteilen funktioniert das auch auf etwas älterer Hardware. 🙂
editmoin

I3: ein verbesserter kachelnder Fenstermanager

In den letzten Monaten dominierten drei Desktopumgebungen bzw. Fenstermanager meine Rechner.
Gnome 3, Openbox und i3.

Zu meiner Vorliebe für Openbox, wenn es um einen klassischen Fenstermanager geht, brauche ich hier nicht mehr viel zu schreiben. Auch die Gemütslage zu Gnome 3 hatte ich letztes und vorletztes Jahr ausführlich beschrieben und immer noch ist 3.4 das Maß aller Dinge hier auf Debian Testing, was den Vorteil hat, dass man kontroversen Diskussion, wie den Veränderungen von Nautilus in 3.6, ein wenig entkommen kann.
Nun also i3. Zum einen lag das daran, dass ich mir letztes Jahr einen neuen Laptop kaufen musste und später feststellte, dass der Entwickler von i3 den gleichen benutzte. Zum anderen hatte ich schon seit längerem mit dem Gedanken gespielt einen neuen Fenstermanager auszuprobieren. Zwischenzeitlich hatte ich schon Awesome, Ratpoison und DWM angetestet, die allesamt für den Inbegriff ressourcenschonender, kachelnder Fenstermanager stehen.
Während DWM einfach nur die pure Effizienz inkarniert und Awesome sich mit etwas Geschick in LUA beliebig erweitern lässt, steht i3 seit Monaten für mich für eine Sache.

Einfachheit

Leute denken immer, wenn sie kachelnde Fenstermanager sehen und davon lesen, das sei nur was für Geeks und Programmierer. Lasst euch bitte bei i3 davon nicht blenden! Es brauchte nur ein Video und das typische

aptitude install i3

um sofort loszulegen, ohne Dokumentation zu wälzen und ohne den Fenstermanager neuzukompilieren. Ich werde an anderer Stelle noch kurz beschreiben, was man noch verändern kann und wo man ansetzen muss, um die kleinen Feinheiten herauszuarbeiten. Jedoch zum einfachen Loslegen genügt tatsächlich nur dieses Video und die Installation.

15.11.2015:
Damit die Warterei endlich ein Ende hat, hier einmal meine I3-config-Datei. Zum Ausprobieren einfach nach ~/.config/i3/ kopieren. Seit zwei Jahren hat sich hier kaum etwas bei mir verändert und ich bin immer noch mit den gleichen Einstellungen unterwegs. Interessant ist der letzte Absatz, wo ein paar zusätzliche Programme beim Einloggen gestartet werden und z.B. Chromium auf Arbeitsfläche 3 erscheint, wenn man die Supertaste+c drückt.
I3-config
Nicht vergessen auch noch i3status und i3lock zu installieren.
I3 läuft nun seit sechs Monaten auf meinem neuen Laptop und ist die Desktopumgebung meiner Wahl zum Erstellen von Debianpaketen. Man kann mit gutem Gewissen sagen: Schaut euch i3 an, ihr werdet es nicht bereuen.

http://i3wm.org/screenshots/

Das Video ist in Englisch, jedoch für Kenner der deutschen Sprache leicht zu verstehen. (Niemand möchte mein hessisches Englisch hören) 🙂
Also wenn ihr auf der Suche nach interessanten Fenstermanagern seid, vergesst nicht i3 einen Besuch abzustatten, mein persönlicher Favorit in den letzten sechs Monaten. Genug der Lobhuddelei, hier noch ein Bildschirmfoto
Fenstermanager i3

Foobillardplus: Eine gepflegte Partie Billard gefällig?

Debian beherbergt einige, wenn nicht gar sehr viele freie Spiele. Die Palette reicht dabei vom rundenbasierten Strategiespiel, über den klassischen Ego-Shooter bis zum Puzzlespiel für Kinder.
Natürlich gibt es auch Simulationen und eine davon heißt Foobillard.
Foobillard ist eine sehr gelungene Umsetzung eines klassischen Billardspiels in OpenGL. Ein Tisch, ein paar Kugeln, ein Queue, realistische Geräusche. Nun ist Foobillard schon ein wenig älter und hat circa 10 Jahre auf dem Buckel. Im Allgemeinen muss das gar nichts bedeuten.
An Foobillard gibt es deswegen auch nichts auszusetzen, jedoch gab es schon seit Jahren keine Neuerungen mehr, weswegen es Zeit für Foobillard++ wurde. Ich bin auf diesen Nachfolger erstmals im Dezember letzten Jahres aufmerksam geworden, als jemand das Spiel in #debian-games erwähnte. Seit längerem lag hier eine kleine Liste mit Spielen herum, die ich gerne mal erneuert gesehen hätte und auch Foobillard gehörte dazu. Ich nahm also die Vorlage auf und kontaktierte den Entwickler von Foobillardplus, um herauszufinden ob das Spiel für Debian geeignet war.
Ich war neugierig, welche Neuerungen das Spiel bot, ob es alte Bugs in Foobillard beseitigte und ob die Lizenz passte, um in Debian integriert zu werden. So war es dann auch. Ich störte mich zuerst ein wenig an dem Buildsystem des Spiels, aber auch das ließ sich ausräumen. Ich bin heute fester denn je davon überzeugt, dass es besser für alle Billardspieler da draußen wäre diese Version in Debian zu haben als weiterhin an der älteren Foobillardversion festzuhalten.
Foobillardplus
Es gibt einfach zu viele Neuerungen. Zuerst einmal fixt Foobillardplus viele schon Jahre alte Fehler. Es gibt ein neues Interface, neue Spielmodi, neue Hintergrundgrafiken und die Möglichkeit Musik abzuspielen. Letztere musste ich leider wegen der unfreien Lizenz entfernen, jedoch empfehle ich dennoch mal einen Blick auf die Band "Zentriert ins Antlitz" zu werfen, die ihre Musik für das Spiel zur Verfügung gestellt hat. Mir persönlich gefällt die Mucke sehr gut, jedoch ist BY-NC-ND keine Lizenz für Debian Main.
Musik ist auch nicht wirklich notwendig, um das Spiel zu genießen. Man kann auch eigene Tracks im Ogg-Format nach /usr/share/games/foobillardplus/data/music/ kopieren und die Musik im Spiel anhören.
Mein Ziel ist es die veraltete Version in Debian zu ersetzen. Mal schaun, was daraus wird. Ein fast komplettes Debianpaket könnt ihr bis zur offiziellen Veröffentlichung hier herunterladen:
Update: 05.09.2013 FooBillard++ ist nun offiziell im Debian-Archiv verfügbar!
Ich muss nur noch überprüfen, warum der Browser sich für die "History-Funktion" nicht öffnet. Morgen oder Übermorgen füge ich die Dateien noch zum Reprepro-Archiv hinzu, so dass der Download auch über das Einbinden der Serveradresse in die sources.list funktioniert.
Wer Billard mag, unbedingt anschauen!. Man kann es sowohl zu zweit gegeneinander, als auch gegen den Computer spielen.