如何避免“yum lock”麻烦?

如何避免“yum lock”麻烦?

当尝试安装应用程序时,我经常遇到“另一个应用程序当前正在持有 yum 锁;正在等待它退出...”消息,并且我必须手动终止 yum。我怎样才能避免这种情况?有什么简单的方法可以解锁 yum 吗?

看起来只有一个 yum 实例可以运行。与其他包管理器(apt-get、pacman)一样吗?

答案1

我认为这是由PackageKit引起的。你必须检查 PackageKit 并禁用它(我假设它是带有 的 CentOS 7 systemctl,否则你可以使用servicechkconfig)(如评论中所述,服务名称不是packagekitpackagekitd

systemctl stop packagekit
systemctl disable packagekit

另一种方法(在 CentOS/RHEL 6、Fedora 19 或更早版本上)是/etc/yum/pluginconf.d/refresh-packagekit.conf使用文本编辑器打开,然后更改enabled=1enabled=0.

或者你可以完全删除它:

yum remove PackageKit

答案2

请执行以下操作来解决该问题:

cd /var/run
rm -f yum.pid

你也可以稍后更新你的 yum

yum -y update

答案3

您可以通过以下两个简单的步骤来解锁 yum,

1) 运行ps aux | grep yum查看哪个进程正在锁定 yum。 2)kill <process_id>杀死进程。

再次运行ps aux | grep yum看看进程是否被杀死。杀死进程后yum就会解锁。

答案4

systemctl disable packagekit 是不足够的。 packagekit 将在重新启动时运行。使用mask命令而不是命令disable

[root@localhost yum.repos.d]# systemctl mask packagekit
Created symlink from /etc/systemd/system/packagekit.service to /dev/null.

然后重启后你会看到...

[sri@localhost ~]$ systemctl status packagekit
● packagekit.service
   Loaded: masked (/dev/null; bad)
   Active: inactive (dead)

相关内容