ubuntuusers.de

30. März 2018

An dieser Stelle möchte ich ein Konzept erarbeiten, um meinen Blog mit Hilfe von Ansible[1. Ansible – IT-Automation für Jedermann – My-IT-Brain] [2. Ansible – Wikipedia] auf einem Ubuntu-Server ausbringen zu können.

Dabei hoffe ich auch ein wenig auf eure Unterstützung. Habt ihr Anregungen, konkrete Verbesserungsvorschläge oder auch Fragen, freue ich mich über eure Kommentare. Denn ich selbst bin kein Ansible-Experte und führe dieses Projekt zum Selbststudium und zu Übungszwecken durch.

Die Testumgebung

Die Testumgebung besteht aus der Ansible Control Machine, basierend auf RHEL 7[3. Red Hat Enterprise Linux – Wikipedia] und dem Zielsystem, basierend auf Ubuntu Bionic Beaver[4. Bionic Beaver – wiki.ubuntuusers.de]. Zum Zeitpunkt der Erstellung dieses Artikels nutze ich Ansible in Version 2.4.2.

Zwar wurde bereits die Ansible-Version 2.5 veröffentlicht, in den RHEL-7-Paketquellen ist jedoch noch die Version 2.4.2 enthalten. Ich verwende diese Version auch auf der Arbeit und erhoffe mir so, Erkenntnisse aus diesem Projekt in meine dienstliche Tätigkeit einfließen lassen zu können.

Auf dem Zielsystem existiert ein Benutzer, welcher über volle sudo-Berechtigung verfügt. Dieser Benutzer muss sich mit seinem Passwort authentisieren, wenn er sudo verwendet.

Auf der Ansible Control Machine wird ein SSH-Schlüsselpaar[5. Authentifizierung über Public-Keys – wiki.ubuntuusers.de] generiert, dessen privater Schlüssel nicht mit einer Passphrase geschützt ist. Der öffentliche Schlüssel wird auf dem Zielsystem abgelegt. Damit wird sichergestellt, dass die Ansible Control Machine SSH-Zugriff auf das Zielsystem hat.

Die Konfiguration von Ansible (/etc/ansible/ansible.cfg) wird so angepasst, dass standardmäßig das oben erzeugte SSH-Private-Key-File beim Verbindungsaufbau genutzt wird.

Die Installation der benötigten Betriebssysteme und Ansible sind nicht Gegenstand dieses Artikels.

Geplante Vorgehensweise

Um eine Vorgehensweise zu erarbeiten, orientiere ich mich an dem Artikel Testinstanz für einen WordPress-Blog erstellen. In diesem habe ich bereits beschrieben, wie ein Blog auf einem weiteren System als Testsystem aufgesetzt werden kann. Die Vorgehensweise ist ähnlich, mit dem Unterschied, dass sämtliche Schritte nun durch Ansible orchestriert werden sollen.

Danach ergibt sich folgende (vorläufige) Reihenfolge:

  1. Vom Produktivsystem benötigte Dateien holen
  2. Sicherstellen, das alle benötigten Pakete auf dem Zielsystem installiert sind
  3. VirtualHost erstellen
  4. DocumentRoot aus Backup-Datei erstellen
  5. Datei-Attribute und Zugriffsrechte korrekt setzen
  6. Eine .httpasswd-Datei erzeugen/ausbringen
  7. Datenbank aus Backup wiederherstellen
  8. Datenbankbenutzer erstellen
  9. Troubleshooting

Mit hoher Wahrscheinlichkeit ist die obige Liste noch nicht vollständig. Daher werde ich diese im Laufe des Projekts anpassen, sobald weitere Erkenntnisse vorliegen.

Als Quelldaten für den Blog liegen das DocumentRoot meines Blogs als Tarball[6. tar – Wikipedia] vor. Von der Datenbank wurde ein logisches Backup[7. Logisches Backup – wiki.ubuntuusers.de] erstellt. Auf diese Datensicherung wird zurückgegriffen, um den Blog auf einem neuen Ubuntu-Server auszubringen bzw. wiederherzustellen.

Der erste Versuch

Im ersten Anlauf habe ich eine Ansible-Rolle[8. Directory Layout — Ansible Best Practices] mit folgendem Aufbau erstellt:

/etc/ansible/roles/
└── deploy-my-blog
    ├── files
    │   ├── backup-documentroot.tar.bz2
    │   ├── dh_params.pem
    │   ├── db_dump.sql.bz2
    │   ├── my-it-brain.vhost
    │   └── php-fpm-pool.conf
    ├── handlers
    │   └── main.yml
    ├── tasks
    │   └── main.yml
    └── vars
        └── main.yml

5 directories, 8 files

Unterhalb von files wurden Dateien abgelegt, welche vom aktuellen Produktivsystem stammen und für das Deployment auf einem neuen Server benötigt werden.

Im folgenden werde ich zuerst auf die eingesetzten Module eingehen und anschließend das Playbook zum Deployment des Blogs vorstellen.

Verwendete Module

ModulStatusVerwendung
aptstableinterfaceVerwaltet APT-Pakete
unarchivepreviewEntpackt Archiv-Dateien und kopiert sie ggf. vorher auf das Zielsystem
copystableinterfaceKopiert Dateien auf entfernte Rechner
filestableinterfaceErstellt Dateien, Verzeichnisse, symbolische Links und setzt deren Attribute
mysql_dbpreviewHinzufügen von MySQL-Datenbanken (aus Backup)
mysql_userpreviewHinzufügen (und Entfernen) von Benutzern in MySQL-Datenbanken

Die in der Spalte Status angegebenen Werte stableinterface und preview lassen Rückschlüsse auf die Stabilität der Schnittstellen eines Moduls zu.

So garantieren die Entwickler bei einem stableinterface, dass es in Zukunft keine Änderungen geben wird, die nicht abwärtskompatibel sind. Auch wenn sich keine explizite Angabe findet, wie lange diese Garantie gilt, kann man davon ausgehen, dass man seine Playbooks bei Verwendung dieser Module nicht so schnell aufgrund von Updates anpassen muss. Für Module mit dem Status preview wird genau dies hingegen nicht garantiert. Hier kann es von Version zu Version Änderungen geben, welche Anpassungen an Playbooks erforderlich machen, welche diese Module verwenden. Dadurch entsteht ggf. ein erhöhter Testaufwand, bevor man seine Ansible-Installation aktualisieren kann.

Das Playbook

Den Inhalt der Datei /etc/ansible/roles/deploy-my-blog/tasks/main.yml habe ich unter dem Namen deploy-blog-playbook.yml als Gist veröffentlicht. Um es in diesem Artikel anzeigen zu können, müsst ihr JavaScript in eurem Webbrowser aktiveren.

Die Zeilen 2-11 sorgen dafür, dass die benötigten Pakete auf dem Zielsystem installiert werden. Da es sich dabei um einen Ubuntu-Server handelt, verwende ich das Modul apt.

Die Zeilen 13-16 stellen das DocumentRoot und die SSL-Zertifikate aus dem Dateibackup auf dem Zielsystem wieder her.

In meiner aktuellen Konfiguration verwende ich PHP-FPM mit einem eigenen Pool, welcher in meinem VirtualHost referenziert wird. Um diese Konstellation auch auf dem neuen System nutzen zu können, stelle ich entsprechende Konfiguration mit den Zeilen 18-47 her. Vermutlich können die Zeilen 39-47 entfallen, da PHP-FPM das Logfile automatisch erstellt. Weitere Tests müssen dies noch zeigen. Ich habe diese Zeilen während des Troubleshootings eingefügt. Ursache für den Fehler wird vermutlich das fehlende Log-Verzeichnis gewesen sein, welches ich in den Zeilen 29-37 erzeuge.

Der NGINX auf meinem Produktivsystem verwendet die Datei dh_params.pem, welche ich in den Zeilen 49-57 auch auf den neuen Host kopiere. Anschließend wird in den Zeilen 59-66 die vHost-Datei auf das Zielsystem kopiert und durch die Zeilen 68-77 verlinkt und damit aktiviert.

Die letzten Zeilen kümmern sich um die Einrichtung der Datenbank. Zuerst wird die Dump-Datei auf das Zielsystem kopiert und dort anschließend in die neue Datenbank db_my_it_brain eingespielt. Zum Schluss wird noch der benötigte Datenbank-Benutzer erstellt.

In Zeile 94 und 95 habe ich Variablen eingesetzt, welche in vars/main.yml definiert wurden. Dort habe ich auch eine Variable für den Namen der Datenbank definiert, welche ich gern in Zeile 96 genutzt hätte. Leider ist es mir nicht gelungen, da sowohl priv: '"{{ DBNAME }}".*:ALL' als auch priv: "{{ DBNAME }}".*:ALL zu Fehlern führten. Falls hier jemand eine Idee hat, freue ich mich, wenn ihr mir die korrekte Syntax mitteilt.

Erstes Fazit

Das ging leichter als gedacht. Die benötigten Module waren schnell gefunden und ihre Anwendung aufgrund der hinreichend guten Dokumentation nicht schwierig.

Da die aktuell genutzten Variablen sensible Informationen beinhalten, möchte ich diese zukünftig mit Ansible Vault schützen.

Stand heute bin ich jedoch erstmal in der Lage meinen Blog aus der Datensicherung heraus erneut deployen zu können.

Im ersten Teil dieser Serie haben wir bereits Koha installiert. Bevor wir ein Buch aufnehmen oder verleihen können, müssen noch einige Einstellungen vorgenommen werden. Ein großes Thema ist das bibliografische Framework. Bei der Installation haben wir bereits MARC21 gewählt. Was das ist, warum es wichtig ist und wie wir das Framework für eine Schule anpassen können, darum geht es in diesem 2. Teil.

Dieser Artikel ist ein Teil einer Serie:

  1. Installation und Einrichtung einer ersten Bibliothek
  2. Das bibliografische Framework
  3. Grundeinstellungen
  4. Buchaufnahme
  5. Drucken von Etiketten
  6. Verbinden mit einem Z.39.50 / SRU Server
  7. Benutzerverwaltung und Ausleihkonditionen
  8. Benachrichtigungen und Erinnerungen
  9. Mahnungen und Gebühren

Was ist das bibliografische Framework?

Am besten stellen wir uns das bibliografische Framework wie eine Vorlage vor, nach der Bücher oder andere Medien in Koha aufgenommen werden. In dieser Vorlage legen wir fest, welche Daten wir in unserem System haben wollen. Das könnten z.B. folgende sein:

  • Titel und Author/in
  • Verlag, Erscheinigsort und -jahr
  • ISBN / ISSN
  • Altersbeschränkung
  • evtl. Sprache

Diese Liste lässt sich beliebig erweitern, aber für eine Schulbibliothek wollen wir es so einfach wie möglich machen. Diese Daten nennt man auch Felder.

Damit sich nicht jede Bibliothek ihre eigenen Felder ausdenken muss, wurde vor vielen Jahren ein Standard geschaffen, der in Koha verwendet wird: MARC21.

MARC21

Wikipedia definiert MARC folgendermaßen:

MARC (MAchine-Readable Cataloging) ist ein bibliographisches Datenformat. Entwickelt wurde es 1966 in den USA. Im Lauf der Jahre folgten zahlreiche verschiedene Versionen, von denen bis heute vor allem die Version MARC 21 weltweit von Bibliotheken verwendet wird. MARC 21 ist ein allgemeines Format, das von verschiedensten Anwendungen gelesen und verarbeitet werden kann. Hauptzweck ist die Übertragung von bibliographischen Daten zwischen Bibliotheken.

Es geht also einen bibliografischen Datensatz, der von einem Computer gelesen werden kann.

Koha verwendet ebenfalls MARC21, deswegen müssen wir uns ein wenig damit auseinander setzen. Es gibt eine gute Einführung in MARC21, die aber nur in Englisch verfügbar ist. Ich kann sie sehr empfehlen, da sie mir geholfen hat MARC21 besser zu verstehen: Understanding MARC.

Ein MARC21 Feld besteht aus einem Tag (einer dreistelligen Zahl), zwei Indikatoren und einem Unterfeld-Code. Hier ein Beispiel für das Feld ISBN:

020 ##  $a 0877547637

Die ersten drei Zahlen 020 stehen für das MARC21 Feld bzw. Tag. Die zwei „##“ stehen für die beiden Indikatoren, die für dieses Feld nicht definiert sind. Mit $a folgt das Unterfeld a für die ISBN. Zum Schluss steht die ISBN. Laut Definition kann man im Unterfeld $z auch eine nicht mehr gültige ISBN angeben.

Eine Übersicht über alle MARC21-Felder gibt es hier: https://www.loc.gov/marc/bibliographic/

MARC21 für Schulbibliotheken anpassen

Ich empfehle wirklich jedem, der Koha einsetzen möchte, sich die oben verlinkte Einführung in MARC durchzulesen, denn es hilft ungemein beim Verständnis, wie Koha funktioniert und wie man es verwenden kann und muss.

Framework exportieren

Da wir jetzt grob wissen, was MARC21-Felder sind, wollen wir in Koha das bibliografische Framework anpassen. Dazu loggen wir uns mit unserem im Teil 1 erstellen Benutzer ein und öffnen den Menüpunkt Administration.

Koha Menü

Dort wählen wir den Punkt bibliografisches Framework.

Koha Admin Menü

Hier sehen wir nun eine Liste mit allen bibliografischen Frameworks. Wir können theoretisch für jeden Medientyp ein eigenes Framework erstellen, doch wir möchten es so einfach wie möglich haben.

Das Framework können wir gut im Browser anpassen, aber es ist mit viel Klicken und Warten verbunden. Deshalb werden wir das Framework exportieren und anschließend wieder importieren.

In der Liste klicken wir neben Framework mit dem Code „FA“ und dem Namen „Schnellaufnahme“ auf Aktionen → Export. (Falls das Schnellaufnahme Framework fehlt, wurde bei der Installation vergessen, den Haken an der entsprechenden Stelle zu setzen…)

Koha FrameworksFramework anpassen

Nun müssen wir die heruntergeladene Datei (man kann zwischen CSV, Exel oder Open Document Format wählen) mit einer Tabellenkalkulation unserer Wahl öffnen und wie folgt anpassen.

Im ersten Reiter marc_tag_structure  und zweitem Reiter marc_subfield_structure alle Zeilen löschen mit den Tags:

  • 010, 050, 082, 090, 099

Im zweiten Reiter werden wir noch einige Felder verstecken, damit die Maske zur Aufnahme der Bücher übersichtlicher wird. In der Spalte hidden geben wir an folgenden Stellen „5“ für folgende Tags und Unterfelder ein:

  • 020 → alle bis auf Unterfeld a
  • 022  → alle bis auf Unterfeld a
  • 100  → alle bis auf Unterfeld a (und l optional)
  • 245  → alle bis auf Unterfelder a und b
  • 250  → alle bis auf Unterfeld a
  • 260  → alle bis auf Unterfelder a, b und c
  • 300  → alle
  • 500  → alle bis auf Unterfeld a
  • 942  → alle bis auf Unterfeld c
  • 952 → nur Unterfelder 2, b, e, f, i, j, l, m, n, q, r, s, u, v, w, y

Wenn wir das geschafft haben, haben wir eine große Hürde bei der Verwendung von Koha genommen. Das was jetzt noch kommt, wird wieder leichter 🙂

Framework importieren

Nun müssen wir unser bearbeitetes Framework wieder importieren. Dazu klicken wir auf Aktionen → Import und wählen unserer bearbeitet Tabellenkalkulationsdatei, die wir gerade eben bearbeitet haben, aus. Mit Import wird unser „FA“ Framework aktualisiert.

Koha Framework Import

Fazit

Wir haben nun ein sehr wichtiges Element in der Konfiguration von Koha eingerichtet – unser bibliografisches Framework! Es ist fast alles für die Aufnahme oder den Import unserer Medien eingerichtet. Im nächsten Teil dieser Serie geht es um weitere grundlegende Einstellungen für Schulen sowie die Einrichtung weitere Medien- und Benutzergruppen.

2 Kommentare

Der Beitrag Teil 2: Das bibliografische Framework – Wie man Koha installiert und für Schulen einrichtet erschien zuerst auf .:zefanjas:..

28. März 2018

Unter dem Namen Test Pilot betreibt Mozilla eine Möglichkeit für Firefox-Nutzer, potentielle neue Funktionen vorab zu testen und Feedback zu geben. Mit Min Vid, Snooze Tabs und Voice Fill beendet Mozilla drei Experimente. Dieser Artikel klärt auf, wie es mit besagten drei Projekten sowie mit den weiteren Experimenten Send und Notes weitergeht.

Über testpilot.firefox.com können Firefox-Nutzer mögliche Neuerungen vorab testen, indem entsprechende Erweiterungen installiert werden. Min Vid, Snooze Tabs und Voice Fill haben nun das Test Pilot-Programm verlassen. Für jede dieser Experimente hat Mozilla einen Abschlussbericht mit Dingen veröffentlicht, die Mozilla aus dem Experiment gelernt hat.

Min Vid

Min Vid ermöglicht es, Videos anzusehen und gleichzeitig andere Dinge zu machen. Dafür werden Videos per Knopfdruck in einem Mini-Player angezeigt, der von der Webseite losgelöst ist und andere Fenster überlagern kann. Dies funktioniert mit YouTube, Vimeo sowie Soundcloud.

Das Experiment im Rahmen von Test Pilot hat Mozilla beendet. Für bestehende Nutzer bleibt Min Vid vorerst weiter installiert. Mozilla möchte weiter mit dem Konzept experimentieren und Min Vid daher als sogenannte SHIELD-Studie in Firefox bringen. Das heißt, dass Min Vid bald für einen kleinen Teil der Nutzer zurückkehren könnte.

Allerdings hat Mozilla erkannt, dass eine komplette Neuentwicklung der Code-Basis erforderlich ist, um Min Vid in Sachen Wartbarkeit und Performance tauglich für eine Release-Version von Firefox zu machen. Eine weitere Erkenntnis ist, dass weniger oft mehr ist. Das Playlisten-Feature wird entfernt werden, ebenso die Unterstützung für Vimeo und Soundcloud – Daten zeigen, dass 99 Prozent aller Benutzungen von Min Vid auf YouTube fielen. Mit einem abgespeckten Min Vid und einer kleinen Test-Population möchte Mozilla herausfinden, ob das Konzept im Release-Firefox funktioniert.

Vollständiger Bericht von Mozilla zu Min Vid

Snooze Tabs

Snooze Tabs ging im Februar 2017 an den Start. Wie es der Name bereits andeutet, überträgt Snooze Tabs die Snooze-Funktion eines Weckers auf Tabs.

In diesem Fall geht es aber nicht darum, dass man nicht aufstehen möchte, sondern darum, dass man einen Tab nicht sofort, sondern erst später wieder benutzen will. Der Nutzer kann entweder eine der vordefinierten Optionen auswählen, wie „Später“, „Morgen“, „nächste Woche“ oder „beim nächsten Start“ oder aber man wählt selbst ein Datum und eine Uhrzeit aus. Nach der Auswahl verschwindet der gerade aktive Tab und taucht zum gewünschten Zeitpunkt wieder auf.

Die Funktion wird nicht direkt in Firefox integriert werden. Stattdessen steht Snooze Tabs ab sofort auf addons.mozilla.org als Erweiterung zur Verfügung. Nutzer des Test Pilot-Experiments werden automatisch auf die neue Version migriert, welche gegenüber dem Test Pilot-Experiment bereits diverse Bugfixes und kosmetische Verbesserungen erhalten hat.

Download Snooze Tabs
Vollständiger Bericht von Mozilla zu Snooze Tabs

Voice Fill

Dieses Experiment ging ebenfalls Anfang des vergangenen Jahres an den Start, ist allerdings auf englischsprachige Nutzer beschränkt gewesen. Voice Fill erweitert die Suchmasken von Google, Yahoo! und DuckDuckGo um eine Schaltfläche zur Spracherkennung. Die Spracheingaben dienen nicht nur dem Nutzer, um sein Ziel zu erreichen, sondern wurden auch genutzt, um Mozillas Künstliche Intelligenz zur Spracherkennung zu trainieren, um so wiederum bessere Resultate liefern zu können.

Spracherkennung ist nach wie vor ein großes Thema für Mozilla. In diesem Zusammenhang existieren bei Mozilla unter anderem das DeepSpeech-Projekt, in dessen Rahmen Mozilla eine Sprache-zu-Text-Engine entwickelt, welche durch Techniken des Maschinen-Lernens dazu lernen kann, basierend auf Baidus Forschung zu diesem Thema, und auch Common Voice, ein Projekt, bei dem jeder seine Stimmen beitragen kann, um Mozillas Spracherkennung zu verbessern. Der serverseitige Proxy-Service, den Mozilla als Teil von Voice Fill entwickelt hat, findet weitere Verwendung in Mozillas IoT Gateway, einem Open Source Connector für Smart Devices.

Voice Fill wird im Rahmen von Test Pilot nicht fortgesetzt werden. Stattdessen steht Voice Fill ab sofort auf addons.mozilla.org als Erweiterung zur Verfügung. Nutzer des Test Pilot-Experiments werden automatisch auf die neue Version migriert.

Download Voice Fill
Vollständiger Bericht von Mozilla zu Voice Fill

Notes und Send noch aktiv

Mit Send und Notes sind zwei Experimente nach wie vor aktiv, die seit dem Start wichtige Verbesserungen halten. So können über Send hochgeladene Dateien nun auch mit einem Passwort geschützt werden und man kann erlauben, dass Dateien mehrfach heruntergeladen werden können. Auch funktioniert Send nun in mehr unterschiedlichen Browsern. Notes wurde um die Fähigkeit erweitert, Notizen über Firefox Sync zu synchronisieren und weitere Änderungen stehen in der Pipeline. So wird es bald unter anderem die Möglichkeit geben, mehrere Notizen anzulegen.

Der Beitrag Firefox Test Pilot: Mozilla beendet drei Experimente erschien zuerst auf soeren-hentzschel.at.

Als Maintainer des Debian Sourc List Generators erreichen mich viele Mails in letzter Zeit, mit der Bitte um Aufnahme neuer Repos.

Leider hat ich in den letzten Wochen wenig Zeit diesen zu pflegen. Das soll sich jetzt ändern.

Ich bin dabei den Generator zu überarbeiten, dann soll es auch Benutzern möglich sein, wieder Repos zu melden. Diese werden dann von mir nur noch gepürft und dann freigegeben.

Aktuell suche ich auch einen weiteren Maintainer, der Lust hätte auch mich ein wenig zu unterstützen.

Ziel ist es den Generator auf den neusten Stand zu bringen, auch sollen einige Fehler behoben werden und die Informationen besser dargestellt werden.

Seit heute habe ich einen “neuen” Blog. Weiterhin ist es Hugo, doch er hat neues Theme erhalten.

Zusätzlich habe ich einige Artikel gelöscht, die ich nicht mehr pflegen möchte bzw. die nicht so viel Anklang gefunden haben. Ich werde mich in den nächsten Tagen und Wochen versuchen wieder häufiger Artikel zu schreiben.

Also bleibt dran.

Seit heute habe ich einen "neuen" Blog. Weiterhin ist es Hugo, doch er hat neues Theme erhalten.

Zusätzlich habe ich einige Artikel gelöscht, die ich nicht mehr pflegen möchte bzw. die nicht so viel Anklang gefunden haben. Ich werde mich in den nächsten Tagen und Wochen versuchen wieder häufiger Artikel zu schreiben.

Also bleibt dran.

Als Maintainer des Debian Sourc List Generators erreichen mich viele Mails in letzter Zeit, mit der Bitte um Aufnahme neuer Repos.

Leider hat ich in den letzten Wochen wenig Zeit diesen zu pflegen. Das soll sich jetzt ändern.

Ich bin dabei den Generator zu überarbeiten, dann soll es auch Benutzern möglich sein, wieder Repos zu melden. Diese werden dann von mir nur noch gepürft und dann freigegeben.

Aktuell suche ich auch einen weiteren Maintainer, der Lust hätte auch mich ein wenig zu unterstützen.

Ziel ist es den Generator auf den neusten Stand zu bringen, auch sollen einige Fehler behoben werden und die Informationen besser dargestellt werden.

26. März 2018

Mozilla hat mit Firefox 59.0.2 ein Update für Firefox 59 veröffentlicht und behebt damit mehrere Probleme der Vorgängerversion.

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

Mit dem Update auf Firefox 59.0.2 behebt Mozilla gleich einige Probleme. So kam es seit Firefox 59 für Windows-Nutzer mit aktivierter Hardwarebeschleunigung in Firefox und deaktivierter ClearType-Einstellung in Windows zu Darstellungsproblemen auf Webseiten.

Für Nutzer von Windows 7 mit einem Touchscreen oder einer Drittanbieter-Anwendung, welche mit Firefox durch Schnittstellen für Barrierefreiheit interagiert, konnte es zu Abstürzen kommen. Unter anderem StickyPassword ist bekannt dafür, diesen Absturz auslösen zu können. Ein weiterer Absturz konnte auftreten, wenn versucht wurde, einen Druck-Auftrag kurz vor Fertigstellung abzubrechen.

Drittanbieter-Software konnte eine hohe Auslastung der CPU respektive einen ungewöhnlich hohen Speicherverbrauch verursachen. Eine mögliche Ursache hierfür wurde behoben.

GetUserMedia hat auf DragonFly, FreeBSD, NetBSD sowie OpenBSD nicht mehr funktioniert. Entsprechende Video-Chat-Apps haben entweder überhaupt nicht oder nur ohne Ton funktioniert.

Weiter wurde ein Problem beim Laden von Ressourcen in Service Workers behoben und das Problem, dass bei Verwendung der Option „Automatische Proxy-Konfigurations-Adresse“ die Schaltfläche zum Neuladen ausgegraut war.

Wurde über about:config die versteckte Option privacy.resistFingerprinting auf true gesetzt hat, haben auf Webseiten Browser-Shortcuts wie beispielsweise Strg + C zum Kopieren nicht mehr funktioniert.

Schließlich wurde noch eine Sicherheitslücke geschlossen.

Der Beitrag Mozilla veröffentlicht Firefox 59.0.2 und behebt diverse Probleme erschien zuerst auf soeren-hentzschel.at.

25. März 2018

Abwechslung tut gut und deswegen dreht sich diese Ausgabe des Wochenrückblicks schwerpunktmäßig wieder um Open Source Software. Für alle, die sich schon in den letzten Wochen gewundert haben: der Wochenrückblick hat zwischenzeitlich die Themenfelder erweitert und passt als solches nicht immer in den Ubuntuusers.de Planeten oder das OSBN. Wenn es sich allerdings (thematisch) anbietet, versuche ich auch in Zukunft einige Ausgaben extra für die OSS-Blognetze zu schreiben.

TLS 1.3 fast fertig

TLS 1.3, die neue Version des weit verbreiteten Standards für Transportverschlüsselung, kann in absehbarer Zeit als Standard durch die IETF veröffentlicht werden. (Heise, Golem) Bis zuletzt gab es zwischen diversen Interessensgruppen, die am Standard mitarbeiten, Diskussionen, ob und wie z.B. die Verbindungen entschlüsselt werden können.

Mit TLS 1.3 soll für weniger Metadaten und bessere Kryptoalgorithmen gesorgt werden. Hier kann ich den c’t-Artikel empfehlen, der die Thematik genauer beleuchtet.

DNS über HTTPS?

Um mehr Diskretion im Datenverkehr zu schaffen, bietet sich natürlich die o.g. Transportverschlüsselung an. Man darf aber keinesfalls andere Angriffsvektoren vernachlässigen. Im Datenverkehr eines “üblichen” Endnutzers findet sich nämlich nicht nur aktuell absicherbare Protokolle wie HTTPS oder SSH, sondern auch DNS vor. Und hier klafft bisher ein Problem, da diese Anfragen (mithilfe von DNS-Anfrage können die jeweiligen IP-Adressen zu Domains ermittelt werden) unverschlüsselt übertragen werden. Der Sicherheitsgewinn, der bei der Vermeidung von Metadaten bei TLS 1.3 bald gewonnen wird, wird möglicherweise an solchen Stellen wettgemacht, da die Liste angefragter Domains auch Aufschluss über das Nutzungsverhalten gibt.

Generell lässt sich das Problem durch den Einsatz von VPNs verlagern, es bleibt im Endeffekt aber immer noch keine ganzheitliche Lösung, da ab dem VPN-Endpunkt i.d.R. alles unverschlüsselt weiter läuft. Gibt es eine salonfähige Lösung für das Problem?

Jein. Die IETF hat da etwas in der Schublade, das sich DNS over HTTPS (DoH, unveröffentlicht!) nennt. Warte, DNS-Anfragen über HTTPS schieben? D’oh! Naja, aber es ist wenigstens ein Weg, um die Verbreitung von verschlüsselten DNS-Anfragen auf dem “ersten Übertragungsabschnitt” zwischen dem Endgerät und seinem Zugangspunkt abzusichern – sprich: DNS kann in offenen WLANs/Hotspots abgesichert werden. Aber der HTTPS-Endpunkt erfährt natürlich (in der bisherigen Umsetzung, wie ich es gesehen habe) von allen Anfragen des Nutzers.

Mozilla hat nun vor einigen Tagen angekündigt, eine solche DoH-Implementierung für eine Studie im Firefox Nightly mit einigen Nutzern für eine begrenzte Zeit zu testen. Als Partner für den HTTPS-Serverendpunkt wird Cloudflare angegeben.

Kritisiert wird unter anderen, dass der Nutzer vorher über die Studie nicht informiert wird, denn immerhin lässt sich über den DNS-Verlauf einiges über den Nutzer aussagen.

So my understanding of the study is that for those in the study branch (50% of Nightly users) we’ll be sending every hostname they visit to Cloudflare. That sounds problematic to me.

– Dave Townsend

Der Thread zu der Studie ist in der Google Groups-Diskussion zu finden.

Artikeltipps

Hier noch einige Artikeltipps über OSS aus dem Planeten, die ich empfehlenswert finde in dieser Woche:

Neben der Vielzahl an Einstellungsmöglichkeiten, die sich unter „(Firefox) -> Einstellungen -> Einstellungen“ verbergen, möchte ich hier ein paar Dinge hervor heben, bei denen an der about:config geschraubt werden muss.

Am Ende des Beitrages findet ihr den Inhalt meiner user.js. Diese Datei könnt ihr
~/.mozilla/firefox/profilname ablegen, dann müsst ihr euch nicht selber durch die about:config klicken.

Darüber hinaus seien euch Projekte wie Waterfox oder der Tor-Browser empfohlen, die schon ab Werk einige Einstellungen wesentlich datenschutzfreundlicher Gestalten.

Ein Teil der folgenden Infos stammen von der sehr guten Seite ffprofile.com auf der ihr euch eine user.js nach eigenen Wünschen zusammenstellen könnt. Dort sind, wie ebenfalls im unteren Teil dieses Beitrages einige sinnvolle Add-ons gelistet.

Überblick

  1. Konfiguration
    1. temporäre Dateien verschieben
    2. Kamera und Mikrofon-Zugriff unterbinden
    3. Geolocation / Standortbestimmung unterbinden
    4. Sitzungswiederherstellung unterbinden
    5. Telemetrie-Datensammlung überprüfen
    6. Tracking blockiern
    7. Zeitmessung des Seitenaufrufs abschalten
    8. Vorrausladen von Inhalten unterbinden
    9. Fingerprinting erschweren
    10. Pastejacking verhindern
  2. TLDR user.js
  3. Erweiterungen installieren

Konfiguration

temporäre Dateien verschieben

Unter anderem weil ich eine SSD verwende, möchte ich, dass Firefox die temporären Dateien im Ordner /tmp/ ablegt. Wie das geht, wird im Wiki-Artikel auf ubuntuusers.de erklärt.

Dazu muss about:config in die Adress-Zeile eingegeben und der auftauchende Hinweis bestätigt werden. Nun ist die Zeile browser.cache.disk.parent_directory neu einzufügen und auf /tmp/firefox-cache zu stellen.

Kamera und Mikrofon-Zugriff unterbinden

Um zu verhindern, dass mein Browser Zugriff auf meine Webcam und mein Mikrofon haben, gilt es den Zugriff auf diese Hardware zu unterbinden.

Dazu müssen wiederum Zeilen in der about:config angepasst werden. Die entsprechenden Zeilen lautent media.navigator.enabled und media.peerconnection.enabled. Beide existieren bereits, müssen als Wert jedoch jeweils von true auf false gesetzt werden. Dein Doppelklick genügt dafür. Überprüfen lässt sich die Änderung zum Beispiel auf den Test-Seiten für die WebRTC-Implementierung.

Doch nicht nur der Browser selbst, auch das Flash-Plugin bietet Möglichkeiten auf diese Hardware zu zu greifen. Dies lässt sich auf der Einstellungsseite verhindern.

Geolocation / Standortbestimmung unterbinden

Auch die Standort-Bestimmung möchte ich dem Browser unter keinen Umständen erlauben. Wie das geht wird auf den Seiten von Mozilla erklärt.

Die entsprechende Zeile in der about:config lautet geo.enabled. Auch diese muss per Doppelklick von true auf false gesetzt werden.

Darüber hinaus bietet der Browser ab Werk die Möglichkeit WLan-Netzte der Umgebung zu analysieren, um mittels eines Google-Service die Standort-Genauigkeit noch zu verbessern. Wer das nicht möchte entferne die URL unter geo.wifi.uri.

Sitzungswiederherstellung unterbinden

Seit geraumer Zeit bietet Firefox an, die aktuelle Sitzung (engl. Session) nach einem Absturz oder dem plötzlichen Beenden des Browsers wiederherzustellen. Warum das sinnvoll sein kann und unter welchen Umständen der Browser dies tut, wird auf der Website des Entwickler-Teams von Mozilla erklärt.

Dieses an sich sehr nützliche Verhalten bürgt die Gefahr, dass beim Öffnen des Browsers Dritte einblick bekommen, welche Websiten zuletzt besucht wurden und je nach Cookie-Politik Websiten zugriff auf Online-Konten bekommen können, aus denen sich (zB wegen eines Absturzes) nicht mehr ausgeloggt werden konnte. Die datenschutzrechtlichen Implikationen werden von Mozilla selbst angesprochen.

Zum Deaktivieren der Sitzungswiederherstellung muss in der schon von oben bekannten about:config der Wert browser.sessionstore.resume_from_crash gesucht und auf false gesetzt werden.

Telemetrie-Datensammlung überprüfen

Seit längerem sammeln die Testversionen des Firefox bereits sogenannte Telemetrie-Daten. Sören Hentzschel erklärt in seinem Blogbeitrag dazu:

Firefox besitzt mit dem Telemetrie-Feature eine Mess-Infrastruktur, um diverse Leistungsdaten von Firefox anonym an die Mozilla-Server zu übertragen. Ab sofort ist Telemetrie in den Betaversionen standardmäßig aktiviert.

Telemetrie liefert Mozilla wichtige Erkenntnisse zur Nutzung des Browsers, um diesen zu verbessern. Für Nutzer der Nightly- sowie Aurora-Versionen von Firefox war Telemetrie bereits standardmäßig aktiviert, Gleiches trifft nun auch für Nutzer der Beta-Versionen zu.

Die Einstellungen für die Sammlung telemetrischer Daten lässt sich leicht unter about:telemetry überprüfen.

Tracking blockiern

Seit Version 42 hat der Firefox eine Tracking Protection für private Browser-Tabs:

Sie soll den Surfer davor schützen, dass Werbenetze sein Nutzungsverhalten verfolgen, um Informationen für Profile zu sammeln. Dazu blockiert die Firefox-Beta das Laden von Site-Elementen, die bekannt dafür sind, Surfer zu tracken.

Um den Tracking-Schutz auch in normalen Tabs zu aktivieren folgen wir der Anleitung von Martin und suchen in der about:config den Wert privacy.trackingprotection.enabled. Dieser muss nun auf true gesetzt werden. Mehr Infos finden sich bei mozilla.org.

Zeitmessung des Seitenaufrufs abschalten

Mittels einer Funktion im DOM lassen sich Seitenaufrufe messen und eventuell zur Erzeugung eines individuellen Fingerabdrucks nutzen. Um das zu verhindern muss in der about:config der Wert von dom.enable_performance auf false gesetzt werden. Im Torbrowser ist dies bereits der Fall.

Eine ähnliche Funktion stellen dom.enable_resource_timing und dom.enable_user_timing bereit, die ebenfalls mittels false deaktiviert werden können.

Vorrausladen von Inhalten unterbinden

Firefox analysiert bereits während eines Seitenbesuchs die Link-Struktur dieser Seite und lädt mögliche Seiten vor, die „wahrscheinlich“ angeklickt werden. Dies kann zur Folge haben, dass die Internetanbieter oder Nachrichtendienste, die den Datenverkehr abschürfen, Seitenaufrufe dokumentieren, die nie getätigt wurden.

Das Deaktivieren mittels setzen des Wertes False in network.prefetch-next schafft hier Abhilfe.

Eine verwandte Funktion stellt das DNS-Prefetching dar. Hier löst Firefox IPs auf, bevor ihr auf den entsprechenden Link geklickt habt. Zur Unterbindung muss
network.dns.disablePrefetch auf True gesetzt werden.

Auch für TCP gibt es eine Vorlade-Funktion, die getrost deaktiviert werden kann. Dazu network.predictor.enabled auf False setzen.

Etwas anders aber ebenfalls rein spekulativ funktioniert die Funktion network.http.speculative-parallel-limit die Anzahl von TCP-Verbindung bereits beim Überfahren von Links bestimmt. Um das zu verhindern sollte der Wert auf 0 gesetzt werden. Im Torbrowser ist dies bereits der Fall.

Fingerprinting erschweren

Das Team, dass den Tor-Browswer entwickelt hat Strategien entwickelt, um Fingerprinting, also das Sammeln von Identifizierungsmerkmalen, die insgesamt eine recht genaue Identifikation des Webbrowser und damit des Nutzenden ermöglichen, zu erschweren. Um diese Funktionen zu verwenden muss der Schlüssel privacy.resistFingerprinting auf True gesetzt werden.

Pastejacking verhindern

Seit Version 41 erlaubt Firefox Webseiten den Zugriff auf die Zwischenablage. Manche Zeitungen nutzen dies um an kopierte Beitrags-Ausschnitte die URL automatisiert anzuhängen. Dieses Feature könnte jedoch auch genutzt werden, um zB von einer Website kopierten Quellcode oder Befehlszeilen so zu verändern, dass Schadcode auf dem Rechner ausgeführt wird. Sicherheitsforscher haben den Begriff Pastejacking dafür geprägt.

Firefox kann den Zugriff auf die Zwischenablage unterbinden. Dazu muss in der about:config der Wert dom.event.clipboardevents.enabled auf false gesetzt werden.

user.js

Die Datei muss im Profil-Ordner eures Browser ~/.mozilla/firefox/PROFILNAME/ als user.js gespeichert werden.

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#temp_Dateien
user_pref("browser.cache.disk.parent_directory", "/tmp/firefox-cache");

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Kamera_und_Mikrofon
user_pref("media.navigator.enabled", false);
user_pref("media.peerconnection.enabled", false);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Geolocation
user_pref("geo.enabled", false);
user_pref("geo.wifi.uri", "");

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Sitzungswiederherstellung
user_pref("browser.sessionstore.resume_from_crash", false);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Telemetrie
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.rejected", false);
user_pref("experiments.enabled", false);
user_pref("experiments.supported", false);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Tracking
user_pref("privacy.trackingprotection.enabled", true);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Navigation_Timing
user_pref("dom.enable_performance", false);
user_pref("dom.enable_resource_timing", false);
user_pref("dom.enable_user_timing", false);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Vorrausladen
user_pref("network.prefetch-next", false);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.predictor.enabled", false);
user_pref("network.http.speculative-parallel-limit", O);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Fingerprinting
user_pref("privacy.resistFingerprinting", true);

// http://barfoos.blogsport.eu/firefox-an-die-eigenen-beduerfnisse-anpassen/#Pastejacking
user_pref("dom.event.clipboardevents.enabled", false);

Erweiterungen installieren

Zu guter Letzt gilt es noch ein paar für mich unumgängliche Erweiterungen zu installieren:

  • uBlock Origin – Werbeblocker, der AdBlock Edge abgelöst hat
  • uMatrix – Matrix-basierte Firewall, die NoScript abgelöst hat
  • Cahoots – zeigt Verbindungen von Journalisten zu Vereinen, Organisationen und Unternehmen
  • HTTPS Everywhere – Verbindung verschlüsseln, wenn der Server das anbietet
  • Privacy Badger – mächtiger aber einfach bedienbarer Script-, Cookie- & Ad-Blocker
  • Calomel SSL Validation – tiefergehende Bewertung der TLS-Verschlüsselung zum Server

Alte Add-ons, die ich nicht mehr nutze:

  • Clone-Tab – ermöglicht das Duplizieren von Tabs
  • NoScript – mächtiger Blocker
  • Favicon Reloader – aktualisiert Favicons aller Lesezeichen auf Knopfdruck
  • XMarks Sync – Lesezeichen-Synchronisation über Browsergrenzen hinweg
  • Adblock Edge – Werbeblocker, der kein Feintuning braucht
  • <a href=“https://addons.mozilla.org/de/firefox/addon/ghostery/“>Ghostery – mächtiger Blocker
  • Adblock Plus – Werbeblocker, der Feintuning braucht
  • Download Status Bar – übersichtliche Download-Verwaltung
  • Foxy Proxy – vereinfacht den Wechsel zwischen Proxy und normaler Verbindung
  • InstantFox Quick Search – Suchen in der Adresszeile mit Suchkürzeln

24. März 2018

Spätestens seid Firefox im Sommer 2015 den Dienst „Pocket“ in seinen Browser integriert hat häufen sich die Skandale beim Browser von Mozilla. Allein in den letzten 12 Monaten gab es zahlreiche Zwischenfälle. Für mich ist dieser OpenSource-Browser damit gestorben. Eine Alternative zu Firefox stellt der Fork Waterfox dar.

Tatsächlich ist die Anzahl der mit Google Chrome konkurrenzfähigen Webbrowser, die quelloffen und frei sind, nach wie vor erstaunlich begrenzt. Chromium bietet sich an. Doch schon Projekte wie Vivaldi oder Opera, die ebenfalls auf der Blink-Engine basieren, verweigern sich ihren Quellcode offen zu legen. Andere Projekte hinken den aktuellen Entwicklungen oft um Monate oder gar Jahre hinterher.

Eine positive Ausnahme stellt der Browser Waterfox dar. Ähnlich wie Icecat, Pale Moon, Iceweasel und der Tor-Browser handelt es sich bei Waterfox um einen Fork des nach wie vor populären Firefox.

Vergleichbar mit dem Torbrowser, nutzt der Entwickler hinter Waterfox, Alex Kontos, aktuelle Firefox-Veröffentlichungen und entfernen daraus Teile des Webbrowsers, die er für unnötig oder gar gefährlich hält:

The browser itself is focused on power users, which lets you make the important decisions. There is no plugin whitelist, you can run whichever extensions you like and absolutely no data or telemetry is sent back to Mozilla or the Waterfox project.

Konkret werden folgende Features aufgezählt:

  • Disabled Encrypted Media Extensions (EME)
  • Disabled Web Runtime (deprecated as of 2015)
  • Removed Pocket
  • Removed Telemetry
  • Removed data collection
  • Removed startup profiling
  • Allow running of all 64-Bit NPAPI plugins
  • Allow running of unsigned extensions
  • Removal of Sponsored Tiles on New Tab Page
  • Addition of Duplicate Tab option
  • Locale selector in about:preferences > General

Neben dem gesteigerten Datenschutz und der gewonnenen Addon-Freiheit hat das entfernen der oben genannten Bestandteile einen weiteren Vorteil: Waterfox fühlt sich wesentlich fixer an, als der träge Firefox.

Installation

Auf der Projektseite werden Installationsdateien für Windows und OSX angeboten. Für Linux gibt es ein tar.bz2-Archiv. Selbst für Android gibt es eine Version.

Wer Updates unter Ubuntu mit der Paketverwaltung bekommen möchte, sollte allerdings lieber auf das PPA von Hawkeye116477 zurück greifen.

Die Installation geht denkbar einfach. Im Terminal gebt ihr folgende Befehle ein.

Schlüssel laden:

curl https://bintray.com/user/downloadSubjectPublicKey?username=hawkeye116477 | sudo apt-key add -

PPA hinzufügen:

echo 'deb https://dl.bintray.com/hawkeye116477/waterfox-deb release main' | sudo tee /etc/apt/sources.list.d/waterfox.list

Quellen aktualisieren:

sudo apt update

Waterfox installieren:

sudo apt install waterfox waterfox-locale-de

Das Paket waterfox-locale-de passt den sonst englischen Webbrowser an die im deutschen Sprachraum gewöhnten Bedürfnisse an.

Beim ersten Start bot mir der Browser an mein Profil zu importieren. Das klappt insbesondere aus dem Firefox wunderbar. Selbst die bisher verwendeten Addons werden übertragen. Die Einstellungen solltet ihr dennoch überprüfen. Darüber hinaus bietet es sich an weitere Fähigkeiten zu blockieren.

23. März 2018

Linbo ist eines der besten Features von linuxmuster.net – einer freien Schulserverlösung. Einen Überklick, was alles mit Linbo möglich ist, habe ich bereits in einen meiner letzten Artikel beschrieben. Dort habe ich ein Kommandozeilenprogramm erwähnt, das für die Administration der Schulrechner einfach super ist: linbo-remote. Damit kann man fast alles machen, was man sonst über die Linbo-GUI erledigen würde, z.B.

  • Rechner partitionieren und formatieren, starten, herunterfahren, etc.
  • neue Images in einem Raum oder in der ganzen Schule verteilen (in Kombination mit Wake-on-Lan)
  • zu einer beliebigen Zeit Rechner synchronisieren und das Betriebssystem der Wahl starten lassen
  • Images auf einem Rechner erstellen und auf den Server hochladen
  • linbo-remote mit anderen Skripten kombinieren

Ich möchte heute beschreiben, wie wir linbo-remote in unserer Schule einsetzen und zeigen, was man damit alles machen kann.

Neue Images verteilen mit linbo-remote

In regelmäßigen Abständen aktualisieren wir unser Ubuntu-Image, welches wir auf allen unseren Schulrechnern verwenden. Wir machen das meistens in den Ferien oder wenn es neue größere Updates gibt (e.g. Firefox, LibreOffice, wichtige Sicherheitsupdates). Mit folgendem Befehl verteilen wir das Image auf alle Rechner in einem Raum:

$ linbo-remote -r raum1 -p sync:1,halt -w 0

oder

$ linbo-remote -r raum1 -c sync:1,halt -w 60

Eine kurze Erklärung, was die einzelnen Parameter bedeuten.

  • -r gibt den Raum an. Mit -g kann man auch einen Gruppe angeben, mit -i eine IP oder einen Hostnamen.
  • -w steht für Wake-on-Lan, d.h. linbo-remote weckt die Rechner auf. Wake-on-Lan muss man im BIOS aktivieren und es funktioniert nur über ein angestecktes Netzwerkkabel (z.B. bei Notebooks). Die Zahl hinter -w gibt die Sekunden an, die gewartet werden soll, bis Linbo die Befehle ausführt.
  • Der Unterschied zwischen -p und -c ist, dass bei -p Linboo eine Datei mit den Befehlen auf dem Server anlegt. Diese Datei holt sich der Rechner, sobald er nach Linbo gebootet hat, ab. -c versucht den Befehl direkt per SSH an den Rechner zu schicken. Deshalb habe ich hier auch eine Wartezeit von 60 Sekunden angegeben, sodass genug Zeit für alle Rechner da ist, um aufgeweckt und gebootet zu werden.
  • nach -c und -p kann man verschiedene Befehle angeben. Alle Möglichkeiten erhält man, wenn man linbo-remote -h eingibt. Bei fast allen Befehlen folgt nach dem Befehle ein Doppelpunkt und dahinter die Nummer des Betriebssystems. Wenn man z.B. ein Dual-Boot System mit Windows und Ubuntu hat, bekommt Windows die Nr. 1 und Ubuntu die Nr. 2. Man kann auch mehrere Befehle angeben, die man durch ein Komma voneinander trennt.
    • sync:1,halt bedeutet also, dass linbo-remote das erste Betriebssystem auf dem Rechner synchronisiert und danach den Rechner wieder herunter fährt.
    • format:1,sync:1,sync:2,start:2 bedeutet, dass Linbo die Partition des 1. Betriebssystems formatiert und synchronisiert, danach das 2. Betriebssystem ebenfalls synchronisiert und anschließend startet. Beim Synchronisieren schaut Linbo, ob es ein neues Image auf dem Server gibt, lädt dieses gegebenenfalls herunter und kopiert es auf die entsprechende Partition.

Administration der Schulcomputer mit linbo-remote automatisieren

Wir haben oben schon gesehen, was alles mit linbo-remote möglich ist. Verbunden mit einem Cronjob können wir beispielsweise alle Rechner in der Schule oder in einem bestimmten Raum jeden Morgen synchronisieren und starten lassen, sodass alle Rechner „frisch“ für den Einsatz im Unterricht sind.

Als root User erstellen wir einen neuen Cronjob mit

root@server$ crontab -e

und legen den folgenden Cronjob an:

30 6 * * * /usr/sbin/linbo-remote -r raum1 -w 0 -p format:1,sync:1,sync:2,start:2 > /dev/null 2>&1

Jeden Morgen, um 6:30 Uhr, an jedem Tag im Jahr, kümmert sich jetzt Linbo um unsere Rechner im Raum 1. Dabei synchronisiert er beide Betriebssysteme und startet das zweite, sodass sich die Schüler direkt anmelden können.

Wir können linbo-remote auch verwenden, um alle Rechner herunterzufahren, die nach Linbo gebootet wurden.

0 13,15,17,20 * * * /usr/sbin/linbo-remote -r raum1 -c halt > /dev/null 2>&1

Um 13, 15, 17 und 20 Uhr werden alle Rechner im Raum 1, die Linbo gebootet haben, heruntergefahren.

Diese Cronjobs sind eine große Hilfe, um einen verlässlichen Ist-Zustand jeden Morgen an den Schulcomputern herzustellen. Der Nachteil dieser Lösung ist, dass die Cronjobs an jedem Tag ausgeführt werden, also auch am Wochenende oder in den Ferien. Doch dieses Problem lässt sich lösen 🙂

linbo-remote mit anderen Programmen kombinieren

Ein Mitglied der Linuxmuster-Community hat ein Skript geschrieben, dass überprüft, ob heute ein Schultag ist – je nach Bundesland. Das Skript findet man auf Github und wir können es wie folgt auf dem Server installieren:

$ git clone https://github.com/anschuetz/linuxmuster.git
$ cd linuxmuster/schultag

In der Datei ist-heute-schultag müssen wir noch festlegen, welches Bundesland wir verwenden möchten. Standardmäßig ist Baden-Württemberg eingerichtet.

ferien_conf="ferien_bw.conf"
feiertage_conf="feiertage_bw.conf"

Danach installieren wir das Skript mit

$ sudo make install

Wenn ein Schultag ist, liefert das Skript einen Rückgabewert von „0“ zurück, sonst z.B. „99“ (für einen Ferientag).

Die Cronjobs oben können wir anpassen, sodass sie nur noch an einem Schultag ausgeführt werden:

30 6 * * * ist-heute-schultag && /usr/sbin/linbo-remote -r raum1 -w 0 -p format:1,sync:1,sync:2,start:2 > /dev/null 2>&1
0 13,15,17,20 * * * ist-heute-schultag && /usr/sbin/linbo-remote -r raum1 -c halt > /dev/null 2>&1

Fazit

Linbo und ins besondere linbo-remote nimmt uns als Schul-IT-Team eine ganze Menge Arbeit ab. Während wir im ersten Jahr noch viel „Turnschuhadministration“ betrieben haben, macht das jetzt linbo-remote für uns. Vorbei sind die Zeiten, in denen wir von Rechner zu Rechner in der Schule gelaufen sind, um sie mit einem neuen Image zu versorgen. Linbo ist für mich das beste Feature an linuxmuster.net und ich habe bisher keine andere Software kennengelernt, die uns hilft jeden Tag automatisch einen definierten Ist-Zustand herzustellen. Ist das Image einmal auf dem Rechner, funktioniert das ganze übrigens auch offline, d.h. die Schüler können selbstständig ihre Rechner zurücksetzen, falls etwas „kaputt“ ist.

1 Kommentar

Der Beitrag Einsatzmöglichkeiten von linbo-remote im Schulalltag erschien zuerst auf .:zefanjas:..

22. März 2018

Seit ein paar Tagen gibt es ein neues Raspberry-Pi-Modell: Der Pi 3B+ sieht aus wie der 3B, ist aber etwas schneller (1,4 GHz), hat eine deutlich schnellere Ethernet-Anbindung (300 MBit/s) und ein teilweise schnelleres WLAN. Er unterstützt nun Bluetooth 4.2. Der Preis ist gleichgeblieben, der Stromverbrauch ist aber gestiegen.

Zusammenfassung der technischen Neuerungen

Die Vergleichsdaten gelten für das Vorgängermodell Raspberry Pi 3B.

  • SOC/CPU: BCM2837B0
  • Max. Taktfrequenz: 1,4 GHz (bisher 1,2 GHz)
  • LAN/USB-Chip LAN7515: Ethernet mit bis zu 300 MBit/s (bisher 100 MBit/S)
  • WLAN-Chip CYW43455: Dual-Band WLAN (2,4 GHz und 5 GHz), max. Geschwindigkeit 100 MBit/S (bisher 47 MBit/S)
  • Bessere Unterstützung für PXE Ethernet Booting (nun standardmäßig aktiv) und USB Booting
  • Bluetooth 4.2 (bisher 4.1)
  • Stromversorgung über PoE (Power over Ethernet) möglich (erfordert PoE-HAT, der vier neue Pins des Pi3B+ nutzt)
  • Leistungsaufnahme im Leerlauf 3,5 W (bisher 2,5 W), bei voller CPU-Auslastung ca. 5,5 W
Neuer 4-Pin-Header für Power-over-Ethernet-HAT

Ein kleiner optischer Unterschied besteht darin, dass der SoC (System on a Chip) eine Metallhülle erhalten hat, der die Wärmeableitung verbessert. Deswegen glänzt der Chip nun silbern statt bisher schwarz. Zusammen mit dem MxL7704 Power Management Chip kann der Pi3B+ nun über längere Zeit unter Vollauslastung laufen, bevor er so heiß wird, dass der CPU-Takt reduziert werden muss.

CPU-, RAM- und Grafik-Taktfrequenzen, Stromverbrauch

Die maximale CPU-Frequenz hat sich auf 1,4 GHz erhöht (1,2 GHz beim Pi 3B), auch das RAM wird mit 500 MHz ein wenig schneller getaktet (bisher 450 MHz). Overclocking ist nicht vorgesehen.

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 
  600000
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
  1400000 (bisher 1200000)
vcgencmd get_config sdram_freq    # RAM
  sdram_freq=500 (bisher 450)
vcgencmd get_config core_freq     # Video Core
  core_freq=400
vcgencmd get_config gpu_freq      # 3D-Core
  gpu_freq=300

Die Leistungsaufnahme beträgt im Ruhezustand mit angeschlossenem Netzwerk- und HDMI-Kabel ca. 3,5 W (gemessen mit einem einfachen USB-Messgerät, bisher 2,5 W). Wenn die CPU ausgelastet wird, steigt die Leistungsaufnahme auf über 5 W an. Das erfordert allerdings ein ausreichend leistungsstarkes Netzteil.

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          164.1588s
    total number of events:              10000
    total time taken by event execution: 656.5578
    per-request statistics:
         min:                                 31.62ms
         avg:                                 65.66ms
         max:                              84510.08ms
         approx.  95 percentile:              32.02ms

Threads fairness:
    events (avg/stddev):           2500.0000/11.36
    execution time (avg/stddev):   164.1394/0.01

Merkwürdigerweise war die Laufzeit des Benchmarktests mit 164 s länger als bei einem vergleichbaren Testlauf, den ich vor 1 1/2 Jahren auf einem Raspberry Pi 3B durchgeführt habe. Ich habe den Test allerdings auf dem Pi 3B nicht wiederholt. Möglicherweise ist ein verändertes Verhalten des
sysbench-Kommandos die Ursache. Andere Messungen haben ergeben, dass der Pi 3B+ durchaus um gut 16% schneller ist wie ein Pi 3B, genau so, wie die CPU-Takterhöhung es erwarten lässt. Ausführliche Benchmarktests finden Sie hier.

Die Temperatur der CPU steigt beim obigen Test auf rund 60 Grad an. Wird die CPU dauerhaft ausgelastet, wird sie entsprechend noch heißer. Das führt nach einer Weile zu einer Reduktion der Taktfrequenz (siehe ebenfalls hier.

Die Empfehlungen für das Netzteil haben sich nicht verändert. Die Rasperry Pi Foundation empfiehlt ein Netzteil, das 2,5 A Strom liefern kann, also 12,5 W Leistung. Klar ist, dass ein ausreichend dimensioniertes Netzteil mit jeder neuen Pi-Generation wichtiger wird. (Wer einen Pi stromsparend betreiben will, sollte unbedingt zu einem Zero-Modell greifen!)

Raspbian

Raspbian wurde für den neuen Pi 3B+ natürlich ebenfalls aktualisiert. Die Änderungen betreffen aber nur Interna und Versions-Updates. Sichtbare Neuerungen an der Oberfläche gibt es nicht.

  • Kernel: Die Kernelversion beträgt 4.9. Mit rpi-update können Sie auf die Version 4.14 aktualisieren. Offiziell wird das aktuell noch nicht empfohlen. Werfen Sie vorher einen Blick auf diesen Forum-Thread, wo eventuelle Probleme + Nebenwirkungen zusammengefasst sind.
  • Device Trees: Das Verzeichnis /boot enthält die neue Datei bcm2710-rpi-3-b-plus.dtb mit dem Device Tree Blob für den neuen SoC BCM2837B0.

  • Chromium: Der Webbrowser liegt aktuell in Version 60 vor.

  • Mathematica: Mathematica wurde auf Version 11.2 aktualisiert.

Ansonsten basiert Raspbian natürlich weiter auf Debian Stretch und verwendet daher die durch Debian vorgegebenen Software-Pakete.

Fazit

Eigentlich ist die Sache ganz einfach:

  • Wenn Sie einen neuen Raspberry Pi kaufen, sollten Sie unbedingt das Modell 3B+ nehmen. Es kostet nicht mehr, ist aber etwas schneller.
  • Wenn Sie aktuell einen Raspberry Pi 3B nutzen, lohnt sich ein Neukauf nicht. Im realen Betrieb sind die Geschwindigkeitsverbesserungen zwar messbar, aber nur in Ausnahmefällen auch bemerkbar. Wirklich neue Features gibt es keine.

Quellen

20. März 2018

GNOME 3, als Desktop-Oberfläche für ein grafisches Linux, gefällt mir in den Grundzügen relativ gut. Allerdings gibt es einige Kleinigkeiten, welche mich stören. Als macOS-Nutzer bin ich ein großer Freund des dortigen Docks und möchte ein solches auch unter GNOME 3 nutzen können. Glücklicherweise gibt es die Erweiterung Dash to Dock, welche eine solche Funktionalität anbietet.

Die Erweiterung kümmert sich um das Dock

Dash to Dock bietet eine Fülle von Einstellungen um es optimal an die eigenen Bedürfnisse anzupassen. Die Optionen reichen von der bevorzugten Position auf dem Bildschirm über die Größe der Icons, die Darstellung laufender Anwendungen und dem Erscheinungsbild.

Die Einstellungen von Dash to Dock

Die Erweiterung kann über die GNOME-Extension-Seite heruntergeladen bzw. direkt installiert werden.

Zur Überwachung unserer IT-Infrastruktur verwenden wir OMD/Check_MK. Es lässt sich gut bedienen und wir haben den Status unserer Netzwerkkomponenten, Server, Drucker, etc. immer gut im Blick. Bis zuletzt haben wir noch die „old-stable“ Version verwendet (1.2.8), doch die CPU Auslastung stieg z.T. deutlich an, sodass es Zeit war, ein Upgrade auf die aktuelle stabile Version (1.4.0) vorzunehmen. Heute möchte ich zeigen, wie man Check_MK aktualisieren kann und was es dabei zu beachten gibt.

Check_MK aktualisieren

Mit Check_MK lassen sich mehrere Instanzen verwalten. Diese werden „sites“ genannt. Es ist möglich mehrere Versionen von Check_MK parallel zu installieren. Dabei kann jede Instanz eine der installierten Versionen verwenden. Das Softwareupgrade verhält sich also etwas anders, als man es vielleicht gewohnt ist.

Bevor wir unsere Instanz auf die neue Version upgraden können, müssen wir zuerst Check_MK aktualisieren. Dazu laden wir die aktuelle Version für Ubuntu 16.04 herunter (1.4.0).

$ wget https://mathias-kettner.de/support/1.4.0p26/check-mk-raw-1.4.0p26_0.xenial_amd64.deb

Danach müssen wir das Paket und evtl. fehlende Abhängigkeiten installieren:

$ sudo dpkg -i check-mk-raw-1.4.0p26_0.xenial_amd64.deb
$ sudo apt install -f

Nun können wir uns mit omd versions anzeigen lassen, ob die neue Version auch als Standard eingerichtet ist:

root@omd:~# omd versions
1.2.8p13.cre
1.4.0p26.cre (default)

Upgrade für OMD-Instanz durchführen

Die neue Version von Check_MK ist jetzt installiert, aber unsere „Site“, d.h. unsere Monitoring-Instanz verwendet noch immer die alte Version. Wir müssen also, neben Check_MK, auch diese noch aktualisieren. Dazu wechseln wir den Benutzer zu unserer Instanz mit

root@omd# su - meineInstanz

Zuerst stoppen wir unsere Instanz:

$ omd stop

Danach können wir das Update durchführen:

$ omd update

Bei der Durchführung des Upgrade bekommen wir einige Fragen gestellt, um Konflikte in der Konfiguration aufzulösen. Bei uns waren es v.a. Anpassungen von Dateirechten bei einigen Dateien. Hier kann man keine generelle Empfehlung geben, welche Antwort die richtige ist, aber so lange es sich nicht um eigene Anpassungen handelt, kann man i.d.R. die neue Version bzw. die neuen Dateirechte übernehmen.

Mit omd version können wir noch überprüfen, ob die aktuelle Version verwendet wird. Anschließend starten wir unsere Instanz wieder:

$ omd start

Wenn wir nun Check_MK im Browser aufrufen (https://monitoring.server/meineInstanz), kann es sein, dass wir folgende Warnung sehen:

Check_MK aktualiseren
(c) https://mathias-kettner.de

Durch das Update sind natürlich auch die Plugins aktualisiert oder ersetzt worden. Im Laufe der nächsten Stunden wird es deshalb immer wieder Warnungen über nicht aktive bzw. veraltete Services geben. Check_MK warnt ebenfalls vor inkompatiblen Änderungen (siehe Bild). Mit einem Klick auf „Show unacknowledged incompatible werks“ können wir uns diese Änderungen anzeigen und mit einem weiteren Klick auf „Acknowlegde all“ akzeptieren.

Slack/Mattermost Plugin hinzufügen

Wir verwenden ein Plugin, dass uns im Falle eines Problems eine Nachricht in unseren Mattermost #monitoring Kanal schickt. Dies wurde beim Upgrade nicht mit übernommen, sodass noch etwas Handarbeit nötig ist. Das Plugin müssen wir an die richtige Stelle kopieren und die Rechte anpassen.

$ cp /opt/omd/versions/1.2.8p13.cre/share/check_mk/notifications/slack /opt/omd/versions/1.4.0p26.cre/share/check_mk/notifications/slack
$ chmod +x /opt/omd/versions/1.4.0p26.cre/share/check_mk/notifications/slack

Falls noch nicht vorhanden, müssen wir auch noch folgendes Paket installieren:

$ apt install python-requests

Nun taucht das Plugin wieder unter WATO → Notifications auf.

Check_MK Mattermost Slack

Fazit

Nach dem Upgrade läuft Check_MK wieder rund. Check_MK ist ein tolles Projekt und es hilft uns sehr unser Netzwerk, unsere Firewall und unsere Geräte im Blick zu behalten. So können wir oft Probleme erkennen, bevor jemand anderes sie bemerkt 🙂

Welche Software nutzt du zur Überwachung deiner IT-Infrastruktur?

1 Kommentar

Der Beitrag Wie man Check_MK aktualisieren kann erschien zuerst auf .:zefanjas:..

19. März 2018

Mozilla hat in Firefox 60 vier neue Einstellungen hinzugefügt, um Sensor-APIs zu kontrollieren und mit den entsprechenden Schnittstellen für Näherung und Umgebungslicht zwei bisher aktivierte Sensor-APIs standardmäßig deaktiviert.

Über Sensor-APIs können Webseiten Informationen über die Umgebung erhalten, in welcher ein Gerät genutzt wird. Dies betrifft in erster Linie Smartphones und Tablets. Was auf der einen Seite praktische Anwendungsfälle lösen kann, kann häufig auch entgegen der ursprünglichen Motivation hinter einer Schnittstelle genutzt werden. So könnte die W3C Proximity Sensor API genutzt werden, um es Webseiten zu ermöglichen, die Position von Objekten in der Nähe des Gerätes abzufragen, oder die W3C Ambient Light Sensor API, um Browserdaten zu stehlen.

Diese beiden Schnittstellen hat Mozilla in Firefox 60 standardmäßig deaktiviert, zunächst für Vorab-Versionen (Nightly- und frühe Beta-Versionen). Beide Schnittstellen können nach wie vor genutzt werden, müssen dazu aber vom Nutzer über about:config erst aktiviert werden. Die entsprechenden Schalter heißen device.sensors.proximity.enabled respektive device.sensors.ambientLight.enabled.

In gleicher Weise hat Mozilla noch zwei weitere Schalter implementiert, nämlich device.sensors.orientation.enabled und device.sensors.motion.enabled. Darüber können das DeviceOrientation sowie das Motion Event deaktiviert werden.

Schließlich gibt es mit device.sensors.enabled noch eine weitere Option. Wird dieser Schalter auf false gesetzt, werden mit einem Schlag alle Sensor-APIs deaktiviert.

Der Beitrag Firefox 60: Mehr Kontrolle über Sensor-APIs erschien zuerst auf soeren-hentzschel.at.

Bild von TeroVesalainen via pixabay / Lizenz: CC0 Creative Commons

Literaturverwaltungen sind ein recht spezielles Softwarefeld, da sie nur für verhältnismäßig wenige Menschen interessant sind. Vornehmlich Wissenschaftler und Leute, die beruflich viel lesen. Daher hält sich das Angebot auch in engen Grenzen. Demnächst könnte es für datenschutzbewusste Nutzer noch deutlich düsterer aussehen.

EndNote, Citavi und Zotero sind die großen drei Anbieter auf den Markt. Insbesondere in Deutschland hat sich Citavi durch Verträge mit vielen Hochschulen einen fest Stand erarbeitet. Auf dem Mac noch relevant ist Papers und dann folgen mit großem Abstand Anbieter wie Mendeley und diverse Dienste mit reinen Weboberflächen. In den MINT-Fächern haben sich BibTeX-Frontends bisher noch behaupten können, aber es soll ja auch noch Professoren geben, die ihre Bücher mit der Schreibmaschine schreiben.

Literaturverwaltungsprogramme sind - richtig eingesetzt - das ausgelagerte Projektgehirn eines Wissenschaftlers. Sie sind keine tabellarische Übersicht der gelesenen Literatur (außer man quält sich noch mit BibTeX rum) sondern verwalten digitalisierte Texte, Abstracts, Kommentare, Schlagworte, Kategorien und Verknüpfungen. Manche Systeme kombinieren dies mit Aufgabenverwaltung und Wissensmangement. Man muss sich dies vor Augen führen um die Datenschutzproblematik klar zu machen.

Die klassischen Literaturverwaltungsprogramme leiden seit Jahren an Defiziten bei der Verwendung auf mehreren Geräten. Alle großen Anbieter sind entstanden bevor der Wissenschaftler einen Büro-Desktop, einen Laptop und eventuell noch Tablet und Smartphone mit sich führte. Das ist aber Vergangenheit und wenn man heute auf einer Konferenz ist oder in einem Archiv sitzt möchte man durchaus auf die Verwaltung zugreifen können und nicht warten müssen bis man das nächste Mal das Büro betritt.

Die Lösung heißt bei allen Anbietern Cloud. Das ist soweit nachvollziehbar, da alle anderen Synchronisationslösungen fehlerbehaftet sind und deshalb auf lange Licht nicht praktikabel erscheinen. Neu ist aber, dass ausnahmslos alle großen Anbieter wie EndNote, Citavi, Papers und Mendeley auf eine firmeneigene Cloud setzen.

Cloud muss ja nicht per se etwas schlechtes sein. Aufgesetzt auf einem Server unter eigener Kontrolle und mit starker clientseitiger Verschlüsselung spricht nicht mehr viel gegen einen Cloudeinsatz. Papers hat mit seiner Version 3 vorgemacht, dass solche Lösungen sich durchaus einsetzen lassen. Kurz gesagt: Jede Cloudlösung, die einen lokalen Synchronisationsordner hatte, ließ sich mit Papers 3 verwenden.

Anstatt solche Lösungen weiterzuentwickeln, setzen aber alle Anbieter auf firmeneigene Insellösungen, bei denen der Kunde/Anwender vollkommen dem Anbieter vertrauen muss. Selbst Papers begräbt vermutlich seine gelungene Multicloud-Lösung. Angesichts der Bedeutung für die Projektarbeit ist es absolut undenkbar die Literaturdatenbank auszuhändigen.

Was bleibt da noch als Lösung: Kurz- und mittelfristig nur die lokale Speicherungen auf einem Gerät ohne Synchronisation, so lange die Programme dies noch unterstützen. Angesichts des Entwicklungsverlaufs in anderen, dynamischeren Bereichen darf man anzweifeln das dies noch lange funktionieren wird.

Langfristig dann vermutlich der Rückschritt auf eine Lösung, die einem mehr Freiheit bietet. Leider bedeutet dies zwangsläufig Abstriche im funktionalen Bereich zu machen. Die meisten Open Source-Lösungen ohne entsprechenden Cloud-Zwang können verglichen mit EndNote oder Citavi nicht im entferntesten Funktionsparität bieten.

Etwas abstrahiert scheint sich hier ein neues Dualismus anzubahnen. Es stehen sich mehr (ausschließlich) quelloffene und proprietäre Programme gegenüber, sondern frei entwickelte und kommerzielle Lösungen. Letztere zeichnen sich zunehmend durch Abomodelle und Anbieterclouds aus, um einen möglichst großen Vendor-lock-in Effekt zu erzielen. Frei entwickelte Software leidet im Gegenzug an fehlenden Wirtschaftsmodellen und damit fehlender Professionalität.

Trübe Aussichten!

Unter GNOME 3 gibt es eine Reihe von Fensteranimationen, welche die Oberfläche hübscher erscheinen lassen. Auf leistungsschwachen Systemen können diese Animationen allerdings zu Problemen führen. Möchte man diese Probleme mildern, können die entsprechenden Fensteranimationen abgeschaltet werden. Dazu muss das Terminal geöffnet werden und dort der Befehl:

gsettings set org.gnome.desktop.interface enable-animations false

eingegeben werden. Anschließend sind die Fensteranimationen sofort deaktiviert. Je nach Rechner wirkt sich diese Einstellung mehr oder weniger positiv auf die Performance aus.

Bild von 3dman_eu via pixabay / Lizenz: CC0 Creative Commons

In die Ubuntu Installationsroutine, die auch alle Derivate nutzen, wurde für 18.04 eine interessante Änderung eingepflegt. Es ist ab sofort möglich eine minimale Desktopumgebung zu installieren ohne den - je nach Nutzungsszenario überflüssigen - Paketüberhang. Immerhin liefert ein normales Ubuntu, sowie viele Derivate einen Paketumfang aus, der für jeden denkbaren Einsatzzweck ein Programm vorsieht. Nicht jeder benötigt allerdings einen Mailclient oder eine Tabellenkalkulation.

Für eine minimale Installation muss lediglich folgender Haken gesetzt werden:

Doch was die einzelnen Derivate unter einer minimalen Installation verstehen unterscheidet sich natürlich. Bei Kubuntu ist dies scheinbar die Desktopumgebung KDE Plasma, sowie Teile der KDE Applications, die man durchaus als Kernbestandteile sehen kann. Dazu gehören Okular für die Dokumentenanzeige, Ark als Archiverwaltung, der Taschenrechner KCalc und Spectacle für Screenshots. Hinzu kommen noch Bestandteile wie Dolphin, die Konsole, der Systemmonitor, sowie Firefox und VLC.

Eine wirklich rudimentäre Zusammenstellung sieht anders aus aber für viele Benutzer dürfte dies eine sinnvolle Minimalzusammenstellung sein. Offensichtlich weggelassen wurden Schwergewichte wie KDEPIM und LibreOffice, sowie Nischenprogramme wie Konversation & Co.

Zusammengefasst handelt es sich dabei um eine sehr sinnvolle Ergänzung des Installationsprozesses, sofern die Derivate dies auch stimmig umsetzen.

Bild von johnyksslr via Pixabay / Lizenz: CC0 Creative Commons

Die Serie zur Sicherheit und Vertrauenswürdigkeit von Android erhält eine weitere Folge. Android steht im Fokus der Öffentlichkeit. Das System hat einen sehr hohen, allerdings noch nicht gänzlich marktbeherrschenden Anteil am Smartphonemarkt und ist deshalb für Angreifer entsprechend interessant.

Eine große Einleitung kann man sich an dieser Stelle sparen, sondern auf immer noch gültige Kommentare in vorherigen Artikeln verweisen.


Siehe:


Bisher galt jedoch immer noch die Empfehlung, dass eine Custom Rom wie LineageOS ohne Google Apps Android zu einem halbwegs freien und sicheren System macht. Das ist nun ebenfalls zweifelhaft.

Konkret soll LineageOS folgende Google Dienste inkludiert haben (bisher nur für Nexus 5X bestätigt):

  • Google Connectivity Service: Eine kurze Recherche ergab, das es sich dabei um eine Art Google VPN handelt um die Sicherheit in öffentlichen WLAN Netzen zu verbessern. Welche Daten bei einer zukünftigen Abwicklung über ein Google VPN an eben Google abfallen ist noch unklar. Nebenbei sammelt man wohl Informationen über die WLAN-Netze.
  • Carrier Services: Dabei handelt es sich um eine App zur Kooperation mit den Mobilfunkanbietern, die darüber Dienste bereitstellen können.
  • Project Fi: Der Versuch Googles als virtueller Mobilfunkbetreiber in den Markt einzusteigen. Klar, man hat ja noch nicht genug Marktmacht.
  • X Google 
  • T Google
  • OK Google: Bestandteil der bekannten Spracherkennung/-analyse.

Wenn man unabhängig von Google bleiben möchte, kann man sein Android Smartphone eigentlich nur noch entsorgen. Open Source im Basissystem hin- oder her. Die gesamte Entwicklung ist viel zu intransparent und große Teile der Community im Androidumfeld viel zu unkritisch gegenüber Google.

17. März 2018

Linux Cloud Backup Beitrag

Schon lange versuche ich so viele Daten und Medien wie möglich in digitaler Form zu nutzten bzw. zu besitzen. Ich war nie ein großer Freund von CD-Sammlungen. Seit der Verbreitung von MP3s besitze ich Musik nur noch in dieser Form. Auch zu Zeiten als ich Fotos noch nicht Digital, sondern noch auf Film gemacht habe, habe ich mir die Bilder beim entwickeln zusätzlich auf CD geben lassen.  Auch Rechnungen und andere Dokumente liegen vermehrt in digitaler Form vor.
Aus diesem Grund gewinnt auch die Sicherung dieser Daten immer mehr an Bedeutung. Leider ist das eine Herausforderung, die gar nicht so einfach zu bewältigen ist.

Das Problem

In diesem Beitrag möchte ich mich auf die Datensicherung meiner Desktopsysteme beschränken. Diesen Webserver und meinen Homeserver sichere ich über Kommandozeilentools (Borg und duplicity) die ich auf dem Desktop aber nicht nutzen möchte, da meine Anforderungen hier andere sind.

Es soll ein Cloudbackup gemacht werden. Um unterwegs nicht auf externe Datenträger angewiesen zu sein und um die Sicherung auch vor Wohnungsbrand und Diebstahl zu sichern. Aus Gründen der Privatsphäre kann dies natürlich nur verschlüsselt geschehen.

Außerdem würde ich gerne in irgendeiner Form über ein erfolgreiches oder fehlgeschlagenes Backup informiert werden. Entweder über eine Desktopbenachrichtigung oder ein Tray-Icon. Auch wenn ich ein Freund der Kommandozeile bin, möchte ich auf dem Desktop gerne eine Backupsoftware mit GUI benutzen.

Lange habe ich Crashplan für meine Backups genutzt (durchaus mit etwas schlechtem Gewisssen, weil geschlossener amerikanischer Dienst). Ich habe mich damals vom unschlagbaren Preis/Leistungsverhältnis bestechen lassen. Seit der Änderung des Geschäftsmodells ist Crashplan weit weniger attraktiv für Privatanwender.
Also habe ich mich mit meinen Wünschen wiedermal auf die Suche nach geeigneter Backupsoftware für den Linuxdesktop gemacht. Folgende Software habe ich dabei ausprobiert.

Deja Dup

Deja Dup ist einer der Klassiker für Sicherungen auf dem Linux-Desktop. Es ist freie Software und steht unter GPL v3 (Launchpad / Ubuntuusers Wiki). Es ist ein Frontend für das Kommandozeilentool Duplicity und lässt sich sehr gut in das System integrieren. Leider ist der Funktionsumfang recht eingeschränkt.

Deja Dup Startfenster

Es kann nur ein Backup-Set erstellt werden. D.h. man kann nicht definieren dass der Ordner Dokumente stündlich gesichert wird, der Ordner Videos aber nur einmal täglich. Es gibt eine Regel, die für alles gilt.
Auch sonst sind die Einstellmöglichkeiten begrenzt. Da Deja Dup auf Duplicity basiert, setzt es auf regelmäßige Fullbackups, gefolgt von mehreren inkrementellen Backups, die die Veränderungen zum letzten Vollbackup enthalten. Ein Vollbackup wird dabei alle drei Monate vorgenommen. Der Zeitpunkt für ein Vollbackup lässt sich ebensowenig bestimmen, wie die Anzahl an Vollbackups die vorgehalten werden sollen.
Als Zeitraum für den Backups vorgehalten werden sollen bevor sie gelöscht werden, kann auf sechs Monate, ein Jahr oder für immer gewählt werden.

Positiv ist, dass Deja Dup, bzw. Duplicity, chunk basiert arbeitet. Es werden also immer nur die Teile einer Datei gesichert, die sich auch wirklich geändert haben. Ein nicht zu unterschätzender Vorteil bei der Sicherung großer Dateien.

Trotzdem, wenn man sich gerade unterwegs in einem unzureichenden Hotel-WLAN befindet und Deja Dup ein Fullbackup starten will, hat man eigentlich nur die Option seine Backups komplett zu verschieben bis man wieder schnelles Internet hat.

Es gibt allerdings auch einiges positives über Deja Dup zu sagen. So werden Sicherungen auf das lokale Dateisystem ebenso unterstützt wie Sicherungen über SSH, FTP, WebDAV oder SMB/CIFS. Das Backup kann auf Wunsch vor dem Upload verschlüsselt werden. Das war ja Grundvoraussetzung für mich.

Auch die Integration in Nautilus oder Nemo lässt sich sehr schön lösen. Bei Ubuntu wird dies automatisch bei der Installation vorgenommen. Bei anderen Distributionen lässt sich dies einfach selbst erledigen.

Ein Rechtsklick in einem gesicherten Ordner gibt einem die Option “Fehlende Dateien wiederherstellen”. Anschließend werden einem alle Dateien aufgelistet die einmal an diesem Ort gespeichert waren, jedoch gelöscht wurden. Somit kann man einfach versehentlich gelöschte Dateien wiederherstellen.

Deja Dup gelöschte Datei wiederherstellen

Eine ähnliche Option gibt es bei einem Rechtsklick auf eine Datei oder einen Ordner. Hier hat man die Option “Auf frühere Version zurücksetzen”. Hat man versehentlich Änderungen an einer Dateivorgenommen kann man diese so wieder rückgängig machen. Äußerst praktische Funktionen wie ich finde.
Deja Dup Datei zurücksetzen

Wenn Deja Dup ein Backup abgeschlossen hat, erhält man eine Benachrichtigung in Form einer Dektop-Notification

Fazit zu Deja Dup

Die größte Einschränkung sind sicher die wenigen Einstellmöglichkeiten und der Full-/Incrementalbackup Ansatz, der einem zum Verhängnis werden kann wenn man große Datenmengen sichert. Wo dies keine Rolle spielt, z.B. weil auf eine externe Festplatte am Desktop gesichert wird, bieten die “Versionierungsfunktionen” von Deja Dup eine schöne Möglichkeit versehentlich veränderte oder gelöschte Dateien wiederherzustellen.

Back In Time

Back in Time ist was die Einstellungen angeht sehr viel flexibler als Deja Dup. Dafür hat es andere, zumindest für mich gravierende Einschränkungen, die aber auch wieder nur die Nutzung mit Cloudbackups betreffen. Die Software existiert bereits seit 2008, ist freie Software und steht unter GNU GPLv2-Lizenz. (Github / Ubuntuusers Wiki)

Eine Integration in den Dateimanager bietet Back in Time nicht, die Wiederherstellung von Dateien findet über die Benutzeroberfläche des Programms statt. Diese ist jedoch sehr übersichtlich gestaltet und ich muss zugeben dass Back in Time mein Favorit ist, was die Bedienbarkeit angeht.

Back in Time Fenster

In der linken Seite des Interfaces werden einem alle Sicherungen zeitlich sortiert angezeigt. Man wählt die gewünschte Sicherung aus und kann dann auf der rechten Seite durch die Dateien browsen, als wären diese auf der lokalen Festplatte. Mit einem Rechtsklick kann man beliebige Dateien oder Ordner auf den gewählten Zeitpunkt wiederherstellen.

Backups lassen sich im lokalen Dateisystem oder über SSH speichern. Wenn diese verschlüsselt werden sollen wird EncFS verwendet. Gegen EncFS sind mehrere Angriffsmöglichkeiten bekannt, so dass der Verschlüsselung nicht vollständig vertraut werden kann. Lobenswerterweise weist einen das Programm auf diesen Umstand hin.
Der Authentifizierung am Backend über SSH erfolgt ausschließlich über einen SSH-Schlüssel. Ein Login mit Benutzername und Passwort ist nicht möglich. Das bedeutet aber dass man den Schlüssel selbst auch wieder an irgendeinem Ort sichern muss. Ohne Schlüssel ist schließlich kein Wiederherstellen des Backups möglich.

Dafür können in Back in Time mehrere Profile erstellt werden. Damit können verschiedene Ordner auch an unterschiedlichen Stellen oder zu unterschiedlichen Zeiten gesichert werden.

Während der Sicherung wird ein kleines Tray-Icon eingeblendet, das nach der Sicherung wieder verschwindet. Bringt also nichts wenn man einen Gnome- Desktop verwendet, da Gnome leider der Ansicht ist Tray-Icons seien legacy. Gnome Nutzer können aber nach Anleitung im Ubuntuusers-Wiki auch eine Information via Desktopbenachrichtigung einrichten. Auf anderen Desktops wie Cinnamon, die Tray-Icons unterstützen, ist das dementsprechend optional.

Back in Time setzt zur Sicherung auf rsync. Das hat leider den Nachteil dass Dateien immer komplett gesichert werden, auch wenn sich nur ein kleiner Teil geändert hat, oder die Datei nur umbenannt wurde. Zum sichern von Images von virtuellen Maschinen eignet sich Back in Time damit nur eingeschränkt.

Unter Antergos hatte ich außerdem dass Problem, dass Back in Time regelmäßig den SSH-Key nicht lesen konnte, obwohl dieser im Terminal einwandfrei funktioniert hat. Unter Linux Mint ist dieses Problem nicht aufgetreten. Ob es sich möglicherweise nur um ein temporäres Problem gehandelt hat, kann ich nicht sagen.

Fazit zu Back in Time

Für lokale Sicherungen, z.B. auf eine externe Festplatte, würde ich deffinitiv auf Back in Time setzen. Das Interface empfinde ich persönlich als sehr übersichtlich und intuitiv bedienbar.
Für Cloudbackups ist es leider nur eingeschränkt zu gebrauchen. Einerseits wegen der potentiell unsicheren Verschlüsselung. Andererseits weil kleine Änderungen an einer großen Datei immer den kompletten Upload der Datei nötig machen.

Duplicati

Duplicati ist ein sehr vielversprechender Stern am Backuphimmel, nicht nur für Desktops. Auch hierbei handelt es sich um freie Software, lizenziert unter LGPL. (Projekthomepage / Github) Das Programm wird seit vielen Jahren sehr aktiv entwickelt, ist aber leider noch in der Betaphase. Eine stabile Version liegt bisher noch nicht vor, so dass es sich meiner Ansicht nach derzeit nur als Zweitbackup eignet. Um unter Linux zu laufen wird das Mono-Framework benötigt. Bedient wird die Software über ein Webinterface. Außerdem steht ein Tray-Icon zu Verfügung, das den derzeitigen Backupstatus anzeigt.

Duplicati Frontend

Die Featureliste liest sich beeindruckend. So werden eine sehr große Zahl an Cloud-Backends und verschiedene Protokolle unterstützt. Neben einem lokalen Backup werden unter anderem FTP, SSH, WebDAV auch kommerzielle Anbieter wie Dropbox, Google Drive, Amazon Cloud Drive, Amazon S3, Hubic und viele mehr. Backups werden vor dem Upload AES-265 verschlüsselt.

Aufgrund der attraktiven Preisgestaltung von Hubic habe ich Duplicati einige Zeit mit diesem Anbieter getestet. Leider ist hier in regelmäßigen Abständen der Token zum Login abgelaufen, so dass man das Programm neu authentifizieren musste. Für ein das Backup eines unbeaufsichtigtes System eignet sich dieser Anbieter eher nicht.

Duplicati wurde nach eigenen Angaben speziell für Onlinebackups entwickelt. Dies merkt man deutlich daran, dass nur ein initiales Vollbackup nötig ist. Anschließend werden nur noch Veränderungen gespeichert. Außerdem werden die Veränderungen an Dateien chunk basierend gesichert. Wenn sich also an einer großen Datei etwas ändert wird nur der geänderte Teil hochgeladen und nicht die ganze Datei. Duplicati eignet sich damit auch zum sichern von VM-Images über das Internet.

Die Weboberfläche empfinde ich als optisch ansprechend und intuitiv zu bedienen. Mittlerweile ist sie responsiv und funktioniert auch auf kleinen Displays. Auf Wunsch bietet Duplicati eine Vielzahl von Einstellmöglichkeiten. So lässt sich beispielsweise ein Emailserver hinterlegen, so dass man über Fehler per Mail informiert wird. Da Duplicati als Service im Hintergrund läuft und die Bedienung über den Webbrowser erfolgt, eignet sich die Software z.B. auch zur Sicherung eines Homeservers.

Allerdings hakt das Programm auch noch an manchen Stellen. So konnte ich ein einmal gestartetes Backup nicht mehr abbrechen. Trotz Bestätigung des Programms ist kein Abbruch erfolgt. Sehr vereinzelt kam es auch vor dass die lokale Datenbank nicht mehr mit der des Backends übereinstimmte. Dann musste manuell eine Reparatur angestoßen werden, was je nach System und Datenmenge recht lange dauern kann. Generell reagiert Duplicati zumindest unter Linux recht träge, möglicherweise ist das unter Windows mit dem .NET-Framework anders. Zu einem Datenverlust ist es in mehreren Monaten Nutzung jedoch nie gekommen.

Fazit zu Duplicati

Die Entwicklung von Duplicati verfolge ich seit langem sehr gespannt. Da es noch keine stabile Version gibt, scheue ich mich davor das System produktiv einzusetzen. Ich denke aber sobald eine stabile Version vorliegt, ist Duplicati das Mittel der Wahl für mich für Cloudbackups mit dem Linux-Desktop.

Kommerzielle Produkte

Der Vollständigkeit halber möchte ich auch noch zwei kommerzielle Produkte erwähnen die ich mir angeschaut habe.

Das eine ist Cloudberry Backup. Es kostet ca. 30 USD und wird für Ubuntu/Debian sowie RedHat/Fedora/CentOS angeboten. Auf dem von mir damals genutzen Antergos ließ sich Cloudberry Backup nicht installieren, weshalb ich es nur in einer virtuellen Maschine testen konnte. Dabei hat es aber keinen schlechten Eindruck hinterlassen. Gestört hat mich dass es kein Tray-Icon oder Desktop-Benachrichtigungen gibt. Man muss sich darauf verlassen dass das Tool sicher seine Arbeit verrichtet, oder man lässt sich per Email informieren. Was die Anzahl der unterstützten Backends und die Konfigurationsmöglichkeiten angeht lässt das Programm jedoch kaum wünsche offen.

Cloudberry Backup Linux

Außerdem habe ich SpiderOak getestet. Hierbei handelt es sich um einen Anbieter für Cloudbackups, ähnlich Crashplan. D.h. man nutzt die von Spideroak zur Verfügung gestellte Software, Backups werden auf den Servern des Anbieters in Amerika gespeichert. Hierfür bezahlt man zwischen 5 USD für 150GB und 25 USD für 5TB pro Monat. Dateien werden vor dem Upload verschlüsselt, SpiderOak wirbt damit dass niemand außer dem Nutzer die Daten entschlüsseln kann. Zur Nutzung steht ein übersichtliches GUI-Programm zur Verfügung, SpiderOak kann außerdem komplett über die Kommandozeile bedient werden. Wie sehr man einem solchen kommerziellen Cloudbackup-Diensten vertrauen kann, muss jeder für sich entscheiden.

SpiderOak

Fazit

Leider habe ich für mich noch keine völlig befriedigende Lösung für die Sicherung der Daten auf meinen Desktop-Computern außer Haus gefunden.

Der Großteil meiner wichtigen Daten liegt auf meinem Homeserver. Diesen sichere ich mit Borg auf ein weiteres lokales RAID-System sowie verschlüsselt ebenfalls mit Borg auf eine virtuelle Maschinen bei einem Hoster. Hier bin ich aber auch auf der Suche nach einer anderen, bezahlbaren, Lösung, da ich mich gerne um weniger Systeme kümmern möchte.

Trotzdem entstehen auch auf dem Laptop/Desktop Dateien die regelmäßig gesichert werden wollen. Eine vollständig befriedigende Rundum-sorglos-Lösung habe ich leider aufgrund der genannten Vor- und Nachteile bisher nicht gefunden. So bin ich auf die schnelle (wieder mit einem unguten Gefühl) von Crashplan zu SpiderOak gewechselt, in der Hoffnung darauf dass bald eine stabile Version von Duplicati erscheint.

Eine andere gangbare Lösung wäre das Sichern auf dem Homeserver mit Backintime, da das Backup dann nicht verschlüsselt sein müsste.

Ich werde daher weitere Lösungen ausprobieren, in der Hoffnung doch noch das Rundum-sorglos-Backup zu finden.

Für Vorschläge und Anregungen zum Backup von Linux Desktops bin ich daher immer dankbar.


Dieser Text ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.
Titelbild von wynpnt / Pixabay unter Creative Commons CC0

Cloudbackup mit dem Linux-Desktop ist ein Beitrag von techgrube.de.

Bild von andreas160578 via pixabay / Lizenz: CC0 Creative Commons

Office ist immer noch eine Schwachstelle des Linux-Desktops. Es gibt nur eine leistungsstarke Open Source-Lösung und das ist LibreOffice. Diese kann zwar funktional mit dem Referenzprodukt Microsoft Office mithalten, hat aber erhebliche Schwächen. Neben funktional unzureichenden Nischenlösungen für Calligra Office oder Abiword & Co bietet die Nürnberger Softwareschmiede Softmaker mit ihrer Office-Lösung seit Jahren ein Produkt für Linux, macOS und Windows an.

Warum eine Alternative zu LibreOffice?

Man kann sich fragen, warum man eine Alternative zu LibreOffice braucht - zumal Softmaker Office 2018 sogar kostenpflichtig ist. LibreOffice ist funktional in den meisten Bereichen eine vollwertige Office-Suite, aber es gibt erhebliche Schwächen, die man seit Jahren nicht in den Griff bekommt.

Die ganze Suite ist behäbig und die Integrationselemente in die einzelnen Desktops werden teilweise stiefmütterlich gepflegt. Einzig die Integration in Gtk3-basierte Desktoplösungen ist einigermaßen gelungen. Durch diese Unzulänglichkeiten verhält sich LibreOffice in den meisten Desktops und auch unter Windows und macOS wie ein Fremdkörper.

Weiterhin versucht man sich seit Jahren an einer Neustrukturierung der Bedienelemente. Die überkommene Werkezugleisten im oberen Bildschirmbereich, die man seinerzeit von Microsoft Office adaptierte, sind bereits seit Jahren unzureichend. Nicht nur, dass sie für Neueinsteiger überhaupt nicht selbsterklärend sind, die wachsende Funktionsvielfalt lassen sie Leisten auch zunehmend überladen erscheinen. Die Problematik von winzigen Icons auf 4k-Monitoren und die ursprüngliche Konzeption für 4:3 Monitore mal beiseite gelassen. Hier kommt man seit Jahren kaum voran. Konzeptionslos bastelte man an den bisherigen Leisten herum, führte eine Seitenleiste ein und übernahm jetzt doch das Ribbon-Konzept von Microsoft Office. Nichts davon ist wirklich ausgereift und gerade der Vergleich mit dem Softmaker-Produkt, die es in einem Versionssprung geschafft haben eine neue Oberfläche durchdacht einzuführen, lässt das geradezu armselig erscheinen.

Hinzu kommt die anhaltende Problematik mit Microsofts OOXML-Dateien. Natürlich wäre es wünschenswert, wenn Microsoft den OASIS-Standard priorisieren würde. Leider ist das aber unwahrscheinlich und für viele Anwender sind OOXML-Dateien heute immer noch der berufliche und private Alltag. Eine Office-Suite sollte diese hinreichend fehlerfrei verarbeiten können, ansonsten ist kollaboratives Arbeiten fast unmöglich. Fertige Ergebnisse kann man natürlich per PDF o. ä. verschicken. Hier wird seitens LibreOffice immer gerne auf die unzureichende Dokumentation verwiesen. Fakt ist aber das sogar das bescheidene Apple-Produkt OOXML fehlerfreier verarbeiten kann, als LibreOffice (siehe: Limitationen freier Software - OOXML in Libreoffice und Pages).

Softmaker Office 2018

Versionen und Installation

Softmaker Office 2018 steht in unterschiedlichen Lizenzpaketen zur Verfügung. Für Linux stehen die Versionen Standard und Professional zur Verfügung. Standard enthält die Textarbeiterung TextMaker, die Tabellenkalkulation PlanMaker und die Präsentationssoftware Presentations. Hinzu kommen Softmaker Addons für Thunderbird. Die Professional-Edition enthält zusätzlich noch Duden- und Langenscheidt-Wörterbücher.

Preislich schlägt die Standard-Version mit 69,95 € zu Buche, während die Professional-Variante 99,95 € kostet - durchaus vertretbar für eine vollwertige Office-Lösung. Seit 2018 gibt es auch ein Abomodell, genannt Softmaker Office Universal, bei dem man 5 Computer - egal welches Betriebssystem - mit Softmaker Office ausstatten kann. Dies kostet 6,99 € im Monat oder 69,95 € im Jahr. Ich bin ein Gegner solcher Abomodelle, aber das muss jeder für sich selbst entscheiden.

Im Gegensatz zu früheren Versionen steht das Programm sowohl als moderne 64bit-Variante, als auch für 32bit zur Verfügung. Pakete liegen für DEB und RPM vor und lassen sich problemlos über die Paketverwaltung installieren. Unter openSUSE Leap 42.3 waren keine weiteren Abhängigkeiten notwendig.

Einrichtung und Bedienung

Softmaker Office hinterlegt im Menü unter "Büro" die Programmstarter. Beim ersten Start fragt ein Konfigurationsdialog ab, welche Oberfläche man bevorzugt. Zur Wahl stehen das moderne Ribbon-Layout und die bewährte Werkzeugleistenvariante. Jede Variante steht in mehreren Farbvarianten zur Verfügung. Hell, dunkel und eine Variante mit einer programmspezifischen Konturfarbe.

Für diesen Test hier erfolgte die Wahl für das neue Ribbon-Layout. Anschließend werden noch einige Benutzerdaten für die Metadaten der Dokumente abgefragt. Aus datenschutzgründen ist es hier empfehlenswert möglichst sparsam Daten einzugeben. Bei kollaborativer Arbeitsweise ist jedoch mindestens der Name für den Verarbeitungsverlauf und Notizen notwendig.

Die Oberfläche und die Anordnung der Bedienelemente, sowie die Wahl einer starken konturierenden Farbe erinnern an aktuelle Versionen von Microsoft Office. Dies wirkt aber sehr stimmig umgesetzt und das Programm zeigt sich auch in einer virtuellen Maschine mit knapper Ressourcenzuweisung sehr reaktionsschnell.

Im Gegensatz zu LibreOffice unterstützt SoftMaker Office Tabs für mehrere Dokumente - ein Konzept, das vom Browser bis zum Dateiexplorer inzwischen Standard ist. Das ist ein nicht zu unterschätzender Vorteil und illustriert einmal mehr wie rückständig LibreOffice in vielen Bereichen ist.

Weitere Funktionen wie Rechtsschreibprüfung und ähnliches sind absolut nicht zu beanstanden und werden daher hier nicht weiter betrachtet.

Interoperabilität

Softmaker Office verfügt über eigene Dokumentenformate. Beim ersten Versuch eine Datei zu speichern erfolgt eine Abfrage ob standardmäßig in diesen Formaten oder in Microsofts OOXML-Format gespeichert werden soll. Hinsichtlich des Vendor-lock-in sollte man tendenziell von den Softmaker-Formaten abstand nehmen, da diese von keinem anderen Programm unterstützt werden. Softmaker Office kann mit den alten binären Microsoft-Formaten (xls, doc, ppt), den neuen OOXML-Formaten, sowie OASIS-Dokumenten umgehen.

Für einen Test wurde hier ein recht kurzes Dokument mit 25 Seiten gewählt. Es handelt sich um ein mit Microsoft Office 2010 erstelltes Dokumente aus dem Jahr 2012, das seitdem mit keinem anderen Programm bearbeitet wurde - Verzerrungen sind also auszuschließen. Das Dokument beinhaltet übliche Bestandteile wie diverse Absatzvorlagen, manuelle Seiten- und Zeilenumbrüche, Fußnoten, Seitenzahlen ab Seite 3 und Verzeichnisse.

Die Darstellung in Softmaker Office erfolgt absolut originalgetreu. Im direkten Vergleich mit Office 2010 können keine Unterschiede festgestellt werden. Anders sieht das bei LibreOffice aus, das erhebliche Unterschiede aufweist, weshalb sich Absätze und Seiten verschieben. Mit den entsprechenden Folgefehlern für andere Bereiche des Dokuments. Formatvorlagen werden zudem nicht mit den bestehenden Vorlagen von LibreOffice in Übereinstimmung gebracht, sondern neu angelegt. Mit entsprechendem Folgen für Übersicht und Bedienbarkeit. Notiz am Rande: Softmaker Office liefert hier sogar bessere Ergebnisse als Apples Pages, welches aber immer noch deutlich bessere Importergebnisse als LibreOffice aufweist.

Die folgenden beiden Screenshots zeigen die Seite 6 des Dokuments, links Softmaker Office, rechts LibreOffice. Der Unterschied ist deutlich zu erkennen. Zeilenverschiebungen führen zu fehlerhaften Fußnoten und verschoben Seiten. Der Vergleich erfolgte bewusst auf einer frühen Seite, da auf späteren Seiten durch Verschiebungen überhaupt kein Vergleich mehr möglich ist.

[gallery title="" width="200" height="150" columns="2"]
[gallery_item title="Enigmail freigeben" src="https://curius.de/images/blog/apps/softmaker_office/vergleich_softmaker_office.png" video_addr=""]Softmaker Office[/gallery_item]
[gallery_item title="Enigmail einrichten" src="https://curius.de/images/blog/apps/softmaker_office/vergleich_libreoffice.png" video_addr=""]LibreOffice[/gallery_item]
[/gallery]

Noch deutlicher fallen die Unterschiede beim Vergleich von Presentations und Impress aus, allerdings sind die Unzulänglichkeiten von Impress hinreichend bekannt und müssen daher hier nicht ausführlich thematisiert werden.

Je komplexer das Dokument, desto eher fällt der Vergleich noch deutlicher zu Gunsten von Softmaker Office aus. Fairerweise muss man hier aber erwähnen, dass die Importqualität bei LibreOffice von Version zu Version zunimmt. 2025 wird man dann vielleicht Dokumente von 2010 fehlerfrei öffnen können.

Zusammengefasst

Softmaker Office 2018 ist ein stimmiges und ausgereiftes Produkt. Es integriert sich optisch hervorragend in den Linux-Desktop, verwendet die nativen Dateidialoge und weißt mit dem neuen Ribbon-Menü ein durchdachtes, aber natürlich auch von Microsoft übernommenes, Bedienkonzept auf, das konsequent umgesetzt wurde. Die Oberfläche reagiert schnell auf Benutzereingaben, selbst unter schwächeren Systemen. Die Qualität des Dateiimports und -exports ist hervorragend. Kurzum das Produkt ist seinen Preis mehr als Wert.

Einen kleinen Seitenhieb kann ich mir hier nicht verkneifen: Es ist traurig, dass ein Produkt von einer vergleichsweise kleinen Software-Schmiede das große Aushängeschild der Open Source-Welt so deutlich schlägt. LibreOffice scheint sich in seinen zig Baustellen vollkommen verloren zu haben. Für den Privatanwender oder jemanden, der das Privileg hat, ausschließlich OASIS-Formate verarbeiten zu dürften reicht es natürlich immer noch aus.

Viele kennen sicher Evernote oder OneNote – zwei ausgereifte Anwendungen zur Notizverwaltung mit vielen tollen Features. Ein Vorteil – speziell von Evernote – ist, dass es auf vielen Plattformen verfügbar ist. Selbst für Ubuntu gibt es einige nicht offizielle Programme, mit denen man seine Evernote-Notizen synchronisieren und bearbeiten kann. Allerdings haben OneNote wie auch Evernote den Nachteil, dass sie keine quell-offene Software sind und man nicht weiß, was genau mit den Daten passiert oder wie sie verarbeitet werden. Weiterhin erlaubt Evernote in der kostenfreien Variante die Synchronisation nur auf 2 Geräten. Deshalb möchte ich heute Joplin als Evernote Alternative vorstellen.

(c) http://joplin.cozic.net/

Features

Joplin bietet viele Features, die man von einer Notizverwaltung erwartet. Hier ein Auszug:

  • Apps für Linux/macOS/Windows/Android/iOS und den Terminal (ja, es gibt auch eine CLI-Version :))
  • Ende-zu-Ende-Verschlüsselung
  • Synchronisation mit verschiedenen Diensten, darunter NextCloud, WebDAV und OneDrive. Dropbox ist geplant.
  • Import von Enex-Dateien (Evernote-Exportformat) und Markdown-Dateien.
  • Export von JEX-Dateien (Joplin Export Format) und Raw-Dateien.
  • Unterstützen Sie Notizen, To-Dos, Tags und Notebooks.
  • Sortierung der Notizen nach mehreren Kriterien – Titel, aktualisierte Zeit, etc.
  • Unterstützung von Alarmen (Benachrichtigungen) in mobilen und Desktop-Anwendungen.
  • Offline-Modus, die gesamten Daten sind auch ohne Internetverbindung immer auf dem Gerät verfügbar
  • Markdown Unterstützung, Bilder und und Formatierungen werden in Desktop- und mobilen Anwendungen angezeigt. Unterstützung für zusätzliche Funktionen wie Mathe-Notation und Checkboxen.
  • Unterstützung von Dateianhängen – Bilder werden angezeigt, andere Dateien werden verlinkt und können in der jeweiligen Anwendung geöffnet werden.
  • Suchfunktionalität
  • Geo-Location-Unterstützung
  • Unterstützt mehrere Sprachen

Was mir persönlich gut gefällt, ist die Möglichkeit die Notizen verschlüsselt zu synchronisieren und immer offline zur Verfügung zu haben – auf allen Geräten, die ich verwende. Weiterhin ist die Unterstützung für Markdown ein tolles Features!

Joplin installieren

Joplin wird sehr aktiv entwickelt. Die aktuelle Version findet man am auf der Webseite des Projekts. Dort findet man Links zu den Anwendungen für alle Plattformen. Für Linux wird ein AppImage angeboten. Damit man die Anwendung auch installieren kann, muss man nach dem Herunterladen noch die Rechte anpassen. Dazu öffnet man die Eigenschaften der Datei über das Kontextmenü („Rechts-Klick“) und aktiviert unter Zugriffsrecht „Datei als Programm ausführen“.

Joplin Installation

Schließlich installiert man die App mit einem Doppelklick.

Synchronisation einrichten

Die Einstellungen für die Synchronisation findet man unter Werkzeuge → Allgemeine Einstellungen. Dort legt man das Synchronisationsintervall fest, welcher Dienst genutzt werden soll, sowie den Benutzernamen und dass Passwort. Für die Synchronisation mit Nextcloud habe ich WebDav gewählt, weil ich mit der Option „Nextcloud“ es nicht geschafft habe in einen Unterordner in meiner Cloud zu syncen.

Joplin Synchronisation

Mit einem Klick auf „Check Synchronisation Configuration“ kann man überprüfen, ob die Einstellungen richtig sind. Die richtige WebDav-URL findet man in Nextcloud hier (siehe Bild, unten links auf das Zahnrad klicken):

Nextcloud WebDav

Dabei setzt sich die URL so zusammen: https://example.org/nextcloud/remote.php/webdav/Unterordner/

Ende-zu-Ende-Verschlüsselung in Joplin aktivieren

Standardmäßig werden Notizen und Notizbücher in Joplin unverschlüsselt gespeichert. Damit niemand (Cloud-Anbieter etc.) die Daten lesen kann, sollte man die Verschlüsselung in Joplin aktivieren. Dazu geht man wie folgt vor:

  1. Verschlüsselungseinstellungen öffnen (Werkzeuge → Verschlüsselungsoptionen)
  2. Verschlüsselung aktivieren und Master-Passwort eingeben
  3. In der App auf Synchronisieren klicken und warten bis der Sync fertig ist (NICHT abbrechen). Wenn man sehr viele Notizen hat, kann der Sync eine ganze Zeit dauern. Wie gesagt, nicht abbrechen.
  4. Wenn die Synchronisation fertig ist, nimmt man das nächste Gerät und startet dort die Synchronisation. Man muss das Master-Passwort eingeben. Danach noch einmal synchronisieren. Die Verschlüsselung ist nun aktiv.
  5. Schritt 4 für alle weiteren Geräte wiederholen.

Fazit

Ich nutze Joplin nun seit einigen Wochen und bin bisher sehr zufrieden damit. Die Synchronisationsmöglichkeiten (inkl. Verschlüsselung), die Offline- und Markdown-Unterstützung sind für mich die Killer-Features dieser App. Joplin ist ein Beispiel für eine weitere tolle Open Source App. Natürlich ist Joplin nicht die einzige Notizanwendungen, die es für Linux gibt, aber sieht bietet viele Features, die andere Apps nicht haben.

Welche Anwendung verwendest du um deinen Notizen zu verwalten?

15 Kommentare

Der Beitrag Ist Joplin eine ernsthafte Open Source Evernote Alternative? erschien zuerst auf .:zefanjas:..

16. März 2018

Wieder einmal hat der jährlich stattfindende Pwn2Own-Wettbewerb Sicherheitslücken in diversen Browsern und anderen Softwares offengelegt. Mozilla hat wie immer zügig reagiert und innerhalb von weniger als 22 Stunden ein Sicherheitsupdate auf Firefox 59.0.1 veröffentlicht.

Wie jedes Jahr fand auch in diesem Jahr wieder der Pwn2Own-Wettbewerb statt, ein Wettbewerb, bei dem es darum geht, Sicherheitslücken in Browsern und anderen Softwares zu finden.

Dieses Jahr konnten ebenfalls wieder einige Sicherheitslücken im Rahmen von Pwn2Own demonstriert werden. Auch Firefox konnte erfolgreich überwunden werden. Mozilla stuft die Sicherheitslücke als kritisch ein, ein Update ist daher dringend empfohlen.

Die Sicherheitslücke betrifft die verwendete libvorbis-Bibliothek, welche für die Verarbeitung von Vorbis-Audio-Dateien verantwortlich ist. Mozilla hat auch Firefox für Android auf Version 59.0.1 aktualisiert. Firefox für Android verwendet zwar kein libvorbis, dafür aber libtremor, was eine ähnliche Schwachstelle aufwies.

Der Beitrag Pwn2Own 2018: Mozilla veröffentlicht schnelles Update auf Firefox 59.0.1 erschien zuerst auf soeren-hentzschel.at.

Die Woche ist schon wieder vorbei und ich bin leider nicht dazu gekommen viel zu schreiben...

Schaut man aus dem Fenster kann man sich das Wochenende fast sparen, daher heute wieder eine Empfehlung für den Zeitvertreib mit Lerneffekt am Rechner.

 

OverTheWire Wargames

Die OverTheWire Community bietet im Netz die sogenannten Wargames an, damit lässt sich spielerisch die Bash Shell erkunden und gängige Sicherheitskonzepte üben.

Zur Auswahl stehen Spiele wie Bandit, Natas, Leviathan oder Drifter, Anfängern sollten mit Bandit beginnen.

Zum Spielen wird lediglich PuTTY, KiTTY, mRemoteNG oder ähnliches benötigt.

Mit dem Tool eurer Wahl verbindet ihr euch auf den jeweiligen Server.

Für das Einstiger Level Bandit wäre das beispielsweise:

ssh bandit.labs.overthewire.org -p 2220

 

wargames

Die einzelnen Levelziele werden auf der Webseite kurz angerissen. Im Prinzip müsst ihr den Zugang zum nächsten Level finden, wobei euch am Anfang ein paar Tipps in Form von Kommandos auf den Weg gegeben werden.

 

Das gesamte Paket ist auf Github zu finden und kann weiterverwendet werden

Download

 

Viel Spaß

PS: Wenn ihr damit zu schnell durch seid, könnt ihr bei 0xf weitermachen.