Можем ли мы просто использовать символическую ссылку вместо «mount --bind»?

Недавно я узнал о команде mount --bind , но есть кое-что, что я могу ' Я ясно понимаю. Предположим, у меня есть раздел на диске, и я смонтировал его в точку монтирования / bkup с помощью этой команды.

sudo mount /dev/sdd1 /bkup

Если я хочу, чтобы каталог / home / bkup отображался как ~ / bkup, я мог бы сделать

sudo mount --bind /bkup ~/bkup

Но чем он отличается от

ln -s /bkup ~/bkup

в действительности? Почему я должен использовать mount --bind , если я могу сделать то же самое с командой ln -s ?

1
задан 17 June 2021 в 16:58

1 ответ

mount --bind больше похож на эквивалент «жесткой ссылки» на каталог (ну, вы не можете создавать жесткие ссылки на каталоги, но это ближе всего, что вы можете получить), в то время как символическая ссылка ... ну, символическая ссылка.

Сам я обнаружил два случая, когда разница может быть важной:

  1. запуск какого-то сервиса в chroot. Символические ссылки из тюрьмы chroot за пределы тюрьмы chroot не работают, в то время как mount --bind работает.

  2. Совместное использование некоторого каталога по сети. Вы не можете поделиться символьной ссылкой, но вы можете поделиться каталогом, смонтированным через mount --bind.

Вы также должны быть очень осторожны с программами, которые по замыслу различают символические ссылки и фактические каталоги, такие как rsync. Попытка запустить rsync по символьной ссылке на каталог может дать вам совершенно другие результаты, чем вы ожидаете.

1
ответ дан 28 July 2021 в 11:28

Другие вопросы по тегам:

Похожие вопросы: