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 nele?

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

mkdir /Volumes/foo
mount -t afp afp://username:[email protected]/foo /Volumes/foo
nome do usuário
fonte

Respostas:

3

Em sistemas unix e unix, que incluem sistemas de arquivos Mac OS X, são dispostos logicamente muito diferentes de como estão no Windows. Não existe uma unidade como C ou D, etc. Existe apenas um sistema de arquivos que é apresentado como uma hierarquia (estrutura em á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. diretório e, em seguida, 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 cdrom etc. Nesse caso, você não precisa criar um diretório primeiro, pode usar um desses, mas não é necessário, pois o ponto de montagem pode estar em qualquer lugar do sistema de arquivos. Esse benefício pode ser realmente útil se você precisar de mais espaço em qualquer outro lugar, pois poderá adicionar outra unidade, mover os dados para ele e montá-lo onde estava o diretório antigo e tudo continuará funcionando sem nenhuma alteração.

Sean Preston
fonte
Obrigado por detectar esse. Perdi quando chequei a mensagem. Postagem correta.
Sean Preston
tudo bem, matou o meu comentário :) #
1110 lImbus
5

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

Zoredache
fonte
Estou muito certo de que o comportamento do NEXTSTEP era como sua opção --create-dir seria. Passei a última hora pesquisando na Internet por evidências de qualquer maneira, mas infelizmente sem sucesso!
Adrian Smith
O segundo patch seria "Ao desmontar ou desligar, remova o diretório automaticamente"
WinEunuuchs2Unix
5

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

Tim
fonte
2

o mais perturbador é o IMHO que a criação de um link em algum lugar NÃO precisa touch/ / mkdire uma montagem (mesmo que -bindlocalmente) precisa.

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

lImbus
fonte
2

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

MikeyB
fonte
1
Tecnicamente, isso está incorreto. Você pode montar um sistema de arquivos em qualquer lugar da sua hierarquia - é prática comum montá-lo em / Volumes / (e é feito automaticamente pelo sistema operacional), mas há momentos em que montar em algum lugar específico faz sentido.
Chealion
Ah, eu só quis dizer / volumes neste caso específico. :) Não em geral.
21310 MikeyB
Isso faz mais sentido. :-)
Chealion