QR-Codes unter Linux erzeugen

QR-Codes sind eine praktische Sache um Informationen schnell mit dem Smartphone einzulesen. Dies können Visitenkarten oder andere Informationen wie URLs sein. Am Markt existieren unzählige Tools um QR-Codes zu erzeugen.

Ein mit qrencode erzeugter QR-Code

Unter Linux können QR-Codes unter anderem einfach mit dem Kommandozeilenwerkzeug qrencode erstellt werden. Nach der Installation mittels:

apt-get install qrencode

kann der erste QR-Code erzeugt werden:

qrencode -o qrcode.png https://seeseekey.net

Die Fehlerkorrekturinformationen in dem QR-Code sind im Normalfall auf niedrig gestellt. Soll der Error Correction Level erhöht werden, so wird hierfür die Option -l genutzt:

qrencode -o qrcode.png -l H https://seeseekey.net

Bei den gewählten Option ist die erzeugte PNG-Datei in etwa 111×111 Pixel groß. Mithilfe des Parameters -s kann die Größe des erzeugten QR-Codes eingestellt werden:

qrencode -o qrcode.png -l H -s 24 https://seeseekey.net

Bei der Option gilt, je größer die Zahl desto größer das resultierende Bild. Lizenziert ist qrencode unter der GPL in Version 2 und damit freie Software. Die offizielle Seite des Projektes ist unter fukuchi.org/works/qrencode/ zu finden.

Selfhosting komplett überarbeitet

In den letzten Monaten überarbeitete ich mein Buch Selfhosting: Server aufsetzen und betreiben. Wie der Name es andeutet, handelt das Buch vom Betrieb eines eigenen Servers. Im Grunde geht es darum einen Server und seine Dienste aufzusetzen und zu betreiben. Als Betriebssystem wird Ubuntu 18.04 LTS genutzt. Die erste Version erschien im Juli 2015, was mittlerweile knapp vier Jahre her ist. Unter anderem deswegen wurde das Buch komplett überarbeitet.

Der Umfang des Buches hat um 65 Prozent, gegenüber der ersten Version zugenommen. Neben der kompletten Umstellung auf Ubuntu 18.04 LTS wurden viele weitere Themen in das Buch aufgenommen, so wird nun detailliert auf die Erzeugung von Zertifikaten mittels Let’s Encrypt eingegangen, es wird die Aktualisierung des Servers oder die Nutzung von MariaDB genauer beleuchtet und es wurde auf viele weitere Themen genauer und umfangreicher eingegangen.

Die neue Version von Selfhosting ist nun verfügbar

Nach einer kurzen Einleitung behandelt das Buch die Beschaffung eines Servers, die anschließende Installation und Grundeinrichtung. Dazwischen werden benötigte Linux-Grundlagen vermittelt. Nach der Grundeinrichtung werden speziellere Setups, wie Virtualisierung mittels KVM und verschlüsselte Server, beschrieben. Anschließend geht es an die Einrichtung unterschiedlichster Servertypen, wie Mail-, Game- oder Webserver. Neben diesen werden weitere Dienste wie Git und XMPP besprochen. In den weiteren Abschnitten des Buches wird auf Themen wie das Backup von Servern, der Sicherheit, Wartung und Verwaltung derselben eingegangen.

Erhältlich ist das Buch unter anderem bei Amazon, Beam, Google Play, eBook.de und iTunes. Bei den meisten Anbietern, wird das Buch, wenn es bereits gekauft wurde, automatisch aktualisiert. Weitere Informationen über das Buch befinden sich auf der entsprechenden Seite.

EXIF-Informationen aus Bildern unter Linux entfernen

Die meisten Bilder, welche aus einer Digitalkamera kommen enthalten sogenannte EXIF-Informationen. Die Abkürzung EXIF steht dabei für Exchangeable Image File Format. In diesen Metadaten zum Bild können eine Reihe von Informationen enthalten sein, wie z.B. Datum und Uhrzeit, Koordinaten an welchen das Bild geschossen wurde, die Blendenzahl und viele weitere. Unter Umständen kann es gewünscht sein diese Informationen zu entfernen. Unter Linux, in diesem Fall Ubuntu, kann das mit dem ExifTool erledigt werden. Dazu muss dieses im ersten Schritt installiert werden:

apt install exiftool

Anschließend kann eine einzelne Datei mit dem Befehl:

exiftool -all= image.jpg

bearbeitet werden. Soll das Ganze rekursiv über mehrere Ordner passieren kann folgender Befehl genutzt werden:

cd folder/
find . -iname "*.jpg" -type f -exec exiftool -all= {} \;

Er durchsucht alle Verzeichnisse unterhalb des gewählten Verzeichnisses und entfernt, für jede Datei mit der Endung .jpg, die EXIF-Daten.

apt vs. apt-get

Wurde früher unter Debian oder Ubuntu ein Paket installiert, so wurde das Kommando apt-get dazu genutzt:

apt-get install mc

Seit Ubuntu 14.04 gibt es neben den Kommandos rund um apt-get, das Kommando apt. Ab Ubuntu 16.04 wurde offiziell empfohlen apt anstatt von apt-get und apt-cache zu nutzen. Da stellt sich natürlich die Frage wie sich die Kommandos voneinander unterscheiden? Bei den alten Kommandos musste für die Paketverwaltung mit apt-get und apt-cache gearbeitet werden, je nachdem welche Operation benötigt wurde. Die Installation wurde mit apt-get install vorgenommen. Für eine Suche über die Pakete wurde stattdessen apt-cache benötigt:

apt-cache search mc

Mit dem damals neu eingeführten Kommando apt gibt es nun ein einheitliches Interface für die Paketverwaltung:

apt install mc
apt search mc

Neben der Vereinheitlichung, bietet apt einige weitere Vorteile, so kann unter anderem der Fortschritt einer Operation angezeigt werden.

apt zeigt unter anderem den Fortschritt der Operation an

Im Grunde ist apt eine Zusammenführung der am häufigsten genutzten Kommandos zur Paketverwaltung unter einem Kommando. Bestimmte obskure Low-Level-Operationen, welche bei apt-get und apt-cache noch zu finden waren, wurden bei apt zugunsten der Benutzbarkeit weggelassen. Zusätzlich dazu sind die Standardeinstellungen von apt sinnvoller gesetzt.

Laufenden Prozess zu screen überführen

Das Kommandzeilentool screen ist praktisch, da Prozesse, welche mittels screen gestartet wurden, auch nach dem Logout weiter laufen. Problematisch ist es, wenn ein Prozess ohne screen gestartet wurde und er nachträglich in screen überführt werden soll. Hierfür wird das Tool reptyr benötigt:

apt install reptyr

Mithilfe von reptyr ist es möglich eine Anwendung an ein neues Terminal zu binden. Um nun einen Prozess zu screen zu überführen, muss erst einmal eine neue screen-Instanz gestartet werden:

screen bash

Sobald die Instanz geöffnet wurde, kann der eigentliche Prozess neu zugewiesen werden:

reptyr PID

PID ist hierbei die Prozess-ID, welche sich mittels des ps-Kommandos ermitteln lässt. Alternativ kann dafür auch top oder htop genutzt werden. Damit wurde die Terminalsitzung und mit ihr der laufende Prozess in die screen-Sitzung überführt.