web-dev-qa-db-ja.com

Linuxドライブを2か所にマウントする

同じドライブ(例:/ dev/sdd1)をハードドライブの2か所にマウントする方法を探していました。ドライブを最初の場所にマウントするために使用するコマンドを再度使用しようとすると、エラーが発生します。

「NTFSドライブがすでに排他的に開かれているため、マウントが拒否されました。」

マウントポイントのバインドも試みましたが、明らかにメインの場所がマウント解除されると、バインドされたフォルダーにアクセスできるようになります。

他に試すことができるコマンドはありますか?

6
Max

この問題(特に「マウント解除された場合はどうなるか」)を解決するために私が見ることができる唯一の方法は、自動マウントおよびシンボリックリンクを使用することです。グスタフの答えで示唆されているように:

ln -s /mnt/original /home/max/newlink

ただし、コツは/mnt、特に/mnt/original自動マウントマップ でカバーすることです。ディストリビューションは、このためのパッケージを提供する必要があります。 /etc/auto.masterには次のようなものが必要です。

/mnt    /etc/auto.mnt

そして/etc/auto.mntで:

original        -fstype=ntfs    /dev/sdd1

このように/ mnt/originalにアクセスすると、/dev/sdd1が適切にマウントされますが、シンボリックリンクを「ルックスルー」すると、何らかの理由でまだマウントされていない場合でもマウントされます。

(もう1つ、これをsamba経由でエクスポートする場合も、preexecを使用して、sambaに存在を信じさせる必要があります。私は thisの「おしゃべりな友達」でしたブログ投稿

4
Flexo

Linux bindマウントでは、「メインの場所」としてそのようなものはありませんがあります。両方のマウントは同じです。一方がマウント解除されている場合、もう一方は残ります。

mount --bind /mnt/original /home/max/newlink

fstabの場合は、/mnt/original /home/max/newlink none bindを使用します。)

12
user1686

最初のマウントから2番目の場所へのシンボリックリンクを作成できます。

ln -s /mnt/original /home/max/newlink
3
Gustav Bertram