ubuntuusers.de

Akonadi-Server startet nicht seit Update auf Kubuntu 20.04

Status: Ungelöst | Ubuntu-Version: Kubuntu 20.04 (Focal Fossa)
Antworten |

jackow

Avatar von jackow

Anmeldungsdatum:
29. Januar 2007

Beiträge: Zähle...

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

FriedChicken

Anmeldungsdatum:
10. Juni 2006

Beiträge: 1751

Wohnort: Deizisau

Hi,

ich habe offenbar das gleiche Problem (exakt die gleiche Ausgabe für akonadictl start).

@jackow: Hast du das doch noch irgendwie lösen können?

FriedChicken

Anmeldungsdatum:
10. Juni 2006

Beiträge: 1751

Wohnort: Deizisau

OK, ich habe jetzt dank Ask Ubuntu: Why does Akonadi not start after upgrade from Ubuntu 19.04 to 19.10? doch noch eine Lösung gefunden: Bei mir war noch MySQL 8 installier, Akonadi benötigt mittlerweile aber MariaDB 10.3

1
~$ sudo apt install mariadb-client-core-10.3 mariadb-server-core-10.3

hat wie, im verlinkten Artikel angegeben, tatsächlich geholfen. Dabei wurde dann MySQL 8 entfernt.


Während der Installation hat dpkg übrigens auch angegeben, wieso dieses Problem unerwarteterweise nicht durch die Abhängigkeiten im Paketmangement erkannt und beseitigt wurde:

akonadi-backend-mysql hängt ab von mariadb-server-core-10.3 | virtual-mysql-server-core

Da die Abhängigkeiten des virtuellen Pakets virtual-mysql-server-core durch die Installation von MySQL 8 erfüllt wurden, waren aus Sicht der Paketverwaltung alle Abhängigkeiten für akonadi-backend-mysql erfüllt.


P.S. @jackow

Ich sehe gerade, dass bei dir offenbar schon MariaDB installiert ist. Allerdings steht bei zwei Paketen noch [Konfiguration-verbleibend] dran. Eventuell lohnt es sich, mal in die Richtung weiter zu schauen.

Antworten |