Bug#1115158: debootstrap: default invocation creates chroot with broken symlinks
Package: debootstrap
Version: 1.0.141
Severity: serious
Dear Maintainer,
a typical use of debootstrap to create a chroot:
```
# debootstrap --arch=amd64 trixie /trixie https://deb.debian.org/debian
```
Leads to a filesystem with the following broken symlinks:
```
# find /trixie -xtype l
/trixie/etc/default/locale
/trixie/etc/vconsole.conf
/trixie/etc/mtab
```
This is definitely unexpected and unwanted, and likely in breach of some part
of debian policy (although I cannot find an exact sentence to quote).
The /etc/default/locale symlink points to /etc/locale.conf which doesn't exist
after a default debootstrap run. /etc/default/locale is an old compatibility
symlink and should be removed anyway.
The /etc/vconsole.conf symlink points to /etc/default/keyboard, which also
doesn't exist after a default debootstrap run. /etc/default/keyboard is a
debianism that should be removed, and /etc/vconsole.conf is the configuration
file that systemd-based distributions standardize around, and is not a symlink
on such distributions.
The /etc/mtab is also a very old compatibility symlink that points to
/proc/self/mounts but this broken symlink will likely be harder to agree on
removing. Additionally, unlike the previous two symlinks, /etc/mtab stops being
a broken symlink if /proc is mounted into the chroot, so it is less of an
issue.
Please try to find a way of making default run of debootstrap not create
chroots with broken symlinks.
Reply to: