Tôi đã thử gắn kết liên kết để khắc phục sự cố khi cài đặt một số gói với pacman(archlinux, thông tin thêm về vấn đề này ở đây ) trên một hệ thống trong đó /var(cũng như /homevà /usr/local) là các liên kết tượng trưng (trên các hệ thống tệp: SSD sang SATA).
Ban đầu nó trông rất tuyệt, nhưng, như Gilles đã chỉ ra, locateluôn đưa ra nhiều kết quả cho một tệp, mặc dù có PRUNE_BIND_MOUNTS = "yes"dòng trong /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
Đi sâu hơn một chút, tôi thấy rằng các liên kết gắn kết phức tạp hơn có thể được cắt tỉa chính xác:
$ 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
Nếu không có tùy chọn PRUNE_BIND_MOUNT, tôi sẽ có 3 kết quả:
$ 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
Một vấn đề khác với liên kết gắn kết:
Tất nhiên, người ta có thể tự thêm các liên kết gắn kết (mounpoint hoặc đích)
PRUNEPATHSvào /etc/updatedb.conf.
Ngoài ra, mountpointvà các statlệnh hoặc chức năng khác nhau có thể được sử dụng trong các công cụ để cải thiện truyền tải hệ thống tệp như đề xuất ở đây