Дело в chroot s и /proc, /sys и /dev/pts заключается в том, что эти три файловые системы предоставлены ядром, поэтому они остаются неизменными, независимо от того, монтируете ли вы внутри chroot или извне. В самом деле, вы увидите ранее в инструкциях:
sudo mount --bind /dev chroot/dev
/dev заполняется ядром, но не является файловой системой, предоставляемой ядром, поэтому его нужно было установить с помощью связывания. Поэтому на практике вы увидите, что установка его с помощью связочных привязок (или иначе) до ввода chroot работает так же хорошо (предположим sudo):
for i in dev proc sys dev/pts
do
mount -o bind /$i chroot/$i
done
chroot chroot
for i in dev/pts proc sys dev
do
umount -chroot/$i
done
# or
mount -o bind /dev chroot/dev
mount -t sysfs none chroot/sys
mount -t proc none chroot/proc
mount -t devpts none chroot/dev/pts
chroot chroot
for i in dev/pts proc sys dev
do
umount -chroot/$i
done
Соответствующее чтение: [!d2 ] mount dev, proc, sys в среде chroot? Какие из proc, sys и т. Д. Должны быть привязаны (или нет), когда chrooting в «заменяющий» дистрибутив? Автоматизация chroot в сломанную систему