运行 systemd 服务时出错

运行 systemd 服务时出错

我正在关注这个回答。我成功创建了服务和脚本。但是当我启动服务时,出现了错误。

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

但还是一样。

有什么帮助吗?

相关内容