用rpm -ivh安装软件包的时候发现挂死,用rpm -e也是一样,用strace跟踪了一下,发现挂死在futex上:
> 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=41390080, ...}) = 0
用kill -9杀死rpm进程后,fuser查看是否Packages被占用,没有发现。
google了一下,有几个有用的链接:
这个lock问题是rpm的bug。需要用
rpm --rebuilddb
重新生成rpm db。
如果以下的错误:
rpm --rebuilddb
error: db4 error(16) from dbenv->remove: Device or resource busy
需要先删除已有db
rm -f /var/lib/rpm/__db.00?
rpm --rebuilddb
rebuilddb的时间会比较长一些。命令执行完成后。rpm的相关命令就不会挂死了。
阅读(2397) | 评论(0) | 转发(0) |