ubuntuusers.de

18. Dezember 2016

Eine Artikelserie über freie Apps für Android kommt ganz sicher nicht ohne einen Artikel zu F-Droid aus. F-Droid ist nämlich nicht nur selber freie Software, sondern ein alternativer App Store, aus dem freie Apps (und nur solche) heruntergeladen und installiert werden können.

Hier ein Screenshot von F-Droid


Was mir gefällt

F-Droid erweitert die Anzahl der auf Android verfügbaren freien Apps enorm. Damit sorgt die App indirekt für mehr potentielle Sicherheit beim User, da sie Software von allen eingesehen werden kann und so zumindest potentiell das Mehr-Augen-Prinzip greift. Hierzu kommt auch, dass die enthaltenen Apps den F-Droid-Regeln entsprechen müssen und somit z.B. keine proprietären Bestandteile enthalten dürfen. Dies schließt dann z.B. auch das Tracking durch Google Analytics u.a. aus. Außerdem ist über F-Droid ein anonymer Download von Apps möglich, da der App-Store im Gegensatz z.B. zum Google Play Store, keine Anmeldung erfordert. Auch finden sich hier Apps, die gar nicht im Google Play Store zu finden sind.
Wie andere App-Stores auch, stellt F-Droid ein zentrale Paketverwaltung dar, über die die installierten Apps auch aktualisiert werden. Also genauso komfortabel wie andere App-Stores auch.

Was ich mir wünschen würde

Ich würde mir wünschen, dass es in F-Droid eine prominentere Möglichkeit zum Bezahlen und/oder spenden geben würde. Für mich ist das Entscheidende nicht, dass die Apps kostenlos sind, sondern dass der Quellcode einzusehen ist und die Software von guter Qualität ist. Ich bin daher gerne bereit für Software zu zahlen. Ich denke, dass die pekuniären Anreize, wenn also sichergestellt wäre, dass die Entwickler trotz Offenlegung ihres Quellcodes ihren Lebensunterhalt angemessen sichern können, noch mehr Personen überzeugen könnten, sich mit der Erstellung freier Software zu beschäftigen. Anscheinend wird hieran aber auch schon gearbeitet.

Wie installiere ich F-Droid?

F-Droid ist nicht im Google Play Store vorhanden. Daher muss eine *.apk heruntergeladen und installiert werden. Damit dies jedoch funktioniert, muss dies erst erlaubt werden. Hierzu in den Einstellungen den Menüpunkt „Sicherheit“ öffnen. Hier muss die Installation von Apps aus unbekannten Quellen erlaubt werden:

Anschließend kann F-Droid heruntergeladen werden. Anschließend nur noch die heruntergeladene Datei öffnen (der Paket-Installer sollte sich öffnen) und F-Droid installieren. Update: Wie Jörg K. zurecht angemerkt hat, empfiehlt es sich die Installation von Apps aus unbekannten Quellen nach der Installation von F-Droid (und den Apps, die ich aus dem Katalog installieren oder aktualisieren möchte) wieder zu verbieten.
Android ist durch die Installation von F-Droid enorm bereichert, wie sich auch im Folgenden in der Artikelserie: Empfehlenswerte freie, quelloffene Apps für Android zeigen wird.

Nachtrag vom 02.01.2017

Quellcode

Der F-Droid-Client steht unter der GPL-3.0. Der Quellcode wird auf Gitlab gehostet, wo sich auch der Bugtracker befindet.

Wie kann man die weitere Entwicklung unterstützen?

Wem F-Droid gefällt, der kann auf verschiedene Arten zu der weiteren Entwicklung beitragen. Zuerst ist hier sicherlich, wie bei allen freien Projekten, das Anzeigen von Bugs (Fehlern) im Bugtracker zu nennen. Außerdem können Apps, die bisher noch nicht im F-Droid-Katalog sind, für die Aufnahme vorgeschlagen werden, wenn sie den Anforderungen entsprechen. Für Entwickler bietet sich außerdem natürlich die Mitarbeit am Code des Clients oder des Servers an. Nichtentwickler können des Weiteren bei der Übersetzung in weitere Sprachen helfen oder die weitere Entwicklung durch eine Spende unterstützen. Hierbei kann man wählen zwischen einer Spende über Paypal, Flattr, bitcoin (15u8aAPK4jJ5N8wpWJ5gutAyyeHtKX5i18) oder Überweisung (IBAN: GB92 BARC 2056 7893 4088 92; SWIFT: BARCGB22).

Mit Hilfe des Add-ons New Tab Override kann in Firefox die Seite festgelegt werden, welche erscheinen soll, wenn man einen neuen Tab öffnet. Nun wurde New Tab Override 5.0 veröffentlicht. Mit der neuen Version erhält die von den Nutzern meistgewünschte Funktion endlich Einzug in New Tab Override.

Seit Firefox 41 ist es nicht länger möglich, die Seite anzupassen, welche beim Öffnen eines neuen Tabs erscheint, indem die Einstellung browser.newtab.url über about:config verändert wird. Da diese Einstellung – wie leider viele gute Dinge – in der Vergangenheit von Hijackern missbraucht worden ist, hat sich Mozilla dazu entschieden, diese Einstellung aus dem Firefox-Core zu entfernen (siehe Bug 1118285). Glücklicherweise hat Mozilla nicht einfach nur die Einstellung entfernt, sondern gleichzeitig auch eine neue API bereitgestellt, welche es Entwicklern von Add-ons erlaubt, diese Funktionalität in Form eines Add-ons zurück in Firefox zu bringen.

New Tab Override 5.0

Seit dem Erscheinen der ersten Version von New Tab Override gab es viel Feedback. Vieles davon hat bereits den Weg in die Erweiterung gefunden. Ein Wunsch wurde dabei besonders häufig genannt. Nun, kurz vor Weihnachten, hat es dieser Wunsch endlich in die Erweiterung geschafft.

Ab sofort gibt es in den Einstellungen der Erweiterung eine neue Option, um den Fokus beim Öffnen eines neuen Tabs auf die Webseite zu legen statt auf die Adressleiste.

Standardmäßig verhält sich New Tab Override so, dass der Fokus beim Öffnen eines neuen Tabs stets auf der Adressleiste liegt. Das heißt, wer einen neuen Tab öffnet, kann direkt in der Adressleiste eine andere URL eingeben. Die neue Option erlaubt es, dass beispielsweise für Nutzer, welche Google als Seite für den neuen Tab eingestellt haben, automatisch das Suchfeld fokussiert wird.

Alle Änderungen seit New Tab Override 4.0.2

  • NEUES FEATURE: Optional Fokus auf Webseite (z.B. Google Suchfeld) anstelle von Adressleiste setzen
  • Einstellungen: URL-Feld nur anzeigen, wenn entsprechende Option ausgewählt ist
  • Einstellungen: Einleitungstext hinzugefügt
  • Einstellungen: kleinere Design-Optimierungen
  • Einstellungen / Feed: Externe Links in neuem Tab öffnen
  • Einstellungen / Feed: rel=noopener-Attribut zu externen Links hinzugefügt
  • Einstellungen / Feed: Spenden-Button repariert

New Tab Override 5.0

Verwendungsweise

Nach der Installation des Add-ons muss die gewünschte Option ausgewählt und ggfs. die gewünschte Webseite eingetragen werden. Dies kann entweder über die Einstellungs-Oberfläche geschehen, welche über die Schaltfläche in der Symbolleiste erreicht werden kann, über die Detail-Ansicht des Add-ons im Add-on Manager von Firefox oder aber per Direkt-Eingabe von about:newtaboverride in die Adressleiste.

Quelltext

Quelltext auf git.agenedia.com

Download

Download auf addons.mozilla.org (deutsche Beschreibung)
Download auf addons.mozilla.org (englische Beschreibung)
Download auf addons.mozilla.org (niederländische Beschreibung)

Der Beitrag Firefox: New Tab Override 5.0 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

17. Dezember 2016

Roundcube ist ein schöner und quelloffener Webmail-Client, der relativ große Verbreitung erlangt hat. Auch ich setze diesen unter anderem auf meinem privaten Server ein. Letzte Woche wurde eine kritische Sicherheitslücke in Roundcube aufgedeckt. Zwar können nur eigene User die Schwachstelle ausnutzen und einige weitere Vorbedingungen müssen erfüllt werden (Sendmail muss im Einsatz usw.), so dass die von mir betriebenen Systeme von der Lücke nicht betroffen waren. Trotzdem lohnt sich alleine aufgrund der zahlreichen Bugs, die in der neuen Version 1.2.3 zusätzlich zum Schließen der Lücke behoben wurden, ein Update.

Backup

Bevor mit dem eigentlichen Update begonnen wird, sollte zunächst ein Backup durchgeführt werden, falls irgendetwas schief gehen sollte.
Einerseits sollte das Verzeichnis, in dem Roundcube liegt gesichert werden (bei mir /opt/www/roundcubemail/). Hierfür habe ich zunächst im Homeverzeichnis meines Users einen Ordner angelegt:

mkdir rc_backupdir

Anschließend habe ich das ganze Roundcube-Verzeichnis in dieses gesichert:

rsync -Aax /opt/www/roundcubemail /home/user/rc_backupdir/

Außerdem sollte noch ein Backup der Datenbank von Roundcube durchgeführt werden. (hier muss natürlich der Datenbankname (rot markiert) unter Umständen angepasst werden).

mysqldump --lock-tables -h localhost -u root -p roundcubemail > /home/user/rc_dbbackup_`date +"%Y%m%d"`.bak

Letzte Vorbereitungen

Vor dem Update sollte geprüft werden, ob die systemVariable in der php.ini disabled ist. Hierzu die php.ini öffnen


sudo nano /etc/php/7.0/cli/php.ini

Wenn die Datei geöffnet ist STRG+W drücken und nach disable_functions suchen und hier system, löschen und die Datei speichern.

Update

Ist das Backup abgeschlossen, kann mit dem Update begonnen werden. Hierzu zunächst die neue Version von Roundcube auf den Server laden:

wget https://github.com/roundcube/roundcubemail/releases/download/1.2.5/roundcubemail-1.2.5-complete.tar.gz

Und entpacken:

tar xf roundcubemail-1.2.5-complete.tar.gz

Anschließend in den neuen Ordner wechseln:

cd roundcubemail-1.2.5/

Und das Updateskript starten (hier auch unter Umständen wieder den Installationspfad von Roundcube anpassen):

bin/installto.sh /opt/www/roundcubemail/

Und schon ist Roundcube auf die schöne neue Version 1.2.5 geupdated. Abschließend sollte noch die system-Funktion wieder disabled werden, indem sie wieder in die php.ini eingefügt wird (s.o.).

OpenSUSE Leap ist die LTS-Variante von openSUSE. Im Gegensatz zu Debian, RHEL/CentOS oder Ubuntu galt openSUSE nie als gutes Serverbetriebssystem - die Supportzeiträume waren einfach zu kurz. Jede Leap-Hauptversion hat jedoch mindestens 42 Monate Support. Das ist weniger als Ubuntu oder CentOS, aber genug um für manchen Heimserver attraktiv zu werden.

Diese Attraktivität wird noch gesteigert durch den Releaseprozess von Leap. Dieses basiert nämlich auf SUSE Linux Enterprise und vor allem die Server-relevanten Pakete entstammen fast alle SLE. In diesem Einsatzszenario kommt openSUSE Leap somit auch seiner zugeschriebenen Rolle als freie SLE-Variante besonders Nahe.

Bei der Installation sind jedoch einige Fallstricke zu beachten. Zwar lässt sich in der Desktopauswahl der Server-Modus auswählen. Das entsprechende Metapaket reduziert die Installation auf ein Basisbetriebssystem ohne grafischen Überbau. Durch eine fehlerhafte Abhängigkeit zieht das Paket snapper-zypp-plugin jedoch Mesa nach sich und dann durch empfohlene RPM-Abhängigkeiten einen vollständigen GTK-Stack. Bei einem Server ist das natürlich vollkommen überflüssig. Das Paket snapper-zypp-plugin sollte daher bei der Installation manuell abgewählt werden. Dadurch funktioniert allerdings das SUSE-eigene snapper/btrfs-snapshot System nicht mehr vollständig, da dieses Plugin die Veränderungen bei jeder Installation/Deinstallation von Paketen dokumentierte. Gegebenenfalls muss man hier im Einzelfall abwägen, welche Prioritäten man setzt.

Weiterhin muss SSH in der Installationsübersicht manuell aktiviert werden, da man ansonsten nach der Installation nicht über das Netzwerk zugreifen kann. Die Firewall ist standardmäßig bereits abgeschaltet und sollte daher keine Problem verursachen. Sofern eine Firewall gewünscht ist, sollte man darauf achten, dass die entsprechenden Ausnahmen für SSH festgelegt sind.

Direkt nach der Installation sollte man zudem  noch die wicked-Einstellungen anpassen. Dies kann man über die ncurses-Oberfläche von YAST erledigen. Wicked ist das SUSE-eigene Werkzeug zur Netzwerk-Konfiguration.

yast 

Bei einer Server-Installation ist standardmäßig eine feste IP eingestellt. Oft soll aber die IP über DHCP zugewiesen werden und die feste IP-Zuordnung im Router erfolgen. Hier muss man dann nachjustieren, bevor der Server von der Peripherie getrennt wird.

Hierzu muss die entsprechende Netzwerkschnittstelle (i.d.R. eth0) bearbeitet werden. Hier sollte das "x" bei Dynamische Adresse positioniert sein.

yast wicked

Zur Reduzierung des Wartungsaufwands kann man noch die automatische Onlineaktualisierung aktivieren. Hierzu muss das Konfigurationsmodul für das entsprechende YAST-Modul noch nachinstalliert werden:

zypper in yast2-online-update-configuration

Anschließend lässt sich in Konfiguration der Online Aktualisierung festlegen wie oft die Onlineaktualisierung durchgeführt und welche Pakete mit einbezogen werden sollen. Die automatische Installation sicherheitsrelevanter Patches ist empfehlenswert. Ob man auch lediglich empfohlene Pakete einbeziehen möchte oder dies lieber gelegentlich manuell macht, muss jeder für sich entscheiden. Dies hängt sicherlich auch davon ab, wie viel Kontrolle man über die Updates ausüben möchte bzw. wie sehr man den Testroutinen von openSUSE vertraut.

OpenSUSE Leap ist die LTS-Variante von openSUSE. Im Gegensatz zu Debian, RHEL/CentOS oder Ubuntu galt openSUSE nie als gutes Serverbetriebssystem - die Supportzeiträume waren einfach zu kurz. Jede Leap-Hauptversion hat jedoch mindestens 42 Monate Support. Das ist weniger als Ubuntu oder CentOS, aber genug um für manchen Heimserver attraktiv zu werden.

Diese Attraktivität wird noch gesteigert durch den Releaseprozess von Leap. Dieses basiert nämlich auf SUSE Linux Enterprise und vor allem die Server-relevanten Pakete entstammen fast alle SLE. In diesem Einsatzszenario kommt openSUSE Leap somit auch seiner zugeschriebenen Rolle als freie SLE-Variante besonders Nahe.

Bei der Installation sind jedoch einige Fallstricke zu beachten. Zwar lässt sich in der Desktopauswahl der Server-Modus auswählen. Das entsprechende Metapaket reduziert die Installation auf ein Basisbetriebssystem ohne grafischen Überbau. Durch eine fehlerhafte Abhängigkeit zieht das Paket snapper-zypp-plugin jedoch Mesa nach sich und dann durch empfohlene RPM-Abhängigkeiten einen vollständigen GTK-Stack. Bei einem Server ist das natürlich vollkommen überflüssig. Das Paket snapper-zypp-plugin sollte daher bei der Installation manuell abgewählt werden. Dadurch funktioniert allerdings das SUSE-eigene snapper/btrfs-snapshot System nicht mehr vollständig, da dieses Plugin die Veränderungen bei jeder Installation/Deinstallation von Paketen dokumentierte. Gegebenenfalls muss man hier im Einzelfall abwägen, welche Prioritäten man setzt.

Weiterhin muss SSH in der Installationsübersicht manuell aktiviert werden, da man ansonsten nach der Installation nicht über das Netzwerk zugreifen kann. Die Firewall ist standardmäßig bereits abgeschaltet und sollte daher keine Problem verursachen. Sofern eine Firewall gewünscht ist, sollte man darauf achten, dass die entsprechenden Ausnahmen für SSH festgelegt sind.

Direkt nach der Installation sollte man zudem  noch die wicked-Einstellungen anpassen. Dies kann man über die ncurses-Oberfläche von YAST erledigen. Wicked ist das SUSE-eigene Werkzeug zur Netzwerk-Konfiguration.

yast 

Bei einer Server-Installation ist standardmäßig eine feste IP eingestellt. Oft soll aber die IP über DHCP zugewiesen werden und die feste IP-Zuordnung im Router erfolgen. Hier muss man dann nachjustieren, bevor der Server von der Peripherie getrennt wird.

Hierzu muss die entsprechende Netzwerkschnittstelle (i.d.R. eth0) bearbeitet werden. Hier sollte das "x" bei Dynamische Adresse positioniert sein.

yast wicked

Zur Reduzierung des Wartungsaufwands kann man noch die automatische Onlineaktualisierung aktivieren. Hierzu muss das Konfigurationsmodul für das entsprechende YAST-Modul noch nachinstalliert werden:

zypper in yast2-online-update-configuration

Anschließend lässt sich in Konfiguration der Online Aktualisierung festlegen wie oft die Onlineaktualisierung durchgeführt und welche Pakete mit einbezogen werden sollen. Die automatische Installation sicherheitsrelevanter Patches ist empfehlenswert. Ob man auch lediglich empfohlene Pakete einbeziehen möchte oder dies lieber gelegentlich manuell macht, muss jeder für sich entscheiden. Dies hängt sicherlich auch davon ab, wie viel Kontrolle man über die Updates ausüben möchte bzw. wie sehr man den Testroutinen von openSUSE vertraut.

Foto: © Vladislav Kochelaevs / Fotolia.com

Clouddienste basieren auf dem grundsätzlich erst einmal merkwürdigen Ansatz, dass Personen und Firmen bereit sind ihre Daten einem externen Dienstanbieter anzuvertrauen. Wenn einer dieser Dienstanbieter, dann das - eigentlich selbstverständliche - formuliert und zugibt, dass hierdurch thereotisch auch andere Personen Zugriff auf diese Daten haben ist das Geschrei groß.

Die Frage ist nur welche Optionen man hat, um seine Daten bestmöglich zu schützen.

Vorüberlegungen

Die erste Frage, die man sich stellen muss, lautet eigentlich "Brauche ich überhaupt einen Clouddienst?". Clouddienste sind angesagt, bei der Einrichtung eines neuen Smartphones werden einem meist zusätzliches Speichervolumen bei diesem oder jenem Clouddienst angeboten. Moderne Betriebssysteme wie macOS oder Windows 10 benötigen einen Apple- respektive Microsoftaccount und haben Cloudfunktionen vorinstalliert. Das verleitet dazu solche Dienste unüberlegt einzusetzen.

Jede Absicherungsmaßnahme kann man sich aber sparen, wenn man zu dem Ergebnis kommt, gar keinen Clouddienst zu benötigen. Das kann insbesondere dann der Fall sein, wenn man nur ein physisches Endgerät benötigt und faktisch nur von diesem einen Endgerät auf die Daten zugreift. Clouddienste hätten dann nur eine Bedeutung als ausfallsicheres Backupmedium, was man aber durch eine gute Backupsstrategie kompensieren kann.

Cloudanbieter

Heimserver

Sollte man jedoch zu dem Ergebnis kommen, dass ein Clouddienst unbedingt vonnöten ist, muss man seine Daten jedoch nicht unbedingt einem externen Dienstanbieter anvertrauen. Dank großartiger Projekte wie Nextcloud/ownCloud kann eigentlich jeder einen heimischen Cloudserver aufsetzen.

Allerdings bedarf es dazu ein bisschen Wissen über die Administration eines Linux-Servers, sowie die Absicherung desselben. Nur weil der Server in den eigenen vier Wänden steht, sind die Daten nicht unbedingt besser vor unbefugten Zugriffen geschützt, als bei einem externen Anbieter.

Bei einem eigenen Server ist man zudem selbst für die Backupstrategie verantwortlich. Als ausfallsicheres Backupmedium - womit manche Clouddienstleister werben - ist so eine Konstruktion sicherlich ungeeignet.

Externe Anbieter - Open Source vs. geschlossene Systeme

Sofern also aus Gründen der Ausfallsicherheit oder mangels eigener Kenntnisse in der Serveradministration die Entscheidung fällt einen externen Clouddienstleister zu nutzen, steht man vor der Wahl einen der großen Platzhirsche zu wählen oder einen kleinen Dienst, der beispielsweise auf Open-Source Lösungen setzt (Liste von Providern mit Nextcloud).

Open Source wird dabei von vielen immer noch mit "sicher" und "vertrauenswürdig" gleichgesetzt. Das ist allerdings nicht unbedingt der Fall. Wie die Auseinandersetzungen um Seafile in diesem Jahr zeigten, agieren kleine Firmen manchmal wenig transparent und die Sicherheit der eigenen Daten ist nicht unbedingt gewährleistet. Zumal man den Zusicherungen des Anbieters genau wie bei proprietären Systemen vertrauen muss. In die Serverkonfiguration kann man schließlich nicht hineinschauen.

Verschlüsselung

Aus diesem Grund sollte man immer auf clientseitige Verschlüsselung setzen - egal wie sehr man seinem Anbieter vertraut. Mit Cryptomator steht inzwischen eine freie, anbieterübergreifende Lösung zur Verfügung, die sicherer als das gebrochene EncFS ist und kein Abomodell voraussetzt wie z.B. Boxcryptor. Qualitativ hochwertige Verschlüsselung (also nicht EncFS) mit einem sehr guten Passwort ist der beste Schutz.

Zusammengefasst

Grundsätzlich ist es immer die beste Entscheidung keinen Cloudanbieter zu verwenden. Daten die einmal die eigenen vier Wände verlassen haben, lassen sich prinzipiell nur eingeschränkt kontrollieren. Entsprechendes Fachwissen vorausgesetzt kann es einen Kompromiss darstellen einen eigenen Server zu betreiben und auch von außerhalb des Heimnetzwerkes verfügbar zu machen.

Sofern beides keine Option und ein externer Anbieter notwendig ist, kann ein großer Anbieter mit proprietärer Software die bessere Wahl als eine kleine "Klitsche" mit vielen Versprechungen sein. Einfach weil Sicherheit auch ein Kostenfaktor ist und kleine Startups oft nicht solide finanziert sind - egal wie professionell die Internetauftritte sich gestalten. Hier ist auch immer zu hinterfragen, wie sich die Dienste finanzieren. Sehr preiswerte oder kostenlose Angebote legen immer die Vermutung nahe, dass mit den Daten Geld verdient werden muss.

Egal welchen Anbieter man wählt, Verschlüsselung ist Pflicht. Das einzige wirklich valide Argument gegen einen Anbieter ist daher, wenn sich Daten bei diesem nicht verschlüsseln lassen.

Schon seit einiger Zeit hilft mir Ansible1 fast täglich dabei, meine Arbeit leichter zu gestalten. Heute möchte ich euch ganz kurz erzählen, was ich am Ad-hoc-Modus schätze.

Der Ad-hoc-Modus bietet die Möglichkeit, einfache Kommandos parallel auf einer Gruppe von Nodes ausführen zu lassen, ohne zuvor ein Playbook erstellen zu müssen. Ein Ad-hoc-Befehl besitzt z.B. den folgenden Aufbau:

ansible [-m module_name] [-a args] [options]

Ein einfaches Beispiel aus der Ansible-Dokumentation2 soll die Anwendung verdeutlichen:

# ansible all -m ping -i staging --limit=e-stage
host01.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}
host02.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}
host03.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}

Das Schlüsselwort all gibt an, dass das Kommando auf allen Nodes ausgeführt werden soll, welche in der Inventar-Datei enthalten sind. Mit -m ping wird das zu verwendende Ansible-Modul spezifiziert. Da das verwendete Modul keine weiteren Argumente besitzt, findet -a in diesem Beispiel keine Anwendung. Mit der Option -i kann die zu verwendende Inventar-Datei angegeben werden. Lässt man diese Option weg, wird die Standard-Inventar-Datei /etc/ansible/hosts verwendet. Mit der Option --limit=e-stage wird die Ausführung noch weiter eingeschränkt. So wird in diesem Fall das Modul ping nur auf den Nodes der Gruppe e-stage ausgeführt. Das in diesem Beispiel verwendete Inventar besitzt den folgenden Aufbau:

[e-stage]
host01.example.com
host02.example.com
host03.example.com
host06.example.com
host07.example.com

[i-stage]
host04.example.com

[p-stage]
host05.example.com

Verknüpfung mit weiteren Kommandos

Selbstverständlich lassen sich Ansible-Ad-hoc-Kommandos auf der Kommandozeile auch weiter verknüpfen. Dies soll an zwei kleinen Beispielen verdeutlicht werden.

Status eines Dienstes prüfen

In diesem ersten Beispiel soll der Status des Dienstes chronyd überprüft werden, ohne den aktuellen Status zu ändern. Dabei soll das Kommando systemctl status chronyd.service via Ansible parallel auf den Nodes ausgeführt werden.

Zuvor habe ich mir auf einem Node angesehen, wie die Ansible-Ausgabe in Abhängigkeit vom Dienststatus aussieht (Ausgabe gekürzt):

# Der Dienst auf dem Node ist gestartet
root@ansible-control-machine>ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging -l host01.example.com
host01.example.com | SUCCESS | rc=0 >>
* chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-12-15 14:52:02 CET; 19h ago

# Der Dienst auf dem Node ist gestoppt
root@ansible-control-machine>ansible all -m command -a’/usr/bin/systemctl status chronyd.service‘ -i staging -l host01.example.com
host01.example.com | FAILED | rc=3 >>
* chronyd.service – NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2016-12-16 10:04:34 CET; 4s ago

# Das Paket, welches den Dienst enthaelt ist nicht installiert
root@ansible-control-machine>ansible all -m command -a’/usr/bin/systemctl status chronyd.service‘ -i staging -l host01.example.com
host01.example.com | FAILED | rc=4 >>
Unit chronyd.service could not be found.

Anhand der Ausgaben ist zu erkennen, dass Ansible den Task als „| SUCCESS |“ markiert, wenn der Dienst läuft und als „| FAILED |“, wenn der Dienst gestoppt bzw. gar nicht installiert ist. Durch Verknüpfung des Kommandos mit grep kann man sich nun schnell einen Überblick über den Dienststatus auf seinen Rechnern verschaffen:

root@ansible-control-machine> ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging --limit=e-stage | grep '| SUCCESS |\|| FAILED |'
host01.example.com | SUCCESS | rc=0 >>
host02.example.com | SUCCESS | rc=0 >>
host03.example.com | FAILED | rc=3 >>
host06.example.com | SUCCESS | rc=0 >>
host07.example.com | SUCCESS | rc=0 >>

Anhand der Ausgabe ist leicht zu erkennen, dass der Dienst chronyd auf host03 nicht läuft. Anhand des Return-Codes rc=3 lässt sich weiterhin erkennen, dass das notwendige Paket offensichtlich installiert ist, der Dienst jedoch nicht gestartet wurde. Dies kann nun jedoch schnell durch folgenden Befehl korrigiert werden (Ausgabe gekürzt):

root@ansible-control-machine>ansible host03.example.com -m systemd -a'name=chronyd state=started' -i staging
host03.example.com | SUCCESS => {
"changed": true,
"name": "chronyd",
"state": "started",
"status": {...}
}

Eine erneute Ausführung des ersten Kommandos bestätigt, dass der Dienst nun auch auf dem Node host03 ausgeführt wird.

root@ansible-control-machine> ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging --limit=e-stage | grep '| SUCCESS |\|| FAILED |'
host01.example.com | SUCCESS | rc=0 >>
host02.example.com | SUCCESS | rc=0 >>
host03.example.com | SUCCESS | rc=0 >>
host06.example.com | SUCCESS | rc=0 >>
host07.example.com | SUCCESS | rc=0 >>

Paketversion überprüfen

In diesem Beispiel möchte ich die installierte Version des Pakets tzdata abfragen. Dies geschieht auf einem einzelnen Host mit dem Kommando rpm -qi :

# rpm -qi tzdata
Name : tzdata
Version : 2016i
Release : 1.el7
Architecture: noarch
Install Date: Wed Nov 9 08:47:03 2016
Group : System Environment/Base
Size : 1783642
License : Public Domain
Signature : RSA/SHA256, Fri Nov 4 17:21:59 2016, Key ID 199e2f91fd431d51
Source RPM : tzdata-2016i-1.el7.src.rpm
Build Date : Thu Nov 3 12:46:39 2016
Build Host : ppc-045.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://www.iana.org/time-zones
Summary : Timezone data
Description :
This package contains data files with rules for various timezones around
the world.

Mich interessiert lediglich die zweite Zeile, welche die Version des Pakets enthält. Die frage ich nun wie folgt ab:

root@ansible-control-machine> ansible all -m command -a'/usr/bin/rpm -qi tzdata' -i staging --limit=e-stage | grep 'SUCCESS\|Version'
host01.example.com | SUCCESS | rc=0 >>
Version : 2016f
host02.example.com | SUCCESS | rc=0 >>
Version : 2016g
host03.example.com | SUCCESS | rc=0 >>
Version : 2016i
host06.example.com | SUCCESS | rc=0 >>
Version : 2016i
host07.example.com | SUCCESS | rc=0 >>
Version : 2016i

Ohne Ansible hätte ich diese Aufgaben entweder mit Iteration in einem kurzen Shell-Skript lösen müssen, oder zuerst ein Kochbuch, Manifest, etc. schreiben, welches dann anschließend ausgeführt werden kann. So wurde mir hingegen einiges an Zeit gespart, die ich für andere Dinge verwenden konnte.

Quellen und weiterführende Links

  1. Ansible – IT-Automation für Jedermann
  2. Introduction To Ad-Hoc Commands {en}

Schon seit einiger Zeit hilft mir Ansible1 fast täglich dabei, meine Arbeit leichter zu gestalten. Heute möchte ich euch ganz kurz erzählen, was ich am Ad-hoc-Modus schätze.

Der Ad-hoc-Modus bietet die Möglichkeit, einfache Kommandos parallel auf einer Gruppe von Nodes ausführen zu lassen, ohne zuvor ein Playbook erstellen zu müssen. Ein Ad-hoc-Befehl besitzt z.B. den folgenden Aufbau:

ansible [-m module_name] [-a args] [options]

Ein einfaches Beispiel aus der Ansible-Dokumentation2 soll die Anwendung verdeutlichen:

# ansible all -m ping -i staging --limit=e-stage
host01.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}
host02.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}
host03.example.com | SUCCESS => {
"changed": false,
"ping": "pong"
}

Das Schlüsselwort all gibt an, dass das Kommando auf allen Nodes ausgeführt werden soll, welche in der Inventar-Datei enthalten sind. Mit -m ping wird das zu verwendende Ansible-Modul spezifiziert. Da das verwendete Modul keine weiteren Argumente besitzt, findet -a in diesem Beispiel keine Anwendung. Mit der Option -i kann die zu verwendende Inventar-Datei angegeben werden. Lässt man diese Option weg, wird die Standard-Inventar-Datei /etc/ansible/hosts verwendet. Mit der Option --limit=e-stage wird die Ausführung noch weiter eingeschränkt. So wird in diesem Fall das Modul ping nur auf den Nodes der Gruppe e-stage ausgeführt. Das in diesem Beispiel verwendete Inventar besitzt den folgenden Aufbau:

[e-stage]
host01.example.com
host02.example.com
host03.example.com
host06.example.com
host07.example.com

[i-stage]
host04.example.com

[p-stage]
host05.example.com

Verknüpfung mit weiteren Kommandos

Selbstverständlich lassen sich Ansible-Ad-hoc-Kommandos auf der Kommandozeile auch weiter verknüpfen. Dies soll an zwei kleinen Beispielen verdeutlicht werden.

Status eines Dienstes prüfen

In diesem ersten Beispiel soll der Status des Dienstes chronyd überprüft werden, ohne den aktuellen Status zu ändern. Dabei soll das Kommando systemctl status chronyd.service via Ansible parallel auf den Nodes ausgeführt werden.

Zuvor habe ich mir auf einem Node angesehen, wie die Ansible-Ausgabe in Abhängigkeit vom Dienststatus aussieht (Ausgabe gekürzt):

# Der Dienst auf dem Node ist gestartet
root@ansible-control-machine>ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging -l host01.example.com
host01.example.com | SUCCESS | rc=0 >>
* chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-12-15 14:52:02 CET; 19h ago

# Der Dienst auf dem Node ist gestoppt
root@ansible-control-machine>ansible all -m command -a’/usr/bin/systemctl status chronyd.service‘ -i staging -l host01.example.com
host01.example.com | FAILED | rc=3 >>
* chronyd.service – NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Fri 2016-12-16 10:04:34 CET; 4s ago

# Das Paket, welches den Dienst enthaelt ist nicht installiert
root@ansible-control-machine>ansible all -m command -a’/usr/bin/systemctl status chronyd.service‘ -i staging -l host01.example.com
host01.example.com | FAILED | rc=4 >>
Unit chronyd.service could not be found.

Anhand der Ausgaben ist zu erkennen, dass Ansible den Task als „| SUCCESS |“ markiert, wenn der Dienst läuft und als „| FAILED |“, wenn der Dienst gestoppt bzw. gar nicht installiert ist. Durch Verknüpfung des Kommandos mit grep kann man sich nun schnell einen Überblick über den Dienststatus auf seinen Rechnern verschaffen:

root@ansible-control-machine> ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging --limit=e-stage | grep '| SUCCESS |\|| FAILED |'
host01.example.com | SUCCESS | rc=0 >>
host02.example.com | SUCCESS | rc=0 >>
host03.example.com | FAILED | rc=3 >>
host06.example.com | SUCCESS | rc=0 >>
host07.example.com | SUCCESS | rc=0 >>

Anhand der Ausgabe ist leicht zu erkennen, dass der Dienst chronyd auf host03 nicht läuft. Anhand des Return-Codes rc=3 lässt sich weiterhin erkennen, dass das notwendige Paket offensichtlich installiert ist, der Dienst jedoch nicht gestartet wurde. Dies kann nun jedoch schnell durch folgenden Befehl korrigiert werden (Ausgabe gekürzt):

root@ansible-control-machine>ansible host03.example.com -m systemd -a'name=chronyd state=started' -i staging
host03.example.com | SUCCESS => {
"changed": true,
"name": "chronyd",
"state": "started",
"status": {...}
}

Eine erneute Ausführung des ersten Kommandos bestätigt, dass der Dienst nun auch auf dem Node host03 ausgeführt wird.

root@ansible-control-machine> ansible all -m command -a'/usr/bin/systemctl status chronyd.service' -i staging --limit=e-stage | grep '| SUCCESS |\|| FAILED |'
host01.example.com | SUCCESS | rc=0 >>
host02.example.com | SUCCESS | rc=0 >>
host03.example.com | SUCCESS | rc=0 >>
host06.example.com | SUCCESS | rc=0 >>
host07.example.com | SUCCESS | rc=0 >>

Paketversion überprüfen

In diesem Beispiel möchte ich die installierte Version des Pakets tzdata abfragen. Dies geschieht auf einem einzelnen Host mit dem Kommando rpm -qi :

# rpm -qi tzdata
Name : tzdata
Version : 2016i
Release : 1.el7
Architecture: noarch
Install Date: Wed Nov 9 08:47:03 2016
Group : System Environment/Base
Size : 1783642
License : Public Domain
Signature : RSA/SHA256, Fri Nov 4 17:21:59 2016, Key ID 199e2f91fd431d51
Source RPM : tzdata-2016i-1.el7.src.rpm
Build Date : Thu Nov 3 12:46:39 2016
Build Host : ppc-045.build.eng.bos.redhat.com
Relocations : (not relocatable)
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Vendor : Red Hat, Inc.
URL : https://www.iana.org/time-zones
Summary : Timezone data
Description :
This package contains data files with rules for various timezones around
the world.

Mich interessiert lediglich die zweite Zeile, welche die Version des Pakets enthält. Die frage ich nun wie folgt ab:

root@ansible-control-machine> ansible all -m command -a'/usr/bin/rpm -qi tzdata' -i staging --limit=e-stage | grep 'SUCCESS\|Version'
host01.example.com | SUCCESS | rc=0 >>
Version : 2016f
host02.example.com | SUCCESS | rc=0 >>
Version : 2016g
host03.example.com | SUCCESS | rc=0 >>
Version : 2016i
host06.example.com | SUCCESS | rc=0 >>
Version : 2016i
host07.example.com | SUCCESS | rc=0 >>
Version : 2016i

Ohne Ansible hätte ich diese Aufgaben entweder mit Iteration in einem kurzen Shell-Skript lösen müssen, oder zuerst ein Kochbuch, Manifest, etc. schreiben, welches dann anschließend ausgeführt werden kann. So wurde mir hingegen einiges an Zeit gespart, die ich für andere Dinge verwenden konnte.

Quellen und weiterführende Links

  1. Ansible – IT-Automation für Jedermann
  2. Introduction To Ad-Hoc Commands {en}

16. Dezember 2016

Mozilla hat einen Firefox Hardware Report veröffentlicht. Dieser beinhaltet Informationen darüber, was für Hardware von den Firefox-Nutzern genutzt wird, und soll Webentwicklern zu verstehen helfen, was für die Entwicklung komplexer Anwendungen wie Spiele vorausgesetzt werden kann – und was nicht.

Der Firefox Hardware Report ist eine neue Webseite von Mozilla, welche basierend auf den Telemetrie-Daten der Firefox-Nutzer auf dem Release-Kanal Auskunft über die von den Firefox-Nutzern verwendeten Systeme gibt. So ergibt sich ein Bild, wie verbreitet bestimmte Hardware-Konfigurationen sind und was vorausgesetzt werden kann und was nicht – quasi wie caniuse.com, bloß für Hardware statt für unterstützte CSS-Features.

Firefox Hardware Report

Da der Firefox Hardware Report auf Telemetrie-Daten basiert, werden natürlich nur jene Nutzer berücksichtigt, welche die Telemetrie-Funktion von Firefox aktiviert haben.

Der Bericht beinhaltet Informationen zur Verbreitung der folgenden Dinge:

  • Grafikchip-Hersteller (Intel, AMD, NVIDIA)
  • Grafikkarten-Modelle
  • Bildschirmauflösungen
  • CPU-Hersteller (Intel, AMD)
  • CPU-Kerne
  • CPU-Geschwindigkeiten
  • Menge an RAM
  • Betriebssysteme
  • 32-Bit vs. 64-Bit Betriebssystem
  • 32-Bit vs. 64-Bit Browser
  • Flash Player installiert

Firefox Hardware Report

Wer mehr darüber erfahren möchte, wie dieser Bericht generiert wird, findet diesbezüglich weitere Informationen auf dem Mozilla Tech Blog. Der Quellcode der Webseite ist, wie man es von Mozilla nicht anders gewohnt ist, Open Source.

Der Beitrag Mozilla veröffentlicht Firefox Hardware Report erschien zuerst auf soeren-hentzschel.at.

Bald nach Saints Row 2 wollte ich den dritten Teil anspielen, aber es war absolut unspielbar. Komplette Diashow. Mich hat das etwas überrascht, denn obwohl schon der zweite Teil auf dem System (Radeon HD 7950) nicht toll lief, hatte ich gelesen, dass der dritte besser optimiert sei. Aber da ging nichts.

Vor ungefähr einem Monat, nach einigen Systemupdates, funktionierte Saints Row 3 dann plötzlich. Es lief nicht toll, aber es war gerade so spielbar – auf minimalen Einstellungen und 1280×720, mit massiven FPS-Schwankungen je nach Geschehen auf dem Bildschirm, nach erneutem Übertakten des Prozessors. Und heute, pünktlich zur finalen Mission, läuft es flüssig. Auf Full-HD und in mittleren Einstellungen. Es ist einfach nur großartig, dabei zuzusehen, wie sich der Linux-Desktop in eine valide Spieleplattform verwandelt.

Der folgende Screenshot ist von heute, der weiter unten schon etwas älter. Ich meine man kann deutlich erkennen, wie viel schlechter die Grafikqualität im zweiten ist. Eine solche Änderung durch einen kleinen Treiberupdate, das ist beeindruckend.

Und Saints Row 3 selbst? Es ist wieder ein gutes Spiel. Ich fand es schwieriger hineinzukommen, und ein paar der Nebenmissionen wieder ätzend. Aber man findet dann doch hinein und dann ist es wie der zweite, nur viel überdrehter und absurder. Mit GTA hat das nicht mehr viel zu tun, und das ist gut so, denn es ist schlicht spaßiger.

Wieder gibt es eine Story, in der mehrere gegnerische Banden bekämpft werden müssen. Die sind direkt mit einem überbösen Syndikat verbündet, später kommt dann noch mit STAG das (Scifi-)Militär hinzu. Die vorherigen Kollegen sind wieder mit dabei, wobei Shaundi ziemlich verändert wurde. Die Missionen gleiten alle ins absurde, wenn eine sich anfangs wie eine normale Mission eines GTA anfühlt, kann man sicher sein, dass drei Sekunden später laserschießende Weltraumtentakelmonster aus der Kanalisation kriechen. Wieder gibt es Upgrades, Waffenupgrades, Kleidung und Tattoos, und der Charakter kann ziemlich angepasst werden. Doch anders als im vorigen Teil – man ahnt es – ist es kein Problem, einen völlig absurden Charakter zu erschaffen, z.B. ein hell-blaues Monster statt eines Menschen. Und dem kann dann noch ein Hotdogkostüm angezogen werden. Oder eine Toilette.

Das war fast zu viel für mich. Nicht immer ist alles witzig oder gelungen, es gibt einige Sequenzen (z.B. das Fallen aus dem Flugzeug), die spielerisch komplett anspruchslos sind. Aber Anspruch ist sowieso nicht das Markenzeichen von Saints Row. Es will absurd und spaßig sein, und kriegt das gut hin. Ich freu mich auf den vierten Teil, den ich im letzten Steam-Sale gekauft habe – mal schauen, ob für den ein weiteres Treiberupdate nötig ist.

15. Dezember 2016

Mozilla hat die Leseansicht von Firefox 53 um eine Information erweitert, nämlich um die Angabe einer geschätzten Lesedauer.

Auf einigen Seiten im Web ist in der Adressleiste von Firefox ein Buch-Symbol zu sehen. Per Klick darauf erscheinen Artikel so aufbereitet, dass sie störungsfrei gelesen werden können. Konkret bedeutet dies eine angenehme Farbgebung und Schriftgestaltung sowie keine störenden Elemente wie Werbung. Im Vordergrund steht der Inhalt des Artikels. Der Nutzer kann durch Anpassungen die Leseansicht konfigurieren und hat dabei die Wahl zwischen einer serifen sowie einer serifenlosen Schriftart, kann das Farbschema ändern (Hell, Dunkel, Sepia) und die Schriftgröße anpassen. Auch die Breite der Textspalte sowie der Abstand zwischen den einzelnen Zeilen kann festgelegt werden. Außerdem kann man sich Artikel über diese Ansicht auch vorlesen lassen.

Ab Firefox 53 blendet der Mozilla-Browser hier noch eine zusätzliche Information ein, nämlich eine geschätzte Lesedauer. Dabei berücksichtigt die Implementierung auch die unterschiedlichen Lesegeschwindigkeiten, abhängig von der Sprache des Artikels. Auch werden sowohl langsame als auch schnelle Leser berücksichtigt, indem unter Umständen Angaben wie „11-14 min“ gemacht werden.

Lesedauer Firefox 53

Hinweis für Leser dieses Blogs: auf diesem Blog wird bereits in allen Artikeln, unabhängig von der Leseansicht von Firefox, eine geschätzte Lesedauer angezeigt. Diese kann von der Angabe in der Leseansicht von Firefox abweichen, da auf diesem Blog ein anderer Algorithmus zur Berechnung zum Einsatz kommt als in Firefox.

Der Beitrag Firefox 53: Leseansicht erhält geschätzte Lesedauer erschien zuerst auf soeren-hentzschel.at.

Viele (Windows)Nutzer wissen gar nicht das sie schon einen Jabber-Chat
Client installiert haben: Thunderbird. Obwoh ich gern Pidgin empfehle ist auch
Thunderbird sehr gut geeignet.
Unter Ubuntu ist der eMail Client automatisch mit dabei, und kann hier für den nicht
mehr installierten Empathy genutzt werden. Aber auch unter Windows
ermöglicht Thunderbird das schreiben.
Mein Server funktioniert auch mit Thunderbird.

Hier eine kleine Bilderstrecke zur Installation

chat1

Als erstes wählt mach Chat aus und dann “Los gehts”

chat2

Als Protokoll wählt man XMPP

chat3

Benutzername und der JabberChatSever wird hier eingetragen. Mein Server heisst: gnude.no-ip.biz

chat4

Auch das Kennwort muss eingegeben werden.

chat5

Der angezeigte Name den andere Nutzer sehen gibt man hier ein

chat6

Dann klickt man auf “Status anzeigen” und muss hier noch die “Ausnahme hinzufügen” da mein  Server kein öffentliches Zertifikat hat. Das muss man noch bestätigen.

Anschliessend kann man den Jabber-Server nutzen. Für Android kann ich z.b. xabber empfehlen, für Linux Empathy oder Pidgin.

Eine weitere gute Beschreibung von Jabber findet ihr hier:

https://trashserver.net/xmpp/

Zur Anmeldung könnt ihr mir gerne eine eMail schreiben ( andre ät nitschke-marl.de ) oder einen anderen freien Jabber Server nutzen.

Am Dienstagabend wurde der Werkzeugkasten Freie Software wie angekündigt vorgestellt. Die Publikation, die sich vornehmlich an Lehrerinnen und Lehrer richtet, „versteht sich als eine Sammlung von sinnvoller Software, mit der Unterricht in einem digitalen und Zeitalter gestaltet werden kann.“ Er ist Teil des Projekts Medien in die Schule, welches von der FSM (Freiwilligen Selbstkontrolle Multimedia-Diensteanbieter), der FSF (Freiwillige Selbstkontrolle Fernsehen; nicht dieser FSF) und Google finanziert wird.

Der Werkzeugkasten steht als Download und entsprechend des Themas natürlich auch als frei lizenziertes Bildungsmaterial (Open Educational Resources) bereit. Außerdem gibt es ihn nicht nur als PDF, sondern auch als ODT und DOCX, für alle die darin gerne Verbesserungen unterbringen möchten.

Download (PDF): Medien_in_die_Schule-Werkzeugkasten_Freie_Software

Zur Webseite des Werkzeugkastens

14. Dezember 2016

Ich habe gerade mein Piwigo, das bisher meine Bildergalerien erzeugt hat, in Rente geschickt. Stattdessen erzeuge ich jetzt statische Bildergalerien mit fgallery.

Fgallery steht unter der GPLv2+ und ist ab Stretch in Debian verfügbar. Mit fgallery kann man schlichte aber hübsche Fotogalerien in HTML/JavaScript generieren lassen. Meiner Meinung nach sehen diese simplen Galerien gerade wegen ihrer Einfachkeit bzw. Reduktion auf das wesentliche , die Bilder, toll aus. Download-/Viewzähler, Bewertungen etc. benötige ich nicht unbedingt weshalb eine statische Galerie für mich auch ausreichend ist und auch Vorteile mit sich bringt.

Da ich Piwigo selten genutzt habe kam es vor, dass ich von einem Update längere Zeit nichts mitbekam und dies erst relativ spät ausgeführt habe. Das kann natürlich ein Sicherheitsrisiko bedeuten, das statische Seiten nicht mit sich bringen.

Das einzige was ich an fgallery etwas vermisse ist die Unterstützung für mehrere Galerien, aber das habe ich umgangen indem ich die Galerien einfach einzeln anlege und in Ermangelung einer Übersichtsseite einfach pics.mdosch.de auf den entsprechenden tag im blog umgeleitet habe.

Ich habe gerade mein Piwigo, das bisher meine Bildergalerien erzeugt hat, in Rente geschickt. Stattdessen erzeuge ich jetzt statische Bildergalerien mit fgallery.

Fgallery steht unter der GPLv2+ und ist ab Stretch in Debian verfügbar. Mit fgallery kann man schlichte aber hübsche Fotogalerien in HTML/JavaScript generieren lassen. Meiner Meinung nach sehen diese simplen Galerien gerade wegen ihrer Einfachkeit bzw. Reduktion auf das wesentliche , die Bilder, toll aus. Download-/Viewzähler, Bewertungen etc. benötige ich nicht unbedingt weshalb eine statische Galerie für mich auch ausreichend ist und auch Vorteile mit sich bringt.

Da ich Piwigo selten genutzt habe kam es vor, dass ich von einem Update längere Zeit nichts mitbekam und dies erst relativ spät ausgeführt habe. Das kann natürlich ein Sicherheitsrisiko bedeuten, das statische Seiten nicht mit sich bringen.

Das einzige was ich an fgallery etwas vermisse ist die Unterstützung für mehrere Galerien, aber das habe ich umgangen indem ich die Galerien einfach einzeln anlege und in Ermangelung einer Übersichtsseite einfach pics.mdosch.de auf den entsprechenden tag im blog umgeleitet habe.

Lange hat sich das Multi Remote Management Tool dRemote nicht gehalten. 
Der Entwickler hat vor wenigen Tagen mitgeteilt, dass er sich dem Projekt nicht weiter widmen werde.
Nicht umsonst veweist er auf mRemoteNG, welches als Alternative übrig geblieben ist.

mRemoteNG

mRemoteNG

Das Remote Session Programm wird munter weiter entwickelt, die letzte stabile Version 1.74 Final ist vom Juli. 
Die nächste Generation hat momentan zwar noch Beta Status ist allerdings schon auf 1.75 Beta 3 angelangt.

Wer die Beta verwendet oder testen möchte, sollte vorher seine Konfigurationsdatei sichern, da sich das Schema der confCons.xml seit Beta 1 geändert hat.

Ein Wechsel ist via Export/Import der Konfigurationsdatei möglich.

mRemoteNG

Was man nicht so alles im Netz findet.

Heute: Der „IPv6 Christmas Tree“. Auf http://ipv6tree.bitnet.be/ findet man den Livestream eines bunt blinkenden Plastikbäumchens und dazu gibts weihnachtliches Liedgut in Dauerschleife.

Kurios an dem Bäumchen ist der Zusammenhang mit IPv6, das Bäumchen steht nicht umsonst auf einem Router. Das Blinken der Lampen kommt nämlich von Ping-Requests an diverse IPv6-Adressen (zu finden auf der Webseite).

Warum man so etwas tut? „Weil IPv6 und weil man’s kann“ ist da wohl die einzig valide Antwort. Vielleicht hilft man damit, die Verbreitung von IPv6 zu steigern, wer weiß…

Bild: Screenshot http://ipv6tree.bitnet.be/

„Watergate 2.0“ – Diese historische Bedeutung dürfte der aktuelle Artikel der New York Times haben. Wieder wurde in die Wahlkampfzentrale der Demokratischen Partei eingebrochen, um sie auszuforschen – diesmal aber von Hackern. Daraufhin hat die Organisation ihre Kommunikation auf eine Messenger-App umgestellt, die selbst Geheimdienst-Whistleblower Edward Snowden benutzt.

Ich weiß, ihr benutzt alle WhatsApp, um mit Freunden und Bekannten Kontakt zu halten. Letztlich gehört die App aber Facebook und Facebook ist bereits dabei Facebook und WhatsApp zusammenzuführen, um Euer Privatleben wirtschaftlich besser zu verwerten und Euch noch gezielter Reklame ausspielen zu können und Euch mit Reklame-Bots zu beglücken.

Signal dagegen wurde entwickelt, um möglichst keine Daten über seine Nutzer zu sammeln. Ein Gerichtsbeschluss hat dieses Versprechen kürzlich auf die Probe bestellt. Heraus kam, dass der Hersteller Open Whisper Systems tatsächlich keine verwertbaren Daten speichert.

Open-Source und kostenlos

Das Tolle an Signal: Es kostet nichts und es frisst kein Brot. Auf Android-Telefonen ersetzt es sogar die SMS-App, die ihr dann einfach deinstallieren könnt. Ihr bekommt dafür einen Messenger, der Eure Gespräche verschlüsselt – die geschriebenen, aber auch die gesprochenen. Signal bietet nämlich auch verschlüsselte Telefonate. Das ist so gut in das System integriert, dass es keinen Unterschied macht, wen ihr anruft, oder wem ihr eine Nachricht schreibt.

Was die App für die Demokratische Partei interessant gemacht haben dürfte, ist nicht nur die durchgehende Verschlüsselung vom Sender zum Empfänger, sondern auch, dass die App sicher ist gegen Phishing Angriffe. Ein Angriffspunkt der Russischen Hacker war das private Google-Mail-Postfach von John Podesta – Chef der Wahlkampagne. Der bekam eine authentisch wirkende Mail mit der Aufforderung, sein E-Mail-Passwort zu ändern. Gedankenlos tat er das und gab den Hackern somit Zugriff auf sein Google-Postfach.

Bei Signal kann das so nicht aus Versehen passieren. Es gibt keine Passwörter. Man installiert die App und los geht es.

Was mir gut gefällt ist die Desktop-App von Signal. Wer Desktop-App und Smartphone verbinden will, benötigt ebenfalls kein Passwort – nach der Installation muss man mit dem Telefon einen QR-Code vom Bildschirm scannen, um sie zu berechtigen. Das macht niemand aus versehen.

Die App basiert allerdings auf dem Chrome-Browser und wird dort als App installiert. Wer keine Lust auf den Browser hat, mit dem Google Euer Privatleben wirtschaftlich besser zu verwerten und Euch gezielter Reklame zeigen will, kann auf Iron zurückgreifen. Das ist Chrome ohne Google. Der Abgleich der Nachrichten zwischen Desktop und Telefon funktioniert prima.

Kobra, übernehmen Sie!

Natürlich kann man auch in Signal Gruppen anlegen und mit denen chatten. Man kann auch Nachrichten schreiben und denen eine Verfallszeit mitgeben. Die Nachricht löscht sich dann restlos nach wahlweise 5 Sekunden oder einer Woche. In dem Google-Postfach von John Podesta waren dagegen 60.000 Mails aus den vergangenen Jahren versammelt.

Illegales Hacken, legale Überwachung anderer Staaten – das wird in den nächsten Jahren noch zunehmen. Es mag sein, dass die WhatsApp-Familiengruppe für kaum jemanden interessant ist. Vielleicht nicht einmal für alle in dieser Gruppe. Wir nutzen unsere Smartphones aber nicht nur privat. Sie werden immer mehr auch teil unserer professionellen Kommunikation. Gerade hat das ARD-Magazin „FAKT“ recherchiert, wie Deutsche Konzerne von US-Spionage betroffen sind. Wer neben seiner Privatsphäre auch einen Job hat, in dem Geheimnisse zu schützen gilt, sollte sich Gedanken darüber machen, wie das eine das andere beeinflusst.

Signal bietet natürlich nicht die absolute Sicherheit. Immerhin lassen natürlich auch Android- und Apple-Geräte hacken. Gegen die einfachsten Angriffe aber, wirkt es.

Links

Signal – Die „Snowden-geprüfte“ Messenger-App

Ich habe gerade mein Piwigo, das bisher meine Bildergalerien erzeugt hat, in Rente geschickt. Stattdessen erzeuge ich jetzt statische Bildergalerien mit fgallery.

Fgallery steht unter der GPLv2+ und ist ab Stretch in Debian verfügbar. Mit fgallery kann man schlichte aber hübsche Fotogalerien in HTML/JavaScript generieren lassen. Meiner Meinung nach sehen diese simplen Galerien gerade wegen ihrer Einfachkeit bzw. Reduktion auf das wesentliche , die Bilder, toll aus. Download-/Viewzähler, Bewertungen etc. benötige ich nicht unbedingt weshalb eine statische Galerie für mich auch ausreichend ist und auch Vorteile mit sich bringt.

Da ich Piwigo selten genutzt habe kam es vor, dass ich von einem Update längere Zeit nichts mitbekam und dies erst relativ spät ausgeführt habe. Das kann natürlich ein Sicherheitsrisiko bedeuten, das statische Seiten nicht mit sich bringen.

Das einzige was ich an fgallery etwas vermisse ist die Unterstützung für mehrere Galerien, aber das habe ich umgangen indem ich die Galerien einfach einzeln anlege und in Ermangelung einer Übersichtsseite einfach pics.mdosch.de auf den entsprechenden tag im blog umgeleitet habe.

13. Dezember 2016

Mozilla hat heute wie geplant Firefox 50.1 veröffentlicht. Es handelt sich dabei um ein reines Fehlerbehebungs- und Sicherheits-Update und beinhaltet dementsprechend keine neue Funktionen.

Download Mozilla Firefox 50.1 für Microsoft Windows, Apple macOS und Linux

Mozilla hat heute erwartungsgemäß Firefox 50.1 und damit ein reines Fehlerbehebungs- und Sicherheits-Update anstelle eines Feature-Releases veröffentlicht. Nicht zu verwechseln ist diese Version mit Firefox 50.0.1 respektive Firefox 50.0.2, welche beide bereits Ende November veröffentlicht worden sind.

Insgesamt behebt Mozilla mit diesem Update 13 Sicherheitslücken, derer vier von Mozilla die höchste Gefahreneinstufung erhalten haben. Das Update ist daher für alle Nutzer dringend empfohlen.

Der Beitrag Mozilla veröffentlicht Firefox 50.1 erschien zuerst auf soeren-hentzschel.at.

Gut einen Monat nach RHEL 7.3 ist diese Woche auch CentOS 7.3 fertig geworden. In der CentOS-Nomenklatur lautet die Versionsnummer 1611. Diese Zahl bezieht sich auf den Nov. 2016, was ein wenig verwirrend ist: Fertig wurde CentOS 7.3 ja erst im Dezember. Wie auch immer …

CentOS 7.3 ist ein inkrementelles Update der CentOS-7-Reihe, d.h. durch regelmäßige Updates wird jedes CentOS-7-System automatisch auf Version 7.3 aktualisiert. Fundamentale Neuerungen gibt es keine, die technischen Neuerungen im zugrundeliegenden RHEL 7.3 sind primär für Unternehmenskunden relevant.

Kurz und prägnant: Die CentOS-Lizenzvereinbarung, die vor dem ersten Desktop-Login akzeptiert werden muss.

Versionsnummern

Die folgende Tabelle fasst die Versionsnummern der wichtigsten Komponenten von CentOS 7.3 zusammen:

Basis             Desktop             Programmierung   Server
---------------   ------------------  ---------------  ---------------
Kernel    3.10    Gnome        3.14   bash     4.2     Apache    2.4
glibc     2.17    KDE          4.14   gcc      4.8     CUPS      1.6
GRUB      2.0     Firefox      45     Java   6/7/8     MariaDB   5.5
Systemd   219     Gimp         2.8    PHP      5.4     qemu/KVM  1.5 
X-Server  1.17    LibreOffice  5.0    Python   2.7     Postfix   2.10
                  Thunderbird  ---                     OpenSSH   6.6
                                                       Samba     4.4

Viele Versionsnummern sind im Vergleich zu CentOS 7.2 unverändert. Zu den wenigen Ausnahmen zählen:

  • X-Server: 1.15 –> 1.17
  • LibreOffice: 4.3 –> 5.0
  • Samba: 4.2 –> 4.4

Platzprobleme in der Boot-Partition

Die Release-Notes weisen darauf hin, dass die Initramfs-Dateien stark gewachsen sind (aktuell ca. 30 MByte). Das kann zu Platzproblemen in der Boot-Partition führen. Abhilfe: reduzieren Sie in /etc/yum.conf den Parameter installonly_limit, der die Anzahl der gleichzeitig installierten Kernel-Versionen limitiert. Die Standardeinstellung lautet 5, aber 3 ist eigentlich fast immer ausreichend.

Bei Neuinstallationen wird empfohlen, die Boot-Partition zumindest 1 GByte groß zu machen. In vielen Fällen ginge es auch ganz ohne Boot-Partition.

Links

12. Dezember 2016

Vor einiger Zeit rief Mike Kuketz in seinem Microblog dazu auf MD5 htpasswd Hashes zu ersetzen. Dabei empfiehlt er anstatt MD5 oder SHA1 auf bcrypt zu wechseln.

Für den Apache Webserver können Bcrypt verschlüsselte Passwörter einfach mit dem tool htpasswd und dem Schalter -B erzeugt werden (htpasswd -Bc passwordfile username). Apache unterstützt die Formate bcrypt, apr1 (MD5), SHA1, crypt () und unverschlüsselten Plain text.

Das Nginx Basic Auth Modul versteht jedoch keine bcrypt Hashes.

Tatsächlich unterstützt Nginx laut Dokumentation nur Plain text, crypt(),  apr1 (MD5), SHA1 und SSHA (salted SHA1) welche alle als mehr oder weniger anfällig für Kollissionsangriffe gelten (unterschiedliche Passwörter können den selben Hash ergeben).

Entgegen der offiziellen Dokumentation versteht das Nginx Basic Auth Modul jedoch auch SHA2 Passwort-Hashes (jedenfalls die bei Ubuntu 16.04. mitgelieferte Version).

Ein SHA-512 Hash lässt sich einfach erzeugen mit:

mkpasswd -m sha-512

Mkpasswd gehört bei Ubuntu zum Paket whois, welches zuerst installiert werden muss.
Der erzeugte Passworthash kann dann in die htpasswd Datei übernommen werden, in der Form

username:$6$E7UzqcDh3$XiFGo71gzxltwDnJqlMIFpejrCoxWX25xXBwRC0YSeFyQ7ylPBtLW/Jx//99k6G8YU3a2mtEyM9QNH4KafVA2.

Dies erhöht allerdings nur den Schutz vor Kollissionsangriffen. Der Schutz vor Wörterbuch- oder Brute-Force-Angriffen erhöht sich nicht.

Das reine durchprobieren von Passwörtern gegen die eigene Webseite kann dann erschwert werden indem man Aufrufe der Loginseite mit dem Modul ngx_http_limit_req_module  auf wenige Aufrufe pro Minute begrenzt oder z.B. Fail2ban einsetzt.

Da ich von Kryptographie generell wenig Ahnung habe, kann ich nicht wirklich beurteilen ob das ersetzten der standardmäßig verwendeten md5 Hashes in htpasswd Dateien in der Praxis wirklich einen Sicherheitsgewinn bringt. Allerdings verursacht das verwenden einer stärkeren Hashfunktion auch keinen zusätzlichen Aufwand.

Eines hat Mikes Aufruf für mich auf jeden Fall gebracht: Ich habe mich mit den auth_basic Modulen von Apache und Nginx beschäftigt und wieder etwas gelernt.



88x31_CC_by
Dieser Text ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Titelbild “sperre-rot-kette-sicherheit-sicher” von Pixabay steht unter Creative Commons CC0

 

Der Beitrag SHA512 Passwort-Hash für Nginx Basic Auth nutzen erschien zuerst auf techgrube.de.

11. Dezember 2016

Foto: jarmoluk / Lizenz: CC0

Anfang Dezember hatte ich recht abstrakt über die Mängel von Linux in Nischenbereichen geschrieben. Insbesondere in Bereichen, die für klassiche Anwender aus dem MINT-Bereich weniger interessant sind, fällt die Qualität - so zumindest meine Meinung - im Linux-Segment deutlich ab. Mit einer Tendenz zunehmend den Anschluss an andere Plattformen zu verlieren. Entwickler investieren Lebens- und Arbeitszeit nämlich meiner Ansicht nach vor allem aus zwei Motiven: Entweder weil sie es selber benötigen oder weil sie davon ihren Lebensunterhalt bestreiten können. Im Kommentarverlauf kam die Aufforderung "Aber du solltest schon Beispiele nennen, wenn du eine so steile These formulierst". Das soll hiermit nachgeholt werden.

Arbeiten am PC bedeutet für mich vor allem Wissensorganisation und klassisches Personal Information Management. Naturgemäß stößt man in Bereichen, die man vollkommen ausreizt auch am schnellsten an die Grenzen des Machbaren auf einer Plattform.

Daher folgt nun eine kleine Auflistung der Möglichkeiten und Grenzen anhand einiger Beispiel:

Literaturverwaltung

Literaturverwaltung ist eine essenzielle Funktion, wenn man mit Monographien und unselbständig publizierter Literatur im drei- bis vierstellen Bereich arbeitet. In den letzten Jahren haben sich hier vor allem drei Typen von Literaturverwaltungsprogrammen etabliert:

  1. Kombinationsprogramme aus Literatur- und Wissensmangement wie Citavi oder Papers.
  2. Reine Literaturverwaltungsprogramme wie EndNote und BibTeX-Frontends.
  3. Cloud-Dienste wie Mendeley.

In meinem Arbeitsablauf benötige ich mindestens die Literaturverwaltung mit Dokumentenorganisation und Annotations-Funktion wie sie Citavi und Papers beherrscht. Natürlich kann man die Dokumente auch separat verwalten und mit einem PDF-Programm mit Anmerkungen versehen. Das kostet aber Zeit und man setzt elektronische Hilfsmittel wie einen PC ein, um effizienter zu arbeiten und nicht um mehr Arbeitszeit aufzuwenden. Es ist schließlich nicht das Ziel Arbeitszeit in die Pflege des Arbeitsgerätes zu investieren. Cloud-Anbieter kommen naturgemäß nicht infrage. Literatursammlungen und -auswertungen stellen einen nicht unerheblichen Teil wissenschaftlichen Arbeitens dar. Das mit Verlagen (wie z.B. im Fall Mendeley) zu teilen, sollte man sich gut überlegen.

Linux bietet hier vor allem BibTeX-Frontends wie KBibTeX oder JabRef. Das ergänzt natürlich perfekt einen LaTeX-zentrierten Arbeitsablauf (siehe obiges Kommentar zum MINT-Bereich), ist aber ansonsten sehr limitiert im Funktionsumfang. Letztlich bietet eine BibTeX-Literaturverwaltung nicht mehr als eine bloße Auflistung der Literaturliste, die man auch tabellarisch erreichen könnte. Einzig Zotero bietet einen leicht erweiterten Funktionsumfang, aber angesichts der Abkehr Mozillas von XUL kann man sich über die Zukunft von Zotero begründete Sorgen machen. Zumal die Entwicklung in den letzten Jahren allenfalls unter dem Gesichtspunkt Produktpflege erfolgte.

Die Schwäche von Linux in diesem Bereich ist umso bemerkenswerter, weil Linux angeblich gerade im universitären Bereich stark sein soll. Das scheint sich jedoch vor allem auf den naturwissenschaftlich/technischen Bereich zu erstrecken. Anders kann man die schwache Aufstellung in dem Bereich nicht erklären. Oder vielleicht liegt es eben doch an der Kostenlos-Mentalität, da sich die Entwicklung von Programmen wie EndNote oder Papers, die beide aus dem Mac-Ökosystem kommen, scheinbar lohnte - trotz eines ähnlich kleinen Marktanteils.

Office

LibreOffice vs. Microsoft Office ist der Klassiker unter den Endlos-Diskussionen. Es sei hier nur der Vollständigkeit halber wähnt. LibreOffice ist einerseits das Flaggschiff unter den Open Source-Projekten, zeigt aber andererseits auch wie kaum ein anderes Projekt die Schwierigkeiten. Vom Funktionsumfang her gesehen kann es mit den proprietären Programmen gleichziehen (MS Office) oder übertrifft sie sogar deutlich (Apple Programme). Funktionale Einschränkungen wie der immer noch fehlerbehaftete Im-/Export von OOXML-Dokumenten kann man dem Projekt nicht wirklich ankreiden. Sie führen aber leider dazu, dass der Anwender - sofern man auf eine nahtlose Zusammenarbeit angewiesen ist - hier auf die proprietäre Konkurrenz ausweichen muss.

Dies kann man aber leider nicht unter Linux. Microsoft bietet sein Office für Android, iOS, macOS und Windows an - jedoch nicht für Linux. Grundsätzliche Abneigung gegen freie Software kann man nach den Veränderungen der letzten Jahre kaum unterstellen. Offensichtlich lohnt es sich aber für Microsoft ihr Office-Programm für macOS zu entwickeln (hier hat man mit der Version 2016 ja nochmal ordentlich Arbeit investiert), wohingegen man scheinbar davon ausgeht, das es sich bei Linux nicht rechnen wird.

Organisation

Organisation ist der Bereich in dem Linux recht gut aufgestellt ist. Der Bereich muss erwähnt werden, damit es nicht den Anschein hat, hier würden nur die Schwächen gelistet werden. Es gibt zwei ernstzunehmende PIM-Programme: Evolution und Kontact und zudem mit Thunderbird ein stabiles Mailprogramm. Mit einem CalDAV-Backend kann man hier recht gut Kommunikation, Kalender und Aufgaben unter einem Dach verwalten.

Jedoch zeigt auch dieser Bereich die Schwächen des Open Source-Entwicklungsmodells. Für altmodische Groupware-Programme finden sich kaum Entwickler. Evolution hat seit Jahren kaum Fortschritte gemacht, Thunderbird befindet sich quasi offiziell im Wartungsmodus und Kontact wird von einer Handvoll Entwickler mühevoll gepflegt. Fortschritte, wie man sie bei den Apple-Programmen oder auch Outlook sieht, sind hier absolute Fehlanzeige. So lange man mit dem status quo leben kann, reicht das jedoch aus.

Wissensmanagement

Wissensorganisation ist der zentrale Teil wissenschaftlichen Arbeitens. Nicht jeder gelesene Text wird sofort in einer eigenen Publikation verarbeitet, sondern meist aufbereitet abgelegt. Dies kann einerseits durch Anmerkungen am Text selbst erfolgen (z.B. in Form einer Kopie/Scan) oder durch Anmerkungen am elektronischen Text. Die meisten PDF-Programme - auch für Linux - verfügen inzwischen über die Möglichkeit Annoationen im PDF zu speichern.

Problematischer wird es, wenn man Gedanken losgelöst von einem bestimmten Dokument organisieren möchte. Sofern man Textdokument-Sammelsurium anlegen möchte, benötigt man dafür ein Tool zum Wissensmanagement. Textdokumente eignen sich zudem kaum, weil sie durch die Fixierung auf Fließtext nur eine eingeschränkte Aufbereitung ermöglichen.

Die proprietäre Welt von Windows und macOS hat dafür in den letzten Jahren einiges hervorgebracht: OneNote, Evernote, Outline und noch einiges mehr. Für Linux gibt es kaum etwas. Hoffnungsvolle Ansätze wie BasKet oder NixNote scheiterten an mangelndem Entwicklerinteresse. Übrig bleiben Markdown-Editoren in unterschiedlichen Ausrichtungen. Auch hier scheint die Zielgruppe im LaTeX-affinen Umfeld angesiedelt zu sein.

Zusammengefasst

Dies ist nur eine kleine Zusammenfassung aus einem zugegebenermaßen recht speziellen Arbeitsfeld. Multimedia-Experten und Fotografen würden vermutlich andere Schwerpunkte setzen - die Erfahrung aus vielen Diskussionen lehrt aber, dass sie kaum zufriedener mit Linux sind.

Das Problem ist auch weniger, dass Linux in einigen Bereichen schwach aufgestellt ist. Problematisch ist vielmehr, dass sich hier seitdem ich Linux nutze (also seit ca. 10 Jahren) nichts getan hat. Während die anderen Systeme bereits 2006 tendenziell überlegen waren, aber der Vorsprung noch recht klein war, sind sie inzwischen geradezu uneinholbar enteilt. Nach so vielen Jahren, in denen Desktops mehrfach komplett neu entwickelt wurden, aber in diesem Bereich nichts geschah, muss man sich fragen ob man das nicht als strukturelles Problem hinnimmt und seinen eigenen Arbeitsablauf auf ein funktionaleres System umstellt.

Kommerzielle Entwicklung lohnt sich vor allem da, wo Supportverträge bereits die Regel sind und aus diesen Dienstleistungsverträgen Entwicklungszeit in freie Software abgeleitet werden kann. Im Enterprise-Umfeld kann Linux seine Stärken daher voll ausspielen und Privatanwender mit Interesse an diesen Bereichen erhalten ein exzellentes Betriebssystem.

Dort wo aber Entwicklerzeit durch den mühsamen Verkauf von Lizenzen an eine Vielzahl von Anwendern finanziert wird scheitert Linux. Das hat weniger mit den Marktanteilen zu tun, was sich Linux-Enthusiasten manchmal einreden, sondern mehr mit der verbreiteten Freibier-Mentalität seiner Anwender. Mit der zunehmenden Abwanderung von ehrenamtlicher Entwicklerkapazität in mobile Bereiche wie Android wird sich dieses Problem noch verstärken.

Foto: jarmoluk / Lizenz: CC0

Anfang Dezember hatte ich recht abstrakt über die Mängel von Linux in Nischenbereichen geschrieben. Insbesondere in Bereichen, die für klassiche Anwender aus dem MINT-Bereich weniger interessant sind, fällt die Qualität - so zumindest meine Meinung - im Linux-Segment deutlich ab. Mit einer Tendenz zunehmend den Anschluss an andere Plattformen zu verlieren. Entwickler investieren Lebens- und Arbeitszeit nämlich meiner Ansicht nach vor allem aus zwei Motiven: Entweder weil sie es selber benötigen oder weil sie davon ihren Lebensunterhalt bestreiten können. Im Kommentarverlauf kam die Aufforderung "Aber du solltest schon Beispiele nennen, wenn du eine so steile These formulierst". Das soll hiermit nachgeholt werden.

Arbeiten am PC bedeutet für mich vor allem Wissensorganisation und klassisches Personal Information Management. Naturgemäß stößt man in Bereichen, die man vollkommen ausreizt auch am schnellsten an die Grenzen des Machbaren auf einer Plattform.

Daher folgt nun eine kleine Auflistung der Möglichkeiten und Grenzen anhand einiger Beispiel:

Literaturverwaltung

Literaturverwaltung ist eine essenzielle Funktion, wenn man mit Monographien und unselbständig publizierter Literatur im drei- bis vierstellen Bereich arbeitet. In den letzten Jahren haben sich hier vor allem drei Typen von Literaturverwaltungsprogrammen etabliert:

  1. Kombinationsprogramme aus Literatur- und Wissensmangement wie Citavi oder Papers.
  2. Reine Literaturverwaltungsprogramme wie EndNote und BibTeX-Frontends.
  3. Cloud-Dienste wie Mendeley.

In meinem Arbeitsablauf benötige ich mindestens die Literaturverwaltung mit Dokumentenorganisation und Annotations-Funktion wie sie Citavi und Papers beherrscht. Natürlich kann man die Dokumente auch separat verwalten und mit einem PDF-Programm mit Anmerkungen versehen. Das kostet aber Zeit und man setzt elektronische Hilfsmittel wie einen PC ein, um effizienter zu arbeiten und nicht um mehr Arbeitszeit aufzuwenden. Es ist schließlich nicht das Ziel Arbeitszeit in die Pflege des Arbeitsgerätes zu investieren. Cloud-Anbieter kommen naturgemäß nicht infrage. Literatursammlungen und -auswertungen stellen einen nicht unerheblichen Teil wissenschaftlichen Arbeitens dar. Das mit Verlagen (wie z.B. im Fall Mendeley) zu teilen, sollte man sich gut überlegen.

Linux bietet hier vor allem BibTeX-Frontends wie KBibTeX oder JabRef. Das ergänzt natürlich perfekt einen LaTeX-zentrierten Arbeitsablauf (siehe obiges Kommentar zum MINT-Bereich), ist aber ansonsten sehr limitiert im Funktionsumfang. Letztlich bietet eine BibTeX-Literaturverwaltung nicht mehr als eine bloße Auflistung der Literaturliste, die man auch tabellarisch erreichen könnte. Einzig Zotero bietet einen leicht erweiterten Funktionsumfang, aber angesichts der Abkehr Mozillas von XUL kann man sich über die Zukunft von Zotero begründete Sorgen machen. Zumal die Entwicklung in den letzten Jahren allenfalls unter dem Gesichtspunkt Produktpflege erfolgte.

Die Schwäche von Linux in diesem Bereich ist umso bemerkenswerter, weil Linux angeblich gerade im universitären Bereich stark sein soll. Das scheint sich jedoch vor allem auf den naturwissenschaftlich/technischen Bereich zu erstrecken. Anders kann man die schwache Aufstellung in dem Bereich nicht erklären. Oder vielleicht liegt es eben doch an der Kostenlos-Mentalität, da sich die Entwicklung von Programmen wie EndNote oder Papers, die beide aus dem Mac-Ökosystem kommen, scheinbar lohnte - trotz eines ähnlich kleinen Marktanteils.

Office

LibreOffice vs. Microsoft Office ist der Klassiker unter den Endlos-Diskussionen. Es sei hier nur der Vollständigkeit halber wähnt. LibreOffice ist einerseits das Flaggschiff unter den Open Source-Projekten, zeigt aber andererseits auch wie kaum ein anderes Projekt die Schwierigkeiten. Vom Funktionsumfang her gesehen kann es mit den proprietären Programmen gleichziehen (MS Office) oder übertrifft sie sogar deutlich (Apple Programme). Funktionale Einschränkungen wie der immer noch fehlerbehaftete Im-/Export von OOXML-Dokumenten kann man dem Projekt nicht wirklich ankreiden. Sie führen aber leider dazu, dass der Anwender - sofern man auf eine nahtlose Zusammenarbeit angewiesen ist - hier auf die proprietäre Konkurrenz ausweichen muss.

Dies kann man aber leider nicht unter Linux. Microsoft bietet sein Office für Android, iOS, macOS und Windows an - jedoch nicht für Linux. Grundsätzliche Abneigung gegen freie Software kann man nach den Veränderungen der letzten Jahre kaum unterstellen. Offensichtlich lohnt es sich aber für Microsoft ihr Office-Programm für macOS zu entwickeln (hier hat man mit der Version 2016 ja nochmal ordentlich Arbeit investiert), wohingegen man scheinbar davon ausgeht, das es sich bei Linux nicht rechnen wird.

Organisation

Organisation ist der Bereich in dem Linux recht gut aufgestellt ist. Der Bereich muss erwähnt werden, damit es nicht den Anschein hat, hier würden nur die Schwächen gelistet werden. Es gibt zwei ernstzunehmende PIM-Programme: Evolution und Kontact und zudem mit Thunderbird ein stabiles Mailprogramm. Mit einem CalDAV-Backend kann man hier recht gut Kommunikation, Kalender und Aufgaben unter einem Dach verwalten.

Jedoch zeigt auch dieser Bereich die Schwächen des Open Source-Entwicklungsmodells. Für altmodische Groupware-Programme finden sich kaum Entwickler. Evolution hat seit Jahren kaum Fortschritte gemacht, Thunderbird befindet sich quasi offiziell im Wartungsmodus und Kontact wird von einer Handvoll Entwickler mühevoll gepflegt. Fortschritte, wie man sie bei den Apple-Programmen oder auch Outlook sieht, sind hier absolute Fehlanzeige. So lange man mit dem status quo leben kann, reicht das jedoch aus.

Wissensmanagement

Wissensorganisation ist der zentrale Teil wissenschaftlichen Arbeitens. Nicht jeder gelesene Text wird sofort in einer eigenen Publikation verarbeitet, sondern meist aufbereitet abgelegt. Dies kann einerseits durch Anmerkungen am Text selbst erfolgen (z.B. in Form einer Kopie/Scan) oder durch Anmerkungen am elektronischen Text. Die meisten PDF-Programme - auch für Linux - verfügen inzwischen über die Möglichkeit Annoationen im PDF zu speichern.

Problematischer wird es, wenn man Gedanken losgelöst von einem bestimmten Dokument organisieren möchte. Sofern man Textdokument-Sammelsurium anlegen möchte, benötigt man dafür ein Tool zum Wissensmanagement. Textdokumente eignen sich zudem kaum, weil sie durch die Fixierung auf Fließtext nur eine eingeschränkte Aufbereitung ermöglichen.

Die proprietäre Welt von Windows und macOS hat dafür in den letzten Jahren einiges hervorgebracht: OneNote, Evernote, Outline und noch einiges mehr. Für Linux gibt es kaum etwas. Hoffnungsvolle Ansätze wie BasKet oder NixNote scheiterten an mangelndem Entwicklerinteresse. Übrig bleiben Markdown-Editoren in unterschiedlichen Ausrichtungen. Auch hier scheint die Zielgruppe im LaTeX-affinen Umfeld angesiedelt zu sein.

Zusammengefasst

Dies ist nur eine kleine Zusammenfassung aus einem zugegebenermaßen recht speziellen Arbeitsfeld. Multimedia-Experten und Fotografen würden vermutlich andere Schwerpunkte setzen - die Erfahrung aus vielen Diskussionen lehrt aber, dass sie kaum zufriedener mit Linux sind.

Das Problem ist auch weniger, dass Linux in einigen Bereichen schwach aufgestellt ist. Problematisch ist vielmehr, dass sich hier seitdem ich Linux nutze (also seit ca. 10 Jahren) nichts getan hat. Während die anderen Systeme bereits 2006 tendenziell überlegen waren, aber der Vorsprung noch recht klein war, sind sie inzwischen geradezu uneinholbar enteilt. Nach so vielen Jahren, in denen Desktops mehrfach komplett neu entwickelt wurden, aber in diesem Bereich nichts geschah, muss man sich fragen ob man das nicht als strukturelles Problem hinnimmt und seinen eigenen Arbeitsablauf auf ein funktionaleres System umstellt.

Kommerzielle Entwicklung lohnt sich vor allem da, wo Supportverträge bereits die Regel sind und aus diesen Dienstleistungsverträgen Entwicklungszeit in freie Software abgeleitet werden kann. Im Enterprise-Umfeld kann Linux seine Stärken daher voll ausspielen und Privatanwender mit Interesse an diesen Bereichen erhalten ein exzellentes Betriebssystem.

Dort wo aber Entwicklerzeit durch den mühsamen Verkauf von Lizenzen an eine Vielzahl von Anwendern finanziert wird scheitert Linux. Das hat weniger mit den Marktanteilen zu tun, was sich Linux-Enthusiasten manchmal einreden, sondern mehr mit der verbreiteten Freibier-Mentalität seiner Anwender. Mit der zunehmenden Abwanderung von ehrenamtlicher Entwicklerkapazität in mobile Bereiche wie Android wird sich dieses Problem noch verstärken.

Mozilla hat in Firefox 53 die Darstellung von zu langen Seitentiteln in den Tabs geändert. Dadurch kann etwas mehr Text dargestellt werden als bisher.

Tabs in Firefox besitzen eine maximale Breite. Sind viele Tabs geöffnet, verringert sich die Breite bis auf eine Minimalbreite. Der Seitentitel, welcher in den Tabs dargestellt wird, ist häufig natürlich länger als der jeweilige Tab breit ist. Gerade bei vielen Tabs und damit reduzierter Tab-Breite kommt es daher auf jedes Zeichen an, wenn man eine maximale Übersicht haben möchte.

Bislang geht Firefox mit zu langen Seitentiteln so um, dass nach dem maximal darstellbaren Zeichen noch drei Punkte („…“) angezeigt werden, wodurch erkennbar ist, dass der Seitentitel länger ist als dargestellt werden kann. Ab Firefox 53 verzichtet Mozilla auf die Punkte und blendet den Seitentitel dafür ab. Das sieht nicht nur besser aus, sondern hat vor allem einen praktischen Nutzen: wenn auch nicht viel dadurch gewonnen wird, so ist durch die geänderte Darstellung zumindest etwas mehr vom Seitentitel erkennbar.

Tab-Darstellung Firefox 53

Chrome-Nutzer kennen diese Darstellung bereits vom Google-Browser, auch Mozilla hatte diese Änderung bereits vor mehreren Jahren geplant. Allerdings besitzt Firefox erst jetzt die notwendige Plattform-Unterstützung zur Umsetzung dieser Änderung.

Der Beitrag Firefox 53 blendet Seitentitel im Tab ab erschien zuerst auf soeren-hentzschel.at.