En la preparación de un sistema embebido basado en Centos 7, surgió la necesidad sustituir el directorio /run por un enlace hacia otra ubicación.
Al intentar eliminar dicho directorio para sustituirlo por un enlace, se muestra el siguiente mensaje:
Failed to remove /run: Device or resource busy.
Aparte de usar cosas como fuser o lsof para determinar los procesos que están bloqueando el recurso, en el caso del directorio run éste es un directorio especial. El /run se monta automáticamente en el inicio del sistema sobre archivos temporales y está ocupado por el servicio mount. Para forzar el desmontaje y poder borrrarlo necesitamos utilizar la opción -l de umount:
# umount -l /run
# rmdir /run
La opción -l separa el sistema de ficheros indicado de la jerarquía de ficheros del sistema limpiando todas las referencias al mismo en cuanto dejan de estar ocupadas.