3.11. Nombres de rutas dependientes del contexto y montajes enlazados
El sistema de archivos GFS2 no proporciona soporte para nombres de rutas dependientes del contexto (CDPN), el cual permite crear enlaces simbólicos que apuntan a directorio o archivos de destino variable. Para obtener esta funcionalidad en GFS2, puede utilizar la opción
bind
del comando mount
.
La opción
bind
del comando mount
permite remontar partes de la jerarquía de archivos en una ubicación diferente mientras permanecen también disponible en la ubicación original. El formato de este comando es el siguiente.
mount --bind olddir newdir
Después de ejecutar este comando, el contenido del directorio
olddir
estará disponible en dos ubicaciones olddir
y newdir
. Puede también usar esta opción para que un archivo esté disponible en dos lugares diferentes:
Por ejemplo, después de ejecutar los siguientes comandos, el contenido de
/root/tmp
tendrá el mismo contenido que el directorio /var/log
anteriormente montado.
[root@menscryfa ~]#cd ~root
[root@menscryfa ~]#mkdir ./tmp
[root@menscryfa ~]#mount --bind /var/log /tmp
Alternativamente, puede utilizar una entrada en el archivo
/etc/fstab
para lograr el mismo resultado durante el tiempo de montajes. La siguiente entrada de /etc/fstab
hará que el contenido de /root/tmp
sea igual que el contenido de /var/log
.
/var/log /root/tmp none bind 0 0
Después de montar el sistema de archivos, puede utilizar el comando
mount
para ver que el sistema de archivos ha sido montado, como en el siguiente ejemplo.
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
Con un sistema de archivos que soporta el nombre de rutas dependiente del contexto, usted podría tener que definir el directorio
/bin
como un nombre de ruta dependiente del contexto que resuelve en una de las siguientes rutas, dependiendo de la arquitectura del sistema.
/usr/i386-bin /usr/x86_64-bin /usr/ppc64-bin
Puede lograr la misma funcionalidad creando un directorio vacío
/bin
. Luego, con un script o una entrada en el archivo /etc/fstab
, puede montar cada uno de los directorios dependiendo de la arquitectura en el directorio /bin
con el comando mount -bind
. Por ejemplo, puede utilizar el siguiente comando en un script.
mount --bind /usr/i386-bin /bin
Alternativamente, puede utilizar la siguiente entrada en el archivo
/etc/fstab
.
/usr/1386-bin /bin none bind 0 0
Un montaje enlazado puede proporcionar mayor flexibilidad que un nombre de ruta dependiente del contexto, ya que puede utilizar esta funcionalidad para montar diferentes directorios de acuerdo a cualquier criterio (como el calor de
%fill
para el sistema de archivos). Los nombres de rutas dependientes del contexto son más limitados en lo que pueden rodear. Observe, sin embargo, que tendrá que escribir sus propios scripts para realizar el montaje de acuerdo a criterios como el valor de %fill
.
Aviso
Cuando monta un sistema de archivos con la opción
bind
y el sistema de archivo original fue montado con rw
, el nuevo sistema de archivos será montado como rw
incluso si usted pasa la opción ro
; la opción ro
es ignorada silenciosamente. En este caso, el nuevo sistema de archivos podría ser marcado como ro
en el directorio /proc/mounts
, lo cual es confuso.