マウント対自動マウントシステムデバイス:どの用途に使用しますか?

マウント対自動マウントシステムデバイス:どの用途に使用しますか?

systemdデバイスについて調査した後、2種類のマウントデバイスが見つかりました.mount.automount最初は、automountデバイスが自動的にインストールされるのが論理的なようですmount。ただし、マウントされたデバイスを有効にすると、次の結果が表示されます。

systemctl enable media-mydisk.mount

起動時に自動的にインストールされます。私はsystemdに初めて触れましたが、長い間これが私を悩ませました。最後に、そのデバイスのコードも公開しました。

automountだから私の主な質問は:mount単位を有効にすることができますが、なぜsが必要なのですか?

media-mydisk.mount違いがあれば、これは私のものです。

[Unit]
Description=My disk

[Mount]
What=/dev/sdb1
Where=/media/mydisk
Type=ext4
Options=defaults

[Install]
WantedBy=multi-user.target

私はオンラインで検索しましたが、.automountaを使用するものと単にアクティブにするものとの比較が見つかりませんでした。.mount

答え1

の「auto」部分はautomount起動プロセスを参照しません。automountデバイスは、マウントするマウントポイントを定義します。オンデマンド、すなわちアクセスされるときだけ。

automount単位はオプションですが、そのmount単位も必要です。前者は、後者の既存のインスタンスに機能を追加するためのものです。からman systemd.mount

オプションで、マウントに自動化されたマウントが付属しており、オンデマンドまたはパラレルインストールが可能です。

そして次からman systemd.automount

各自動マウントデバイスファイルに対して、自動マウントパスにアクセスするときに有効になる一致するマウントデバイスファイル(詳細はsystemd.mount(5)を参照)が必要です。例:自動マウントデバイスがhome-lennart.automount有効になっていて、ユーザーが/home/lennartマウントデバイスにアクセスするとhome-lennart.mountアクティブになります。

デバイスの一般的な使用例automountは、起動中に不要なファイルシステムをインストールすることです(たとえば、リモート、リムーバブル、または暗号化されたメディア)。速度が遅くなったり、起動時に使用できなくなる可能性がありますが、それでも好みです。システムによって制御されるd。

単純で例示的な例に過ぎない。与えられたmnt-foo.mount単位

[Unit]
Description=foo mount

[Mount]
Where=/mnt/foo
What=/home/user/foo
Type=ext4

(単純化のためにfooext4でフォーマットされた一般的なファイル)とmnt-foo.automount単位

[Unit]
Description=foo automount

[Automount]
Where=/mnt/foo

[Install]
WantedBy=multi-user.target

後者がアクティブになった後(またはenabled、システムが再起動されます)

# systemctl start mnt-foo.automount

/home/user/fooまだどこにもインストールされていないことを確認できますmount

$ mount | grep foo
systemd-1 on /mnt/foo type autofs (...)

実際、マウントはマウントポイントにアクセスした後にのみ発生します/home/user/foo/mnt/foo

$ ls /mnt/foo
$ mount | grep foo
systemd-1 on /mnt/foo type autofs (...)
/home/user/foo on /mnt/foo type ext4 (rw,relatime)

関連情報