01-Linux系統-RPM包詳解
阿新 • • 發佈:2020-11-03
一、RPM包詳解
rpm命令執行安裝rpm包和原始碼包,
- rpm包以.rpm結尾,
- 原始碼包以.src.rpm結尾
用rpm安裝需要考慮如下資訊:
- 需要考慮系統的版本需要與rpm對應
- 系統的架構:如32位還是64位
- 需要考慮依賴關係
- 有依賴關係,不能自動解決依賴關係。
二、RPM軟體包命令規則
name-version-arch.rpmname-version-arch.src.rpm
示例:bind-9.8.2-0.47.rc1.el6.x86_64.rpm
示例解析:
1.name,如:bind,是軟體的名稱特殊名稱:
2.version,如:9.8.2-0,是軟體的版本號,版本號格式通常為“主版本號.次版本號.修正號”。47,是釋出版本號,表示這個rpm軟體包是第幾次編譯生成的
3.arch,如i386,是表示包適用的硬體平臺,目前rpm支援的平臺有:i386,i586,i686,sparc和alpha
4..rpm和.src.rpm,是rpm包型別字尾,rpm是編譯好的二進位制包,.src.rpm是原始碼包
- el*:表示發行商的版本,el6表示這個軟體包是在rhel6.x/centos6.x下使用;
- devel:表示這個rpm包是軟體的開發包
- noarch:說明這樣的軟體包可以在任何平臺安裝和執行,不需要特定的硬體平臺
三、RPM常用命令
1、安裝
語法 # rpm -ivh 軟體包名稱 -i install -vh verbose human -U upgrade 升級 查詢rpm包的網站:http://rpmfind.net/ http://pkgs.org 1.通過rpm安裝 可以先下載下來 [root@proxy2 ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm #wget下載命令 #wget -O 指定存放路徑 [root@proxy2 ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm #本地安裝rpm包 2.直接通過連線安裝rpm包 [root@proxy2 ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
從本地的rpm資料庫 語法: -q query -l list -f file -a all -i file 1、查詢軟體是否安裝 [root@proxy2 ~# rpm -qa | grep 軟體名 # 2、查詢http安裝的檔案 [root@proxy2 ~]# rpm -ql httpd # 3、查詢該檔案屬於哪個包 [root@proxy2 ~]# rpm -qf /usr/share/httpd/noindex # 4、查詢某一個檔案是哪個軟體產生的:只能查詢已經安裝好的軟體 [root@proxy2 ~]# rpm -qf /etc/passwd # 5、檢視命令是哪個安裝包安裝,安裝包裡有哪些檔案? [root@proxy2 ~]# rpm -qfl `which ssh` 6、檢視軟體包資訊 [root@proxy2 ~]# rpm -qfi `which ssh`
語法:# rpm -e 軟體名稱
-e erase
[rroot@proxy2 ~]# rpm -e httpd
4、其他命令
-ivh 安裝並顯示安裝進度(規則:rpm –ivh 包名)
示例:rpm –ivh bind-9.8.2-0.47.rc1.el6.x86_64.rpm
-Uvh 升級軟體包(rpm –Uvh 包名 //升級軟體包-舊升新,低升高)
示例:rpm –Uvh --oldpackage bind-9.8.2-0.47.rc1.el6.x86_64.rpm(新版本軟體包降級為舊版本)
-ql 列出rpm軟體包內的檔案資訊(顯示已安裝軟體包內容)
示例:rpm –ql vsftpd (規則:rpm –ql 軟體名)
-qi 列出rpm軟體包描述資訊(顯示已安裝軟體包屬性)
示例:rpm –qi bind (規則:rpm –qi 軟體名)
-qf 檢視指定檔案屬於哪個軟體包(rpm –qf 檔名)
示例:rpm –qf /etc/rc.d/init.d/named
-Va 校驗所有rpm包,查詢丟失的檔案
-e 刪除rpm軟體包(rpm –e 包名)
示例:rpm –e bind-9.8.2-0.47.rc1.el6.x86_64.rpm
-qpR 檢視rpm包依賴關係
示例:rpm –qpR 包名
--force 忽略軟體包及檔案的衝突,即強制安裝(長格式命令)
--nodeps 忽略軟體包的依賴關係(長格式命令)
--test 安裝測試,並不實際安裝(長格式命令)
示例:測試--nodeps和--test,rpm –ivh httpd-2.2.15-53.el6.x86_64.rpm --test 並不安裝,測試一下httpd軟體包的依賴
安裝到指定目錄(未測試成功)
rpm -ivh --relocate /=/tmp/11 httpd-2.2.15-53.el6.x86_64.rpm --nodeps
檢視命令是哪個安裝包安裝,安裝包裡有哪些檔案?
一步到位:rpm -qfl `which rz`
檢視軟體包資訊
一步到位:rpm -qfi `which rz`
來自為知筆記(Wiz)