我想安装以下 rpm,但由于某种原因 RPM 卡住或冻结,无法安装 RPM 软件包。我无法通过control-C来阻止它。
请告知可能是什么问题?
root]# rpm -Uvh --repackage /var/tmp/bash-2.05b-41.8.i386.rpm
.....这里没有输出
或者
root]# rpm -Uvh /var/tmp/bash-2.05b-41.8.i386.rpm
RPM 验证(最后几行)
rpm -Uvvh /var/tmp/bash-2.05b-41.8.i386.rpm
.
.
.
D: installing binary packages
D: closed db index /var/lib/rpm/Pubkeys
D: closed db index /var/lib/rpm/Conflictname
D: closed db index /var/lib/rpm/Providename
D: closed db index /var/lib/rpm/Requirename
D: closed db index /var/lib/rpm/Packages
D: closed db environment /var/lib/rpm/Packages
D: opening db environment /var/lib/rpm/Packages joinenv
D: opening db index /var/lib/rpm/Packages create mode=0x42
D: mounted filesystems:
D: i dev bsize bavail iavail mount point
答案1
rpm
可能正在等待锁被释放。
首先,运行ps -ef | grep rpm
以查看是否正在运行任何 RPM 命令。如果你这么做了,就用 杀死他们kill -9
。
接下来,删除所有剩余的锁rm -rf /var/lib/rpm/__db.0*
然后再次尝试 rpm 命令。如果仍然不起作用,请重复上述操作,但在rpm --rebuilddb
再次尝试安装之前也要运行。
编辑:
如果这没有解决问题,则您的文件系统可能没有响应。还挂吗df
?如果是这样,那可能是你的问题。cat /etc/mtab
并找出最后一个输出后的下一行安装了什么文件系统,df
然后尝试卸载该文件系统。
答案2
您可能有一把陈旧的锁。
重新启动将删除陈旧的锁(和陈旧的 futex),“rm -f /var/lib/rpm/__db*”或“cd /var/lib/rpm && db_recover -ev”也是如此。
如果仍然挂起,请使用 -Uvv 而不是 -Uvh 来找出 rpm 尝试执行的操作。
从 -Uvv 输出中,rpm 正在查找已安装文件系统的大小。
您可能有一个 NFS 挂载到没有响应的服务器