umm*_*mmw 12 automounting systemd systemd-mount
在对 systemd 单元进行了一些研究之后,我发现了两种不同类型的挂载单元:.mount
和.automount
。起初,对我来说,该automount
装置会自动安装似乎是合乎逻辑的mount
。然而,事实证明,当您启用安装单元时:
systemctl enable media-mydisk.mount
Run Code Online (Sandbox Code Playgroud)
它将在启动时自动安装。我对 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
Run Code Online (Sandbox Code Playgroud)
我在网上搜索过,但找不到使用 a.automount
和简单启用 a之间的任何比较.mount
fra*_*san 18
中的“自动”部分automount
并不指引导过程:单元定义按需automount
安装的安装点,即仅在访问它们时安装。
automount
单位是可选的;但是,当它们存在时,相应的mount
单位也必须存在。前者旨在为后者的现有实例添加功能。从man systemd.mount
:
\n\n\n可选地,安装单元可以附有自动安装单元,以允许按需或并行安装。
\n
并且,来自man systemd.automount
:
\n\n\n对于每个自动挂载单元文件,必须存在一个匹配的挂载单元文件(有关详细信息,请参阅 systemd.mount(5)),该文件在访问自动挂载路径时被激活。示例:如果自动挂载单元
\nhome-lennart.automount
处于活动状态并且用户访问/home/lennart
该挂载单元home-lennart.mount
将被激活。
单元的典型用例automount
是安装启动过程中不需要的文件系统(例如,在远程或可移动或加密媒体上),并且可能会减慢速度,或者在启动时可能不可用,但您仍然喜欢由系统d。
一个简单的、仅供说明的示例。给定mnt-foo.mount
单位
[Unit]\nDescription=foo mount\n\n[Mount]\nWhere=/mnt/foo\nWhat=/home/user/foo\nType=ext4\n
Run Code Online (Sandbox Code Playgroud)\n\n(为简单起见,foo
只是一个格式化为 ext4 的常规文件),并且mnt-foo.automount
单位
[Unit]\nDescription=foo automount\n\n[Automount]\nWhere=/mnt/foo\n\n[Install]\nWantedBy=multi-user.target\n
Run Code Online (Sandbox Code Playgroud)\n\n后者被激活后(或enable
d,系统重新启动)
# systemctl start mnt-foo.automount\n
Run Code Online (Sandbox Code Playgroud)\n\n您将能够检查/home/user/foo
尚未安装到任何地方\xe2\x80\x94mount
给出
$ mount | grep foo\nsystemd-1 on /mnt/foo type autofs (...)\n
Run Code Online (Sandbox Code Playgroud)\n\n事实上,只有在访问挂载点后/home/user/foo
才会挂载:/mnt/foo
$ ls /mnt/foo\n
Run Code Online (Sandbox Code Playgroud)\n\n$ mount | grep foo\nsystemd-1 on /mnt/foo type autofs (...)\n/home/user/foo on /mnt/foo type ext4 (rw,relatime)\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
17249 次 |
最近记录: |