
Я использую mount --bind
для "наложения" файла из одной ext4,rw
файловой системы на другой файл в ext4,ro
файловой системе. Например, /etc/hosts
находится на разделе только для чтения /
, но у меня есть другой раздел, на котором /rw/etc/hosts
можно записывать. Поэтому, когда я делаю
# mount --bind /rw/etc/hosts /etc/hosts
любые записи /etc/hosts
будут отправлены/rw/etc/hosts
Это отлично сработало в
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
Но я не могу заставить это работать. CentOS 6.4
Я повторяю шаги, описанные выше, но получаю ошибку при попытке записи в ro/test
:
# echo 2 > ro/test # [1]
-bash: ro/test: Read-only file system
SELinux
отключено. Есть идеи, что может заставить это перестать работать?
Ядро CentOS 6.3: 2.6.32-279.22.1.el6.x86_64
Ядро CentOS 6.4: 2.6.32-358.el6.x86_64
и2.6.32-358.2.1.el6.x86_64
решение1
Есть идеи, что может привести к тому, что это перестанет работать?
Вероятно, ошибка, которая была введена в ядро вместе с поддержкой fsfreeze. Я открылБЗ № 951311чтобы отслеживать это.
решение2
# mount --bind rw/test ro/test
# echo 1 > rw/test
Вы можете монтировать только каталоги.
Вы не можете использовать echo для записи в каталог.
Вы, вероятно, хотите
# mount --bind rw ro