Notion: Lautstärke über die Tastatur steuern

In der Standardinstallation des “tilling window managers” Notion sind die auf vielen Tastaturen vorhandenen Tasten für Volume-Up und -Down sowie Mute nicht konfiguriert. Da sich Notion umfangreich mit Hilfe von LUA anpassen lässt, kann diese Konfiguration schnell nachgeholt werden.

Die Konfigurationsdateien von Notion befinden sich unter /etc/X11/notion/. Die dort liegende Datei cfg_notion.lua wird zuerst nach ~/.notion/ kopiert. In dieser Datei werden anschließend die entsprechenden Keybindings für die Volume-Tasten eingetragen.

[Mehr]
Linux  Notion  OSS 

Prosody: Chatserver mit Anbindung zu G+, FB, Twitter und IRC

Mittlerweile gibt es eine unüberschaubare Anzahl an Chat-Programmen und Chat-Anbietern. Um den Konversationen der Freunde folgen zu können müssen auf dem heimischen PC mehrere Programme installiert und auf dem Smartphone soll für jeden Anbieter eine eigene App installiert werden. Warum nicht einfacher? Einen eigenen Server aufsetzen, welcher das genormte Protokoll XMPP spricht und mit Gateways zu den entsprechenden Diensten erweitert werden kann: Prosody.

[Mehr]
Jabber  Linux  OSS  XMPP 

Linux Mint 18: Electrum installieren

Electrum ist ein Desktop-Client zur Verwaltung eines Bitcoin-Wallets, der sich zunehmender Beliebtheit erfreut. Bis zu Linux Mint 17 war er in den offiziellen Paketquellen von Mint enthalten, wurde aber leider entfernt, da sich wohl kein Maintainer gefunden hat, der die enthaltene Uraltversion ersetzt. Trotzdem ist eine Installation unter Linux Mint 18 relativ einfach möglich.

[Mehr]

Let’s Encrypt Zertifikate für Dovecot und Postfix

Primär ist der Einsatz der kostenlosen Let’s Encrypt Zertifikate für Webseiten vorgesehen. Wie erzeugt man nun aber ein Zertifikat für einen Mail- bzw. IMAP-Server, auf dem vielleicht gar kein Webserver läuft? Auch das ist in wenigen Schritten möglich. Ich verwende hier certbot zur Kommunikation mit Let’s Encrypt, da er für Debian in den Jessie-Backports enthalten ist.

In der Beschreibung hier verwende ich für alle Stellen, an der die Domain des eigenen Mailservers eingetragen werden muss.

[Mehr]

Kein Cache mit Cachify und Memcached

Mit dem WordPress-Plugin Cachify steht eine Lösung zur Verfügung, die ein einfaches Zwischenspeichern von dynamisch erzeugten Webseiten bietet. Die Inhalte können mit unterschiedlichen Methoden zwischengespeichert werden. Unterstützt werden APC, Disk, DB und Memcached (nur mit Nginx). Da ich hier Nginx einsetze, bietet sich Memcached als schnellste Variante an. Wie Cachify und Nginx dann zu konfigurieren sind kann im Cachify-Wiki nachgelesen werden.

Die erfolgreiche Konfiguration läßt sich einfach überprüfen: es wird an das Ende der jeweiligen Webseite ein HTML-Kommentar von Cachify eingefügt. Ist dieser im Quelltext der Seite vohanden, dann wurde die Seite aus dem Cache, bei mir also von Nginx/Memcached ausgeliefert.

[Mehr]

Migration von HHVM zu PHP

Knapp zwei Jahren wurde dieses Blog durch HHVM angetrieben. Obwohl die Unterstützung vieler PHP-Funktionen in der Vergangenheit nicht immer zufriedenstellend war, so war die Geschwindigkeit doch immer ein Hauptvorteil von HHVM. Mit zunehmender Serviceanzahl, drängte sich jedoch ein Problem immer mehr in den Vordergrund: viele Dienste benötigen einen Cronjob, welche ebenfalls in PHP realisiert sind. HHVM per CLI ist einfach zu speicherhungrig. Den Speicherhunger kann man schön in folgender Grafik erkennen:

[Mehr]
HHVM  Linux  OSS  PHP 

Löffelsprache mit sed

Vielleicht kennen einige die sogenannte Löffelsprache, bei der es sich um eine spielerische Modifikation der Sprache handelt. Die Regeln sind einfach: hinter jeden Vokal wird “lef” gesetzt und der Vokal wiederholt (andere Variationen benutzen “lew” oder auch “low”). Diphthonge werden insgesamt behandelt. Hinter sie wird ebenfalls ein “lef” gesetzt und der Diphthong wiederholt. Ein Beispiel: Aus “Jens Tautenhahn” wird “Jelefens Taulefautelefenhalefahn”. Die Vokale und Diphthonge hinter denen “lef” eingefügt wird sind fett markiert.

[Mehr]
Linux  OSS  sed 

FastCGI für Munin mit systemd

Munin kann so eingestellt werden, dass die Grafiken und HTML-Dateien nicht alle fünf Minuten sondern nur auf Anforderung bzw. beim Abrufen der jeweiligen Webseite erzeugt werden. Zuständig dafür sind die Einstellungen cgi_strategy und html_strategy in /etc/munin/munin.conf. Munin benötigt dazu zwei FastCGI-Schnittstellen, welche idealerweise über einen Socket angesprochen werden. Früher konnte man das Problem lösen, indem man an passender Stelle mit spawn-fcgi die entprechenden FastCGI-Schnittstellen über Sockets bereitstellte. Eine Lösungsmöglichkeit war z.B. folgende:

/usr/bin/spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u www-data -g www-data /usr/lib/munin/cgi/munin-cgi-graph
/usr/bin/spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u www-data -g munin  /usr/lib/munin/cgi/munin-cgi-html

In Zeiten von systemd läßt sich das nun eleganter bewerkstelligen.

[Mehr]

Gezähmter HHVM

HHVM ist eine virtuelle Maschine für HipTop, welches PHP-Skripte in Maschinencode übersetzt und anschließend ausführt. Die übersetzten Skripte werden gespeichert und bei wiederholtem Aufrufwerden die bereits übersetzte Programm ausgeführt. Dadurch ergibt sich eine extreme Leistungssteigerung gegenüber der bisher üblichen Methode, PHP-Skripte durch mod_php oder PHP per FastCGI immer wieder neu zu analysieren und auszuführen.

[Mehr]
HHVM  Linux  OSS  PHP 

Backup der VMs im laufenden Betrieb mit libvirt

Mit libvirt bzw. deren Kommandozeilen-Interface virsh kann ein Backup der VMs im laufenden Betrieb durchgeführt werden. Das nachfolgende Script stellt ein Grundgerüst, angeregt durch einen Artikel von Christian Rößner, für ein Backup nach der folgenden Methode zur Verfügung:

Es wird zuerst ein Snapshot aller Volumes einer VM angelegt. Dadurch besteht jedes Volume aus (mindestens) zwei Dateien: eine Datei mit den originalen Daten und eine zweite Datei, welche alle Änderungen gegenüber dem Originalvolume ab dem Erstellen des Snapshots enthält. Das Originalvolume wird bei aktivem Snapshot nicht mehr beschrieben, es kann nun problemlos gesichert werden. Zum Kopieren kann “cp -f –sparse=always …” oder, sofern verfügbar, “rsync –sparse …” zum Einsatz kommen. Beide Kommandos behandeln freien Platz in den Volumes optimal, rsync ist jedoch um einiges schneller, wenn im Backup-Verzeichnis bereits vom vorherigen Backup schon die gleiche Datei vorhanden ist, da dann nur die Änderungen kopiert werden. Anschließend werden mit einem sogenannten Blockcommit die im Snapshot als Änderungen geschriebene Blöcke in das Originalvolume wieder eingearbeitet. Das alles kann im laufenden Betrieb vom Host der VMs aus durchgeführt werden.

[Mehr]
Backup  KVM  libvirt  Linux  OSS