Comment rendre le montage --bind permanent?

22

Quand je fais:

mount --bind dirone dirtwo

Après le redémarrage du système d'exploitation, la liaison est perdue.

Je vérifie les répertoires liés dans /proc/mounts

Comment puis-je rendre ces liaisons permanentes sans se boucher /etc/fstab?

Voici une entrée de /proc/mounts

/dev/disk/by-uuid/4f5082d7-aba2-4bc7-8d64-3bbb3d773aab /home/username/dir ext4 rw,relatime,data=ordered 0 0
Alexander Kim
la source
1
Vous devez soit exécuter cette commande lors du démarrage (rc.local), soit mettre une entrée dans / etc / fstab. Qu'est-ce qui vous fait penser que cela obstrue / etc / fstab? , c'est à ça que sert fstab, fstab est beaucoup plus "propre" que rc.local
Panther

Réponses:

31

Que voulez-vous dire par "colmatage /etc/fstab"? Le meilleur endroit où mettre cela est /etc/fstab ; c'est pour ça qu'il est fait!

Tout ce que vous avez à faire est d'ajouter une ligne après le premier montage:

# <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
ryanmjacobs
la source
Donc, vous recommandez simplement de copier / coller de /proc/mountsà /etc/fstab?
Alexander Kim
Oui, cela devrait fonctionner. Il suffit de copier à la fois la monture d'origine et lemount --bind
ryanmjacobs
Merci, mais mount --bindn'est pas enregistré /proc/mounts?
Alexander Kim
Non, je suppose que non; mais, il ne devrait pas être trop difficile de copier la première monture puis d'ajouter la vôtre pour mount --bind.
ryanmjacobs
tout comme dans votre exemple au lieu de rw,relatime,data=orderedtype bind, non?
Alexander Kim
19

La façon la plus simple est de monter - liez ce dont vous avez besoin

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

Ouvrez ensuite mtab

sudo nano /etc/mtab

Copiez votre ligne comme

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

et collez-le dans fstab pour qu'il monte au redémarrage

sudo nano /etc/fstab

Si votre dossier est sur un disque monté, assurez-vous que votre ligne de reliure vient après le montage du disque

dgpro
la source
2
ce devrait être la solution acceptée.
Daksh Miglani
3

Une autre solution (qui est utile lorsque vous utilisez LVM et que la réponse acceptée ne fonctionnera pas et que certains peuvent considérer plus utile car elle utilise un peu plus de logique) serait de faire quelque chose de similaire à ceci:

Ajoutez ce qui suit à votre crontab
# crontab -l | queue -1; cat / usr / sbin / custom-compiler-mount

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

Essentiellement, vous utiliseriez crond pour exécuter un script au redémarrage

#!/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 
linuxgeek
la source