installing or upgrading libc6 in Trusty removes all content from /tmp directory
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
upstart (Ubuntu) |
Triaged
|
Low
|
Unassigned |
Bug Description
We are seeing an issue with installation of dkms package during a curtin installation which ends up with /tmp directory being wiped clean. This is very bad for curtin as it saves critical installation files in /tmp.
It turns out that it's the of upgrading libc6, which is triggered as a result of installing dependencies, that removes content of /tmp. For example, installation of gcc results in the same result since it ends up with libc6 being upgraded. The only way that this won't be recreated is if the latest libc6 is already installed.
This problem does not exist in precise. It can also be recreated by installing the .deb file for any version in trusty including 2.17.
=======
ubuntu@host:~$ ls /tmp
tmpHHbRkP
ubuntu@sirrush:~$ sudo apt-get install libc6
sudo: unable to resolve host sirrush
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libc-dev-bin libc6-dev
Suggested packages:
glibc-doc
Recommended packages:
manpages-dev
The following packages will be upgraded:
libc-dev-bin libc6 libc6-dev
3 upgraded, 0 newly installed, 0 to remove and 148 not upgraded.
Need to get 6,714 kB of archives.
After this operation, 6,144 B disk space will be freed.
Do you want to continue? [Y/n] y
Get:1 http://
Get:2 http://
Get:3 http://
Fetched 6,714 kB in 0s (18.5 MB/s)
Preconfiguring packages ...
(Reading database ... 57798 files and directories currently installed.)
Preparing to unpack .../libc6-
Unpacking libc6-dev:amd64 (2.19-0ubuntu6.6) over (2.19-0ubuntu6.3) ...
Preparing to unpack .../libc-
Unpacking libc-dev-bin (2.19-0ubuntu6.6) over (2.19-0ubuntu6.3) ...
Preparing to unpack .../libc6_
Unpacking libc6:amd64 (2.19-0ubuntu6.6) over (2.19-0ubuntu6.3) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up libc6:amd64 (2.19-0ubuntu6.6) ...
Setting up libc-dev-bin (2.19-0ubuntu6.6) ...
Setting up libc6-dev:amd64 (2.19-0ubuntu6.6) ...
Processing triggers for libc-bin (2.19-0ubuntu6.3) ...
ubuntu@host:~$ ls /tmp
ubuntu@host:~$
=======
This is very recreatable.
summary: |
- installing or upgrading libc6 removes all content from /tmp directory + installing or upgrading libc6 in Trusty removes all content from /tmp + directory |
description: | updated |
Changed in upstart (Ubuntu): | |
importance: | Undecided → Low |
I was only able to recreate in curtin environment which has overlay root:
$ mount /media/ root-ro/ ,upperdir= /media/ root-rw/ overlay) nosuid, nodev) nosuid, nodev) fuse/connection s type fusectl (rw) security type securityfs (rw) nosuid, gid=5,mode= 0620) nosuid, size=10% ,mode=0755) nosuid, nodev,size= 5242880) nosuid, nodev,size= 104857600, mode=0755) cgroup/ systemd type cgroup (rw,noexec, nosuid, nodev,relatime, name=systemd)
overlayroot on / type overlayfs (rw,lowerdir=
proc on /proc type proc (rw,noexec,
sysfs on /sys type sysfs (rw,noexec,
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,
tmpfs on /run type tmpfs (rw,noexec,
none on /run/lock type tmpfs (rw,noexec,
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,
none on /sys/fs/pstore type pstore (rw)
/dev/sdf on /media/root-ro type ext4 (ro)
tmpfs-root on /media/root-rw type tmpfs (rw,relatime)
systemd on /sys/fs/
Attached are process_dump files for strace -o process_dump -ff apt-get install libc6