Por que você precisa criar um diretório antes de montar um compartilhamento?

11

Por que você precisa criar um diretório antes de montar um compartilhamento?

Por exemplo: eu nunca entendi porque o mkdir é necessário aqui:

mkdir /Volumes/foo
mount -t afp afp://username:[email protected]/foo /Volumes/foo
    
por username 20.05.2009 / 19:44

5 respostas

3

Em sistemas unix e unix, que incluem sistemas de arquivos do Mac OS X, são logicamente muito diferentes de como estão no Windows. Não existe uma unidade como C ou D, etc. Existe apenas um único sistema de arquivos que é apresentado como uma hierarquia (estrutura de árvore). Esse sistema de arquivos pode ser composto de uma unidade física ou de várias unidades físicas em uma máquina. Ele também pode ser composto de memória e compartilhamentos de outra máquina por meio de protocolos como NFS, CIFS etc. Como não há drives em si, você precisa ter algum lugar no sistema de arquivos que possa anexar ou montar esse armazenamento adicional. diretório e monte o outro sistema de arquivos lá.

Os sistemas Linux, por exemplo, possuem um diretório / mnt ou uma hierarquia / mnt com diretórios como o cdrom etc. Neste caso, você não precisa criar um diretório primeiro, você pode usar um desses, mas não é necessário, pois o ponto de montagem pode estar em qualquer lugar no sistema de arquivos. Esse benefício pode ser realmente útil se você precisar de mais espaço em qualquer lugar, pois você pode adicionar outra unidade, mover os dados para ela e montá-la onde o diretório antigo estava e tudo continuará funcionando sem qualquer alteração.

    
por 20.05.2009 / 20:45
5

Porque ninguém enviou um patch para adicionar a opção --create-dir para montar ainda? :)

    
por 20.05.2009 / 19:52
5

É porque, quando você monta um diretório, diz ao seu sistema: "Aja como se os arquivos em < compartilhamento de rede > estivessem realmente em < pasta local & gt ;." Se o sistema não tiver essa pasta local, não poderá colocar esses arquivos de rede lá.

    
por 20.05.2009 / 19:57
2

mais preocupante é IMHO que a criação de um link em algum lugar não precisa touch / mkdir , e uma montagem (mesmo se -bind localmente) precisa.

Mas provavelmente vai na mesma seção que "por que os links rígidos são o padrão quando todos precisam apenas de links simbólicos e precisam ln -s .

    
por 20.05.2009 / 20:12
2

A entrada de diretório precisa ser criada em / volumes (neste exemplo em particular) antes que o kernel possa conectar-se ao caminho do diretório.

    
por 20.05.2009 / 19:58