
OpenSUSE一个很容易让普通用户被劝退的东西,就是这个packagekit。他是一个系统级的后台服务(Daemon),旨在为不同的 Linux 发行版提供一个统一的跨平台包管理接口。简单来说,它充当了图形化软件商店(如 KDE Discover、GNOME Software)和底层包管理器(如 openSUSE 的 Zypper、Fedora 的 DNF、Ubuntu 的 APT)之间的“翻译官”。有了它,图形界面的开发者就不需要为每一种 Linux 发行版单独编写一套软件安装逻辑,只需调用 PackageKit 的 API,PackageKit 就会在后台再去调用对应的底层工具。
本身是个好东西,然而,因为他经常在后台要么检查更新,要么刷新源。这就导致了当你在手动运行zypper时候,如果遇到packagekit也刚好在运行就会提示占用。二大多数时候,包括Discover等在内的应用商店其实很鸡肋,具体主要是在速度上,尤其是国内网络debuff下。所以很多OpenSUSE的用户会建议将这个东西卸载或者禁用,方法也很简单。
选择一、卸载PackageKit
sudo zypper rm PackageKit PackageKit-backend-zypp
选择二、禁用PackageKit
sudo systemctl stop packagekit.service
sudo systemctl mask packagekit.service