В моем debian 7:
$ pwd
/home/freestyler
$ mkdir old new
# mount --bind old new
затем
$ mount
/dev/cciss/c0d0p9 on /home/freestyler/new type ext4(rw,noatime,nodiratime,user_xattr,barrier=1,data=ordered)
Я могу видеть только /dev/cciss/c0d0p9
, что не то же самое, что /home/freestyler/old
Как мне получить исходный путь olddir?
В debian 6:
в mount
хорошо обойти путь olddir:
$ mount
/home/freestyler/old on /home/freestyler/new type none (rw,bind)
Это ошибка, у меня нет ответа для тебя, но вот отчет об ошибке:
mount: привязать крепления, не показанные как таковые в выходных данных mount
Мне было действительно любопытно, как это обойтись, поэтому я взял live cd debian 7 и начал экспериментировать. В конце концов я дошел до этого поста:
Обратите внимание, что / etc / mtab здесь полезен, только если это текстовый файл, поддерживаемый функцией mount. Некоторые дистрибутивы вместо этого устанавливают / etc / mtab как символическую ссылку на / proc / mounts; / proc / mounts в основном эквивалентен / etc / mtab, но имеет несколько отличий, одно из которых не отслеживает монтирование привязки.
Одна часть информации, которая сохраняется ядром, но не отображается в / proc / mounts, - это когда точка монтирования показывает только часть дерева каталогов в смонтированной файловой системе. На практике это чаще всего происходит с привязками:
монтировать --bind / mnt / one / sub / mnt / partial
В / proc / mounts записи для / mnt / one и / mnt / partial имеют одно и то же устройство, один и тот же тип файловой системы и одинаковые параметры. Информация о том, что / mnt / partial показывает только ту часть файловой системы, которая имеет корневой каталог / sub, видна в информации о точках монтирования для каждого процесса в / proc / $ pid / mountinfo (столбец 4). Записи там выглядят так:
12 34 56:78 / / mnt / one rw, relatime - ext3 / dev / foo rw, errors = remount-ro, data = order 12 34 56:78 / sub / mnt / partial rw, relatime - ext3 / dev / foo rw, errors = remount-ro, data = заказано
И в моем тестировании вы можете извлечь нужную информацию, используя:
root@debian:~# cat /proc/1/mountinfo
14 24 0:13 / /sys rw,nosuid,nodev,noexec,relatime - sysfs sysfs rw
15 24 0:3 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
16 24 0:5 / /dev rw,relatime - devtmpfs udev rw,size=10240k,nr_inodes=126630,mode=755
17 16 0:10 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
18 24 0:14 / /run rw,nosuid,noexec,relatime - tmpfs tmpfs rw,size=102704k,mode=755
20 24 11:0 / /lib/live/mount/medium ro,noatime - iso9660 /dev/sr0 ro
21 24 7:0 / /lib/live/mount/rootfs/filesystem.squashfs ro,noatime - squashfs /dev/loop0 ro
22 23 0:16 / /lib/live/mount/overlay rw,relatime - tmpfs tmpfs rw
23 24 0:17 / /lib/live/mount/overlay rw,noatime - tmpfs tmpfs rw,mode=755
24 1 0:18 / / rw,relatime - aufs aufs rw,si=993d359391edfb38,noxino
25 18 0:19 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,size=5120k
26 18 0:20 / /run/shm rw,nosuid,nodev,noexec,relatime - tmpfs tmpfs rw,size=205400k
27 15 0:21 / /proc/sys/fs/binfmt_misc rw,nosuid,nodev,noexec,relatime - binfmt_misc binfmt_misc rw
29 24 0:18 / /bindmount rw,relatime - aufs aufs rw,si=993d359391edfb38,noxino
30 24 0:18 /root/old /root/new rw,relatime - aufs aufs rw,si=993d359391edfb38,noxino
Из: Список только привязанных креплений
Вы также можете использовать cat /proc/$$/mountinfo
или в приложении вы можете использовать PID локального приложения.
В комментариях к другому вопросу еще один возможный вариант использования - findmnt |fgrep [
или если вы просто визуально проверяете, просто findmnt
и вы можете прочитать столбец источника, чтобы увидеть перечисленные привязки.
root@debian:~# findmnt | fgrep [
└─/root/new aufs[/root/old] aufs rw,relatime,si=993d359391edfb38,noxino