(轉) centos7 RPM包之rpm命令


原文:https://blog.csdn.net/capecape/article/details/78529159

RPM包與源碼包的區別
1、軟件包分類

源碼包:C源代碼包

rpm包:編譯之后的二進制包

2、源碼包

優點:開源;可以自由選擇所需功能;可看源代碼;卸載方便(直接刪除安裝位置);

缺點:安裝步驟過多;編譯時間過長;

3、RPM包

優點:使用簡單,只需要幾個命令就可以實現包的安裝、升級、查詢、卸載;安裝速度快;
缺點:不能看源代碼;功能選擇不如源代碼靈活;依賴性;
RPM包命名和依賴性
1、RPM包的命名規則

httpd-2.4.6-67.el7.centos.x86_64.rpm
1
httpd 軟件包名
2.4.6 軟件版本
67 軟件發行的次數
el7.centos 適合的linux平台
x86_64 適合的硬件平台
rpm rpm包擴展名
2、RPM包的依賴性

樹形依賴性:a -> b -> c,即a依賴b,b依賴c
環形依賴:a -> b -> c -> a
模塊依賴:模塊依賴查詢網站:www.rpmfind.com
RPM包的安裝、升級、卸載和查詢
1、包全名和包名

包全名 包名
例如:httpd-2.4.6-67.el7.centos.x86_64.rpm 例如:httpd
操作的包時沒有安裝的軟件包時,使用包全名 操作的已經安裝的軟件包時,使用包名
安裝、升級時用 查詢、卸載時用
2、RPM安裝

#rpm包的安裝格式

rpm -ivh 包全名
選項:
-i(install) 安裝
-v(verbose) 顯示詳細信息
-h(hash) 顯示進度
--nodeps 不檢測依賴性
1
2
3
4
5
6
7
8
舉例:

[root@localhost Packages]# rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm
1
可能會有很多依賴性問題出現,根據一個個依賴性繼續rpm安裝就可以了

3、RPM包升級

#RPM包的升級格式

rpm -Uvh 包全名
選項:
-U (upgrade) 升級
1
2
3
4
5
過程和安裝完全一樣。

4、RPM包的卸載

#RPM包的卸載格式

rpm -e 包名
選項:
-e (erase) 卸載
--nodeps 不檢測依賴性
1
2
3
4
5
6
舉例:

[root@localhost Packages]# rpm -e httpd
錯誤:依賴檢測失敗:
httpd = 2.4.6-67.el7.centos 被 (已安裝) httpd-devel-2.4.6-67.el7.centos.x86_64 需要
[root@localhost Packages]# rpm -e httpd-devel
[root@localhost Packages]# rpm -e httpd
1
2
3
4
5
注:卸載要按照安裝依賴性的反向卸載

5、RPM包的查詢

查詢是否安裝:
[root@localhost ~]# rpm -q 包名
#查詢包是否安裝
選項:
-q 查詢(query)

[root@localhost ~]# rpm -qa
#查詢所有已經安裝的RPM包
選項:
-a 所有
1
2
3
4
5
6
7
8
9
查詢軟件包的詳細信息:
[root@localhost ~]# rpm -qi 包名
#查詢軟件包的詳細信息
選項:
-i 查詢軟件信息(information)
1
2
3
4
查詢包中文件安裝位置
[root@localhost ~]# rpm -ql 包名
#查詢包中文件安裝位置
選項:
-l 列表(list)
1
2
3
4
查詢系統文件屬於哪個RPM包
[root@localhost ~]# rpm -qf 系統文件名
選項:
-f 查詢系統文件屬於哪個RPM包(file)
1
2
3
查詢軟件包的依賴性
[root@localhost ~]# rpm -qR 包名
選項:
-R 查詢軟件包的依賴性(requires)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM