Package: debootstrap
Severity: normal

Dear Maintainer,

When creating a basic chroot environment using debootstrap, the /run
directory is not empty upon completion. Various runtime artifacts, sockets,
and subdirectories are left behind permanently inside the underlying
persistent filesystem layer.

This behavior occurs because runtime directories are not handled as
volatile tmpfs mounts during the bootstrap/build process. As a result,
packages configured during the bootstrap phase write directly into the root
filesystem's /run directory, where they permanently remain.

Steps to reproduce and actual outcome (verified on a fresh build today):

$ sudo debootstrap stonking ./stonking-chroot
$ ls -la stonking-chroot/run

Actual outcome:
total 0
drwxr-xr-x 10 root root 240 Jul  3 19:02 ./
drwxr-xr-x 17 root root 420 Jul  3 19:02 ../
-rw-r--r--  1 root root   0 Jul  3 19:02 adduser
drwxrwxrwt  3 root root  60 Jul  3 19:02 lock/
drwxr-xr-x  2 root root  40 Jul  3 19:02 log/
drwxr-xr-x  2 root root  40 Jul  3 19:02 sendsigs.omit.d/
drwxr-xr-x  2 root root  40 Jul  3 19:02 setrans/
lrwxrwxrwx  1 root root   8 Jul  3 19:02 shm -> /dev/shm
drwxr-xr-x  2 root root  40 Jul  3 19:02 sshd/
drwx--x--x  2 root root  40 Jul  3 19:02 sudo/
drwxr-xr-x 10 root root 200 Jul  3 19:02 systemd/
drwxr-xr-x  2 root root  40 Jul  3 19:02 user/

Expected outcome:
The /run directory should remain strictly empty in the final root
filesystem artifact (containing only . and ..), ensuring that it does not
carry over build-time artifacts into systems or live images built from this
chroot.

This issue is also tracked on the Ubuntu side as Launchpad bug #2122474:
https://bugs.launchpad.net/ubuntu/+source/debootstrap/+bug/2122474

Reply via email to