遇到一个问题,需要检查rpm包的原始spec文件,搜索了一下,可能有如下解决方法
-
使用
rpmrebuild
工具 - 参考extract the spec file from rpm packagerpmrebuild --package --notest-install -e oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm rpmrebuild -s hercules.spec hercules
可以从现有下载的rpm中或者已经安装的软件获取原始的spec文件
如果要检查软件包依赖,可以使用
rpm -q --requires xmms
参考 How to extract spec file from rpm file
列出所有安装文件
rpm -ql BitTorrent
显示最近安装的包
rpm -qa --last
显示所有安装包
rpm -qa
例如检查passwd文件属于哪个包
rpm -qf /usr/bin/htpasswd
rpm -qR <package-name>
rpm -qi vsftpd
可以输出rpm包的详细信息
rpm -qip sqlbuddy-1.3.3-1.noarch.rpm
rpm -qdf /usr/bin/vmstat
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm
rpm -Va
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
cd /var/lib
rm __db*
rpm --rebuilddb
rpmdb_verify Packages
对于已经安装了高版本的软件包,需要降级版本,则需要使用参数--oldpackage
,这样就允许安装旧版本。另外要注意使用-U
参数,这样就是upgrade
,就会替换另一个版本。如果使用-i
参数替代-U
,则会导致同时安装两个版本。
rpm -Uvh --oldpackage [filename]
也可以使用 yum downgrade packagename
方法。