no-mtab オプションはマウントには適用されません。

no-mtab オプションはマウントには適用されません。

/dev/loop0RHELなどの特定のマウントポイントにマウントしようとするスクリプトがあります/mnt/mp。私が使用するコマンドは次のとおりです。

mount /dev/loop0 /mnt/mp --no-mtab -o ro

に項目を作成してはいけません/etc/mtab。このコマンドはRHEL 6より前には正常に機能していましたが、RHEL 7ではこのコマンドは失敗しました/etc/mtab。なぜですか? RHEL 7でこれを抑制する方法は?

答え1

最新のシステムでは、/etc/mtabは/proc/mountsへのシンボリックリンクです。 /proc/mounts は、すべてのマウントの現在の状態を表示するカーネルによって提供される仮想ファイルです。したがって、すべての操作の後は常に更新されます/proc/mountsmount望むよりman mount

従来、マウントおよびアンマウントプログラムは、/ etc / mtabファイルに現在マウントされているファイルシステムのリストを保持していました。この実際のmtabファイルはまだサポートされていますが、現在のLinuxシステムでは/ proc / mountsへのシンボリックリンクにすることをお勧めします。これは、ユーザー空間に保持されている一般的なmtabファイルは、名前空間、コンテナ、およびその他と確実にインタフェースできないためです。高度なLinuxでの使用の特徴。

RHEL7はそのようなシステムのようです。

/etc/mtab および /proc/mounts ファイルが一致しない可能性があります。

...

ファイルシステムの情報ソースとしてカーネル(/proc/mounts)を使用します。このソリューションはRHEL7で動作します。

https://bugzilla.redhat.com/show_bug.cgi?id=751691#c1>

答え2

/etc/mtab の内容を読み取ると破損する可能性があるため、この方法はお勧めできませんが、次のようにすることができます。

# cd /etc
# rm mtab
# touch mtab.real
# ln -s mtab.real mtab
# reboot

systemdがmtabを更新しないようで、まだ空です。

関連情報