25 oct 2010

mounting /usr read-only

Luego de actualizar paquetes puede suceder que obtengamos el siguiente error al intentar montar nuevamente la partición /usr como read only.

mount: /usr is busy

mount: /usr está ocupado
E: Problem executing scripts DPkg::Post-Invoke 'mount /usr -o remount,ro'
E: Sub-process returned an error code


Para liberar los archivos modificados que impiden que remontemos como solo lectura, debemos reiniciar todos los procesos que los estén utilizando. Para ello podemos listarlos haciendo:

lsof -a +L /usr | grep -v " [[:digit:]] "

COMMAND PID USER FD TYPE DEVICE SIZE NLINK NODE NAME
vmtoolsd 2454 root mem REG 8,49 245811 /usr/lib/gconv/gconv-modules.cache (path inode=246019)
cron 3109 root mem REG 8,49 245811 /usr/lib/gconv/gconv-modules.cache (path inode=246019)
cron 3109 root DEL REG 8,49 245819 /usr/lib/locale/locale-archive
bash 24051 xxxx mem REG 8,49 245811 /usr/lib/gconv/gconv-modules.cache (path inode=246019)
bash 24051 xxxx DEL REG 8,49 245819 /usr/lib/locale/locale-archive
su 24073 root mem REG 8,49 245811 /usr/lib/gconv/gconv-modules.cache (path inode=246019)
su 24073 root DEL REG 8,49 245819 /usr/lib/locale/locale-archive
bash 24074 root mem REG 8,49 245811 /usr/lib/gconv/gconv-modules.cache (path inode=246019)
bash 24074 root DEL REG 8,49 245819 /usr/lib/locale/locale-archive