Почему Akonadi на KDE 4.6.0 отказывается запускаться?

Akonadi отказывается запускать мою свежую установку KDE 4.6.0 из kubuntu-backports PPA в Ubuntu 10.10 Maverick Meerkat, не позволяя мне использовать KMail. Вот полный вывод ошибок:

patches@pleistocene:~/.local/share$ akonadictl start
Starting Akonadi Server...
   done.
patches@pleistocene:~/.local/share$ Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
search paths:  ("/home/patches/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") 
Found mysql_install_db:  "/usr/bin/mysql_install_db" 
Found mysqlcheck:  "/usr/bin/mysqlcheck" 
Database process exited unexpectedly during initial connection!
executable: "/usr/sbin/mysqld-akonadi"
arguments: ("--defaults-file=/home/patches/.local/share/akonadi//mysql.conf", "--datadir=/home/patches/.local/share/akonadi/db_data/", "--socket=/home/patches/.local/share/akonadi/socket-pleistocene/mysql.socket")
stdout: ""
stderr: "Could not open required defaults file: /home/patches/.local/share/akonadi//mysql.conf
Fatal error in defaults handling. Program aborted
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld-akonadi: Can't find file: './mysql/plugin.frm' (errno: 13)
110209 16:41:12 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110209 16:41:12  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver(_Z11akBacktracev+0x35) [0x8086055]
1: akonadiserver() [0x8086516]
2: [0xb772e400]
3: [0xb772e416]
4: /lib/libc.so.6(gsignal+0x51) [0xb6e9f941]
5: /lib/libc.so.6(abort+0x182) [0xb6ea2e42]
6: /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x8c) [0xb74d62dc]
7: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xc4) [0x8087574]
8: /usr/lib/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x8e) [0xb757168e]
9: /usr/lib/libQtCore.so.4(+0x103425) [0xb7581425]
10: /usr/lib/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3d) [0xb758295d]
11: akonadiserver(_ZN6QDebugD1Ev+0x43) [0x8081b73]
12: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1c27) [0x810c177]
13: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xe3) [0x8087a23]
14: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xca) [0x8088b6a]
15: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x48) [0x808a1d8]
16: akonadiserver(main+0x364) [0x8080fb4]
17: /lib/libc.so.6(__libc_start_main+0xe7) [0xb6e8bce7]
18: akonadiserver() [0x8080b81]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("/home/patches/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") 
Found mysql_install_db:  "/usr/bin/mysql_install_db" 
Found mysqlcheck:  "/usr/bin/mysqlcheck" 
Database process exited unexpectedly during initial connection!
executable: "/usr/sbin/mysqld-akonadi"
arguments: ("--defaults-file=/home/patches/.local/share/akonadi//mysql.conf", "--datadir=/home/patches/.local/share/akonadi/db_data/", "--socket=/home/patches/.local/share/akonadi/socket-pleistocene/mysql.socket")
stdout: ""
stderr: "Could not open required defaults file: /home/patches/.local/share/akonadi//mysql.conf
Fatal error in defaults handling. Program aborted
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld-akonadi: Can't find file: './mysql/plugin.frm' (errno: 13)
110209 16:41:12 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110209 16:41:12  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver(_Z11akBacktracev+0x35) [0x8086055]
1: akonadiserver() [0x8086516]
2: [0xb77ae400]
3: [0xb77ae416]
4: /lib/libc.so.6(gsignal+0x51) [0xb6f1f941]
5: /lib/libc.so.6(abort+0x182) [0xb6f22e42]
6: /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x8c) [0xb75562dc]
7: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xc4) [0x8087574]
8: /usr/lib/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x8e) [0xb75f168e]
9: /usr/lib/libQtCore.so.4(+0x103425) [0xb7601425]
10: /usr/lib/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3d) [0xb760295d]
11: akonadiserver(_ZN6QDebugD1Ev+0x43) [0x8081b73]
12: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1c27) [0x810c177]
13: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xe3) [0x8087a23]
14: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xca) [0x8088b6a]
15: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x48) [0x808a1d8]
16: akonadiserver(main+0x364) [0x8080fb4]
17: /lib/libc.so.6(__libc_start_main+0xe7) [0xb6f0bce7]
18: akonadiserver() [0x8080b81]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("/home/patches/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") 
Found mysql_install_db:  "/usr/bin/mysql_install_db" 
Found mysqlcheck:  "/usr/bin/mysqlcheck" 
Database process exited unexpectedly during initial connection!
executable: "/usr/sbin/mysqld-akonadi"
arguments: ("--defaults-file=/home/patches/.local/share/akonadi//mysql.conf", "--datadir=/home/patches/.local/share/akonadi/db_data/", "--socket=/home/patches/.local/share/akonadi/socket-pleistocene/mysql.socket")
stdout: ""
stderr: "Could not open required defaults file: /home/patches/.local/share/akonadi//mysql.conf
Fatal error in defaults handling. Program aborted
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld-akonadi: Can't find file: './mysql/plugin.frm' (errno: 13)
110209 16:41:12 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110209 16:41:12  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver(_Z11akBacktracev+0x35) [0x8086055]
1: akonadiserver() [0x8086516]
2: [0xb778b400]
3: [0xb778b416]
4: /lib/libc.so.6(gsignal+0x51) [0xb6efc941]
5: /lib/libc.so.6(abort+0x182) [0xb6effe42]
6: /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x8c) [0xb75332dc]
7: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xc4) [0x8087574]
8: /usr/lib/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x8e) [0xb75ce68e]
9: /usr/lib/libQtCore.so.4(+0x103425) [0xb75de425]
10: /usr/lib/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3d) [0xb75df95d]
11: akonadiserver(_ZN6QDebugD1Ev+0x43) [0x8081b73]
12: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1c27) [0x810c177]
13: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xe3) [0x8087a23]
14: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xca) [0x8088b6a]
15: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x48) [0x808a1d8]
16: akonadiserver(main+0x364) [0x8080fb4]
17: /lib/libc.so.6(__libc_start_main+0xe7) [0xb6ee8ce7]
18: akonadiserver() [0x8080b81]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
search paths:  ("/home/patches/bin", "/usr/local/sbin", "/usr/local/bin", "/usr/sbin", "/usr/bin", "/sbin", "/bin", "/usr/games", "/usr/sbin", "/usr/local/sbin", "/usr/local/libexec", "/usr/libexec", "/opt/mysql/libexec", "/opt/local/lib/mysql5/bin", "/opt/mysql/sbin") 
Found mysql_install_db:  "/usr/bin/mysql_install_db" 
Found mysqlcheck:  "/usr/bin/mysqlcheck" 
Database process exited unexpectedly during initial connection!
executable: "/usr/sbin/mysqld-akonadi"
arguments: ("--defaults-file=/home/patches/.local/share/akonadi//mysql.conf", "--datadir=/home/patches/.local/share/akonadi/db_data/", "--socket=/home/patches/.local/share/akonadi/socket-pleistocene/mysql.socket")
stdout: ""
stderr: "Could not open required defaults file: /home/patches/.local/share/akonadi//mysql.conf
Fatal error in defaults handling. Program aborted
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Warning] Can't create test file /home/patches/.local/share/akonadi/db_data/pleistocene.lower-test
110209 16:41:12 [Note] Plugin 'FEDERATED' is disabled.
/usr/sbin/mysqld-akonadi: Can't find file: './mysql/plugin.frm' (errno: 13)
110209 16:41:12 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
110209 16:41:12  InnoDB: Operating system error number 13 in a file operation.
InnoDB: The error means mysqld does not have the access rights to
InnoDB: the directory.
InnoDB: File name ./ibdata1
InnoDB: File operation call: 'create'.
InnoDB: Cannot continue operation.
"
exit code: 1
process error: "Unknown error"
"[
0: akonadiserver(_Z11akBacktracev+0x35) [0x8086055]
1: akonadiserver() [0x8086516]
2: [0xb784e400]
3: [0xb784e416]
4: /lib/libc.so.6(gsignal+0x51) [0xb6fbf941]
5: /lib/libc.so.6(abort+0x182) [0xb6fc2e42]
6: /usr/lib/libQtCore.so.4(_Z17qt_message_output9QtMsgTypePKc+0x8c) [0xb75f62dc]
7: akonadiserver(_ZN15FileDebugStream9writeDataEPKcx+0xc4) [0x8087574]
8: /usr/lib/libQtCore.so.4(_ZN9QIODevice5writeEPKcx+0x8e) [0xb769168e]
9: /usr/lib/libQtCore.so.4(+0x103425) [0xb76a1425]
10: /usr/lib/libQtCore.so.4(_ZN11QTextStreamD1Ev+0x3d) [0xb76a295d]
11: akonadiserver(_ZN6QDebugD1Ev+0x43) [0x8081b73]
12: akonadiserver(_ZN13DbConfigMysql19startInternalServerEv+0x1c27) [0x810c177]
13: akonadiserver(_ZN7Akonadi13AkonadiServer20startDatabaseProcessEv+0xe3) [0x8087a23]
14: akonadiserver(_ZN7Akonadi13AkonadiServerC1EP7QObject+0xca) [0x8088b6a]
15: akonadiserver(_ZN7Akonadi13AkonadiServer8instanceEv+0x48) [0x808a1d8]
16: akonadiserver(main+0x364) [0x8080fb4]
17: /lib/libc.so.6(__libc_start_main+0xe7) [0xb6fabce7]
18: akonadiserver() [0x8080b81]
]
"
ProcessControl: Application 'akonadiserver' returned with exit code 255 (Unknown error)
"akonadiserver" crashed too often and will not be restarted! 

Я попытался переместить папку ~ / .local / share / akonadi и запустить ее заново, а также попытался запустить Akonadi от нового пользователя, но все безрезультатно. .

Запрошено @djeikyb:

patches@pleistocene:~$ ls -ld ~/.local
drwxrwx--- 3 patches patches 4096 2011-02-07 03:15 /home/patches/.local


patches@pleistocene:~$ mysql_upgrade 
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' 
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) when trying to connect
FATAL ERROR: Upgrade failed

patches@pleistocene:~$ mysql_upgrade -S ~/.local/share/akonadi/socket-pleistocene/
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
Running 'mysqlcheck' with connection arguments: '--port=3306' '--socket=/var/run/mysqld/mysqld.sock' '--socket=/home/patches/.local/share/akonadi/socket-pleistocene/' 
mysqlcheck: Got error: 2002: Can't connect to local MySQL server through socket '/home/patches/.local/share/akonadi/socket-pleistocene/' (111) when trying to connect
FATAL ERROR: Upgrade failed
4
задан 10 February 2011 в 04:33

5 ответов

Это кажется повторяющейся проблемой для меня при каждой установке, о которой я забываю. Приведенное выше решение вроде решает проблему, но мне интересно, есть ли другой способ. На данный момент, Ubuntu 11.10 Oneiric, все, что вам нужно, это

sudo aa-complain usr.sbin.mysqld-akonadi

, чтобы запустить Aknoadi. Но давайте проанализируем проблему.

Apparmor - это утилита безопасности администрирования, которая накладывает ограничения на программы. После настройки Ubuntu административная утилита apparmor применяет профиль безопасности в / usr / sbin / mysqld-akonadi. Этот профиль находится в /etc/apparmor.d/usr.sbin.mysqld-akonadi "и содержит следующую спецификацию, которую я здесь сократил для конкретной ситуации:

profile /usr/sbin/mysqld  {
    ## [stuff snipped]
    @{HOME}/.local/share/akonadi/** rwk,
}

I'm не уверен, но я считаю, что «r» означает «чтение», «w» означает «запись», а «k» означает «mknod». Это означает, что mysqld разрешено создавать файлы и каталоги в любом месте в каталоге пользователя aknoadi .

Где / usr / sbin / mysqld-akonadi не работает в соответствии с /var/log/kern.log:

Apr 11 14:14:42 adiron kernel: [572346.502653] type=1400 audit(1334168082.226:675): apparmor="ALLOWED" operation="mknod" parent=31088 profile="/usr/sbin/mysqld-akonadi///usr/sbin/mysqld" name="/home/xxxxxx/.local/share/akonadi/db_data/adiron.lower-test" pid=31090 comm="mysqld" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000

Он говорит, что он терпит неудачу именно на Вызов "mknod". Странно, так как я думаю, что он настроен для него.

Однако, "man apparmor" содержит следующие строки:

"Ограниченный процесс не может вызвать mknod (2) для создавать символьные или блочные устройства. "

Это ограничение, по-видимому, имеет место независимо от спецификации в конкретном профиле." Ограниченный "процесс - это тот, который находится в режиме" применения ". Выпускает вышеупомянутый пожаловаться "команда" не ограничивает "процесс и d тогда разрешено создавать сокеты, только жалуясь на это, наряду со всем остальным, что ему разрешено делать, увеличивая ваши журналы.

Неясно, является ли это, казалось бы, необрезанное ограничение использования «mknod» в создание сокетов mysql можно настроить на стороне akonadi. В любом случае, это, кажется, только «Предупреждения» в журнале Akonadi, и кажется, что настоящие Ошибки происходят от таких вещей, как:

Apr 11 13:00:10 adiron kernel: [567875.200843] type=1400 audit(1334163610.926:57): apparmor="DENIED" operation="open" parent=15318 profile="/usr/sbin/mysqld-akonadi///usr/sbin/mysqld" name="/home/xxxxx/.local/share/akonadi/db_data/ibdata1" pid=15320 comm="mysqld" requested_mask="rw" denied_mask="rw" fsuid=1000 ouid=1000
Apr 11 13:00:11 adiron kernel: [567875.355533] type=1400 audit(1334163611.078:58): apparmor="DENIED" operation="open" parent=15327 profile="/usr/sbin/mysqld-akonadi///usr/sbin/mysqld" name="//home/xxxxx/.local/share/akonadi/mysql.conf" pid=15329 comm="mysqld" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000

, из которых Apparmor, кажется, настроен для разрешения. Я в растерянности от этого. Тем не менее, переключение безопасности в режим жалоб заставляет его работать. Я думаю, вы можете просто удалить usr.sbin.mysql-akonadi из /etc/apparmor.d/, и это будет столь же эффективно.

0
ответ дан 10 February 2011 в 04:33

У меня тоже была эта проблема: на kubuntu oneiric, обновленной с натти-установки, и на другой машине с kubuntu natty.

На обеих машинах помогла магия а-жалоб.

На natty мне также пришлось удалить каталог ~/.local/share/akonadi (который я делал несколько раз и на oneiric)

Также не уверен, сыграла ли в этом роль установка mysql-server ( Я еще не решился удалить его на обеих машинах)

Akonadi, похоже, работал из коробки на OpenSuSE 11.4. (KDE 4.6.0), хотя.

0
ответ дан 10 February 2011 в 04:33

Попробуйте (также) следующее:

K -> Системные настройки -> Запуск и завершение работы.

На вкладке «Автозапуск» выберите «Добавить программу» и введите команду «akonadictl start».

0
ответ дан 10 February 2011 в 04:33

В моем случае это связано с установленными пакетами mysql-server и mysql-server-5.1. Если я удалю их, akonadi снова начнет работать. Очень жаль, мне на моем ноутбуке тоже нужен mysql-сервер ...

Похоже, http://brahmalok.wordpress.com/2010/02/13/akonadi-error-solved/ содержит ответ:

sudo aa-complain mysqld
sudo /etc/init.d/apparmor reload
sudo aa-complain mysqld-akonadi
sudo /etc/init.d/apparmor reload
akonadictl start
0
ответ дан 10 February 2011 в 04:33

Насколько я вижу, проблема в конфигурации сервера akonadi: перед обновлением для сервера mysql было установлено значение / usr / sbin / mysqld в пользовательских настройках (не системных и, следовательно, не обновленных), после обновления профиль apparmor имеет вид для '/ usr / sbin / mysqld-akonadi' изменение сервера mysql на это исправляет все ... по крайней мере, для меня.

0
ответ дан 10 February 2011 в 04:33

Другие вопросы по тегам:

Похожие вопросы: