"montar: / está ocupado" cuando intento montar como solo lectura para poder ejecutar zerofree

"montar: / está ocupado" cuando intento montar como solo lectura para poder ejecutar zerofree

Estoy intentando ejecutar zerofreeUbuntu 11.04 para poder compactar la imagen vdi de VirtualBox usando:

VBoxManage modifyhd Ubuntu.vdi --compact

Para poder ejecutar zerofreela imagen del disco, se debe montar como de solo lectura. estoy siguiendoestas instruccionesque dice usar esto para volver a montar como de solo lectura desde el modo de recuperación (soltar al indicador del shell raíz):

mount -n -o remount,ro -t ext2 /dev/sda1 /

Pero cuando hago esto me sale el error:

mount: / is busy

¿Alguna idea sobre cómo hacer esto?

Hacer un seguimiento: Siguiendo la respuesta de Jari yesta publicaciónal ejecutar estos comandos se resuelve el problema.

service rsyslog stop
service network-manager stop
killall dhclient

Respuesta1

Algunos procesos mantienen archivos abiertos para escribir. Estos podrían ser, por ejemplo, programas que escriben registros, como rsyslogdherramientas de red, como dhcliento algo más. Apagarlos uno por uno e intentar volver a montarlos podría funcionar.

Puede encontrar procesos que utilizan ciertos archivos usando el programa fuser. Por ejemplo, fuser -v -m /devolverá una lista de procesos. Sin embargo, no estoy seguro de si es uno de estos los que mantienen ocupado el sistema de archivos.

Respuesta2

Mejorando la respuesta de Peter:

No pude eliminar procesos que usan mi punto de montaje. Entonces, hice esto:

  • Edite /etc/fstabpara que comience en solo lectura en el próximo inicio. Ex:/dev/sda1 / ext2 ro 0 1
  • Reinicie y abra un shell (tecla de host + F2, por ejemplo)
  • Ejecutar cero libre

Para "recuperar" su sistema:

  • Montaje con opción de lectura-escritura:$ mount -o remount,rw /dev/sda1
  • Edite /etc/fstabnuevamente, restaurando su valor original.

Extra: si es necesario abrirmodo de recuperaciónen cualquier paso:

  • Reiniciar
  • Mantenga presionada la tecla Mayús mientras se carga la VM
  • Opciones avanzadas > Opción de kernel con modo de recuperación > Drop to Root Shell Prompt

Respuesta3

Solo puede volver a montar el sistema de archivos como de solo lectura si no hay ningún proceso que tenga un archivo abierto para escritura. Ejecute lsof /para ver qué procesos tienen archivos abiertos en el sistema de archivos raíz. Los archivos abiertos para escritura se indicarán en la FDcolumna. Puedes filtrarlos con

lsof / | awk '$4 ~ /[0-9].*w/'

Para filtrar los ID de proceso automáticamente, analice el resultado de lsof -F pa:

lsof -F pa /home | awk '/^p/ {pid = substr($0, 2)} /^a.*w/ {print pid}'

Respuesta4

A veces hay tantos procesos que mantienen ocupado el montaje, que podría ser más fácil simplemente reiniciar con el montaje de solo lectura.

Cambie la entrada para el sistema de archivos raíz en /etc/fstab, por ejemplo:

/dev/sda1 / ext2 relatime,rw,errors=remount-ro 0 1

se convierte en:

/dev/sda1 / ext2 noatime,ro 0 1

Al reiniciar, el sistema de archivos se montará como de solo lectura, para que pueda ejecutarlo zerofree.

Cuando haya terminado, vuelva a montar el sistema de archivos de lectura/escritura ( mount -o remount,rw /) y deshaga los cambios en /etc/fstab.

Inspirado porhttps://wiki.debian.org/ReadonlyRoot#Enable_readonly_root

información relacionada