エラー:すでに存在しているためインストール中です。 /etc/fstabに重複したエントリがありますか?

エラー:すでに存在しているためインストール中です。 /etc/fstabに重複したエントリがありますか?

次のコマンドを使用して、複数のFTPユーザーに同じ宛先ディレクトリへのアクセスを許可しようとした場合:

sudo mount --bind /home/max/home/ExLand /home/riven/Desktop/ExLand
sudo mount --bind /home/r1ven/home/ExLand /home/riven/Desktop/ExLand/etc/fstab

/etc/fstab

/home/r1ven/home/ExLand /home/riven/Desktop/ExLand none bind 0 0
/home/max/home/ExLand /home/riven/Desktop/ExLand none bind 0 0

/var/log/syslog でエラーが発生しました。

Dec 12 18:32:31 riven kernel: [    2.131397] systemd-fstab-generator[292]: Failed to create unit file /run/systemd/generator/home-riven-Desktop-ExLand.mount, as it already exists. Duplicate entry in /etc/fstab?
Dec 12 18:32:31 riven kernel: [    2.131711] systemd[284]: /usr/lib/systemd/system-generators/systemd-fstab-generator failed with exit status 1.

その結果、再起動後、1つのディレクトリのみがマウントされました。

/home/r1ven/home/ExLand /home/riven/Desktop/ExLand バインディングなし 0 0

2番目のディレクトリはマウントされておらず、アクセスできません。

何が間違っているのか教えてください? )

ディレクトリを手動でマウントすると、再起動する前にすべてがうまく機能し、両方のFTPユーザーが1つのディレクトリを使用できるようになります。しかし、再起動後は上記のディレクトリだけが利用可能で、2番目のディレクトリは完全にアクセスできませんが、手動で再マウントすると表示されます。

ベストアンサー1

同じターゲットマウントポイントに2つのバインドマウントを重ね合わせて実行しています。

ステップ1:

sudo mount --bind /home/max/home/ExLand /home/riven/Desktop/ExLand

/home/max/home/ExLandこれでアクセスできます/home/riven/Desktop/ExLand

ステップ2:(/etc/fstabコマンドの終わりにある単語が誤字であると仮定)

sudo mount --bind /home/r1ven/home/ExLand /home/riven/Desktop/ExLand

これにより/home/r1ven/home/ExLandサイトにアクセスできますが、/home/riven/Desktop/ExLand以前のバンドルのインストールにはアクセスできなくなります。 (既存のセッションがある場合、そのcdバージョンは引き続き/home/riven/Desktop/ExLand表示される可能性がありますが、/home/max/home/ExLand新しくアクセスするとその/home/r1ven/home/ExLandバージョンのみが表示されます。)

ユーザーがmax変更した場合は2つの別々の場所があるため、/home/max/home/ExLandユーザーはr1venその変更をどこでも表示できません。/home/r1ven/home/ExLand

ユニット名はターゲットマウントポイント名に基づいて生成されるため、2つの重複するマウントターゲットの両方が同じユニット名を持つことになります。これはバグですsystemd-fstab-generator.mountこのようにネストされたマウントポイントはあまり役に立ちませんが、通常バグなので、このバグはおそらく良いものです。

目標がユーザーmaxr1venユーザーの両方にアクセス権を付与することである場合は、/home/riven/Desktop/ExLandバインドマウントを反対方向に実行する必要があります。

こう考えてみてください: for mount --bind,源泉データが常駐する場所です本物これはターゲット見たいところです。

したがって、/etc/fstab項目は次のようになります。

/home/riven/Desktop/ExLand /home/r1ven/home/ExLand none bind 0 0
/home/riven/Desktop/ExLand /home/max/home/ExLand none bind 0 0

後でmaxファイルを追加すると、/home/max/home/ExLandユーザーはそのファイルもそこに表示できますr1ven(正しいディレクトリ権限を想定している場合)。これは両方の場所が実際にアクセスできるためです。/home/r1ven/home/ExLand/home/riven/Desktop/ExLand

おすすめ記事