多くのCentOSサーバーを実行しています。最近、たまにyum update
しかし、これは少数のサーバーで失敗しました。ほとんどの場合、私は次のようにして前進することができました:
# yum clean all
# rm -f /var/lib/rpm/__db*
# rpm --rebuilddb
# yum update
ただし、1つのサーバーでは、yum clean
コマンドがハングします。私は走ってみました:
# yum -v --noplugins clean all
しかし、何も出力されません。 Yumハングアップするだけで、CPUを使用せずにそのままにしておくと、何時間もそこに座って停止します。
# strace -f yum -v --noplugins clean all
大量の出力が生成されますが、次のように停止します。
...
stat64("/var/lib/rpm/__db.003", {st_mode=S_IFREG|0644, st_size=450560, ...}) = 0
open("/var/lib/rpm/__db.003", O_RDWR|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
mmap2(NULL, 450560, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0xb6b34000
close(4) = 0
stat64("/var/lib/rpm/Packages", {st_mode=S_IFREG|0644, st_size=14938112, ...}) = 0
open("/var/lib/rpm/Packages", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
read(4, "\0\0\0\0\1\0\0\0\0\0\0\0a\25\6\0\10\0\0\0\0\20\0\0\0\10\0\0k\t\0\0"..., 512) = 5
12
close(4) = 0
open("/var/lib/rpm/Packages", O_RDONLY|O_LARGEFILE) = 4
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
fstat64(4, {st_mode=S_IFREG|0644, st_size=14938112, ...}) = 0
futex(0xb6b7bd1c, FUTEX_WAIT, 1, NULL
この時点で私は行き詰まりを感じています。これはプロダクションサーバーなので、吹き飛ばしたり、yum情報をすべて吹き飛ばしたりしたくありません。 yumのものとは別に、サーバーは正常に動作しています。
同じ問題があり、すべてのyumコマンドがハングしていました。
次のコマンドを実行しました
rm /var/lib/rpm/__db*
rm /var/lib/rpm/.rpm.lock
rm /var/lib/rpm/.dbenv.lock
したがって、上記のコメントと回答のいくつかの組み合わせ。
私のRedhat 7.2では、これはyumコマンドを実行するのに役立ちます。
rm /var/lib/rpm/.dbenv.lock
これは直接的な回答ではありませんが、他の回答からのコマンドがどれも役に立たなかった場合は、コマンドpackage-cleanup
を確認します。
提案されたすべてのコマンドはRPMデータベースを処理するためのものですが、インストールされている一部のパッケージの関係に問題がある可能性があります。
man package-cleanup
から:
DESCRIPTION
package-cleanup is a program for cleaning up the locally-installed RPMs.
EXAMPLES
List all dependency problems:
package-cleanup --problems
List all packages that are not in any Yum repository:
package-cleanup --orphans
2番目の例のコマンドから始めます。以前に使用したことがあり、yum clean
に関連するCentOSマシンの1つにあったいくつかの奇妙な問題を解決しました。
上記のすべてに加えて:
ps -ef | grep yum # kill off all yum processes
ps -ef | grep rpm # kill off rpm processes
これを行うまで、上記のいずれも機能しませんでした。
クレジット: https://cloudlinux.zendesk.com/hc/en-us/articles/115004580385-If-RPM-or-yum-processes-hangs