Как сделать mount --bind постоянным?

Когда я делаю:

mount --bind dirone dirtwo

После перезагрузки ОС привязка теряется.

Я проверяю каталоги в /proc/mounts

Как я могу сделать эти связки постоянными, не забивая /etc/fstab?

Вот одна запись из /proc/mounts

/dev/disk/by-uuid/4f5082d7-aba2-4bc7-8d64-3bbb3d773aab /home/username/dir ext4 rw,relatime,data=ordered 0 0

4 ответа

Решение

Что вы имеете в виду "засорение /etc/fstab "? Лучшее место, чтобы положить это в /etc/fstab; вот для чего это было сделано!

Все, что вам нужно сделать, это добавить одну строку после первого монтирования:

# <device>                                 <dir>                 <type>  <options>                 <dump>  <pass>
UUID=288a84bf-876c-4c4b-a4ba-d6b4cc6fc0d2  /mnt/device            ext4    defaults,noatime,nofail   0       2
/mnt/device                                /srv/binded_device     none    bind                      0       0

Самый простой способ - установить - привязать то, что вам нужно

mount --bind /home/sda1/Windows/Users/Me/Dropbox ~/Dropbox

Затем откройте mtab

sudo nano /etc/mtab

Скопируйте свою строку как

/home/sda1/Windows/Users/Me/Dropbox /home/me/Dropbox none rw,bind 0 0

и вставьте его в fstab, чтобы он был при перезагрузке

sudo nano /etc/fstab

Если ваша папка находится на смонтированном диске, убедитесь, что строка привязки идет после монтирования диска

Другое решение (которое полезно, когда вы используете LVM и принятый ответ не будет работать, а некоторые могут посчитать более полезным, так как использует немного больше логики), будет делать что-то похожее на это:

Добавьте следующее в ваш crontab
# crontab -l | хвост -1; cat /usr/sbin/custom-compiler-mount

@reboot /usr/sbin/custom-compiler-mount

По сути, вы бы использовали crond для запуска скрипта при перезагрузке

#!/bin/bash
( until [[ $( (mount |& grep vg0-homevol 2>&1 9<&1 > /dev/null 1<&9) ) ]] ; 
do 
sleep 1 
done & wait;mount -o rbind /home/linuxgeek/experimental/s3/gcc/ /gcc & ) & >/dev/null 

Если это монтирование «для каждого пользователя», а не общесистемное монтирование, а не использование или создание /etc/fstabзапись, почему бы не использовать символическую ссылку?

      ln --symbolic target_dir access_point_of_target_dir

Добавьте эту строку в конец вашего пользовательского .profileфайл, чтобы он был доступен автоматически при входе в систему, без создания общесистемного fstabзапись, и без необходимости root-прав, как при размещении mount --bindв сценарии.

Это не идеальное решение, но я обнаружил, что в большинстве случаев символическая ссылка работает так же, как доступ к физическому каталогу.

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