Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.12. mount --bind и контекстные ссылки

GFS2 не поддерживает контекстные ссылки, использующие переменные для доступа к файлам и каталогам. Для реализации этой функциональности в GFS2 используется опция bind команды mount.
Опция bind позволяет смонтировать часть файловой структуры в другой каталог, не удаляя при этом исходную точку монтирования. Формат команды:
mount --bind каталог1 каталог2
После этого содержимое первого каталога будет доступно в обоих каталогах. Аналогичным образом можно настроить отдельные файлы.
Пример монтирования /var/log в новый каталог /root/tmp:
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /root/tmp
Аналогичного результата можно достичь, добавив запись в файл /etc/fstab:
/var/log                /root/tmp               none    bind            0 0
Чтобы проверить наличие установленной связи, выполните:
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
Рассмотрим еще один пример. Так, в файловых системах, поддерживающих использование контекстных ссылок, /bin можно связать с одним из следующих каталогов в зависимости от архитектуры:
/usr/i386-bin
/usr/x86_64-bin
/usr/ppc64-bin
Аналогичного результата можно достичь с помощью mount -bind. Создайте пустой каталог /bin и подключите в него вышеперечисленные каталоги. Строка монтирования для первого каталога будет выглядеть так:
mount --bind /usr/i386-bin /bin
Соответствующая запись в /etc/fstab:
/usr/1386-bin             /bin               none    bind            0 0
mount --bind обеспечивает бóльшую гибкость по сравнению с контекстными ссылками, так как позволяет подключать каталоги в соответствии с пользовательскими критериями (например, используя значение %fill для файловой системы). Однако для этого придется написать собственный сценарий.

Предупреждение

Если изначально файловая система была подключена в режиме rw, то при создании связи bind она тоже будет подключена в режиме rw (даже если вы явно укажете ro). При этом в каталоге /proc/mounts может быть неверно указан режим ro.