The /usr/sbin file not a symlink when it's causing an error. I'm guessing that it's a hard link but that the package upgrade is somehow deleting the /sbin directory entry (because it's the only one listed in the dpkg -L output) and building a new inode for the new file contents, but leaving the /usr/sbin entry pointing to the old inode. Our solution has been to delete the old version in /usr/sbin and replace it with a symlink, but this might affect more Docker users who run on release- updated systems. I did find some somewhat recent references to that strconv.Atoi error for docker users, so I expect others are having the same problem, which is why I'm reporting it here. Ideally you would create a package update that in the post-update script tests whether the /usr/sbin entry is a regular file/hard link or a symlink, and deletes the existing entry if it's not a symlink before recreating it as a symlink.
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apparmor in Ubuntu. https://bugs.launchpad.net/bugs/2017594 Title: package leaves non-updated copy of /usr/sbin/apparmor_parser after update to apparmor-2.13.3-7ubuntu5.2. Orphaned older executable breaks docker Status in apparmor package in Ubuntu: Confirmed Bug description: There appears to be two copies of apparmor_parser installed by previous versions of the apparmor package, in /sbin and /usr/sbin. When updating the apparmor package to apparmor-2.13.3-7ubuntu5.2, only the /sbin/apparmor_parser executable is updated and the /usr/sbin copy is left unchanged. Being earlier the path, /usr/sbin/apparmor_parser is used by Docker when trying to register the docker-default apparmor profile for containers. The orphaned older executable reports a warning about a new parameter in the parser configuration file in the same package, and that warning breaks the version check that docker runs against that executable on the first line of output. trying to parse the warning while looking for the version number results in the error: docker: Error response from daemon: AppArmor enabled on system but the docker-default profile could not be loaded: strconv.Atoi: parsing "file": invalid syntax. As a workaround, we've been replacing the old version in /usr/sbin with a symlink to the file in /sbin, but the package should be corrected to do appropriate behaviour (either delete the unnecessary(?) copy in /usr/sbin or replace it with a symlink) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2017594/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp