23 votos

¿Cómo se monta -bind un directorio local?

En linux, una de las grandes cosas que podías hacer (para los desarrolladores, en particular) era montar una carpeta y vincularla localmente a otra carpeta del sistema.

Esto tenía la ventaja sobre los enlaces simbólicos debido a que las herramientas como Git no lo detectaban como un tipo diferente de nodo, y no era necesario eliminar el contenido original. Cuando terminabas, podías simplemente desmontar y te quedabas con el contenido original del sistema de archivos.

Sin embargo, mount -bind o mount.local no parecen existir en Mac (a partir de OS X 10.10.2, Yosemite).

¿Cómo se hace esto?

16voto

Chadd Puntos 6

Como mencionado por otro usuario en StackOverflow Puede utilizar un montaje NFS para ello. Sin embargo, requiere un poco de configuración de una sola vez.

En primer lugar, tendrá que configurar un /etc/exports (si aún no lo ha hecho).

$ sudo tee -a /etc/exports <<< "/ -alldirs -mapall=$USER localhost"

En segundo lugar, tendrá que iniciar el rpc y nfsd servicios.

$ sudo launchctl start com.apple.rpcbind
$ sudo nfsd start

A partir de ahí, dale a NFSd un poco para que se despierte y desayune, y deberías estar listo para montar:

$ sudo mount localhost:/path/to/target ./mnt

Para restaurar el contenido original, basta con hacer

$ sudo umount ./mnt

0 votos

Intenté montar mi disco usb exfat $ sudo mount localhost:/Volumes/Aren/Movies /Users/me/Movies/

2 votos

mount_nfs: can't mount /Volumes/Aren/Movies from localhost onto /Users/me/Movies: No such file or directory

0 votos

Funciona bien si lo hago de la otra manera.

9voto

Madhur Ahuja Puntos 190

Hay otra opción - bindfs . Requiere la instalación de FUSE pero proporciona una alternativa al uso de NFS.

Es posible que tengas que compilar desde el código fuente, pero veo que está disponible en MacPorts también.

4 votos

En casa: Instalar osxfuse entonces brew install homebrew/fuse/bindfs (Probado en El Capitán; no es necesario sudo antes de bindfs para montajes orientados al usuario)

1 votos

La desventaja de fuse es que no soporta eventos inotify. Si el origen se actualiza, mientras la aplicación está pendiente de las actualizaciones en el destino, no recibirá las actualizaciones.

1 votos

Además, me resulta un poco torpe al compilar cosas dentro de un volumen bindfs. En particular, me sale constantemente "demasiados archivos abiertos" para un proyecto en particular en Xcode sin razón aparente. Si sólo copio el contenido sin montar, se construye bien.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X