Perché devi creare una directory prima di poter montare una condivisione?


11

Perché devi creare una directory prima di poter montare una condivisione su di essa?

Ad esempio: non ho mai capito perché mkdir è necessario qui:

mkdir /Volumes/foo
mount -t afp afp://username:pass@pretendco.com/foo /Volumes/foo

Risposte:


3

Su sistemi unix e unix like che includono i filesystem di Mac OS X sono logicamente molto diversi da come sono su Windows. Non esiste un'unità come C o D, ecc. Esiste un solo file system strutturato come una gerarchia (struttura ad albero). Questo file system può essere costituito da un'unità fisica o da un numero di unità fisiche in una macchina. Può anche essere costituito da memoria e condivisioni da un'altra macchina tramite protocolli come NFS, CIFS ecc. Poiché non sono presenti unità di per sé, è necessario disporre di un punto del file system da collegare o montare questo spazio di archiviazione aggiuntivo in modo da creare un directory e quindi montare l'altro file system lì.

I sistemi Linux per esempio hanno una directory / mnt o una gerarchia / mnt con directory come cdrom ecc. In questo caso non è necessario creare prima una directory, ma è possibile utilizzarne una, ma non è necessario poiché il punto di montaggio può trovarsi in qualsiasi punto del file system. Questo vantaggio può essere davvero utile se hai bisogno di più spazio, in quanto puoi aggiungere un'altra unità, spostare i dati su di essa e quindi montarli dove si trovava la vecchia directory e tutto continuerà a funzionare senza alcuna modifica.


Grazie per aver individuato quello. Perso quando ho controllato il messaggio. Posta corretta.
Sean Preston,

va bene, ho ucciso il mio commento :)
lImbus

5

Perché nessuno ha ancora inviato una patch per aggiungere l'opzione --create-dir da montare? :)


Sono certo che il comportamento di NEXTSTEP è stato come sarebbe l'opzione --create-dir. Ho trascorso l'ultima ora a cercare prove su Internet in entrambi i modi, ma purtroppo senza successo!
Adrian Smith,

La seconda patch sarebbe "Quando smontate o
chiudete

5

È perché quando monti una directory, stai dicendo al tuo sistema: "Agisci come se i file in <condivisione di rete> fossero realmente in <cartella locale>." Se il sistema non ha quella cartella locale, non può inserire quei file di rete lì.


2

più inquietante è l'IMHO che la creazione di un collegamento da qualche parte NON ha bisogno di touch/ mkdir, e un mount (anche se a -bindlivello locale) ha bisogno.

Ma probabilmente va nella stessa sezione di "perché i collegamenti fisici sono predefiniti quando tutti hanno solo bisogno di collegamenti simbolici e devono farlo ln -s.


2

La voce della directory deve essere creata in / volume (in questo esempio particolare) prima che il kernel possa agganciarsi al percorso della directory.


1
Tecnicamente non è corretto. Puoi montare un filesystem in qualsiasi punto della tua gerarchia - è pratica standard montarlo in / Volumes / (ed è fatto automaticamente dal sistema operativo) ma ci sono momenti in cui montarlo in un posto specifico ha senso.
Chealion,

Oh, intendevo solo / volumi in questo caso specifico. :) Non in generale.
MikeyB,

Questo ha più senso. :-)
Chealion,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.