En mi NAS sin cabeza tengo sdf1
(una tarjeta flash) montada como /
mientras /home
está montada desde lv00
(un volumen LVM respaldado por un RAID de software). Para poder acceder a la máquina cuando falla el RAID, tengo una copia de mi clave pública ssh, etc. en /home/foo/.ssh
el sistema de archivos de sdf1
.
Para actualizar los archivos que están ocultos por el montado /home
normalmente volver a montar lv00
en /mnt/home
, hacer lo que tengo que hacer, y luego pasar lv00
en su lugar.
¿Hay alguna manera de lograr esto sin desmontar /home
?
32
mount --bind
, pero solo obtuve algunas ideas intrincadas que seguramente se romperían cuando lo necesitara. Esto hace exactamente lo que necesito e incluso puede entrar como una montura permanente. GraciasIntenté lograr algo similar, pero la respuesta de Ephemient no explicó la semántica del método. Falló para mí y, por lo tanto, hice la misma pregunta anteriormente aquí en Unix. Después de un comentario, lo descubrí por mi cuenta y lo respondí. Esta es una versión editada de mi respuesta para encajar en este contexto aquí. Eliminé mi otra pregunta (y respuesta) a favor de esta.
Esto es lo que estaba tratando de hacer:
Caso de ejemplo
Monturas:
Después de montar
/
tengo una carpeta/home/joe
para el usuariojoe
. Una vez que se monta la otra ubicación (/data
), tengo el conjunto completo de carpetas de inicio disponibles, por lo que estoy enganchándolas en su lugar (/data/home on /home
). Hay una carpeta/data/home/joe
, por lo que siempre que el montaje sea/dev/sdb1
exitoso, obtendrá el contenido/data/home/joe
, de lo contrario, volverá a/home/joe
(/dev/sda1
¡ encendido !).Cuando tiene éxito, ¿cómo puedo acceder a los contenidos originales de
/home/joe
(on/dev/sda1
!) En lugar de los montados en su lugar/data/home/joe
?Solución
Basado en un comentario del comentario de Patrick sobre mi pregunta y la solución por ephemient (respuesta aceptada aquí), se me ocurrió lo siguiente.
Que es aparentemente posible
mount --bind
(omount -o bind
la) carpeta principal ( esta es la parte crucial ) de un aprieto a montar en otro lugar y con ello acceder a los contenidos originales. Entonces, para mi caso de ejemplo, en lugar de intentar:(es decir, montar las ubicaciones ya montadas en otro lugar) Tuve que:
Entonces esto es lo que Patrick quiso decir en su comentario
Siempre que tenga una carpeta principal para la ubicación montada en enlace disponible, funcionará, aunque con una indirección como se muestra arriba. Si montaste algo por encima,
/
no tienes suerte, ya que no hay una carpeta principal para/
.fuente
Puede mover el soporte a una nueva ubicación sin desmontarlo, utilizando
mount --move
:fuente