Почему вы должны создать каталог, прежде чем сможете смонтировать общий ресурс?

11

Почему вам нужно создать каталог, прежде чем вы сможете подключить к нему общий ресурс?

Например: я никогда не понимал, зачем здесь нужен mkdir:

mkdir /Volumes/foo
mount -t afp afp://username:pass@pretendco.com/foo /Volumes/foo
имя пользователя
источник

Ответы:

3

В Unix и Unix-подобных системах, которые включают в себя файловые системы Mac OS X, они логически очень отличаются от того, как они работают в Windows. Нет такого понятия, как диск, как C или D и т. Д. Существует только одна файловая система, которая представлена ​​в виде иерархии (древовидная структура). Эта файловая система может состоять из одного физического диска или нескольких физических дисков в машине. Он также может состоять из памяти и общих ресурсов с другого компьютера через протоколы, такие как NFS, CIFS и т. Д. Поскольку самих дисков нет, вам необходимо иметь где-то в файловой системе, к которой вы можете подключить или смонтировать это дополнительное хранилище, чтобы создать каталог, а затем смонтировать другую файловую систему там.

Например, в системах Linux есть каталог / mnt или иерархия / mnt с такими каталогами, как cdrom и т. Д. В этом случае вам не нужно сначала создавать каталог, вы можете использовать один из них, но вам это не нужно, поскольку точка монтирования может находиться в любой точке файловой системы. Это преимущество может быть очень полезным, если вам нужно больше места, так как вы можете добавить другой диск, переместить данные на него и затем смонтировать его там, где находился старый каталог, и все будет работать без каких-либо изменений.

Шон Престон
источник
Спасибо, что заметили это. Пропустил, когда я проверил сообщение. Пост правильный.
Шон Престон
все в порядке, убил мой комментарий :)
lImbus
5

Потому что никто не представил патч для добавления опции --create-dir для монтирования? :)

Zoredache
источник
Я очень уверен, что поведение NEXTSTEP было таким же, как и у вас --create-dir. Я потратил последний час на поиски в Интернете доказательств в любом случае, но увы, безуспешно!
Эдриан Смит,
Вторым патчем будет «При размонтировании или выключении удалить каталог автоматически»
WinEunuuchs2Unix
5

Это потому, что когда вы монтируете каталог, вы говорите своей системе: «Действуйте так, как будто файлы в <общий сетевой ресурс> действительно находятся в <локальной папке>». Если система не имеет этой локальной папки, она не может разместить эти сетевые файлы там.

Тим
источник
2

Наибольшее беспокойство вызывает ИМХО, что для создания ссылки где-либо НЕ требуется touch/ mkdir, а монтирование (даже -bindлокально) необходимо.

Но это, вероятно, идет в том же разделе, что и «почему жесткие ссылки используются по умолчанию, когда всем нужны только символические ссылки» ln -s.

Лимбус
источник
2

Запись каталога должна быть создана в / volume (в данном конкретном примере), прежде чем ядро ​​сможет подключиться к пути каталога.

MikeyB
источник
1
Технически это неверно. Вы можете смонтировать файловую систему в любом месте вашей иерархии - это стандартная практика - монтировать ее в / Volumes / (и это автоматически делается ОС), но бывают случаи, когда монтирование ее где-то определенно имеет смысл.
Chealion
О, я имел в виду только / объемы в этом конкретном случае :) Не в общем.
MikeyB
Это имеет больше смысла. :-)
Chealion