如何在不破坏 apparmor 的情况下安全地移除 snap

Cha*_*een 9 apparmor snap 18.10

我想从我的系统中完全删除 Snap,但有一个小问题:

1st,我删除了所有 snap 包:

sudo snap remove $(snap list | tail -n +2 | cut -d" " -f1 | grep -v core | tr "/n" " ")
Run Code Online (Sandbox Code Playgroud)

然后我删除了 snapd 和 gnome snap 插件

sudo apt remove -y snapd gnome-software-plugin-snap
Run Code Online (Sandbox Code Playgroud)

问题在于,在重新启动时,Apparmor 正在寻找 snap 的配置文件,但无法解析 snap 配置文件:

Feb 21 21:40:47 dad apparmor[698]: AppArmor parser error for /var/lib/snapd/apparmor/profiles/snap-confine.core.5662 in /var/lib/snapd/apparmor/profiles/snap-confine.core.5662 at line 11: Could not open '/var/lib/snapd/apparmor/snap-confine'
Run Code Online (Sandbox Code Playgroud)

这给我留下了一个正在运行的系统,没有apparmor!

N0r*_*ert 8

AppArmor 配置文件位于/etc/apparmor.d/usr.lib.snapd.snap-confine.real文件中,该文件来自snapd包。

因此,您应该apt purge改用apt removeman apt有关详细信息,请参阅):

sudo apt purge snapd
Run Code Online (Sandbox Code Playgroud)

小提示:对我来说,下面的片段看起来更好 -

snap remove $(snap list | awk '{print $1}' | egrep -v "Name|core")
Run Code Online (Sandbox Code Playgroud)