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.

Die Methode rred starb überraschend

Derzeit geistern viele Fragen wegen der folgenden Fehlermeldung durch das Netz:

E: Method rred has died unexpectedly!                                                                  
E: Sub-process rred received a segmentation fault.

Der Fehler liegt wohl bei einigen kaputten Debian-Spiegelservern und kann mit den Befehlen rm /var/lib/apt/lists/* oder aptitude update -o Acquire::Pdiffs=false nebst einem Update der Pakete behoben werden.

Chemnitzer Linux-Tage 2009

Nun sind sie wieder vorbei, die Chemnitzer Linux-Tage. Zwei Tage als Linux-Familienfest.

Wie schon im letzten Jahr hatte ich auch dieses Jahr den Aufruf zum Einreichen von Vorträgen verpasst. Daher kam ich hauptsächlich als Besucher. Einige der Vorträge klangen recht interessant und so wollte ich die Zeit nutzen, um mir diese anzuhören und Ideen zu sammeln. Doch wie so oft kam alles ganz anders. Ich hielt mich sehr häufig außerhalb der Räume auf, traf eine Menge nette Leute und unterhielt mich über verschiedene Themen. Doch natürlich besuchte ich auch Vorträge (wenn auch meist nur zur Hälfte ;-)):

Notensatz mit Lilypond für den Hobbymusiker
Kurz nach meinem Eintreffen in Chemnitz hüpfte ich in diesem Vortrag. David Kastrup stellte das Notensatzsystem Lilypond vor. Das erste Beeindruckende war, dass Emacs auch PDF-Dokumente zeigen kann und zwar inline. David meinte später, dass das mit der aktuellen CVS-Variante (Emacs23) geht. Das PDF zeigte Noten zu Kalinka an und David spielte diese live auf seinem Akkordeon. Der Vortrag wurde immer mal wieder durch solche netten Einlagen unterbrochen. Auf diese Weise war er recht kurzweilig, auch wenn ich über Lilypond nahezu nichts lernte.
Die Telematik im Gesundheitswesen: Was läuft auf Linux in der Arztpraxis?
Ich erwartete von dem Vortrag ein paar Aussagen zu Linux in der Arztpraxis allgemein und eine Diskussion von Vor-/Nachteilen. Die Vortragende erzählte jedoch (zu) viele Details zur elektronischen Gesundheitskarte. So fasste ich recht schnell den Entschluss, die Räume wieder zu verlassen.
I2P - anonymous low latency mix network
Der Vortrag zu I2P interessierte mich natürlich besonders, u.a. deswegen weil ich mit dem Gedanken gespielt hatte, selbst einen zu dem Thema einzureichen. Lars gab einen kurzen Einblick in die Software und die Funktionsweise. Leider war die Zeit zu knapp bemessen, um auf mehr Details einzugehen oder ein praktisches Beispiel zu zeigen. Dennoch waren viele Zuhörer interessiert. Vielleicht konnte so der eine oder andere Nutzer gewonnen werden.
Die Rechtsprechung des Bundesverfassungsgerichts zum Datenschutz: Online-Durchsuchung, Vorratsdatenspeicherung etc.
Johannes Lichdi gab einen Überblick zu den Aufgaben des Bundesverfassungsgerichtes und zeigte anhand der in den letzten Jahren gefällten Entscheidungen, dass das Gericht keineswegs immer Gesetze kippt, sondern vielmehr die Anwendung verfassungsgemäß auslegt und anderweitig minimal eingreift. Sein Fazit war, dass wir das Bundesverfassungsgericht unbedingt zum Schutz der Grundrechte brauchen und auch selbst viel tun müssen. Als kleines Detail am Rande wurde die Broschüre Meine Daten gehören mir! Datenschutz im Alltag (lokale Kopie, PDF, 1,2MB) verteilt. Seite 6 verweist auf mein Buch Anonym im Netz. ;-)
Git verstehen und nutzen
Nachmittags wollte ich mir diesen Vortrag noch anhören und hoffte, etwas Neues zu git zu erfahren. Der Vortragende glänzte mit fast 80 Folien, welche im wesentlichen das Tutorial zu git beinhalteten. Hier wäre weniger mehr gewesen. Auf alle Fälle entstand durch den Vortrag bei mir der Plan, selbst einen Workshop oder Vortrag dazu zu machen. Die grundlegenden Ideen zum Ablauf des Ganzen habe ich auch schon im Kopf. Jetzt muss ich nur noch die nächste Linux-Veranstaltung abwarten ...
Quo vadis MySQL?
Wieder ein Vortrag, zu dem ich leider viel zu spät kam. Erkan Yanar gab einen guten Überblick zum MySQL-Universum. Ich würde mich sehr freuen, wenn den Vortrag später als Audio zum Nachhören gäbe.
Analyse und Visualisierung von Daten mit R
Leider war für mich auch dieser Vortrag ein Fehlschlag. Viele Folien und wenig Inhalt. Der Vortragende las viele Funktionen von GNU R vor und am Schluss gab es eine Demo. Diese Übersicht an Funktionen lässt sich auch von der Einführung zu R oder weitergehender Dokumentation gewinnen. Bei der Demo wiederum wurden verschiedene Befehle aufgerufen, ohne dass klar war, was da gemacht wird. Mir wäre lieber gewesen, wenn der Vortragende nach der Einführung kurz erwähnt hätte, dass beispielsweise sämtliche klassischen statistischen Funktionen in GNU R abgedeckt sind (Falls es welche gibt, Ausnahmen nennen). In einer Demo hätte ich mir dann ein kleines Beispiel gewünscht, wo kurz die Datenbasis erwähnt wird und dann später der Vortragende anhand einzelner Befehle die Funktionsweise erklärt. In dem Vortrag habe ich leider nichts von dem Programm mitgenommen. Weder wurde mein Interesse geweckt noch war ich abgestossen.
Verteiltes Suchen – Ein aktueller Überblick
Der letzte Vortrag bei den Chemnitzer Linux-Tagen handelte vom verteilten Suchen. Daniel Gultsch gab einen kurzen Überblick in das Suchen allgemein und stellte später einzelne Projekte (YaCy, Lucene, Wikia und weitere) vor. Dabei kam für mich heraus, dass nur YaCy eine verteilte Suchmaschine ist. Die meisten anderen Projekte decken nur Teilaspekte des Suchens ab. Dennoch scheint YaCy nichts für den normalen Desktop zu sein. Zum einen benötigt das Programm Unmengen an RAM (unter 512MB geht nichts), CPU und anderen Systemressourcen. Zum anderen gibt es nach Aussagen des Vortragenden keine Maßnahmen gegen das Abschalten eines Peers. Der Vortrag selbst gefiel mir gut. Jedoch glänzten die Folien durch Rechtschreibfehler. Würden die Chemnitzer Linux-Tage Preise für Fehler auf Folien verleihen, hätten diese den ersten Platz sicher. Das fand ich sehr schade, da es mich vom Vortrag ablenkte.

Bei vielen anderen Vorträgen hoffe ich, dass es später die Folien oder sogar die Audios gibt.

Liste mit
  Hashsummen
Jens beim
  Erklären

Am Samstagabend stand nun noch das Keysigning auf dem Programm. Ich hatte vorher die nebenstehenden Hashwerte ausgedruckt. Das sollte helfen, meine Stimme zu schonen und nicht alle Zahlen/Buchstaben durch die Halle brüllen zu müssen. Danach gab ich eine kurze Erklärung zum weiteren Ablauf und Sven bestand auf einem Gruppenfoto.

Schließlich hieß es Aufstellung nehmen. Wir hatten etwa 60 Teilnehmer mit fast 80 Schlüsseln. Ich machte den Anfang und wanderte von Teilnehmer zu Teilnehmer. Der Marsch ging sogar recht zügig. Denn viele hatte ich bereits unterschrieben. Auf dem untenstehenden Foto seht ihr einen Blick in die Menge:

Mir haben die Chemnitzer Linux-Tage in diesem Jahr wieder sehr viel Spass gemacht. Auch wenn die von mir gewählten Vorträge eher Mittelmaß waren. Dafür entschädigt die nette Atmosphäre und die perfekte Organisation. Für mich ist das wirklich wie ein Familientreffen der Linuxfreunde und ich freue mich schon auf nächstes Jahr.

Blick in die Runde der Teilnehmer

caff einrichten

Keysigning zur ApacheCon 2006

Das nächste Keysigning steht an und wieder einmal stellt sich für alle Teilnehmer die Frage, wie man am besten alle Schlüssel unterschreibt. Ich nutze dafür caff und will euch im folgenden kurz eine Einführung in die Konfiguration des Programmes geben. Hoffentlich hilft das, leichter und schneller zu Ergebnissen zu kommen.

Die Software gehört bei Debian und darauf basierenden Distributionen zum Umfang der Distribution und wird im Paket signing-party ausgeliefert. Andere Distributionen können die Dateien aus dem Subversion auschecken.

caff wird über die Datei .caffrc gesteuert. Im folgenden sind einige Einstellungen genauer erläutert. Dabei reichen meist die ersten vier oder fünf genannten Einstellungen, um caff zum Laufen zu bekommen.

$CONFIG{’owner’} = ‘Max Mustermann’;

$CONFIG{’email’} = ‘mm@example.org’;

$CONFIG{’keyid’} = [ qw{01234567890ABCDE} ];

In den beiden Variablen legt ihr euren Namen, E-Mail-Adresse und die Key-ID eures Schlüssels fest. In der letzten Einstellung kann auch eine Liste von Schlüsseln stehen. Die Key-ID bzw. den Fingerprint eures Schlüssels erhaltet ihr durch Eingabe des Befehls: gpg --fingerprint emailadresse.

$CONFIG{’mail-template’} = <<’EOM’
Text der E-Mail
EOM

Diese Variable trägt den Text der E-Mail, die an die Adressaten verschickt wird. Ihr könnt dort beliebigen Text reinschreiben und auch Variablen lassen sich expandieren. So wird {$owner} durch den oben festgelegten Namen ersetzt, {$key} steht für die Key-ID und {@uids} ist ein Array über alle UIDs. In der Beispieldatei, die mitgeliefert wird, findet ihr auch ein Beispiel zur Anwendung dieser Variablen.

$CONFIG{’mailer-send’} = [ ‘smtp’, Server => ‘mail.example.org’, Auth => [’mm’, ‘GehHeim’] ];

Wenn ihr einen lokalen Mailserver habt, dann ist die obige Einstellung nicht nötig. Sie betrifft vielmehr Anwender, die üblicherweise Programme wie Thunderbird, Evolution etc. nutzen und ohne lokalen Mailserver unterwegs sind. Dann hier muss caff wissen, wie es die E-Mails versenden soll. Meist wird zum Versand ein Smarthost des Providers genutzt. Der Name des Mailservers wird oben eingetragen und innerhalb der eckigen Klammern nach Auth kommen die Zugangsdaten (Benutzername und Passwort).

$CONFIG{’keyserver’} = ‘subkeys.pgp.net’;

Es könnte sein, dass ihr einen anderen Keyserver als den obigen standardmäßig eingestellten Nutzer wollt. Dann solltet ihr subkeys.pgp.net durch den Keyserver eurer Wahl ersetzen. Im Allgemeinen ist dieser aber eine gute Wahl.

Die Software bietet noch eine Vielzahl weiterer Möglichkeiten zur individuellen Steuerung. Diese sind in der Handbuchseite zu caff erklärt. Wie ihr oben schon gesehen habt, hat jede Option den Aufbau $CONFIG{’optionsname’} = ‘einstellung’;. So könnt ihr auch die weiteren in der Manpage genannten Optionen belegen.

Nachdem alle Einstellungen getroffen sind, kannst du dich ans Unterschreiben machen. Das Programm muss mit einer Liste von Key-IDs aufgerufen werden. Doch woher kommen diese? Ich stelle bei den Keysignings, die ich leite, am Ende einen Keyring aller Teilnehmer zur Verfügung. Das macht es einfach, die Key-IDs zu extrahieren:

gpg --no-default-keyring --keyring=KEYRINGDATEI --with-colons --list-keys \
 | awk -F: ‘/^pub/ { print $5 }’

Nun ruft ihr das Programm auf: caff -m yes -u 0x012345 KEYIDS. Die Variable -m steht dafür, die E-Mails ohne Nachfrage zu versenden. Es gibt vier Möglichkeiten, diese zu belegen und wer es will, kann die Einstellungen auch in der .caffrc treffen. Ich persönlich nutze hier lieber die Kommandozeile, um die Option zu übergeben. Mittels -u übergebt ihr die Key-ID eures eigenen Schlüssels. Auch diese Einstellung kann bereits in der .caffrc getroffen werden. Nach einem beherzten Druck auf die Entertaste geht die eigentliche Arbeit los. Ihr werdet Schlüssel für Schlüssel nach eurer Unterschrift gefragt und könnt unterschreiben.

Ich hoffe, diese Anleitung ist für Teilnehmer an einem Keysigning nützlich und hilft, den Aufwand auf ein Minimum zu reduzieren.

Foto von NoirinP.

OpenSSL -- ein Zitat

Um die auch hier angesprochene OpenSSL-Lücke wird zwischen den OpenSSL-Team und Debian eine Diskussion geführt. Der Paketbetreuer von Debian fragte damals auf der Liste openssl-dev nach und Ulf Möller, einer der Entwickler, antwortete. Die OpenSSLer behaupten nun, es sei die falsche Liste gewesen und die Debianer haben darauf eine großartige Antwort.

Kürzlich meldete sich Ulf Möller nochmal zu Wort. In seiner Antwort auf die Frage ging er nicht davon aus, dass der Quellcode gepatcht werden soll und dass sein Gegenüber natürlich grundsätzlich ein Verständnis für den Quellcode entwickelt hat. Aus der Diskussion entwickelte sich das schöne Zitat:

Und jetzt komme ich mir vor wie ein Arzt, der dachte, dass er mit einem Kollegen über Operationstechniken diskutiert hat, und nun plötzlich erklären soll, wieso er das Kettensägenmassaker nicht verhindert hat. :-)

cronjob