Hallo Zusammen,
Ich habe von Kubuntu 19.10 auf Kubuntu 20.04 per do-release-upgrade gewechselt. Das hat soweit funktioniert, bis darauf, dass bei Kubuntu 20.04 die PIM-Suite Kontact nicht mehr standardmäßig mitinstalliert ist. Dies habe ich dann mit Discover nachgeholt. Leider wollte sich Kontact nicht mehr mit meinen Mails öffnen. Nun ist bekannt, dass Akonadi mit einem MySQL (in der Zwischenzeit MariaDB) Backbone arbeitet. Somit sind meine gesammten Mails und Kontakte noch unter ~/.local/share/akonadi/ vorhanden. Ein manueller Start von Konsole brachte folgende Information:
~$ akonadictl start Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) org.kde.pim.akonadiserver: Starting up the Akonadi Server... mysqld-akonadi: [ERROR] Failed to open required defaults file: /home/USER/ mysqld-akonadi: [ERROR] Fatal error in defaults handling. Program aborted! org.kde.pim.akonadiserver: database server stopped unexpectedly org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection! org.kde.pim.akonadiserver: executable: "/usr/sbin/mysqld-akonadi" org.kde.pim.akonadiserver: arguments: ("--defaults-file=/home/USER/.local/share/akonadi/mysql.conf", "--datadir=/home/USER/.local/share/akonadi/db_data/", "--socket=/run/user/1001/akonadi/mysql.socket", "--pid-file=/run/user/1001/akonadi/mysql.pid") org.kde.pim.akonadiserver: stdout: "" org.kde.pim.akonadiserver: stderr: "mysqld-akonadi: [ERROR] Failed to open required defaults file: /home/USER/.local/share/akonadi/mysql.conf\nmysqld-akonadi: [ERROR] Fatal error in defaults handling. Program aborted!\n" org.kde.pim.akonadiserver: exit code: 1 org.kde.pim.akonadiserver: process error: "Unknown error" mysqladmin: connect to server at 'localhost' failed error: 'Can't connect to local MySQL server through socket '/run/user/1001/akonadi/mysql.socket' (2)' Check that mysqld is running and that the socket: '/run/user/1001/akonadi/mysql.socket' exists! org.kde.pim.akonadiserver: Failed to remove runtime connection config file org.kde.pim.akonadiserver: Shutting down AkonadiServer... org.kde.pim.akonadicontrol: Application '/usr/bin/akonadiserver' exited normally...
Ich verschiedenen Foren wird empfohlen, die Verzeichnisse ~/.config/akonadi und ~/.local/share/akonadi zu löschen. Nach einem Backup kam leider das gleiche Ergebnis. Anscheinend konnte mysql-akonadi keinen Kontakt zur Datenbank herstellen. Ein bekannter Bug von Akonadi scheint eine Unverträglichkeit mit Apparmor zu sein. Also habe ich /etc/apparmor.d/mysqld_akonadi durchsucht und entsprechend dem Thread https://forum.kde.org/viewtopic.php?f=215&t=162053 angepasst.
#include <tunables/global> @{xdg_data_home}=@{HOME}/.local/share profile mysqld_akonadi { #include <abstractions/base> #include <abstractions/bash> #include <abstractions/consoles> #include <abstractions/nameservice> #include <abstractions/openssl> #include <abstractions/user-tmp> capability setgid, capability setuid, signal receive set=kill peer=/usr/bin/akonadiserver, signal receive set=term peer=/usr/bin/akonadiserver, /etc/mysql/ r, /etc/mysql/** r, /etc/my.cnf{,.d/**} r, @{sys}/devices/system/cpu/ r, /{usr/,}bin/{b,d}ash mrix, /{usr/,}bin/cat mrix, /{usr/,}bin/chmod mrix, /{usr/,}bin/dirname mrix, /{usr/,}bin/hostname mrix, /{usr/,}bin/mkdir mrix, /{usr/,}bin/sed mrix, /usr/bin/my_print_defaults mrix, /usr/bin/mysql_install_db mrix, /usr/bin/mysqladmin mrix, /usr/bin/mysqlcheck mrix, /usr/{,s}bin/mysqld mrix, /usr/share/mysql/** r, owner @{xdg_data_home}/akonadi/** rwk, owner @{PROC}/@{pid}/loginuid r, # owner /{,var/}run/user/@{uid}/akonadi/** rwk, owner /run/user/*/akonadi/default/* wr, }
Leider auch ohne Erfolg. 'Journalctl -f' zeigt folgende Ausgabe:
Jun 13 18:44:10 COMPUTER audit[4107]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/etc/apparmor.d/" pid=4107 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0 Jun 13 18:44:10 COMPUTER kernel: audit: type=1400 audit(1592066650.547:61): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/etc/apparmor.d/" pid=4107 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1001 ouid=0 Jun 13 18:44:10 COMPUTER kernel: audit: type=1400 audit(1592066650.559:62): apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/USER/.local/share/akonadi/mysql.conf" pid=4108 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1001 ouid=1001 Jun 13 18:44:10 COMPUTER audit[4108]: AVC apparmor="DENIED" operation="open" profile="/usr/sbin/mysqld" name="/home/USER/.local/share/akonadi/mysql.conf" pid=4108 comm="mysqld-akonadi" requested_mask="r" denied_mask="r" fsuid=1001 ouid=1001
Ich habe während des Starts von akonadi mit tail -f /var/log/mysql/error.log die Fehlerausgabe des MySQL-Servers überprüft. Dort kommt aber keine Fehlermeldung an. Anscheinend blockt immer noch Apparmor die Anfragen von Akonadi. Hat jemand ähnliche Fehler? Wie kann ich Akonadi den Zugriff auf meine Datenbank wieder geben? Und kann MariaDB dann die alte Datenbank überhaupt öffnen?
Danke für Eure Hilfe, Jackow
Mein System ist:
Linux XXXXXX 5.4.0-33-lowlatency #37-Ubuntu SMP PREEMPT Thu May 21 14:16:07 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
akonadi-backend-mysql/focal,focal,now 4:19.12.3-0ubuntu2 all [Installiert,automatisch]
akonadi-backend-postgresql/focal,focal 4:19.12.3-0ubuntu2 all
akonadi-backend-sqlite/focal 4:19.12.3-0ubuntu2 amd64
akonadi-import-wizard/focal,now 4:19.12.3-0ubuntu1 amd64 [installiert]
akonadi-server/focal,now 4:19.12.3-0ubuntu2 amd64 [Installiert,automatisch]
akonadiconsole/focal 4:19.12.3-0ubuntu1 amd64
maria-doc/focal,focal 1.3.5-4.1build2 all
maria/focal 1.3.5-4.1build2 amd64
mariadb-backup/focal 1:10.3.22-1ubuntu1 amd64
mariadb-client-10.3/focal,now 1:10.3.22-1ubuntu1 amd64 [Konfiguration-verbleibend]
mariadb-client-core-10.3/focal 1:10.3.22-1ubuntu1 amd64
mariadb-client/focal,focal 1:10.3.22-1ubuntu1 all
mariadb-common/focal,focal,now 1:10.3.22-1ubuntu1 all [installiert,automatisch-entfernbar]
mariadb-plugin-connect/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-cracklib-password-check/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-gssapi-client/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-gssapi-server/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-mroonga/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-oqgraph/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-rocksdb/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-spider/focal 1:10.3.22-1ubuntu1 amd64
mariadb-plugin-tokudb/focal 1:10.3.22-1ubuntu1 amd64
mariadb-server-10.3/focal,now 1:10.3.22-1ubuntu1 amd64 [Konfiguration-verbleibend]
mariadb-server-core-10.3/focal 1:10.3.22-1ubuntu1 amd64
mariadb-server/focal,focal 1:10.3.22-1ubuntu1 all
mariadb-test-data/focal,focal 1:10.3.22-1ubuntu1 all
mariadb-test/focal 1:10.3.22-1ubuntu1 amd64