Wie mache ich mount --bind permanent?


22

Wenn ich mache:

mount --bind dirone dirtwo

Nach dem Neustart des Betriebssystems geht die Bindung verloren.

Ich überprüfe die eingebundenen Verzeichnisse /proc/mounts

Wie kann ich diese Bindungen dauerhaft machen, ohne sie zu verstopfen /etc/fstab?

Hier ist ein Eintrag von /proc/mounts

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

1
Sie müssen diesen Befehl entweder beim Booten ausführen (rc.local) oder einen Eintrag in / etc / fstab einfügen. Was lässt Sie denken, dass dies / etc / fstab verstopft? , das ist, wofür fstab ist, fstab ist viel "sauberer" als rc.local
Panther

Antworten:


31

Was meinst du mit "verstopfen /etc/fstab"? Der beste Ort, um dies einzutragen, ist /etc/fstab ; dafür wurde es gemacht!

Alles was Sie tun müssen, ist eine Zeile nach dem ersten Mount hinzuzufügen:

# <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

Also empfehlen Sie einfach Kopieren / Einfügen von /proc/mountsnach /etc/fstab?
Alexander Kim

Ja, das sollte funktionieren. Montage sowohl Kopieren Sie einfach das Original und diemount --bind
ryanmjacobs

Danke, aber mount --bindnicht gespeichert /proc/mounts?
Alexander Kim

Nein, das glaube ich nicht. Es sollte jedoch nicht zu schwierig sein, den ersten Mount zu kopieren und dann Ihren eigenen für hinzuzufügen mount --bind.
Ryanmjacobs

genau wie in deinem Beispiel anstelle von rw,relatime,data=orderedTyp bind, oder?
Alexander Kim

19

Am einfachsten ist es , --bind zu mounten, was Sie möchten

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

Dann öffne mtab

sudo nano /etc/mtab

Kopieren Sie Ihre Zeile wie

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

und füge es in fstab ein, damit es beim Neustart eingebunden wird

sudo nano /etc/fstab

Wenn sich Ihr Ordner auf einem bereitgestellten Datenträger befindet, stellen Sie sicher, dass Ihre Bindungslinie nach dem Bereitstellen des Datenträgers kommt


2
Dies sollte die akzeptierte Lösung sein.
Daksh Miglani

3

Eine andere Lösung (die hilfreich ist, wenn Sie LVM verwenden und die akzeptierte Antwort nicht funktioniert und einige möglicherweise als nützlicher erachten, da sie etwas mehr Logik verwendet) wäre, etwas Ähnliches zu tun:

Fügen Sie Folgendes an Ihre crontab
# crontab -l | an Schwanz -1; cat / usr / sbin / custom-compiler-mount

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

Grundsätzlich würden Sie crond verwenden, um beim Neustart ein Skript auszuführen

#!/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 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.