# 2021-01-13 #「GNOME」- 关闭 PackageKit 服务

问题描述

PackageKit,包管理服务,通过 DBus 接口,执行某些简单的包管理任务,比如刷新缓存,安装、更新、移除软件等等。

但是该服务经常占用大量 CPU 资源,非常多,而且一直有人反馈这个问题:
https://gitlab.gnome.org/GNOME/gnome-software/issues/512
https://bugs.launchpad.net/appcenter/+bug/1587975
https://www.reddit.com/r/linuxquestions/comments/55q35o/what_is_packagekitd_and_why_does_it_use_so_much/
https://baheyeldin.com/technology/linux/how-avoid-packagekit-consuming-lots-cpu-and-ram-kubuntu-1404.html

鉴于在系统管理中,我们经常使用 YUM/APT 等等的包管理器,从未使用该服务,因此我们决定关闭该服务。

该笔记将介绍:如何关闭 PackageKit 服务。

附加说明

操作系统:Kali GNU/Linux Rolling
软件版本:packagekit 1.0.1-2

关于该笔记分类:在 Debian 10.3 中,桌面环境(graphical.target)会启动 PackageKit 服务,而多用户环境(multi-user.target)不会启动该服务,因此将该笔记分类到桌面环境设置中。

解决办法

目前(09/02/2019),并没有人找到 CPU 占用高的原因。所以,对于这个问题也没有什么解决方案。卸载的有,禁用的有,这那的都有,都是些 workaround 办法。

第一步、禁用服务

由于依赖的原因,还不能直接删除掉。因此只能禁用服务:

systemctl stop packagekit.service
systemctl disable packagekit.service
systemctl mask packagekit.service # 如果不mask的话,它还会启动。

第二步、移除配置(可选步骤)

在 Debian 中,当禁用 PackageKit 服务后,执行 apt-get 安装的最后阶段,会产生错误提示:

Error: GDBus.Error:org.freedesktop.systemd1.UnitMasked: Unit packagekit.service is masked.

这是由 /etc/apt/apt.conf.d/20packagekit 导致的。因为在 apt-get install 完成之后,会出触发特定的 PackageKit 钩子,由于我们禁用 PackageKit 服务而导致钩子无法访问该服务,所以禁用该钩子即可:

mv -v /etc/apt/apt.conf.d/20packagekit{,.disabled}

参考文献

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值