Estoy usando un sistema de rescate en vivo (similar a un live-cd) para solucionar algunos problemas con mi servidor Debian, así:
# mkdir -p /mnt/rescue
# mount /dev/md2 /mnt/rescue
# mount --bind /dev /mnt/rescue/dev/
# mount --bind /proc /mnt/rescue/proc/
# mount --bind /sys /mnt/rescue/sys/
Ahora puedo hacer chroot /mnt/rescue
, pero después de terminar, ¿cómo desmontar el sistema de archivos nuevamente?
umount: /mnt/rescue: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Supongo que es porque dev
, proc
y sys
están vinculados al sistema de archivos montado. Pero tampoco es posible desmontarlos ...
mount
chroot
unmounting
Afr
fuente
fuente
/mnt/rescue/proc
? ¿Estás seguro de que todavía no tienes procesos en ejecuciónchroot
?lsof /mnt/rescue
ver qué proceso está usando esa carpeta.Respuestas:
Primero debe salir de la sesión de chroot, por lo general, un simple
exit
hará:Luego desmonte TODOS los directorios enlazados:
Luego:
En caso de que le preocupara que
sync
no se usara aquí, tenga en cuenta que no influye en si es posible desmontarlo. El desmontaje borra las escrituras pendientes de todos modos (tiene que hacerlo, porque no habría a dónde ir después del desmontaje). La presencia de un proceso fragmentado es irrelevante (excepto en que evita el desmontaje). En el funcionamiento normal del sistema, la sincronización no tiene ningún efecto observable. La sincronización solo hace la diferencia si un dispositivo se desconecta físicamente sin haber sido desmontado o si el sistema se bloquea mientras el dispositivo está montado.fuente
sync
es totalmente inútil.sync
es inútil? ¿Se vuelve inútil en el núcleo actual? ¿O solo en este caso (modo de rescate)? Lo puse allí en caso de que haya una gran escritura pendiente en el disco que evitará el montaje después de salir de chroot.sync
no tiene influencia sobre si es posible desmontar. El desmontaje borra las escrituras pendientes de todos modos (tiene que hacerlo, porque no habría a dónde ir después del desmontaje). La presencia de un proceso fragmentado es irrelevante (excepto en que evita el desmontaje). En funcionamiento normal del sistema,sync
no tiene efecto observable.sync
solo hace la diferencia si un dispositivo se desconecta físicamente sin haber sido desmontado o si el sistema se bloquea mientras el dispositivo está montado.Ejecute el siguiente comando para forzar y separar el sistema de archivos de la jerarquía del sistema de archivos y limpiar todas las referencias al sistema de archivos tan pronto como ya no esté ocupado.
fuente
La razón por la que obtienes el 'objetivo está ocupado'. el mensaje se debe a que el punto de montaje (
/mnt/rescue
) está abierto en un explorador de archivos o en una sesión de terminal, y también el orden del proceso de desmontaje (en este caso,dev/pts
debería desmontarse antesdev/
)Bueno, para desmontar con éxito todos los fs allí:
cd
)!Desmontar fs respetando el orden
dev/pts => dev/ => proc/ => sys/
:sudo umount / mnt / rescue / dev / pts
sudo umount / mnt / rescue / dev
sudo umount / mnt / rescue / proc
sudo umount / mnt / rescue / sys
sudo umount / mnt / rescue
fuente
Así es como lo hago con el
schroot
comando en Ubuntu versión 10.04 hacia arriba:fuente
Salir de chroot. En el sistema host, el comando 'mount' mostrará toda la ruta montada. (Incluye las rutas que están montadas en chroot). Por ejemplo:
Luego ingrese al entorno chroot. En el entorno chroot, ejecute desmontar para desmontar todas las rutas en orden. (La ruta secundaria debe desmontarse antes de la ruta principal).
fuente