/tmp, /, $HOME are in same partition. But only subdir of /tmp are mountable: ``` dev_1@dev_1 /tmp/test2$ df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p7 209921236 180793652 19663932 91% / dev_1@dev_1 /tmp/test2$ guix shell --container coreutils -- echo Elmo Elmo dev_1@dev_1 /tmp/test2$ cd /tmp/ dev_1@dev_1 /tmp$ df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p7 209921236 180793720 19663864 91% / dev_1@dev_1 /tmp$ guix shell --container coreutils -- echo Elmo Elmo
dev_1@dev_1 /tmp$ cd / dev_1@dev_1 /$ df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p7 209921236 180793808 19663776 91% / dev_1@dev_1 /$ guix shell --container coreutils -- echo Elmo guix shell: error: mount: mount "/" on "/tmp/guix-directory.fKcwvT//": Invalid argument dev_1@dev_1 /mnt/recoverData$ cd ~ dev_1@dev_1 ~$ df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p7 209921236 180793732 19663852 91% / dev_1@dev_1 ~$ guix shell --container coreutils -- echo Elmo guix shell: error: mount: mount "/home/dev_1" on "/tmp/guix-directory.LUuYdU//home/dev_1": Invalid argument ``` Other partition is also no mountable: ``` dev_1@dev_1 /mnt$ cd recoverData/ dev_1@dev_1 /mnt/recoverData$ df . Filesystem 1K-blocks Used Available Use% Mounted on /dev/nvme0n1p8 122503676 91394804 25287412 79% /mnt/recoverData dev_1@dev_1 /mnt/recoverData$ guix shell --container coreutils -- echo Elmo guix shell: error: mount: mount "/mnt/recoverData" on "/tmp/guix-directory.ut68VE//mnt/recoverData": Invalid argument ``` I don't think it is a partition issue. Le sam. 19 nov. 2022 à 12:47, Tobias Geerinckx-Rice <m...@tobias.gr> a écrit : > Hi bbb, > > bbb ee 写道: > > I feel guix shell --container can only mount subdir in /tmp, and > > fail for > > all other dir: > > Your example for ‘all other dir’ just tests /home/dev_1 again, > which looks extremely much like a mount point. So does /mnt. So > no mystery there, but I do wonder what's *special* about these > mountpoints compared to others. > > What is mounted at /home/dev_1 and (presumably) /mnt on your > system? Anything mounted at /home? Anything mounted *below* > /mnt/*? > > On my system: > > --8<---------------cut here---------------start------------->8--- > ~ λ mountpoint /tmp > /tmp is a mountpoint > > ~ λ guix shell -C --expose=/tmp=/test coreutils -- echo Elmo world > Elmo world > > ~ λ guix shell -C --expose=/proc=/test coreutils -- echo Elmo > world > guix shell: error: mount: mount "/proc" on > "/tmp/guix-directory.zTa1qb//test": Invalid argument > --8<---------------cut here---------------end--------------->8--- > > Weird! Clearly, /proc is imbued with magical Kernel magick and > simply canno— what? Oh: > > --8<---------------cut here---------------start------------->8--- > ~ λ mount | grep /proc > none on /proc type proc (rw,relatime) > binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc > (rw,relatime) > --8<---------------cut here---------------end--------------->8--- > > Surely not… > > --8<---------------cut here---------------start------------->8--- > ~ λ sudo umount /proc/sys/fs/binfmt_misc > > ~ λ guix shell -C --expose=/proc=/test coreutils -- echo Elmo > world > Elmo world > --8<---------------cut here---------------end--------------->8--- > > …huh. > > So, ‘guix shell --container’ apparently takes issue with rbind'ing > mounts, or something like that. > > Maybe that's something Guix can handle by bind-mounting the entire > subtree itself, or maybe it's a hard permissions error enforced by > the kernel. I don't know. > > Someone with podman/Docker/similar experience might. > > Kind regards, > > T G-R >