Upgrade from 18.04.5 LTS to 20.04.1 LTS fails apparmor missing files
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-release-upgrader (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Yesterday I've tried to upgrade Ubuntu 18.04.5 LTS to 20.04.1 LTS and upgrade was done but with errors. After rebooting I've got a number of errors which most annoying was:
appstreamcli: undefined symbol: AS_APPSTREAM_
When trying to use apt, so it wasn't possible to proceed any further.
The upgrade was done in terminal not in X Server.
Commands that I've executed. Before upgrade:
sudo apt-get update && sudo apt-get dist-upgrade
sudo apt autoremove
sudo reboot
After reboot:
do-release-upgrade -m desktop
reboot
I've tried to execute:
apt dist-upgradeapt --fix-broken install
after reboot but it also failed.
As it turned out all those problems were related to the fact that two configuration files were missing after upgrade for app-armor:
/etc/apparmor.
/etc/apparmor.
After creating them I was able to continue and fix upgrade errors. Nevertheless I would expect that going from one LTS to another is smooth process.
For those who also have similar problems those are contents of those files:
root@desktop-
# Copyright (C) 2012 Canonical Ltd.
#
# 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.
#
# -------
# @{PROC} is the location where proc is mounted.
@{PROC}=/proc/
root@desktop-
# -------
#
# Copyright (C) 2006-2009 Novell/SUSE
# Copyright (C) 2010 Canonical Ltd.
#
# 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.
#
# -------
# @{HOME} is a space-separated list of all user home directories. While
# it doesn't refer to a specific home directory (AppArmor doesn't
# enforce discretionary access controls) it can be used as if it did
# refer to a specific home directory
@{HOME}
# @{HOMEDIRS} is a space-separated list of where user home directories
# are stored, for programs that must enumerate all home directories on a
# system.
@{HOMEDIRS}=/home/
# Also, include files in tunables/home.d for site-specific adjustments to
# @{HOMEDIRS}.
#include <tunables/home.d>