Debian では、(mount --bind コマンドを使用して) 他のシンボリックリンクからシンボリックリンクを作成する方法について質問があります。
2つの状況があります。
最初の状況: /main/dataにコアデータがあります。 「data」フォルダ内にはいくつかのファイル(フォルダ、ファイルなど)があります。その中に別のフォルダへのシンボリックリンクを作成しました。たとえば、次のようになります。
マウント --bind /master/data/users/admin
次に、コアフォルダではなくadminフォルダに別のシンボリックリンクを作成します。たとえば、次のようになります。
マウント --bind /users/admin/public/user1
フォルダからフォルダへのシンボリックリンクを作成するので、すべてがうまく機能します。しかし、2番目のケース:
2番目のケース:最初の場合と同様に、/ mount --bindコマンドを使用して/main/dataから単一のファイルのみをマウントしたいと思います。まず、adminに移動してから、フォルダ/user/admin全体をuser1にマウントします。まず/user/adminに空のファイルを作成し、コアファイルをインストールする必要があります。シームレスな作業のためのステップ -例:
/user/admin/myNewFile.txtをタッチします。
マウント --bind /main/data/information.txt /user/admin/myNewFile.txt
しかし、最後の部分は動作しません。例:
マウント --bind /users/admin/public/user1
最後のコマンドは、フォルダを/user/adminから/public/user1にマウントします。これにより、/ user / adminのすべてのファイルとフォルダがマウントされます。 "myNewFile.txt" は /public/user1 に表示されますが、ファイルは空でサイズは 0 です。
問題は、正しくマウントするためにマウントコマンドを実行するオプションがあるか、またはこの問題を解決できる他のソリューションがあるかです。
ご提案いただきありがとうございます。
答え1
このmount --bind
コマンドはバンドルのインストール、シンボリックリンクではありません。実際のシンボリックリンクは、ln -s
このコマンドを使用して生成されます。
を使用すると、mount --bind /main/data/information.txt /user/admin/myNewFile.txt
あるファイルシステムの一部(特にファイル)を別のファイルシステムに接続します。今の内容がinformation.txt
存在していても、myNewFile.txt
まだファイルは/user/admin
ファイルシステム。通常、これは重要ではありませんが、最後のコマンドの場合は重要です。
mount --bind /user/admin /public/user1
バンドルインストールの実行一つファイルシステム - サブマウントポイントを含むソースファイルのすべてのサブマウントポイントはコピーされません/user/admin/myNewFile.txt
。
バインドマウントを使用してディレクトリツリー全体をコピーするには、既存のベースを含むあなたと同様に、/usr/admin/myNewFile.txt
以下を使用する必要がありますmount --rbind
。
mount --rbind /user/admin /public/user1
2番目のケースは最初のケースと似ています。
mount --bind /main/data /user/admin
それから:
mount --bind /user /mnt
これにより、このディレクトリが空のディレクトリになる可能性/mnt/admin
があります。 (またはいくつかのファイルがある場合、そのファイルは確かに最新のファイルではなく、ずっと/main/data
前に誰かが使用しようとしましたが、最初に完了できなかった/user/admin
古いゴミであることがわかりますmount --bind /main/data /user/admin
。)
通常のマウントまたはmount --bind
ディレクトリのマウントを実行する場合は、まずターゲットのmkdir
場所に空のディレクトリを作成する必要があります。その後、mountコマンドはそのディレクトリの上に追加のコンテンツを追加します。同様に、mount --bind
単一のファイルで作業するときは、最初にターゲットtouch
に空のファイルを作成する必要があります。mountコマンドはいくつかのコンテンツを追加できます。その後、mount --bind
ファイルシステムの適切な部分を見ると、元のファイルにマウントされているファイルシステム/ファイルの代わりに、デフォルトの空のディレクトリ/ファイルが表示されます。