rpm 查詢服務包的信息
1 概述
工作中,可能需要看到服務包的信息,決定安裝或者卸載。一般可以通過以下語句進行查看
which ifconfig 查看命令的執行文件放在哪裏
rpm -qf /sbin/ifconfig
rpm -q --whatprovides /sbin/ifconfig 兩條命令一樣的效果通過執行文件完整路徑查看是由哪個服務包提供的
結果得到包 net-tools-1.60-110.el6_2.i686
rpm -qi net-tools //查看服務包的信息
rpm -qc net-tools //查看服務包的配置文件在哪裏
當然,這裏只是一小部分的選項和參數,本文將對rpm涉及的查詢參數進行詳細解釋
2 查詢命令詳解
命令格式
rpm {-q|--query} [select-options] [query-options]
2.1 [select-options]詳解
-a: 所有包
rpm -qa
-f: 查看指定的文件由哪個程序包安裝生成
rpm -q -f /sbin/ifconfig
-p rpmfile:針對尚未安裝的程序包文件做查詢操作
rpm -qp tree-1.5.3-2.el6.i686.rpm
--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個包所提供
rpm -q --whatprovides /sbin/ifconfig
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴
rpm -q --whatrequires /sbin/quotaoff
rpm2cpio 包文件|cpio–itv預覽包內文件
rpm2cpio tree-1.5.3-2.el6.i686.rpm | cpio -itv
rpm2cpio 包文件|cpio–id “*.conf”釋放包內文件
rpm2cpio /media/Packages/tree-1.5.3-2.el6.i686.rpm | cpio -id "*LICENSE"
這裏要註意的是,如果要釋放,要先用-itv查看要釋放的路徑的起始點,然後到文件起始點對應路徑下去執行命令
cpio安裝軟件,其實是把cpio包全部安裝路徑釋放出來,但是這樣安裝出來的軟件,不能通過rpm去查看屬性信息或者是卸載(rpm -e)軟件,如果要刪除,只能把釋放的文件夾直接刪掉達到卸載的命令
這裏其實rpm -e 命令,卸載的對應的服務包,其實是將cpio -itv查看到的文件,即安裝文件全部刪除。
rpm2cpio /media/Packages/tree-1.5.3-2.el6.i686.rpm | cpio -idv //這裏執行前要先查看釋放的路徑後再到對應路徑下操作
cpio命令截圖
2.2 [query-options]詳解
--changelog:查詢rpm包的changelog,查看服務包的歷史發展情況
rpm -q --changelog coreutils-8.4-31.el6.i686
-c: 查詢程序的配置文件
rpm -q -c net-tools-1.60-110.el6_2.i686
-d: 跟服務包,如果命令和包同名,也可以跟命令,如tree,查詢程序的文檔
rpm -q -d tree-1.5.3-2.el6.i686
-i: information
rpm -q -i net-tools-1.60-110.el6_2.i686
-l: 查看指定的程序包安裝後生成的所有文件,,其中/sbin/或者/bin下的文件就是這個服務包對應的命令,即功能。/etc/下的文件為該服務包的配置文檔,/usr/share/doc/和/usr/share/man為該服務包使用或解釋文檔
rpm -q -l net-tools-1.60-110.el6_2.i686
--scripts: 後面跟命令,查看程序包自帶的腳本
rpm -q --scripts bash
--provides:後面跟服務包, 列出指定程序包所提供的CAPABILITY
rpm -q --provides net-tools-1.60-110.el6_2.i686
-R:後面跟服務包, 查詢指定的程序包所依賴的CAPABILITY
rpm -q -R net-tools-1.60-110.el6_2.i686
到這裏,rpm查詢的相關命令已解釋完成。
本文出自 “自學linux” 博客,請務必保留此出處http://ghbsunny.blog.51cto.com/7759574/1956908
rpm 查詢服務包的信息