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
私はオンラインで検索しましたが、.automount
aを使用するものと単にアクティブにするものとの比較が見つかりませんでした。.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
(単純化のためにfoo
ext4でフォーマットされた一般的なファイル)とmnt-foo.automount
単位
[Unit]
Description=foo automount
[Automount]
Where=/mnt/foo
[Install]
WantedBy=multi-user.target
後者がアクティブになった後(またはenable
d、システムが再起動されます)
# 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)