rpm,redhat package manager,即為紅帽公司為rhel開發的專用包管理器,後來更改為rpm package manager,類似於gnu專案,使用遞迴命名,gnu's not unix.
一、rpm包與軟體包的區別
1、軟體包分類
原始碼包:c源**包
rpm包:編譯之後的二進位製包
2、原始碼包
優點:開源;可以自由選擇所需功能;可看源**;解除安裝方便(直接刪除安裝位置);
缺點:安裝步驟過多;編譯時間過長;
3、rpm包
優點:使用簡單,只需要幾個命令就可以實現包的安裝、公升級、查詢、解除安裝;安裝速度快;
缺點:不能看源**;功能選擇不如源**靈活;依賴性;
二、rpm包命名和依賴性
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 不檢測依賴性
可能會有很多依賴性問題出現,根據乙個個依賴性繼續rpm安裝就可以了
錯誤:開啟 httpd-2.4.6-89.el7.centos.x86_64 失敗: 沒有那個檔案或目錄
錯誤:依賴檢測失敗:
httpd-tools = 2.4.6-89.el7.centos 被 httpd-2.4.6-89.el7.centos.x86_64 需要
準備中... ################################# [100%]
正在公升級/安裝...
3、rpm包公升級
#rpm包的公升級格式
rpm -uvh 包全名
選項:-u (upgrade) 公升級
過程和安裝完全一樣。
4、rpm包的解除安裝
#rpm包的解除安裝格式
rpm -e 包名
選項:-e (erase) 解除安裝
--nodeps 不檢測依賴性
注:解除安裝要按照安裝依賴性的反向解除安裝
5、rpm包的查詢
¥¥¥查詢是否安裝:
[root@localhost ~]# rpm -q 包名
選項:-q 查詢(query)
¥¥¥查詢所有已經安裝的rpm包
選項:-a 所有
¥¥¥查詢軟體包的詳細資訊:
[root@localhost ~]# rpm -qi 包名
選項:-i 查詢軟體資訊(information)
install date: 2023年07月12日 星期五 22時26分27秒
group : system environment/daemons
size : 9817301
license : asl 2.0
signature : rsa/sha256, 2023年04月29日 星期一 23時45分07秒, key id 24c6a8a7f4a80eb5
build date : 2023年04月24日 星期三 21時48分37秒
¥¥¥查詢包中檔案安裝位置
[root@localhost ~]# rpm -ql 包名
選項:-l 列表(list)
¥¥¥查詢系統檔案屬於哪個rpm包
[root@localhost ~]# rpm -qf 系統檔名
選項:-f 查詢系統檔案屬於哪個rpm包(file)
檔案 /root/mypackages/httpd-2.4.6-89.el7.centos.x86_64.rpm 不屬於任何軟體包
¥¥¥查詢軟體包的依賴性
[root@localhost ~]# rpm -qr 包名
選項:-r 查詢軟體包的依賴性(requires)
rpm包提取檔案
今天在群裡聽見朋友們在討論如何恢復被損壞的network指令碼檔案,其中提到乙個很好的方法就是可以提取系統安裝盤裡rpm包檔案裡的檔案來覆蓋被損壞的指令碼,這一點很像恢復windows系統裡被損壞檔案的方法。下面把如何提取rpm包裡檔案而不需要安裝rpm包的方法共享一下 比如你要提取test.rpm...
不安裝rpm包,取出rpm包裡的檔案
1 檢視rpm包裡的檔案 root vm 166 132 rpm qlp mysql5.6.29 1 3.x86 64.rpm more etc ld.so.conf.d mysql 5.6.23 compiled x86 64.conf usr local lib libjemalloc.a us...
Linux下安裝RPM檔案包
2.如何安裝.src.rpm軟體包 有些軟體包是以.src.rpm結尾的,這類軟體包是包含了源 的rpm包,在安裝時 需要進行編譯。這類軟體包有兩種安裝方法,方法一 1.執行rpm i your package.src.rpm 2.cd usr src redhat specs 3.rpmbuild...