Як зробити mount --bind постійним?


22

Коли я роблю:

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

1
Вам потрібно виконати цю команду під час завантаження (rc.local) або поставити запис у / etc / fstab. Чому ви думаєте, що це засмічення / etc / fstab? це те, для чого fstab, fstab набагато "чистіший", а потім rc.local
Пантера

Відповіді:


31

Що ви маєте на увазі "засмічення /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

Таким чином , ви рекомендуєте просто копіювати / вставити з /proc/mountsв /etc/fstab?
Олександр Кім

Так, це має спрацювати. Просто скопіюйте як оригінальне кріплення, так іmount --bind
ryanmjacobs

Дякую, але mount --bindне збережено /proc/mounts?
Олександр Кім

Ні, я думаю, це не так; але, скопіювати перше кріплення не слід занадто важко, а потім додати власне mount --bind.
ryanmjacobs

як у вашому прикладі замість rw,relatime,data=orderedтипу bind, правда?
Олександр Кім

19

Найпростіший спосіб - встановити - зв’язати те, що вам потрібно

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

Якщо у вас папка на встановленому диску, переконайтеся, що після приєднання диска прийшов рядок прив’язки


2
це має бути прийнятим рішенням.
Дакш Міглані

3

Іншим рішенням (яке корисно, коли ви використовуєте LVM, і прийнята відповідь не працюватиме, а деякі можуть вважати кориснішими, оскільки вона використовує трохи більше логіки) буде робити щось подібне до цього:

Додайте до свого crontab
# crontab -l | хвіст -1; cat / usr / sbin / custom-компілятор-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 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.