She*_*huk 19
在某些情况下,可以安全地忽略此错误。fwupd-refresh.service仅执行/usr/bin/fwupdmgr refresh命令并将退出状态2视为成功(请参阅 的最后 2 行fwupd-refresh.service)。但fwupdmgr也可以成功退出并显示 status 0,这将被 systemd 错误地解释为错误。
systemctl cat fwupd-refresh:
# /lib/systemd/system/fwupd-refresh.service
[Unit]
Description=Refresh fwupd metadata and update motd
Documentation=man:fwupdmgr(1)
After=network.target
[Service]
Type=oneshot
CacheDirectory=fwupdmgr
StandardError=null
DynamicUser=yes
RestrictAddressFamilies=AF_NETLINK AF_UNIX AF_INET AF_INET6
SystemCallFilter=~@mount
ProtectKernelModules=yes
ProtectControlGroups=yes
RestrictRealtime=yes
SuccessExitStatus=2
ExecStart=/usr/bin/fwupdmgr refresh
Run Code Online (Sandbox Code Playgroud)
sudo /usr/bin/fwupdmgr refresh:
...
Successfully downloaded new metadata: 0 local devices supported
Run Code Online (Sandbox Code Playgroud)
echo $?:0
man fwupdmgr:
EXIT STATUS
Commands that successfully execute will return "0", but commands that have no actions but successfully execute will return "2".
Run Code Online (Sandbox Code Playgroud)
小智 14
就我自己的情况而言(带有最新更新的 Ubuntu Server 20.04),DynamicUser=no提供了快速而肮脏的解决方案。
首先,运行“systemctl edit fwupd-refresh”并输入:
[Service]
DynamicUser=no
Run Code Online (Sandbox Code Playgroud)
然后,运行“systemctl restart fwupd-refresh”并享受。
| 归档时间: |
|
| 查看次数: |
45783 次 |
| 最近记录: |