mountは、新しく接続されたファイルシステムのデフォルトのマウントオプションをどのように決定しますか?

mountは、新しく接続されたファイルシステムのデフォルトのマウントオプションをどのように決定しますか?

mountさまざまな種類のファイルシステムと各ファイルシステムのさまざまな設定で使用してもmount長い間テストされています。mountファイルシステムをマウントするときにデフォルト設定が何であるかを知る方法を知りたいです。デーモンがファイルシステムを自動的にマウントするという事実に加えて、udisksd次のオプションなしでファイルシステムをマウントするときに適切な設定をどのように決定しますか?mount

# mount /dev/sdc /media/usb_drive

特に興味があります長いオプションたとえばmountro、、、、、、、...)。rw上記のように、このコマンドは長いオプションを一覧表示しません。noexecexecnodev

$ mount | grep /dev/sdc
/dev/sdc on /media/usb_drive type ext4 (rw,relatime,data=ordered)

(rw,relatime,data=ordered)/ dev / sdc:をマウントすると、ext4ファイルシステムがデフォルトでいくつかのオプションを使用していることがわかります。ただし、fstabには/dev/sdcエントリはありません。ファイルシステムはパーティションではなくUSBドライブ全体にあります。上記のコマンドは、次のコマンドを実行したのと同じです。

# mount /dev/sdc /media/usb_drive -o rw,relatime,data=ordered 

mount適切なデフォルトのインストールオプションを決定するために使用されるメカニズムは何ですか?

ベストアンサー1

少なくともLinuxでは、すべてのデフォルト値は次のようにハードコードされます。

  1. mount自分で命令を出す
  2. ファイルシステム固有のマウントヘルパー(mount.ext4この場合)。
  3. mountカーネルの一般的なVFS層機能
  4. mountカーネルのファイルシステム固有機能

relatimeこれはケース3に属し、実際にはユーザーがローカルにローカルカーネルにパッチを適用する一般的な場所です(通常はデフォルトでパッチが適用されますnoatime)。ケース3もありますが、カーネルのFS固有の機能で上書きrwできます。mount

data=ordereddata=writeback4から始めるのはext *に固有で、独自のカーネルをビルドするとビルド時に変更される可能性があります(一部のディストリビューションでは異なる場合があります)。

取得できる基本オプションの正確なリストは、ファイルシステムの種類(例:BTRFSにはext4以外の設定がありますrw,relatime)、ファイルシステムの詳細(ext4のスーパーブロックにいくつかの基本オプションを含めることができます)、時にはハードウェアです。ベース(BTRFSはSSDがあるかどうかを推測しているとssd判断した場合は、FS関連のマウントオプションを追加します)。

状況は他のほとんどのシステムでも非常に似ていますが、以前のUNIXシステムではmountFS関連のインストールコマンドのマルチプレクサにすぎません。

おすすめ記事