Skip to content

Aktualisierung von Mastodon auf Version 4.2.0

Mastodon ist ein soziales Netzwerk zum Selberbasteln. :-) So oder ähnlich lautet eine der Versprechungen des Dienstes. Wer mag, kann einen eigenen Server betreiben und sich somit dem Fediverse vernetzen. Daher betreibe ich Anfang 2023 auch einen Server. Der ist unter den Adressen

erreichbar.

Seit kurzem gibt es nun die Version 4.2.0, die recht viele Verbesserungen bietet. Also wollte ich die Software aktualisieren. Bei Mastodon erfolgen Aktualisierungen in der Regel über git. Das heißt, mittels git fetch wird das Repository aktualisiert und dann wird die “richtige” Version ausgecheckt. Eventuell sind noch Pakete zu aktualisieren und das wars im Wesentlichen.

Als ich das bei meinem Server versuchte, stellte ich fest, dass einige Programme veraltet waren. Das Image, was ich zur Installation verwendete, basiert auf Debian bullseye. Mittlerweile ist Debian bookworm aktuell. Vor dem Update von Mastodon stand also ein Update von Debian. In der Regel ist ein Update von der Vor- zur nächsten Debian-Version recht unproblematisch. So auch hier. Das Update war schnell gemacht.

Also gab ich ein git fetch && git checkout v4.2.0 ein und startete so die Aktualisierung von Mastodon. Danach mussten die Befehle

  • bundle install
  • yarn install --frozen-lockfile

durchgeführt werden. Bei letzten Kommando sagte mir mein System, dass dieser Befehl nicht verfügbar sei. Allerdings lag im Unterverzeichnis bin/ eine ausführbare Datei namens yarn. Als ich diese direkt ausführte, war die Ausgabe wieder, dass Yarn nicht verfügbar sei. Yarn wurde mittels corepack installiert. Aber corepack war auch nicht verfügbar. Damit musste ich noch einen Schritt zurückgehen: zur Installation von node.js selbst.

Hier lag dann die Lösung: Beim Update von Debian wurde auch node.js aktualisiert. In dem Update war vermutlich corepack und anderes nicht mit eingeschlossen. Ich deinstallierte also node.js, aktualisierte die sources.list-Datei und installierte node.js wieder. Damit waren corepack und yarn auch wieder verfügbar und der obige Befehl lief problemlos durch.

Die letzte Hürde bestand im Neustart der Mastodon-Dienste. Ich hatte diese mittels systemctl restart mastodon-* neu gestartet. Dies führte zu Connection refused-Meldungen. Der Streaming-Dienst unter Port 4000 war nicht erreichbar. Dies lag daran, dass der Systemd-Service mastodon-streaming erneuert wurde. Also fehlte noch ein systemctl daemon-reload gefolgt vom Neustart.

Das war dann der Punkt, an dem der Server mit Version 4.2.0 anstandslos weiterlief. :-)

Failed to create a mountpoint for revokefs-fuse

Ich habe im Blog schon einige Male über Logseq geschrieben. Ich habe die Software über Flatpak installiert, ähnlich wie schon OnionShare. Hin und wieder muss die Software aktualisiert werden. Dies passiert über den Befehl 

flatpak update com.logseq.Logseq

Alternativ kann man auch den Namen einer anderen Software oder auch nichts angeben. Im letzteren Fall aktualisiert FlatPak alle installierte Software.

Als ich das nun heute versuchte, begrüßte mich FlatPak mit einer Fehlermeldung:

Warnung: Failed to create a mountpoint for revokefs-fuse: Can't create temporary directory
Warning: Can't create temporary directory

Tja, was tun? Der erste Versuch war, FlatPak mit einer Verbose-Option zu mehr Ausgabe zu überreden. Dies sagte mir nur, Calling system helper. Das ist für die Fehlersuche wenig hilfreich.

Also habe im nächsten Versuch mal eine Suchanfrage gestartet. Hier gab es ein paar Hinweise auf fusermount, ein paar Beiträge empfehlen, die Rechte von Verzeichnissen zu ändern oder es wird den Fragenden gleich empfohlen, eine andere Art der Installation zu wählen. Insgesamt war die Ausbeute wenig hilfreich.

Viel hilfreicher war ein Blick auf das Dateisystem. Neben dem FlatPak-Updates gab es auch Updates meines Betriebssystems. Und die große Menge an Dateien hatte die Partition, die /var beinhaltet, gefüllt. Also flugs aufgeräumt:

apt autoremove

Damit war das var-Verzeichnis wieder frei und das Update von FlatPak lief problemlos durch. Falls ihr also auch die Meldung erhaltet, könnte es sich lohnen, einen Blick auf das Dateisystem zu werfen.

Ich überlege noch, ob es nicht sinnvoll wäre, wenn FlatPak dies auch als Fehler meldet und werde diesbezüglich eventuell einen Bugreport einreichen.

Automatisch ein screen nach einem SSH-Login starten

Wenn ich mich auf einem Server per SSH einlogge, starte ich in der Regel direkt die Software screen oder tmux. Dies sind so genannte Multiplexer. Sie erlauben es mir mehrere “Fenster” zu öffnen und auch wenn die Verbindung weg ist, werden die Befehle weiter abgearbeitet.

Im Normalfall gebe ich also zuerst ssh server ein und wenn ich dann auf dem Server eingeloggt bin, gebe ich screen -R oder tmux a ein. Viel schöner wäre es nun, wenn der letzte Schritt automatisiert geschehen würde. Man mag es kaum glauben, aber OpenSSH ist dazu in der Lage. :-)

Hier hilft eine kleine Einstellung in der Konfigurationsdatei. Diese liegt normalerweise im Verzeichnis ~/.ssh und heißt config. Ein Eintrag könnte so aussehen:

Host server
  HostName server.example.com
  IdentityFile ~/.ssh/mein-geheimer-schluessel
  User jens

Mit der Eingabe ssh server verbindet sich SSH zu dem Rechner unter der Adresse server.example.com, nutzt den angegebenen Schlüssel und loggt sich als Nutzer jens ein. Mit den Optionen RemoteCommand und RequestTTY kann ich nun den gewünschten Effekt erzielen:

Host server
  HostName server.example.com
  IdentityFile ~/.ssh/mein-geheimer-schluessel
  User jens
  RemoteCommand screen -RD #oder tmux a
  RequestTTY yes

Nun führt OpenSSH den gewünschten Befehl aus und ich lande sofort in meiner gewünschten Sitzung.

Dies ist natürlich nur eine Kleinigkeit. Aber es nimmt mir einen kleinen Schritt ab und fühlt sich so bequemer an. Vielleicht probiert ihr es auch mal aus und erzählt von euren Erfahrungen.

Tor-Browser in der Sandbox betreiben

Das Tor-Projekt stellt seit langem den Tor-Browser zur Verfügung. Die Entwickler investieren viel Zeit und Energie, um den zugrunde liegenden Mozilla Firefox abzusichern und gegen Angriffe auf die Privatsphäre zu schützen. Seit kurzem ist für GNU/Linux wieder ein Baustein hinzugekommen: die Sandbox. Diese gaukelt dem Browser ein eigenes System vor. Sollte jemand den Browser angreifen, so kann er in die Sandbox vordringen, aber eben nicht auf den Rechner.

In der Ankündigung zur Version 6.5a6 wird kurz darauf eingegangen. Wenn ihr die Variante testen wollt, braucht ihr einen Kernel, der Linux Namespaces unterstützt. Standardmäßig machen das alle neueren Versionen. Weiterhin müsst ihr bubblewrap und ggf. Gtk installieren. Die aktuelle Version 0.0.2 der Sandbox greift noch auf ein Adwaita-Verzeichnis zu. Daher benötigt ihr ggf. das Paket gnome-themes-standard-data unter Debian-artigen Systemen. Spätere Versionen haben diese Abhängigkeit nicht mehr.

Nach all der Vorarbeit ladet ihr die Version herunter, prüft die Signatur und entpackt das Archiv. Darin befindet sich eine ausführbare Datei namens sandboxed-tor-browser. Nachdem die gestartet ist, werdet ihr gefragt, welchen Tor-Browser ihr verwenden wollt. Der wird dann heruntergeladen und ein letzter Konfigurationsdialog erscheint. Dort könnt ihr Bridges und weiteres einstellen. Nachdem dies bestätigt ist, startet der Tor-Browser wie gewohnt und kann benutzt werden.

Im Hintergrund nimmt die Tor-Software über Unix-Sockets eine Verbindung zum Browser auf. Früher wurde eine TCP-Verbindung auf der lokalen Maschine verwendet. Durch die Nutzung einfacher Dateien fällt dies nun weg. Die Entwickler überlegen auch, ob es nicht möglich ist, diverse Netzwerkbibliotheken aus dem Browser zu entfernen. Wozu benötigt ein Browser denn solche Sachen? :-)

Solltet ihr Fehler finden, schreibt eine Meldung in den Bugtracker. Das Wiki von Tor hat weitere Informationen zur Sandbox. Viel Spaß beim Testen!

Verschlüsselte Passwörter bei mutt

mutt ist ein E-Mail-Programm für die Kommandozeile unter GNU/Linux. Das Programm wird über die Tastatur bedient und über eine Textdatei konfiguriert. Wer das innerhalb einer Firma verwendet bzw. auf Rechnern mit mehreren Nutzern, wird vermutlich ein schlechtes Gefühl haben, dort Passwörter zu hinterlassen. Für den Versand von E-Mails bzw. den Zugang zum Mailserver per IMAP muss meist ein Passwort angegeben werden. Das steht standardmäßig im Klartext in der Datei. Wie kann man sich schützen?

Die Lösung ist ganz einfach: Passwörter werden mit GnuPG verschlüsselt und mutt angewiesen, die Datei zu entschlüsseln. In der Passwortdatei stehen die Passwörter in einem Format, welches mutt versteht:

set imap_pass=“MeingeheimesIMAP-Passwort”
set smtp_pass=“MeingeheimesSMTP-Passwort”

Anschließend wird dieses Datei mit GnuPG veschlüsselt. In die Konfigurationsdatei .muttrc kommt nun zusätzlich die Zeile:

source “gpg -d ~/.mutt/passwort.gpg |”

Beim Start liest mutt die Konfiguration aus und startet GnuPG wie angegeben. Es muss das Passwort zur Entschlüsselung eingegeben werden und fertig ist alles.

Natürlich ist es sinnvoll, seine Festplatte oder das Home-Verzeichnis zu verschlüsseln. Denn manchmal gibt es andere Programme, die solche Informationen ebenso im Klartext hinterlassen.

Vielen Dank an Rainer für den Hinweis!

Platzprobleme beim Update

Ich stelle gerade wieder fest, dass ich das Linux wegen seiner Flexibilität mag. Gerade eben war ich dabei, die Software auf dem Rechner auf den neuesten Stand zu bringen. Unterwegs meinte apt-get, dass die Festplatte voll ist. Debian lädt alle Updates zuerst in das Verzeichnis /var/cache/apt/archives. Der Update umfasste mehr als zwei Gigabyte und im Verzeichnis waren weniger als ein Gigabyte frei. Tja, was tun?

In meinem Home-Verzeichnis gab es genügend Platz. Also habe ich mittels dd if=/dev/zero of=vcaa.img bs=$((3024*1024*1024)) eine drei Gigabyte große Datei angelegt. Diese wurde dann durch mke2fs -j vcaa.img zu einem ext3-Dateisystem und mit mount -o loop -t ext3 vcaa.img /var/cache/apt/archives habe ich die Datei ins Dateisystem eingebunden.

Nun werden die Dateien heruntergeladen, installiert und wenn alles abgeschlossen ist, lösche ich die Datei wieder und der Rechner ist aktualisiert. :-) Ich frage mich, wie man sowas unter Windows anstellt.

In Zukunft sollte ich darauf achten, entweder schneller Updates auf dem Rechner durchzuführen oder mal über die Struktur des Dateisystems nachzudenken.

Meine Software unter GNU/Linux

Die aktuelle Ausgabe von DeimHart beschäftigt sich mit Applikationen unter Debian. Die beiden Moderatoren baten darum, mal die eigene Software aufzuzählen. Mir ist das für einen Kommentar zu lang. Daher mache ich das mal in ein eigenes Blogposting.

Web

  1. Mozilla Firefox ist mein Hauptbrowser. Den verwende ich entweder im Rahmen des Tor-Browser-Bundles oder aus der Distribution heraus mit verschiedenen Plugins.
  2. Google Chrome oder Chromium ist der zweite in der Reihe. Der Browser bietet nach meiner Ansicht sehr gute Möglichkeiten in die Interna zu schauen. Beispiel gefällig? Gebt mal chrome://net-internals in die Browserzeile ein.
  3. Midori war jetzt längere Zeit in der Testphase. Aber mir kann die Software zu wenig bzw. einige Features sind zu umständlich zu bedienen.
  4. links2 ist ein Browser, der so ein Zwischending zwischen grafischem und Kommandozeilenbrowser ist. Der ist recht schnell und lässt sich angenehm bedienen.
  5. Schließlich nutze ich den w3m als Kommandozeilenbrowser, entweder direkt auf der Shell oder innerhalb von GNU Emacs.

Mail

  • Das meistgenutzte Programm für Mails auf meinem Rechner ist mutt. Damit lese und schreibe ich E-Mails. Das Programm hat eine gute Integration für OpenPGP und Mixmaster. Wie ich kürzlich schrieb, ist das Programm recht flexibel. Einer meiner nächsten Beiträge wird das vermutlich weiter unterstreichen.
  • Zu mutt gehören noch Procmail und Fetchmail. Die Programme holen die E-Mails von verschiedenen Providern ab und sortieren die nach verschiedenen Regeln.
  • Ein Programm, was mit läuft, und mir völlig in Vergessenheit geraten war, ist CRM114. Das Programm sortiert sehr zuverlässig den Spam aus.
  • Schließlich läuft auf verschiedenen Rechner ein Postfix.

Virtualisierung

Für die Virtualisierung nutze ich nahezu ausschließlich qemu. Früher hatte ich auch Virtualbox im Einsatz. Jedoch habe ich aktuell keine Verwendung für das Programm.

Multimedia

  • Ich höre sehr viele Podcasts und da verwende ich Miro. Mit dem Programm lade ich die herunter und schaue oder höre mir die an.
  • Für reine Audiodateien nutze ich cmus. Das ist ein Programm für die Kommandozeile.
  • Zum Anschauen von Videos kommt vlc zum Einsatz. Die Software kann mit dem Befehl cvlc über die Kommandozeile bedient werden.

Grafik

Bei der Grafik geht es mir wie den DeimHart-Machern. Ich nutze Gimp, um Bilder auszuschneiden oder grundlegende Operationen zu machen. Mehr kann ich mit der Software nicht. :-)

Zum Betrachten von Fotos nutze ich hauptsächlich feh oder ImageMagick.

Office-Anwendungen

Hier habe ich mit DeimHart ebenfalls eine große Schnittmenge. Ich schreibe sämtliche Texte mit LaTeX. Als Editor verwende ich entweder GNU Emacs oder jed. Letzteres wegen der gute Matheunterstützung in JörgsLaTeXMode. Bei Emacs ist natürlich immer AUCTeX an.

Für das Anzeigen von PDF-Dateien verwendete ich lange Zeit Evince. Davor war es xpdf. Ich bin kürzlich auf MuPDF gestossen. Die Software gefällt mir von Tag zu Tag besser und wird mein Standard-PDF-Viewer werden.

Wenn ich Operationen in PDF-Dateien mache, verwende ich PDFtk.

Chat

Bei Chatsoftware bin ich auch in einer Übergangsphase. Bisher habe ich Bitlbee mit weechat. Ich versuche gerade, mich mit MCabber anzufreunden. Hier läuft im Hintergrund ein Prosody. Das ist ein XMPP-Server.

Bei sämtlichen Chatprogrammen wie auch anderswo, ist mir Verschlüsselung wichtig. Daher können alle Programme Off-the-Record Messaging.

Wenn man Twitter und Co. dazu zählt, gibt es noch ein paar Programme zu erwähnen. Für identi.ca nutze ich GNU Emacs mit dem identica-Modus. Der Maintainer Gabriel Saldaña hat gerade Version 1.3 veröffentlicht. Twitter hat im Emacs einen Twittering-Modus, den ich auch verwende. Früher hatte ich noch Hotot auf dem Rechner. Allerdings wurde die Software von Release zu Release benutzerunfreundlicher. Daher nutze ich Microblogging entweder mit den Modi oder über die Webseite.

Sonstiges

Ich arbeite recht viel auf der Kommandozeile. Um das Terminal zu multiplexen, springe ich zwischen GNU screen und tmux hin und her. Als Shell wird immer eine zsh gestartet.

Viel anderes fällt mir gerade nicht ein. Vermutlich sind das wirklich die Hauptprogramme. Natürlich kommen noch Programme, wie git, awk usw. dazu.

Update: Noch ein paar Sätze zu Microbloggingsoftware geschrieben.

cronjob