![运行 systemd 服务时出错](https://linux22.com/image/1203789/%E8%BF%90%E8%A1%8C%20systemd%20%E6%9C%8D%E5%8A%A1%E6%97%B6%E5%87%BA%E9%94%99.png)
我正在关注这个回答。我成功创建了服务和脚本。但是当我启动服务时,出现了错误。
A dependency job for myusb.service failed. See 'journalctl -xe' for details.
我的脚本是将一个名为pop的目录自动挂载到/mnt。
#!/bin/bash
/bin/mount /media/raven/BC8B-9F35/pop /mnt
我认为问题出在我的脚本上。
这是结果journalctl -xe
Dec 11 20:47:09 dell systemd[1]: myusb.service: Job myusb.service/start failed with result 'dependency'.
Dec 11 20:47:09 dell sudo[4547]: pam_unix(sudo:session): session closed for user root
raven@dell:/etc/systemd/system$ cat myusb.service
[Unit]
Description=My flashdrive script trigger
Requires=media-raven-BC8B\x2d9F35.mount
After=media-raven-BC8B\x2d9F35.mount
[Service]
ExecStart=/home/raven/script.sh
[Install]
WantedBy=media-raven-BC8B\x2d9F35.mount
有人可以帮忙吗?
第 2 天
效果很好,但现在我又遇到了自动挂载问题。我更改了脚本,将整个 USB 挂载到/mnt
特定目录,而不是像昨天要求的那样。
/mnt
并且它正在毫无问题地安装 USB 。
但问题是,/media
此后系统本身会将 USB 挂载为默认设置。因此,当我列出内容时,/mnt
我什么也没有得到,只有/media
我的 USB 内容。
当我运行 mount 命令时,我得到以下输出。
/dev/sdb1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro)
/dev/sdc1 on /media/raven/BC8B-9F351 type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)
您可以看到它将我的 USB 安装为 sdc1 in/media
和 sdb1 in /mnt
。
实际上,我只有一个 USB 或外部驱动器连接到这台机器。因此它应该安装 sdb1。
因此我通过以下命令禁用了自动挂载。
gsettings set org.gnome.desktop.media-handling automount false
但还是一样。
有什么帮助吗?