Размонтировать устройство после привязки монтажных каталогов: это безопасно?

9

У меня есть домашний раздел, который используется несколькими дистрибутивами на одном компьютере. Я использую bindкрепления от fstab. Каждая установка Linux имеет что-то вроде этого:

UUID=[...]       /mnt/data  ext4  nodev,nosuid   0 2
/mnt/data/arch   /home      none  defaults,bind  0 0
/mnt/data/files  /files     none  defaults,bind  0 0

Недостаток, конечно, в том, что /mnt/data/archи /mnt/data/filesсейчас монтируются дважды. Я попытался догадаться, что umount /mnt/data, похоже, работает так, как я надеялся: в соответствии с mountэтим устройство теперь установлено только на /homeи /files.

Мои вопросы:

  1. Это безопасно , или я что-то упускаю?
  2. Можно ли получить тот же эффект, что и umount /mnt/dataпри использовании только fstab? Или я мог бы сделать это в rc.local?
Петр-Поль ван Гемерден
источник

Ответы:

8

Безопасно отключить одну из подключенных копий. После того, как вы запустите mount --bind /foo /bar, ядро ​​не отслеживает, какой из /fooили /barпришел первым, это две точки монтирования для одной и той же файловой системы (или части файловой системы).

Обратите внимание , что , если /fooэто точка монтирования , но /foo/wibbleэто не так , mount --bind /foo/wibble /barделает /barпункт часть файловой системы, смонтирован на /foo. Все еще нормально размонтировать /foo.

Поэтому, если вы монтируете /mnt/data, затем привязываете его части к /homeи /files, и демонтируете /mnt/data, у вас не будет доступа к /mnt/dataвнешним частям archи files. Если это не беспокоит вас, сделайте это.

Вы не можете достичь этого через fstab: он поддерживает только монтирование файловых систем. Связывание монтирований происходит через хак ( bindопция монтирования внутри команды превращается в --bindопцию mountкоманды). mount --moveи размонтирование не может быть указано в fstab. Вы можете использовать /etc/rc.localдля вызова umount.

Жиль "ТАК - перестань быть злым"
источник
Недоступность чего-либо кроме archи filesбыла именно тем, к чему я стремился. Спасибо за подтверждение. :-)
Петер-Поль ван Гемерден