Apparmor fails boot and command line start with same result as below
x@x-NICEPUTER:~$ systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● apparmor.service loaded failed failed LSB: AppArmor initialization
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
1 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
x@x-NICEPUTER:~$ systemctl status apparmor.service
● apparmor.service - LSB: AppArmor initialization
Loaded: loaded (/etc/init.d/apparmor; bad; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2016-05-03 21:52:29 MDT; 1h 15min ago
Docs: man:systemd-sysv-generator(8)
Process: 523 ExecStart=/etc/init.d/apparmor start (code=exited, status=123)
May 03 21:52:22 x-NICEPUTER apparmor[523]: AppArmor parser error for /etc/apparmor.d/usr.bin.webbrowser-app in /etc/apparmor.d/usr.bin.webbrowser-app at line 26: Could not open '/usr/share/apparmor/hardware/graphics.d'
May 03 21:52:28 x-NICEPUTER apparmor[523]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
May 03 21:52:29 x-NICEPUTER apparmor[523]: Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
May 03 21:52:29 x-NICEPUTER apparmor[523]: AppArmor parser error for /etc/apparmor.d/usr.bin.webbrowser-app in /etc/apparmor.d/usr.bin.webbrowser-app at line 26: Could not open '/usr/share/apparmor/hardware/graphics.d'
May 03 21:52:29 x-NICEPUTER apparmor[523]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
May 03 21:52:29 x-NICEPUTER apparmor[523]: ...fail!
May 03 21:52:29 x-NICEPUTER systemd[1]: apparmor.service: Control process exited, code=exited status=123
May 03 21:52:29 x-NICEPUTER systemd[1]: Failed to start LSB: AppArmor initialization.
May 03 21:52:29 x-NICEPUTER systemd[1]: apparmor.service: Unit entered failed state.
May 03 21:52:29 x-NICEPUTER systemd[1]: apparmor.service: Failed with result 'exit-code'.
Directories apparmor/hardware/
and file graphics.d
do not exist inside /usr/share/
Thus #include /usr/share/apparmor/hardware/graphics.d
at line 26 of /etc/apparmor.d/usr.bin.webbrowser-app
returns null and causes the failure.
How can I properly fix this or at the least create a workaround that allows apparmor.service
to intialize without a failure?
uname -a
Linux x-NICEPUTER 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
sudo lshw
[sudo] password for x:
x-niceputer
description: Computer
width: 64 bits
capabilities: smbios-2.4 vsyscall32
*-core
description: Motherboard
physical id: 0
*-memory
description: System memory
physical id: 0
size: 3793MiB
*-cpu
product: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz
Seems to be a reported bug (#1554803)
It can be solved installing
apparmor-easyprof-ubuntu
or creating the folders by hand.In my case the problem appeared when I uninstalled the snapd package with
apt-get remove snapd
. Checking the syslog, it seems the snapd uninstaller deleted some directories but not the apparmor config files referencing them. I pruned the package withapt-get purge snapd
and restarted apparmor without errors.For me, I couldn't install any packages because both
ifconfig
andnetwork-manager
could not find/start my USB wifi dongle.So @xtrchessreal's comment is what worked for me:
In the recovery mode shell, create the following directories:
And then
reboot
Step 1 :go to advanced options for ubuntu
Step 2: start with Linux 4.4. 0-22 generic (recovery mode)
Step 3: then click (dpkg) from the list
Step 4: Wait for a moment, then it is not working type ' sudo-install-(next vesion) 16.04 of ubuntu Then wait for few minutes
Step 5: then resume and resart