![centos 上的 Systemd 挂载单元配置 *.img 文件](https://linux22.com/image/204393/centos%20%E4%B8%8A%E7%9A%84%20Systemd%20%E6%8C%82%E8%BD%BD%E5%8D%95%E5%85%83%E9%85%8D%E7%BD%AE%20*.img%20%E6%96%87%E4%BB%B6.png)
需要创建一个虚拟文件samba.img
,该文件将成为一个设备,并在系统启动时自动挂载它。
从文件创建虚拟磁盘
fallocate -l 2G /root/img/samba.img
mkfs.ext4 /root/img/samba.img
制作挂载点
sudo mkdir /srv/smb
我创建一个挂载文件以在系统启动时运行
vim /etc/systemd/system/mnt-driveone.mount
mnt-driveone.mount 包含
[Unit]
Description=Additional drive
[Mount]
What=/root/img/samba.img
Where=/srv/smb
Type=ext4
Options=defaults
[Install]
WantedBy=multi-user.target
接下来,添加到自动加载
systemctl enable mnt-driveone.mount
跑步
systemctl start mnt-driveone.mount
我收到一个错误
mnt-driveone.mount: Where= setting doesn't match unit name. Refusing.
我看了一下,当路径写错或者有空格的时候就会出现这样的错误,但是我的目录存在并且没有空格。
答案1
好吧,错误告诉你出了什么问题!
阅读man systemd.mount
以了解单元文件名要求:
挂载单元必须以其控制的挂载点目录命名。
示例:挂载点/home/lennart
必须在单元文件中配置home-lennart.mount
。有关用于将文件系统路径转换为单元名称的转义逻辑的详细信息,请参阅systemd.unit(5)。请注意,安装单元无法模板化,也无法通过创建附加符号链接来将多个名称添加到安装单元。
所以你的单元文件必须命名为srv-smb.mount
.