Manjaro系统启动和关机报错 failed to start pkgfile database update

1. 报错原因

系统中安装了oh-my-zsh,此软件依赖了pkg,系统启动时会检查更新pkg,但是启动时系统还没联网所以无法更新。
更新是以systemctl服务的形式进行更新的,服务文件位于/lib/systemd/system,可以看到有两个和pkg有关的服务 ,pkgfile-update.timer
在这里插入图片描述
先查看以下两个服务状态,可以看到pkgfile-update.timer会触发pkgfile-update.service。
在这里插入图片描述
分别打开两个文件看看

$ cat pkgfile-update.timer

[Unit]
Description=pkgfile database update timer

[Timer]
OnbootSec=30min
OnUnitActiveSec=1weeks
Persistent=no

[Install]
WantedBy=multi-user.target

$ cat pkgfile-update.service 

[Unit]
Description=pkgfile database update
RequiresMountsFor="/var/cache/pkgfile"
After=network-online.target
Wants=network-online.target


[Timer]
OnBootSec=50min
OnUnitActiveSec=1week
Persistent=no

[Service]
Type=oneshot
ExecStart=/usr/bin/pkgfile -u
Nice=19
StandardOutput=null
StandardError=journal
PrivateTmp=yes
PrivateDevices=yes
CapabilityBoundingSet=
NoNewPrivileges=yes

可以看到,实际上service中最终执行的是ExecStart后面的/usr/bin/pkgfile -u,就是这个命令在开机时因为没网,肯定失败,我们要做的是在开机成功后过一会再执行这个联网更新命令。可以参考我上面的,上面的两个文件是我改过的。

2 结论

开机报错是因为开机时没网,但是系统有个定时服务,是 一开机就联网更新pkgfile,所以失败了。

3 解决方式

  1. 手动运行命令sudo pkgfile -u,此方式治标不治本
  2. 更改pkgfile-update.service,和pkgfile-update.timer,把OnbootSec时间改长一些,不要让开机马上就执行,开机瞬间可能没网
$ cat pkgfile-update.timer

[Unit]
Description=pkgfile database update timer

[Timer]
OnbootSec=30min
OnUnitActiveSec=1weeks
Persistent=no

[Install]
WantedBy=multi-user.target

$ cat pkgfile-update.service 

[Unit]
Description=pkgfile database update
RequiresMountsFor="/var/cache/pkgfile"
After=network-online.target
Wants=network-online.target


[Timer]
OnBootSec=50min
OnUnitActiveSec=1week
Persistent=no

[Service]
Type=oneshot
ExecStart=/usr/bin/pkgfile -u
Nice=19
StandardOutput=null
StandardError=journal
PrivateTmp=yes
PrivateDevices=yes
CapabilityBoundingSet=
NoNewPrivileges=yes

5参考

[FAILED] failed to start pkgfile database update

Linux中service的配置

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Manjaro 是一款基于 Arch Linux 的操作系统,它以其简洁、易用和稳定的特性而受到广大用户的喜爱。在安装 Manjaro 时,我们可以选择将其与其他操作系统一起安装在同一台计算机上,这就是双系统安装。 双系统安装意味着在一台计算机上同时拥有两个不同的操作系统。在安装 Manjaro 双系统时,我们需要为其分配一定的磁盘空间。首先,我们需要备份和压缩原有的操作系统并为其腾出足够的磁盘空间。然后,我们可以通过引导装载程序(如 GRUB)来选择启动哪个操作系统。 安装 Manjaro 双系统的好处之一是可以在不同的操作系统之间切换。例如,当一些软件在 Manjaro 上不可用时,我们可以切换回原来的操作系统来满足我们的需求。此外,双系统安装还可以提供更好的兼容性,使我们能够使用多个操作系统来运行不同的软件和游戏。 然而,双系统安装也存在一些挑战。首先,我们需要管理不同的系统更新和软件安装。其次,双系统可能会占用更多的磁盘空间,因此我们需要确保计算机有足够的可用空间。此外,始终保持双系统的稳定性和安全性也是一个重要的考虑因素。我们需要定期更新操作系统和软件,并确保安装了适当的防病毒软件来保护计算机的安全。 总结来说,Manjaro 双系统安装允许我们在一台计算机上同时拥有两个操作系统。它提供了更多的选择,但也需要我们管理更新和保持系统稳定和安全。通过充分了解和规划,我们可以成功安装和使用 Manjaro 双系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值