我运行了许多CentOS服务器.我最近偶尔会更新yum更新,但是在一些服务器上失败了.在大多数情况下,我可以通过以下方式前进:
# yum clean all # rm -f /var/lib/rpm/__db* # rpm --rebuilddb # yum update
但是在一台服务器上,yum clean命令挂起.我试过跑:
# yum -v --noplugins clean all
但我根本没有输出.百胜只是挂了,如果我放了它几个小时,不会使用任何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_size=14938112,...}) = 0 open("/var/lib/rpm/Packages",O_RDONLY|O_LARGEFILE) = 4 fcntl64(4,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",FD_CLOEXEC) = 0 fstat64(4,...}) = 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
所以结合上面的一些评论和答案.