0 votos

Montar el volumen sobre una carpeta no existente previamente

mount siempre requiere una ruta de carpeta existente como directorio de montaje de destino.

Pero en MacOS el /Volumes La carpeta no tiene la mayoría de los puntos de montaje y se crean en el momento de la conexión/montaje.

¿Qué lo hace posible?

Puse una entrada en /etc/fstab ( sudo vifs ) pero me gustaría que la carpeta de montaje especificada, que no existe, se creara en el momento del montaje, y se eliminara después del desmontaje; de la misma manera que suele ocurrir con todos los volúmenes montados automáticamente en MacOS.

1voto

Jose Chavez Puntos 645

Técnicamente sólo se puede montar un volumen en una carpeta existente. El truco que sin embargo hace esto posible para MacOS en general es que un programa se asegura de crear la carpeta antes de realizar el montaje.

Este tipo de funcionalidad se conoce generalmente (en todos los sistemas operativos) como "montador automático". Y de hecho MacOS contiene un programa llamado automount que crea automáticamente carpetas y montajes según la configuración del mapa en /etc/auto_master. Esto se utiliza principalmente con ciertos tipos de recursos compartidos de red.

El principal contador automático con el que interactúan la mayoría de los usuarios se llama diskarbitrationd . Este programa escucha eventos como la conexión de unidades USB, la inserción de DVDs, etc. y monta cualquier sistema de archivos montable en ellos.

diskarbitrationd utiliza la información en /etc/fstab para determinar cualquier opción especial o configuración del punto de montaje que el usuario haya establecido para una unidad específica. Sin embargo, esos puntos de montaje deben existir de antemano, y no se eliminarán automáticamente después de desmontar el sistema de archivos.

Si sólo quiere elegir un nombre de carpeta diferente dentro de /Volumes Si no lo hace, sólo tiene que abrir la Utilidad de Discos y hacer clic con el botón derecho del ratón en el volumen para elegir "Renombrar". La próxima vez que inserte la unidad, se montará en una carpeta con ese nombre.

Si quieres hacer algo completamente diferente al comportamiento manual, podrías desactivar diskarbitrationd por completo, y crear su propio programa para montar las unidades automáticamente. Tenga en cuenta, sin embargo, que es un montón de trabajo para algo que parece que podría ser resuelto en una mejor wa.y

Finalmente, una solución podría ser crear un programa (es decir, un pequeño script) que se ejecute cada vez que se monte algo. Cuando se monte tu unidad especial, podría desmontarla automáticamente, crear el punto de montaje personalizado y montarla allí. Necesitarías un manejo especial para borrar también la carpeta cuando el disco se desmonte de nuevo. Si puede crear pequeños , el truco para que esto funcione es crear un archivo de definición del demonio launchd para el script, y usar el StartOnMount clave. Esto hace que launchd ejecute su script cada vez que se monta algo.

0 votos

En realidad .. el propósito de la creación / eliminación de la punto de montaje era exactamente para activar una acción de carpeta de Automator que he escrito. - El FolderAction escucha los cambios dentro de la carpeta punto de montaje pero, por desgracia, FolderAction no se activa cuando algo se monta en la carpeta vigilada (se activaría sólo si punto de montaje no existía).

0 votos

Asumo que Automator no es capaz de escuchar carpetas montadas entonces. Tal vez usando el StartOnMount tecla de launchd como sugeriste, es el camino a seguir; incluso si esperaba tener sólo un flujo de trabajo Automator fácil de instalar sin tener que lidiar con (no instalable) *.plist archivos.

0 votos

Deberías haber formulado esa pregunta en su lugar, ¡aún puedes abrir una nueva pregunta con ella! No estoy muy seguro de cuál es el problema. Si usted acaba de establecer un FolderAction en /Volumes - que debería hacerlo. Al conectar la unidad, una carpeta se crea automáticamente en /Volumes, y su acción debe ejecutar?

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