¿Por qué tiene que crear un directorio antes de poder montar un recurso compartido?

11

¿Por qué tiene que crear un directorio antes de poder montar un recurso compartido en él?

Por ejemplo: nunca he entendido por qué se necesita mkdir aquí:

mkdir /Volumes/foo
mount -t afp afp://username:[email protected]/foo /Volumes/foo
nombre de usuario
fuente

Respuestas:

3

En sistemas unix y unix, que incluyen sistemas de archivos Mac OS X, se presentan lógicamente de forma muy diferente a como están en Windows. No existe una unidad como C o D, etc. Hay un solo sistema de archivos que se presenta como una jerarquía (estructura de árbol). Este sistema de archivos puede estar compuesto por una unidad física o varias unidades físicas en una máquina. También puede estar compuesto de memoria y recursos compartidos desde otra máquina a través de protocolos como NFS, CIFS, etc. Debido a que no hay unidades en sí, debe tener un lugar en el sistema de archivos al que pueda conectar o montar este almacenamiento adicional para que pueda crear un directorio y luego monte el otro sistema de archivos allí.

Los sistemas Linux, por ejemplo, tienen un directorio / mnt o una jerarquía / mnt con directorios como cdrom, etc. En este caso, no necesita hacer un directorio primero, puede usar uno de estos, pero no es obligatorio ya que el punto de montaje puede estar en cualquier parte del sistema de archivos. Este beneficio puede ser realmente útil si necesita más espacio en algún lugar, ya que puede agregar otra unidad, mover los datos y luego montarlo donde estaba el directorio anterior y todo seguirá funcionando sin ningún cambio.

Sean Preston
fuente
Gracias por ver eso. Lo perdí cuando revisé el mensaje. Publicar correcto.
Sean Preston
Allright, mató a mi comentario :)
limbo
5

¿Porque nadie envió un parche para agregar la opción --create-dir para montar todavía? :)

Zoredache
fuente
Estoy muy seguro de que el comportamiento de NEXTSTEP fue como sería su opción --create-dir. ¡He pasado la última hora buscando evidencia en Internet de cualquier manera, pero desgraciadamente sin éxito!
Adrian Smith
El segundo parche sería "Al desmontar o apagar, elimine el directorio automáticamente"
WinEunuuchs2Unix
5

Es porque cuando monta un directorio, le está diciendo a su sistema: "Actúe como si los archivos en <network share> estuvieran realmente en <carpeta local>". Si el sistema no tiene esa carpeta local, no puede colocar esos archivos de red allí.

Tim
fuente
2

Lo más inquietante es en mi humilde opinión que la creación de un enlace en algún lugar NO necesita touch/ mkdir, y un montaje (incluso si -bindlocalmente) necesita.

Pero probablemente va en la misma sección que "por qué los enlaces duros son los predeterminados cuando todos solo necesitan enlaces simbólicos y tienen que hacerlo" ln -s.

lmbus
fuente
2

La entrada del directorio debe crearse en / volume (en este ejemplo en particular) antes de que el núcleo pueda engancharse en la ruta del directorio.

MikeyB
fuente
1
Técnicamente eso es incorrecto. Puede montar un sistema de archivos en cualquier lugar de su jerarquía: es una práctica estándar montarlo en / Volumes / (y el sistema operativo lo realiza automáticamente), pero hay momentos en los que tiene sentido montarlo en algún lugar específico.
Chealion
Oh, solo quise decir / volúmenes en este caso específico. :) No en general.
MikeyB
Eso tiene más sentido. :-)
Chealion