Red Hat Training

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

3.11. Монтирование связей и контекстно зависимые имена путей

Файловые системы GFS2 не поддерживают контекстно зависимые имена путей (CDPN, Context-Dependent Path Names), которые позволяют создавать символьные ссылки к произвольным файлам и каталогам. Для реализации этой функциональности в GFS2 используется опция bind команды mount.
Опция bind позволяет смонтировать часть файловой структуры в новую точку, сохраняя при этом исходную точку монтирования. Формат команды:
mount --bind olddir newdir
Так, содержимое старого_каталога будет доступно в точках старый_каталог и новый_каталог. С помощью этой опции также можно настроить отдельные файлы.
Например, после выполнения приведенных ниже команд содержимое /root/tmp будет идентично содержимому смонтированного заранее каталога /var/log.
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /tmp
Аналогичного результата можно достичь, создав запись в файле /etc/fstab. Следующая запись означает, что содержимое /root/tmp будет идентично /var/log.
/var/log                /root/tmp               none    bind            0 0
После монтирования файловой системы можно выполнить команду mount для проверки статуса монтирования. Пример:
[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
Аналогичного результата можно достичь, создав пустой каталог /bin. Затем, создав сценарий или запись в /etc/fstab, можно смонтировать каталог для соответствующей архитектуры в /bin с помощью команды mount --bind. Приведенная далее строка может использоваться в сценарии:
mount --bind /usr/i386-bin /bin
Или же можно создать следующую запись в файле /etc/fstab.
/usr/1386-bin             /bin               none    bind            0 0
Монтирование связей (bind mount) обеспечивает бóльшую гибкость по сравнению с методом CDPN, так как при этом можно монтировать различные каталоги в соответствии с определенными пользователями критериями (например, %fill). Контекстно зависимые имена путей в этом смысле более ограничены. Стоит заметить, однако, что вам придется написать собственный сценарий для осуществления монтирования в соответствии с критериями (например, если используется значение %fill).

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

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