Kubuntu 22.04 – Akonadi mit PostgreSQL

Kontact bzw. der Akonadi-Unterbau sind so ein Thema für sich. Ein Paradebeispiel für Overengineering aber bei KDE hält man stoisch daran fest. Wer also einen konsistenten KDE-Arbeitsplatz haben möchte, kommt nicht daran vorbei. Leider sind die Abhängigkeiten bei Kubuntu 22.04 schlecht gesetzt. Eine Alternative mit PostgreSQL steht aber bereit.

Viele Fehlentscheidungen aus den frühen KDE 4-Zeiten haben die KDE-Entwickler inzwischen korrigiert – Akonadi leider nicht. Die längere Zeit in Entwicklung befindliche Alternative Kube ist eingeschlafen und auch neue Apps wie Kalendar basieren im Hintergrund leider weiter auf Akonadi. Viele grobe Bugs sind ausgeräumt, aber das vollkommen überdimensionierte Backend ist immer noch ein Garant für Probleme und Schwierigkeiten. Warum es für die Speicherung von Mails und PIM-Einträge so ein gewaltiges Backend braucht, wo doch Thunderbird und Evolution ohne auskommen, konnte nie jemand stimmig erklären. Wie so oft gilt hier vermutlich Entwicklerspaß vor Nutzerinteressen.

KDE-Anwender müssen also leider weiter mit Akonadi leben. Die Kubuntu-Entwickler haben als seit 20.04 als Standard Thunderbird vorgesehen (was schon ein Statement für sich ist), aber Kontact & Co natürlich weiter in den Paketquellen. Leider nicht besonders durchdacht. Das Paket akonadi-backend-mysql verweist nämlich auf MariaDB. Ich vermute, das hat man einfach von Debian übernommen. Leider setzt Canonical im Gegensatz zu vielen anderen Distributoren nicht auf MariaDB, sondern hält MySQL die Treue. MariaDB ist nur in Universe enthalten und hat somit einen nicht garantierten Sicherheitsstatus.

Die Derivate bzw. Universe und Sicherheit sind ein Thema für sich, das hier nicht im Detail diskutiert werden kann. Grundsätzlich ist nicht jede Software sicherheitskritisch und zumindest beim KDE-Stack verfolge ich das Thema engmaschig genug, um prüfen zu können, ob Kubuntu hier Probleme behebt. Die Basis (macht bei Installation hier circa 1200 von 1900 Paketen aus) wird ja direkt von Canonical gepflegt. Bei Software wie MariaDB hört aber bei mir die Toleranz auf, wenn es um nicht geschlossene Sicherheitslücken geht.

Zum Glück gibt es noch ein weiteres Akonadi-Backend und zwar das für PostgreSQL. Das ist nicht schlecht gepflegt, da einer der Kern-Entwickler von Kontact viele Jahre selbst PostgreSQL als Backend nutzte. Entwickler beheben Bugs ja auch gerne für sich selbst – warum also nicht davon profitieren? Der Vorteil für Kubuntu-Nutzer ist, dass PostgreSQL in main liegt und direkt von Canonical unterstützt wird.

Vorher unbedingt ein Backup machen. Das Szenario geht davon aus, dass E-Mails und PIM-Daten lediglich via IMAP und Cal-/CardDAV eingebunden sind und somit nicht verloren gehen können.

Der Umstieg ist ziemlich leicht. Zuerst Akonadi stoppen und das neue Backend installieren:

$ akonadictl stop
$ sudo apt install akonadi-backend-postgresql

Anschließend noch die Benutzerkonfiguration in der Datei ~/.config/akonadi/akonadiserverrc ändern:

[%General]
Driver=QPSQL

[QPSQL]
Host=/tmp/akonadi-<benutzername>.hash
InitDbPath=/usr/lib/postgresql/14/bin/initdb
Name=akonadi
Options=
ServerPath=/usr/lib/postgresql/14/bin/pg_ctl
StartServer=trueCode-Sprache: JavaScript (javascript)

Nun noch die alte MariaDB-Daten löschen, indem man das Verzeichnis ~/.local/share/akonadi/db_data umbenennt in z. B. db_data_bak. Sollte die Migration erfolgreich sein, kann es später gelöscht werden.

Nun noch Akonadi wieder starten und prüfen. Sollte es Probleme geben, wird hier auch aufgelistet, wo es klemmt.

$ akonadictl start
$ akonadictl fsck

Nun läuft Akonadi mit einem offiziell supporteten Backend. Negative Erfahrungen für Stabilität und Performance kann ich nicht berichten.

Cruiz
Cruizhttps://curius.de
Moin, meine Name ist Gerrit und ich betreibe diesen Blog seit 2014. Der Schutz der digitalen Identität, die einen immer größeren Raum unseres Ichs einnimmt ist mir ein Herzensanliegen, das ich versuche tagtäglich im Spannungsfeld digitaler Teilhabe und Sicherheit umzusetzen. Die Tipps, Anleitungen, Kommentare und Gedanken hier entspringen den alltäglichen Erfahrungen.
  1. Hallo,

    Unter Debian (und damit vermutlich auch unter ubuntu) sollte auf jeden Fall der Zeichensatz “en_US.utf8” installiert sein, sonst steigt der initdb-Prozess von postgresql aus. Das geht unter root mit dem Kommando “locale_gen” und dann entsprechend auswählen. Danach ein “systemctl restart postgresql.service” und ein akonadi-Neustart und die Sache flutscht.
    Mein Eindruck ist, das kmail via postgresql deutlich performanter reagiert.

Kommentieren Sie den Artikel

Ergänzungen dienen der Diskussion über die Inhalte des Artikels. Nachfragen, Anmerkungen und Ergänzungen sind dezidiert erwünscht. Ergänzungen werden vor der Veröffentlichung moderiert. Wir behalten uns vor Kommentare ohne inhaltlichen Bezug oder abseitige Diskussionen nicht zu veröffentlichen.

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Weitere Artikel