web-dev-qa-db-ja.com

php + mysqlのインストール時にAppArmorの「開けなかった」エラーを修正する方法

php5-imap php5-ldap php5-curlをインストールしたい

Sudo apt-get install php5-imap php5-ldap php5-curl

私はこのエラーを受け取ります:

AppArmor parser error for /etc/apparmor.d/usr.sbin.mysqld in /etc/apparmor.d/usr.sbin.mysqld at line 9: Could not open 'abstractions/mysql'

この問題はどのように解決できますか?

4
Ellouze Anis

ファイルabstractions/mysqlがありません。これは、MySQLを再インストールする前に完全に削除しようとしたときに起こりました。ファイルを別のサーバーからのコピーに置き換えることにより、この問題を修正しました。ファイルの内容は次のようになります。

# ------------------------------------------------------------------
#
#    Copyright (C) 2002-2006 Novell/SUSE
#    Copyright (C) 2013 Christian Boltz
#
#    This program is free software; you can redistribute it and/or
#    modify it under the terms of version 2 of the GNU General Public
#    License published by the Free Software Foundation.
#
# ------------------------------------------------------------------

   /var/lib/mysql{,d}/mysql{,d}.sock rw,
   /{var/,}run/mysql{,d}/mysql{,d}.sock rw,
   /usr/share/{mysql,mysql-community-server,mariadb}/charsets/ r,
   /usr/share/{mysql,mysql-community-server,mariadb}/charsets/*.xml r,

ファイルを作成し、上記の内容を追加してみてください:

Sudo nano /etc/apparmor.d/abstractions/mysql
2
user2395126

Ubuntu wikiが役立つかどうかを確認します。 https://wiki.ubuntu.com/DebuggingApparmor

具体的には、

デバッグ時には、apparmorを「苦情」モードにすることも有用です。これにより、apparmorがプロファイルにないアクセスを報告している間、アプリケーションは正常に機能します。 「苦情」モードを有効にするには、次を使用します。

Sudo aa-complain /path/to/bin

ここで、「/ path/to/bin」は「audit」エントリの「profile = ...」部分で報告されているバイナリへの絶対パスです。例えば:

Sudo aa-complain /usr/sbin/slapd

強制モードを再度有効にするには、代わりに「aa-enforce」を使用します。

Sudo aa-enforce /path/to/bin

プロファイルを無効にするには:

Sudo touch /etc/apparmor.d/disable/path.to.bin
Sudo apparmor_parser -R /etc/apparmor.d/path.to.bin

Ubuntu 10.10以前でプロファイルを無効にするには:

Sudo touch /etc/apparmor.d/disable/path.to.bin Sudo apparmor_parser -R /etc/apparmor.d/path.to.bin

11.04以降:

Sudo aa-disable /etc/apparmor.d/path.to.bin

テスト目的ですべてのAppArmorを無効にするには、カーネルコマンドラインでapparmor=0を使用して起動します。

1
belacqua

これは古い質問ですが、誰かが役に立つかもしれません。

アプリケーションの一部が個別のパッケージに分割される場合があります。装甲プロファイルについても同様です。それらはパッケージapparmor-profilesapparmor-profiles-extraに分割されています。そのため、一部のプロファイルが欠落している場合は、apparmor-profiles-extraをインストールしてください。

0
Sergey