나는 몇 가지 패키지를 설치하는 문제를 해결하기 위해 마운트 바인드를 시도 pacman
(아치 리눅스, 그 여기에 대한 자세한 시스템에서) /var
(뿐만 아니라 /home
와 /usr/local
)이었다 심볼릭 링크 (: SSD SATA에 파일 시스템에서).
Gilles가 지적했듯이 처음에는 멋지게 보였지만 locate
의 PRUNE_BIND_MOUNTS = "yes"
행 에도 불구하고 항상 단일 파일에 대해 여러 개의 결과를 제공 했습니다 /etc/updatedb.conf
.
$ locate \*/findutils-4.4.2 | xargs ls -ldiog
33816600 drwxr-xr-x 12 4096 Dec 3 00:05 /SHARED/LOCALS/Manjaro/src/findutils-4.4.2
33816600 drwxr-xr-x 12 4096 Dec 3 00:05 /usr/local/src/findutils-4.4.2
조금 더 파고 더 복잡한 바인드 마운트가 올바르게 정리 될 수 있음을 발견했습니다.
$ sudo mount --bind /SHARED/LOCALS/common/ /usr/local/common
$ findmnt | fgrep -n sdb
34:├─/SHARED/LOCALS /dev/sdb5 ext4 rw,relatime,data=ordered
35:│ └─/SHARED/LOCALS/Manjaro/common /dev/sdb5[/common] ext4 rw,relatime,data=ordered
36:├─/usr/local /dev/sdb5[/Manjaro] ext4 rw,relatime,data=ordered
37:│ └─/usr/local/common /dev/sdb5[/common] ext4 rw,relatime,data=ordered
38:├─/SHARED/HOMES /dev/sdb4 ext4 rw,relatime,data=ordered
39:├─/home /dev/sdb4[/Manjaro] ext4 rw,relatime,data=ordered
40:├─/SHARED/VARS /dev/sdb3 ext4 rw,relatime,data=ordered
41:├─/var /dev/sdb3[/Manjaro] ext4 rw,relatime,data=ordered
42:└─/opt /dev/sdb5[/opt] ext4 rw,relatime,data=ordered
$ sudo updatedb --debug-pruning 2>&1 >/dev/null | grep bind
prune_bind_mounts\000
Rebuilding bind_mount_paths:
Matching bind_mount_paths:
Skipping `/SHARED/LOCALS/Manjaro/common': bind mount
Skipping `/usr/local/common': bind mount
$ locate \*/mmedia
/SHARED/LOCALS/common/mmedia
PRUNE_BIND_MOUNT 옵션이 없으면 3 가지 결과가 나타납니다.
$ sudo sed -i '1 s/yes/no/' /etc/updatedb.conf
$ sudo updatedb --debug-pruning 2>&1 >/dev/null | grep bind
prune_bind_mounts\000
$ locate \*/mmedia
/SHARED/LOCALS/Manjaro/common/mmedia
/SHARED/LOCALS/common/mmedia
/usr/local/common/mmedia
$ sudo sed -i '1 s/no/yes/' /etc/updatedb.conf
바인드 마운트의 또 다른 문제 :
물론 바인드 마운트 (mounpoint 또는 target)를 PRUNEPATHS
in에 수동으로 추가 할 수 있습니다
/etc/updatedb.conf
.
또한 mountpoint
다양한 stat
명령 또는 기능을 여기에 제안 된대로 파일 시스템 탐색을 향상시키는 도구에 사용할 수 있습니다.