
Ich verwende es, um eine Datei von einem Dateisystem auf eine andere Datei im Dateisystem mount --bind
zu "überlagern" . Zum Beispiel ist eine Datei auf einer schreibgeschützten Partition, aber ich habe eine andere Partition, auf der eine beschreibbare Datei ist. Wenn ich alsoext4,rw
ext4,ro
/etc/hosts
/
/rw/etc/hosts
# mount --bind /rw/etc/hosts /etc/hosts
Alle Schreibvorgänge /etc/hosts
gehen an/rw/etc/hosts
Dies hat in gut funktioniert
CentOS 6.3
.
# mount -o ro /dev/sdc1 /ro
# mount -o rw /dev/sdc2 /rw
# mount --bind rw/test ro/test
# echo 1 > rw/test
# cat ro/test
1
# echo 2 > ro/test # [1]
# cat rw/test
2
Ich bekomme es aber nicht zum Laufen. CentOS 6.4
Ich wiederhole die obigen Schritte, aber beim Versuch, in Folgendes zu schreiben, wird eine Fehlermeldung angezeigt ro/test
:
# echo 2 > ro/test # [1]
-bash: ro/test: Read-only file system
SELinux
ist deaktiviert. Irgendwelche Ideen, was dazu führen könnte, dass dies nicht mehr funktioniert?
CentOS 6.3 Kernel: 2.6.32-279.22.1.el6.x86_64
CentOS 6.4 Kernel: 2.6.32-358.el6.x86_64
und2.6.32-358.2.1.el6.x86_64
Antwort1
Irgendwelche Ideen, warum dies nicht mehr funktioniert?
Wahrscheinlich ein Fehler, der zusammen mit der Unterstützung für fsfreeze in den Kernel eingeführt wurde. Ich habeBZ #951311um dies zu verfolgen.
Antwort2
# mount --bind rw/test ro/test
# echo 1 > rw/test
Sie können nur Verzeichnisse mounten.
Sie können echo nicht zum Schreiben in ein Verzeichnis verwenden.
Sie möchten wahrscheinlich
# mount --bind rw ro