En Squeeze solía funcionar solo con:
mount --bind /src /dst
entonces
mount -o remount,ro /dst
Ahora en Debian Wheezy tienes que hacer:
mount -o remount,ro,bind /dst
para deshacerse del mensaje: recurso ocupado.
Editar: ahora en Debian Jessie, mount intenta ser inteligente y monta subdirectorios, que si ya se montan con bind, se vuelven recursivos y suceden cosas malas :)
Hay una opción especial que obliga a util-linux a ser 'estúpido' nuevamente. Soluciones es esta:
mount --bind --make-rprivate /sbin/ $prefix/sbin/
mount -o remount,ro,bind $prefix/sbin/
Luego puede montar --bind $ prefix / sbin a otro directorio.
Desde la página del manual:
Las operaciones de subárbol compartidas. Desde Linux 2.6.15 es posible marcar un montaje y sus submontes como compartidos, privados, esclavos o no vinculables. Una montura compartida proporciona la capacidad de crear espejos de esa montura de modo que los montajes y desmontamientos dentro de cualquiera de los espejos se propaguen al otro espejo. Una montura esclava recibe propagación de su maestro, pero no al revés. Una montura privada no tiene habilidades de propagación. Un montaje no enlazable es un montaje privado que no se puede clonar mediante una operación de enlace. La semántica detallada se documenta en el archivo Documentation / filesystems / sharedsubtree.txt en el árbol de fuentes del núcleo. Las operaciones admitidas son:
mount --make-shared mountpoint
mount --make-slave mountpoint
mount --make-private mountpoint
mount --make-unbindable mountpoint
Los siguientes comandos le permiten a uno cambiar recursivamente el tipo de todos los montajes bajo un punto de montaje dado.
mount --make-rshared mountpoint
mount --make-rslave mountpoint
mount --make-rprivate mountpoint
mount --make-runbindable mountpoint
mount (8) no lee fstab (5) cuando se solicita una operación --make- *. Toda la información necesaria debe especificarse en la línea de comando. Tenga en cuenta que el kernel de Linux no permite cambiar varios indicadores de propagación con una sola llamada al sistema mount (2), y los indicadores no se pueden mezclar con otras opciones de montaje.
Desde util-linux 2.23, el comando mount permite usar varios indicadores de propagación juntos y también junto con otras operaciones de montaje. Esta característica es EXPERIMENTAL. Los indicadores de propagación se aplican mediante llamadas al sistema de montaje adicionales (2) cuando las operaciones de montaje anteriores tuvieron éxito. Tenga en cuenta que este caso de uso no es atómico. Es posible especificar los indicadores de propagación en fstab (5) como opciones de montaje (privado, esclavo, compartido, no vinculable, privado, rslave, rshared, runbindable).
bind
opción?man 2 mount
indica quebind
es necesario: "Desde Linux 2.6.26, elMS_REMOUNT
indicador se puede usarMS_BIND
para modificar solo los indicadores por punto de montaje. Esto es particularmente útil para configurar o borrar la" lectura -solo "marca en un punto de montaje sin cambiar el sistema de archivos subyacente. Especificando flags de montaje como:MS_REMOUNT | MS_BIND | MS_RDONLY
hará que el acceso a través de este punto de montaje sea de solo lectura, sin afectar a otros puntos de montaje". (Desde Ubuntu 19.10,man-pages
versión de Linux 5.0.2, con fecha 2019-08-02.)libmount
llamar a lamount()
función dos veces durante una sola invocación del/usr/bin/mount
programa. Por lo tanto, es la versión delibmount
, en lugar de la versión del núcleo, la que determinará si/usr/bin/mount
se necesitan o no dos invocaciones .