为什么使用systemd来挂载文件系统而不使用fstab?使用fstab的时候如果设备被移除会导致系统启动失败,无法进入系统(只能进入临时修复系统),systemd则没有这个问题。

假设我们新增加了1个硬盘sda,并且将它划分了1个分区, sda1,则需要为这个分区选择挂载点,以便开机后可以直接使用。 我们建立了1个文件夹 /mnt/data,对应上述的硬盘分区。

要想使用systemd实现自动挂载,必须要建立对应的“.mount”文件,放置在/etc/systemd/system/这个文件夹下面就可以,文件的命名方式,是将要挂载到的目的文件夹的绝对路径中的斜杠给成横线, 例如 /mnt/data 则对应的.mount文件就是:mnt-data.mount,可以有更多层的目录,如xxx-xxx-xxx.mount

下面以/dev/sda1 开机挂载到 /mnt/data为例:

一、挂载本地磁盘


以下为配置内容:


如果硬盘要经常抽取、更换等,则可以将 what=/dev/sda1   改成用UUID来表示的形式,如下:

UUID 可以用  # ls -l /dev/disk/by-uuid   这条命令显示出来,What中不能出现空格,否则会挂载失败。

二、文件夹向文件夹挂载

进行文件夹向文件夹mount,也就是 bind mount。

假设我要将  /home/disk1/wenxian  这个文件夹进行共享,但不想重新配置samba,而是将其bind mount到已有的共享文件夹 /home/share/ 目录下新建的wenxian 文件夹中。 类似的手动挂载命令:

若要使用systemd的自动挂载功能,则同样需要建立.mount文件,这里的命名为: home-share-wenxian.mount

内容如下:

注意 Type 的参数更改为了 none,Options的参数设定为 bind
同样的,将该文件设定为开机自动运行即可

三、挂载网络文件系统



四、自动挂载



五、开启关停



六、设置定时关机功能

这里需要用到 systemd 自带的timer工具,以及   systemd-poweroff.service 这个服务,在/usr/lib/systemd/system  目录中

先建立定时关机文件,命名为  auto-poweroff.timer

内容如下:

将该文件设定为开机自动运行即可

七、重要事项:

(以下内容非常重要,可能直接导致挂载失败。)

  1. mount文件名称必须要与你挂载路径一致,把路径里的「/」换成「 -」,例如本例要挂的目录为/mnt/data,则文件名称必须为mnt-data.mount。可以多层目录如xxx-xxx-xxx.mount
  2. 如果挂载nfs的话需要安装nfs客户端:

    1. 找好很久很久才找到的内容,也正是这篇文章,才使得我真正用上systemd的挂载系统。《Automatic mounts with systemd》

转载至: https://nlye.top/DffNu

原文链接:https://blog.csdn.net/lggirls/article/details/100297311