Skip to content

Vereine, die FLOSS-Dienste hosten ...

Weil ich in der letzten Zeit häufiger mit Menschen darüber diskutiert habe, kommt hier eine kurze Liste von Organisationen, die Dienste auf Basis von FLOSS (Free/Libre Open Source Software) anbieten. Anbieter ohne Impressum habe ich bewusst nicht aufgeführt.

Einer der grössten Vereine ist Framasoft in Frankreich, sie bieten unglaublich viele Dienste an.

Da wollte ich gar nicht hin ...

Jetzt bin ich mit Gib XMPP eine Chance ... genau an dem Punkt, an dem ich nicht sein wollte.

Conversations als Android-Client ist grossartig, aber jede Bemühung, mehrere Devices auf die gleichen verschlüsselten und unverschlüsselten Chats zugreifen zu lassen, schlägt fehl.

"Archiving" ist selbstverständlich eingeschaltet.

Unter iOS habe ich ChatSecure und den Testflight von Monal versucht, neben dem, dass die Nachrichten nicht angezeigt werden, funktioniert auch die Synchronisierung nicht gut. Ich bekomme Benachrichtigungen zum Teil Stunden nachdem ich sie auf dem Android-Handy hatte.

Unter Linux habe ich Kopete und Gajim versucht, auch das zeigt mir nicht alle Nachrichten an.

Ohne die Möglichkeit, auf die Chatverläufe von verschiedenen Devices zuzugreifen, kann ich XMPP nicht brauchen.

Für mich haben Matrix (via Riot), RocketChat und Mattermost bis jetzt am Besten von den FLOSS-Lösungen funktioniert.

Bin über Feedback oder Hinweise, was ich anders oder besser machen kann, sehr dankbar.

Linkdump 03/2019 ...

Und da ist er wieder, der neue Linkdump.

Irgendwie war das auch nur eine Frage der Zeit, leider gibt es noch keine wirklichen Alternativen, ZFS für Linux bekommt GPL-Probleme.

Nokia klärt über Android-Update-Prozess auf, für mich ist interessant zu sehen, welche Schritte nötig sind, um das Release vorzubereiten.

Wenn man sich einmal von dem "entweder / oder" trennen könnte, eine Mischung wäre super: Wird Homeoffice zur neuen Normalität?.

Datenschutz muss in den Schulunterricht, der neue Bundesdatenschutzbeauftragte scheint einiges verstanden zu haben.

Ja, in ein paar Typen entdecke ich mich auch: Das Abc der Bahnfahrer.

Lehren aus den Doxing-Angriffen, sehr lesenswert, unbedingt anschauen.

Ja, das muss nicht schlecht sein. Vom Arbeiten mit einfachen Textdateien.

Datenbankbackup mit MyDumper unter CentOS 7 ...

centos

Zum Backup meiner Datenbanken benutze ich schon seit Jahren MyDumper und das MyLoader-Tool. Der grosse Vorteil von MyDumper neben der Geschwindigkeit durch Parallelisierung ist, dass alle Datenbanktabellen in einzelnen Dateien vorliegen und so leicht modifiziert werden könnten.

Höhere Geschwindigkeit bedeutet auch, dass man öfter Backups machen kann (bei mir alle vier Stunden).

MyDumper muss selber übersetzt werden, wenn es nicht in der Distribution dabei ist. Den Anfang bildet dass Holen des Quelltextes:

$ git clone https://github.com/maxbube/mydumper.git mydumper.git

Danach setzen wir die Variablen für das Übersetzen des Quelltextes.

$ export CC=/home/dirk/workspace/sclgcc.bash
$ export CXX=/home/dirk/workspace/sclc++.bash
$ export MAKEFLAGS="-j $(lscpu | awk '/^CPU\(s\)/ {print $2}')"

Die ersten beiden Variablen habe ich im gestrigen Artikel erwähnt.

Die MAKEFLAGS sorgen dafür, dass make mit mehreren Threads arbeitet. Ich nehme dafür die Anzahl der CPUs, die mir das System meldet.

$ yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel

Nachdem wir neben dem C++ Compiler, Make und CMake die Vorbedingungen installiert haben, kann es auch schon losgehen.

$ cd /home/dirk/workspace/mydumper.git
$ git clean -dfx
$ cmake . -DMYSQL_LIBRARIES_mariadb:FILEPATH=/usr/lib64/libmariadbclient.a -DWITH_SSL=OFF -DBUILD_DOCS=off
$ make
$ sudo make install

Das "git clean" räumt unter anderem die Reste von alten Übersetzungsversuchen auf. Guckt Euch bitte die Parameter gut an, bevor Ihr das in Repos macht, in denen Ihr Schreibrechte besitzt.

Da auf meinen Servern die aktuelle stabile Version von MariaDB arbeitet und ich ebenfalls den MariaDB-Client installiert habe, muss cmake das auch mitteilen.

Der Backup-User benätigt in der Datenbank "nur" Select-, Reload und Lock Tables Berechtigungen.
CREATE USER 'b2'@'localhost' IDENTIFIED VIA mysql_native_password USING 'kryptisches Passwort';
GRANT SELECT, RELOAD, LOCK TABLES ON *.* TO 'backup'@'localhost' REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Nachdem jetzt alles fertig ist, kann das folgende Backupskript seinen Dienst tun.

#!/bin/bash
# db-backup.bash
set -o errexit

BACKUPDB_DIR="/srv/bak/dumps"
DB_USERNAME="backup"
DB_PASSWORD="kryptisches Passwort"
THREADS=$(lscpu | awk '/^CPU\(s\)/ {print $2}')

cd ${BACKUPDB_DIR}

/usr/local/bin/mydumper --user ${DB_USERNAME} --password ${DB_PASSWORD} --threads ${THREADS}

find ${BACKUPDB_DIR} -type d -name 'export*' -mtime +1 -exec xargs rm -r '{}' \+

WICHTIG: Am Ende des Skripts werden alle Backups gelöscht, die älter sind als ein Tag.

Aktueller C-Compiler auf CentOS 7 ...

centos

Spannend, ich hätte schwören können, dass ich das schon einmal im Blog hatte, kann einen entsprechenden Artikel aber leider nicht finden.

Ein Weg, einen aktuellen C-Compiler auf CentOS zu installieren sind die offiziell unterstützten SoftwareCollections, für unseren Fall insbesondere das Developer Toolset 7. Die achte Version gibt es schon für Red Hat Enterprise Linux 7, wird also in den nächsten Wochen auch in CentOS 7 verfügbar sein.

Zuerst werden die Software Collections aktiviert und aktualisiert

$ sudo yum install centos-release-scl
$ sudo yum update

Installation des entsprechenden Pakets mit allen Abhängigkeiten

$ sudo yum install devtoolset-7-gcc-c++
Welche Software Collections installiert sind, bekommt man übrigens mit dem Kommando scl --list heraus.

Eine Shell mit aktivierter Software Collection starten

$ gcc --version | head -1
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)

$ scl --list
devtoolset-7

$ scl enable devtoolset-7 bash

$ gcc --version | head -1
gcc (GCC) 7.2.1 20170829 (Red Hat 7.2.1-1)

Neuen Compiler per Default aktivieren

Da man nicht jedes Mal eine neue Shell nutzen möchte, hilft der folgende Weg, das zu verwirklichen.

Wrapper Skripte für GCC und C++

#!/bin/bash
# sclgcc.bash

COMMAND="gcc $@"
scl enable devtoolset-7 "$COMMAND"
#!/bin/bash
# sclc++.bash
COMMAND="c++ $@"
scl enable devtoolset-7 "$COMMAND"

Setzen der Environment-Variablen, die cmake und make benutzen

$ export CC=/home/dirk/bin/sclgcc.bash
$ export CXX=/home/dirk/bin/sclc++.bash

Podcast-Hosting-Software gesucht ...

podcast

Vielleicht könnt Ihr mir helfen.

Momentan bin ich auf der Suche nach einer Podcast-Hosting-Software. Sie sollte folgende Eigenschaften haben:

  • Kein Wordpress, ich habe wirklich keine Ahnung von Wordpress und keine Zeit mich so einzuarbeiten, dass ich es sicher hosten kann und die Plugins zur Verfügung habe, die es meiner Ansicht nach für ein Blog oder einen Podcast braucht.
  • Gerne einen statischen Bloggenerator (am liebsten in Bash, Perl, PHP oder Python).
  • Kommentare sind Pflicht, meinetwegen auch durch eine selbst gehostete Kommentarfunktion.
  • Serverseitig kein Ruby, generell wäre mir eine der Skriptsprachen, in denen ich mich bewegen kann (siehe oben), lieb, aber das ist nicht zwingend.
  • Schön, aber nicht verpflichtend wäre der Podlove-Player.

DeimHart haben wir mit "meiner Blogengine" Serendipity betrieben. Leider ist der Podcast-Support immer noch sehr rudimentär, was der kleinen Zahl an Entwicklern geschuldet ist.

Gutes Markdown schreiben ...

Für einfache Texte nutze ich Markdown als Auszeichnungssprache. Das, was ich brauche, lässt sich dmit sehr gut umsetzen. Wenn es mehr sein müsste, würde ich vermutlich AsciiDoc oder reStructuredText verwenden.

Eigentlich möchte ich Markdown auch im Blog benutzen, aber über dreitausend alte Artikel möchte ich nicht gerne konvertieren.

Markdown hat sich an vielen Stellen als Standard für einfache Texte etabliert, daher lohnt sich die Beschäftigung damit. Die Beschreibung des Standard ist bei Daring Fireball zuf finden. Es gibt auch eine Seite über GitHub Flavored Markdown. Ein einfaches Markdown-Cheatsheet hilft beim Einstieg.

Heute habe ich mit markdownlint für mich vernünftig klingende Regeln für gute Markdown-Texte gefunden.

GPG-Keyserver ...

Bei mir häufen sich die Fälle von Usern, die das Problem haben, dass GPG-Keys, die auf pgp.mit.edu hochgeladen wurden, nicht mit der Welt synchronisiert werden.

Daher ist es vielleicht ratsam, gleich einen Pool von Keyservern zu benutzen.

Ein Beispiel wäre der Verbund von sks-keyservers.net (an denen pgp.mit.edu "eigentlich" auch teilnehmen sollte).

Dazu in die ~/.gnupg/gpg.conf folgenden Keyserver eintragen:

# Ganzer Pool
keyserver hkp://pool.sks-keyservers.net
# Europäischer Pool
keyserver hkp://eu.pool.sks-keyservers.net


Und anschliessend prüfen, ob es funktioniert:
gpg --search-keys dirk@deimeke.net (als Beispiel).

Mehr zu Keyservern findet sich in der Wikipedia.

Linkdump 02/2019 ...

Viel Spass beim Extrakt der letzten Woche.

Beim Start des LibreZoom-Podcast durfte ich ein wenig Starthilfe geben: Wir machen Podcast.

Die Homeoffice-Illusion, tja, es ist nicht alles Gold, was glänzt.

Ja, möchte ich gerne, allerdings bin ich mir unsicher, ob das bei mir wirklich funktioniert: Ihr wollt mehr Bücher lesen, scheitert aber kläglich? So klappt’s garantiert.

Was wir in der Schule leider nicht gelernt haben, dem kann ich als alter Sack nur zustimmen.

Gib XMPP eine Chance ...

Ok, der Titel ist etwas reisserisch.

Seit 2015 benutze ich kein Jabber mehr, gemeint ist natürlich XMPP. Mittlerweile mehren sich aber die Menschen, die gerne via XMPP mit mir in Kontakt treten wollen. Nun gut, dann gebe ich dem ganzen noch eine Chance.

Ihr erreicht mich unter: dirk.deimeke@jabber.systemausfall.org dirk.deimeke@fsfe.org

Ich nutze die folgenden Clients:

  • iOS: ChatSecure
  • Android: Conversations
  • Linux: (Weiss noch nicht, vermutlich Kopete wegen KDE-Integration, ja, ich weiss, Gajim ist der "Platzhirsch").
  • Webbrowser: (Bin gespannt auf Eure Tipps).

Mir gefällt die Idee von Quicksy sehr gut, mal sehen, wohin das führt.

Chemnitzer Linux-Tage ...

Ich freue mich sehr darüber, dass ich in diesem Jahr zum ersten Mal an den Chemnitzer Linux-Tagen teilnehmen kann. Am meisten freue ich mich darüber, viele Menschen persönlich zu treffen, die ich schon sehr lange virtuell "kenne".

Den Weg habe ich immer gescheut, da er nicht in vernüftiger "Art und Weise" mit öffentlichem Verkehr für mich erreichbar ist. Flugzeug ist irgendwie doof und Umsteigezeiten von zehn Minuten bei der deutschen Bahn haben für mich eher die Anmutung einer Abenteuerreise als, dass ich das für entspanntes Reisen halte.

Vermutlich werde ich mit einem Leihwagen anreisen. Das Hotel ist in jedem Fall reserviert.

Selbstverständlich habe ich auch Programmpunkte eingereicht, die ich gerne bestreiten würde. Da ich die Veranstaltung überhaupt nicht kenne, habe ich relativ viele Vorschläge gemacht. Ich bin sehr gespannt, ob etwas von meinen Einreichungen ins Programm passt und angenommen wird. Falls nicht, ist das auch kein Beinbruch, ich freue mich sehr auf deie Menschen dort.

Wenn von meinen Lesern darf ich dort treffen?

Eventuell treffen wir uns am Freitag vor der Veranstaltung auf eins oder mehrere Kalt- oder Heissgetränke.

Linkdump 01/2019 ...

Auch in 2019 möchte ich gerne mit einer lieb gewonnenen Tradition weitermachen.

I absolutely second that: Why you need to use a password manager.

Smartphones: Verdaddeln wir unser Leben? "Verdaddeln" wäre mir zu viel, aber dass wir zu viel Zeit mit dem Smartphone verbringen, glaube ich schon.

Es lohnt sich aus vielen Gründen, einen Account im Fediverse zu besorgen, unabhängig von der Instanz oder Software, die darauf betrieben wird. Eine Woche im Fediverse.

Uberspace in meiner Infrastruktur ...

Da habe ich bei der Beschreibung meiner Infrastruktur doch tatsächlich Uberspace vergessen.

Wenn es Uberspace schon gegeben hätte, bevor ich meinen eigenen root-Server betrieben habe, wäre vermutlich nie auf die Idee gekommen, das selber zu machen.

Etwas unüblich benutze ich Uberspace tatsächlich nur für E-Mails.

Zum Einen laufen dort die Mails des Monitorings auf, es ist nicht sinnvoll Monitoring-Benachrichtigungen an den Server senden zu lassen, der überwacht wird.

Zum Anderen betreibe ich dort eine "very low volume" Mailingliste.