moby: aufs: trying to install perl-base in debian:jessie fails

Digest: sha256:f968f10b4b523737e253a97eac59b0d1420b5c19b69928d35801a6373ffe330e
Status: Downloaded newer image for debian:jessie
 ---> c648cd6a7396
Step 2 : RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev  libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*

...

debconf: delaying package configuration, since apt-utils is not installed
Fetched 81.2 MB in 7min 37s (178 kB/s)
(Reading database ... 7531 files and directories currently installed.)
Preparing to unpack .../perl-base_5.20.2-3+deb8u2_amd64.deb ...
Unpacking perl-base (5.20.2-3+deb8u2) over (5.20.2-3+deb8u1) ...
dpkg: error processing archive /var/cache/apt/archives/perl-base_5.20.2-3+deb8u2_amd64.deb (--unpack):
 unable to make backup link of `./usr/bin/perl' before installing new version: No such file or directory
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/perl-base_5.20.2-3+deb8u2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command '/bin/sh -c apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev  libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*' returned a non-zero code: 100

can reproduce when running DOCKER_GRAPHDRIVER=aufs make deb.

Seems to be aufs issue, dmesg has:

[17080.675373] aufs au_opts_verify:1597:docker[1175]: dirperm1 breaks the protection by the permission bits on the lower branch
[17080.742010] aufs au_opts_verify:1597:docker[1175]: dirperm1 breaks the protection by the permission bits on the lower branch
[17080.773853] aufs au_opts_verify:1597:docker[1175]: dirperm1 breaks the protection by the permission bits on the lower branch
[17080.812664] aufs au_opts_verify:1597:docker[1175]: dirperm1 breaks the protection by the permission bits on the lower branch

Standard Info

$ uname -a
Linux debian 4.3.3-fsociety #1 SMP Sat Dec 19 03:36:35 UTC 2015 x86_64 GNU/Linux

$ docker info
Containers: 4
Images: 83
Server Version: 1.10.0-dev
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins: 
 Volume: local
 Network: bridge null host
Kernel Version: 4.3.3-fsociety
Operating System: Debian GNU/Linux stretch/sid
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.359 GiB
Name: debian
ID: HID6:TAIG:SWCC:NFOG:KUDO:IOSY:LIY3:PJDB:CZJQ:IH6M:5HBP:6VUT
Debug mode (server): true
 File Descriptors: 41
 Goroutines: 55
 System Time: 2016-01-12T17:45:13.861380035-08:00
 EventsListeners: 0
 Init SHA1: 
 Init Path: /usr/bin/docker
 Docker Root Dir: /var/lib/docker

$ docker version
Client:
 Version:      1.10.0-dev
 API version:  1.22
 Go version:   go1.5.2
 Git commit:   09510c7
 Built:        Tue Jan 12 22:13:46 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.0-dev
 API version:  1.22
 Go version:   go1.5.2
 Git commit:   09510c7
 Built:        Tue Jan 12 22:13:46 2016
 OS/Arch:      linux/amd64

ping @tianon who has also seen it

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 21 (19 by maintainers)

Most upvoted comments

So whatever this issue is, it’s fixed in newer versions of AUFS, which means that the fix for #18180 should cover this bug too (and Ubuntu’s planning to apply it too: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533043).