无法从 `mount --bind` 列出/访问 schroot 内的文件

无法从 `mount --bind` 列出/访问 schroot 内的文件

schroot我按照以下说明创建了 chroot :https://wiki.winehq.org/Building_Wine#Chroot

然后为了测试它,我做了:

$ sudo mkdir /TestA
$ echo abc |sudo tee /TestA/tst.txt

$ cat /TestA/tst.txt
abc

$ ls -ld /TestA /TestA/tst.txt
drwxr-xr-x 2 root root 4096 Sep 17 03:02 /TestA
-rw-r--r-- 1 root root    4 Sep 17 03:02 /TestA/tst.txt

$ sudo mkdir /srv/chroot/ubuntu_i386/TestB/
$ sudo mount -o bind /TestA/ /srv/chroot/ubuntu_i386/TestB/
$ mount |grep Test
/dev/mapper/MyLvmGroup-something on /srv/chroot/ubuntu_i386/TestB type ext4 (rw,relatime,errors=remount-ro)

$ schroot -c ubuntu_i386 -u root
$ ls -ld /TestB /TestB/tst.txt
ls: cannot access '/TestB/tst.txt': No such file or directory
drwxr-xr-x 2 root root 4096 Sep 17 06:10 /TestB
$ ls -l /TestB
total 0

我也在非 LVM 分区中尝试过作为绑定源,但没有成功。

怎么了?到处都有人说它有效,为什么它在这里不起作用?我缺少什么?

ubuntu 20.04

答案1

schroot实际上使用/run/schroot/mount/ubuntu_i386-...
和用于每个新的 chroot在它上面,它使用了一个新的巨大ID之后ubuntu_i386-

只需检查自动安装/绑定已经存在:
mount |grep ubuntu_i386

所以解决办法是:
运行后找出新的挂载目录schroot
然后正确挂载例如:
sudo mount -o bind /TestA /run/schroot/mount/ubuntu_i386-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee/TestB

相关内容