「yum lock」の問題を回避するには?

「yum lock」の問題を回避するには?

アプリケーションをインストールしようとすると、「他のアプリケーションが現在yumロックを保持しています。終了するのを待っています...」というメッセージが頻繁に表示され、yumを手動で終了する必要があります。これをどのように避けることができますか? yumを簡単にロック解除する方法はありますか?

yumインスタンスが1つだけ実行されているようです。他のパッケージマネージャ(apt-get、pacman)と同じですか?

答え1

私はこれがPackageKitのためだと思います。 PackageKitをチェックして無効にする必要があります(CentOS 7に同梱されているとします。そうでなければ、およびsystemctl使用できます)(説明で述べたようにサービス名ではありません)。servicechkconfigpackagekitpackagekitd

systemctl stop packagekit
systemctl disable packagekit

別の方法(CentOS / RHEL 6、Fedora 19以下)は/etc/yum/pluginconf.d/refresh-packagekit.confテキストエディタでenabled=1開きますenabled=0

または完全に削除することもできます。

yum remove PackageKit

答え2

問題を解決するには:

cd /var/run
rm -f yum.pid

後でyumを更新することもできます。

yum -y update

答え3

次の2つの簡単な手順で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)

関連情報