防止 systemd 卸载由 systemd 服务挂载的分区

防止 systemd 卸载由 systemd 服务挂载的分区

我有一个自定义的 systemd 服务,可以在某些条件下自动安装一些分区。该服务执行包含一些安装命令的 shell 脚本。当我直接执行它时,一切正常,即使在 shell 脚本返回后分区也保持挂载状态。但是当我使用 systemd 启动它时,分区已安装,但在 shell 脚本返回后它们会自动卸载。我怎样才能让它们保持安装状态?

我的自定义 systemd 单元:

[Unit]
Description=Automatically mount secondary volumes

[Service]
User=root
WorkingDirectory=/opt/vmount
ExecStart=/opt/vmount/vmount.sh
Restart=no

[Install]
WantedBy=multi-user.target

答案1

我不知道 sh/bash 脚本中隐藏了什么。这不是通过 systemd 安装卷的正确方法。

下面的方式是systemd的持久挂载方式:

创造: vim /etc/systemd/system/mnt-backup.mount

包含以下内容:

[Unit]
Description=proper mounting with systemd

[Mount]
What=/dev/sdc1
Where=/mnt/backup
Type=ext4

[Install]
WantedBy=multi-user.target

要安装该卷,只需启动它: systemctl start mnt-backup.mount

接下来检查其 systemd 状态: systemctl status mnt-backup.mount

并检查它是否确实安装了mount

为了使其持久:

systemctl enable mnt-backup.mount

笔记:所有命令都应以 root 身份执行,如果您使用 root 身份sudo,则需要在 shell 中的所有命令前面加上它。

相关内容