web-dev-qa-db-ja.com

共有をマウントする前にディレクトリを作成する必要があるのはなぜですか?

共有をマウントする前にディレクトリを作成する必要があるのはなぜですか?

例:ここでmkdirが必要な理由がわかりません。

mkdir /Volumes/foo
mount -t afp afp://username:[email protected]/foo /Volumes/foo
11
username

Mac OS Xファイルシステムを含むUNIXおよびUNIXライクなシステムでは、Windowsでのシステムとは論理的に非常に異なります。 CやDのようなドライブなどはありません。階層(ツリー構造)としてレイアウトされた単一のファイルシステムがあります。このファイルシステムは、マシン内の1つの物理ドライブまたは複数の物理ドライブで構成できます。また、NFS、CIFSなどのプロトコルを介して別のマシンからメモリと共有で構成することもできます。それ自体はドライブがないため、この追加のストレージを接続またはマウントできるファイルシステム上の場所に必要です。ディレクトリを作成し、他のファイルシステムをそこにマウントします。

たとえば、Linuxシステムには/ mntディレクトリまたはcdromなどのディレクトリを含む/ mnt階層があります。この場合、最初にディレクトリを作成する必要はありませんが、これらのいずれかを使用できますが、マウントポイントはファイルシステム上のどこにでも配置できるため、必須ではありません。この利点は、別のドライブを追加してデータをそのドライブに移動し、古いディレクトリが存在していた場所にマウントするなど、さらに多くのスペースが必要な場合に非常に役立ちます。

3
Sean Preston

マウントする--create-dirオプションを追加するパッチをまだ誰も提出していないからですか? :)

5
Zoredache

これは、ディレクトリをマウントするときに、システムに「<ネットワーク共有>にあるファイルが実際には<ローカルフォルダ>にあるかのように動作する」と言っているためです。システムにそのローカルフォルダーがない場合、それらのネットワークファイルをシステムに配置できません。

5
Tim

カーネルがディレクトリパスにフックする前に、ディレクトリエントリを/ volumes(この特定の例では)に作成する必要があります。

2
MikeyB

最も厄介なのは、どこかにリンクを作成するときにtouch/mkdirとマウント(-bindローカル)ニーズ。

しかし、それはおそらく、「誰もがシンボリックリンクしか必要とせず、ln -s

2
lImbus