Ubuntu – How to safely remove snap without breaking apparmor

18.10apparmorsnap

I'd like to remove Snap from my system entirely, but have a smallish problem:

1st, I removed all snap packages:

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

Then I removed snapd, and the gnome snap plugin

sudo apt remove -y snapd gnome-software-plugin-snap

The problem is that at reboot, Apparmor is looking for a profile for snap, and fails parsing snap configuration files:

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'

which leaves me with a running system, and no apparmor!

Best Answer

The AppArmor profile is located in /etc/apparmor.d/usr.lib.snapd.snap-confine.real file, which came from snapd package.

So you should use apt purge instead apt remove (see man apt for details):

sudo apt purge snapd

Small note: for me the snippet below looks better -

snap remove $(snap list | awk '{print $1}' | egrep -v "Name|core")
Related Question