I run a number of CentOS servers. I was recently doing the occasional yum update
but this failed on a handful of the servers. On most I have been able to move forward by doing:
# yum clean all
# rm -f /var/lib/rpm/__db*
# rpm --rebuilddb
# yum update
However on one server, the yum clean
command hangs. I have tried running:
# yum -v --noplugins clean all
but I get no output at all. Yum just hangs, and will sit there for hours if I let it, not using any cpu, just stopped. Doing
# strace -f yum -v --noplugins clean all
produces quite a lot of output, but then stops with:
...
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
At this point I'm feeling stuck. This is a production server, so I don't want to just blow it away, or even blow away all the yum information. Apart from the yum stuff, the server is working fine.
I had the same problem, all my yum commands were hanging.
I ran the following commands
So a combination of some of the above comments and answers.
On my Redhat 7.2 this helps to let run the yum commands.
This is not a direct answer, but if none of the commands from the other answers helped then I'd check the command
package-cleanup
.All the proposed commands are for handling the RPM database, but it could be that there's something broken in the relation of some installed packages.
From
man package-cleanup
:I'd start with the command in the second example, I've used it before and it solved some weird issues I had in one of my CentOS machines which was related to
yum clean
.In my case, I had all but one server with
in
Setting this to
enabled=0
fixed my issue.All of the above but also:
I couldn't get any of the above to work until I did this.
Credit to: https://cloudlinux.zendesk.com/hc/en-us/articles/115004580385-If-RPM-or-yum-processes-hangs