これはおそらく悪い質問だと思いますが、行き詰まっています。たくさんグーグルした後、私は問題を解決するのに苦労しています。私はAppArmorをDebianで動作させようとしています。 https://wiki.debian.org/AppArmor/HowToUse の指示に従っています。
指示の一部は私にやるように言った
Sudo Perl -pi -e 's,GRUB_CMDLINE_LINUX="(.*)"$,GRUB_CMDLINE_LINUX="$1 apparmor=1 security=apparmor",' /etc/default/grub
Sudo update-grub
Sudo reboot
Perl
コマンドを理解していなかったため、VMでこれを実行しましたが、セーフモードでもFirefoxを使用できなくなりました。セグメンテーション違反が発生します。
Fontconfig error: Cannot load default config file
(firefox:3875): Pango-WARNING **: failed to choose a font, expect ugly output. engine-type='PangoRenderFc', script='common'
Crash Annotation GraphicsCriticalError: |[0][GFX1]: no fonts - init: 1 fonts: 0 loader: 0 (t=0.206719) [GFX1]: no fonts - init: 1 fonts: 0 loader: 0
[3875] ###!!! ABORT: unable to find a usable font (Sans): file /tmp/buildd/firefox-47.0.1/gfx/thebes/gfxTextRun.cpp, line 1875
[3875] ###!!! ABORT: unable to find a usable font (Sans): file /tmp/buildd/firefox-47.0.1/gfx/thebes/gfxTextRun.cpp, line 1875
Segmentation fault
apt-cache policy apparmor
apparmor:
Installed: 2.9.0-3
Candidate: 2.9.0-3
Version table:
2.10.95-4~bpo8+2 0
100 http://ftp.uk.debian.org/debian/ jessie-backports/main AMD64 Packages
*** 2.9.0-3 0
500 http://ftp.uk.debian.org/debian/ jessie/main AMD64 Packages
500 http://mirror.bytemark.co.uk/debian/ jessie/main AMD64 Packages
100 /var/lib/dpkg/status
/etc/fonts/fonts.confのls-lは、次を返します。
-rw-r--r-- 1 root root 5533 Nov 23 2014 /etc/fonts/fonts.conf
コマンドでフォント設定パスをエクスポートしてみました
export FONTCONFIG_PATH=/etc/fonts
しかし、これは役に立ちませんでした。
パスを確認したため、これが存在しないフォントを探していることはわかっていますが、現在は行き詰まっていて、アイデアがなく、Googleからのヘルプを見つけることができません。
私はなんとか問題を解決することができました。これを行う方法は、/ etc/default/grubを編集し、GRUB_CMDLINE_LINUXをから変更することでした。
GRUB_CMDLINE_LINUX=" apparmor=1 security=apparmor"
に
GRUB_CMDLINE_LINUX=""
次に、Sudo update grub
およびSudo reboot
を実行した後、問題が修正されました。ただし、これにより、エラーが発生したため、apparmorが機能しなくなりました。
apparmor.common.AppArmorException: 'Warning: unable to find a suitable fs in /proc/mounts, is it mounted?\nUse --subdomainfs to override.\n'
しかし、私は再びDebianガイドのコマンドを使用してこれを解決することができました。
Sudo Perl -pi -e 's,GRUB_CMDLINE_LINUX="(.*)"$,GRUB_CMDLINE_LINUX="$1 apparmor=1 security=apparmor",' /etc/default/grub
Sudo update-grub
Sudo reboot
再起動後、Firefoxを起動しようとしましたが、エラーは発生せず、すべて正常に機能しています。しかし、私のPCでそれを試した後、私は再びsegfaultの問題を抱え始め、この修正は機能しませんでした。しかし、/etc/apparmor.d
でapparmorプロファイルを比較した後、プロファイルルールが異なることがわかりました。
Segfaulting pcのルール:
# Last Modified: Tue Aug 2 11:32:25 2016
#include <tunables/global>
/usr/lib/firefox/firefox {
#include <abstractions/base>
/usr/bin/firefox r,
}
作業用PCのルール:
# Last Modified: Tue Aug 2 11:32:25 2016
#include <tunables/global>
/usr/bin/firefox {
#include <abstractions/base>
#include <abstractions/bash>
/bin/dash ix,
/usr/bin/firefox r,
}
設定ファイルに#include <abstractions/bash>
と/bin/dash ix,
を追加し、パスを/usr/bin/firefox
に変更したところ、再起動後に問題が修正されました。