RPM包命令詳解

2021-08-25 11:47:11 字數 3887 閱讀 4395

rpm命令是rpm軟體包的管理工具。rpm原本是red hat linux發行版專門用來管理linux各項套件的程式,由於它遵循gpl規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。rpm套件管理方式的出現,讓linux易於安裝,公升級,間接提公升了linux的適用度。

rpm包與原始碼包的區別

1、軟體包分類

原始碼包:c源**包

rpm包:編譯之後的二進位製包

2、原始碼包

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

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

3、rpm包

優點:使用簡單,只需要幾個命令就可以實現包的安裝、公升級、查詢、解除安裝;安裝速度快;

缺點:不能看源**;功能選擇不如源**靈活;依賴性;

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

rpm基本功能

1、rpm命令用於管理程式包: 

主要 作用:安裝、公升級、解除安裝、查詢、校驗、資料庫維護

2、rpm具體使用方法

(1)語法:rpm[options] [package_file]  即 rpm 【選項】【包檔案】

(2)相關選項引數命令

安裝:-i,--install

公升級:-u,--update,-f

解除安裝:-e.--erase

查詢:-q --query

校驗:-v,--verify

資料庫維護:--builddb,--initdb

3、各選項引數詳解

(1)安裝:rpm  [install-options] package_file ..

rpm -ivh package_file ..(rpm包常規安裝命令)

genearl options:綜合選項

-i:安裝

-v: 詳細資訊

-vv:更加詳細的資訊

-h:hash marks 輸出進度條:50個#表示進度條

--prefix :安裝指定目錄

--test:測試安裝,檢查並報告安裝是否完成 --> rpm -ivh --test package_file ..

--nodeps:忽略依賴關係,不建議操作 --> rpm -ivh --nodepst package_file

--replacepkgs:重新安裝rpm包 --> rpm -ivh --replacepkgs package_file

--nosignature:不檢查簽名資訊,不檢查**合法性

--nodigest:不檢查包完整資訊:

舉列:

[root@localhost leiyuncai]# rpm -ivh zsh- 5.0.2-14.el7.x86_64.rpm 

注意:忽略 --nodeps 依賴關係強制安裝可能會導致所安裝包不能夠正常工作

(2)公升級

rpm  [install-options] package_file ..

rpm [install-options] package_file ..

-u: 公升級或者安裝

-f:單純的公升級,如果之前沒有rpm包將無法公升級

--test:測試安裝,檢查並報告完成 --> rpm -uvh --test package_file ..

--nodeps:忽略依賴關係,不建議操作 --> rpm -uvh --nodepst package_file

--replacepkgs:重新安裝rpm包 --> rpm -ivh --ueplacepkgs package_file

--oldpackage::降級操作

--force:強制公升級

舉列:[root@localhost leiyuncai]# rpm -uvh zsh-5.0.2-14.el7.x86_64.rpm
注意:(1)不要對核心做公升級操作,liunx支援多核心並存,直接安裝新版本

(2) 如果源程式包的配置檔案安裝後曾修改過,公升級時,新版本的程式提供的同一配置檔案不會覆蓋原有版本檔案,而重新命名為(filename,rpmnew)

(3)解除安裝:

rpm  [--allmatches] [--nodeps] [--noscripts]   [--test] package_name ...

rpm -e 軟體包名稱

-e:解除安裝指定程式

-allmatches:解除安裝所有匹配指定名稱的程式包的各個版本

--nodeps:忽略依賴關係

--test:測試解除安裝,顯示依賴關係

舉列:[root@localhost ~]# rpm -e zsh

(4) 查詢

rpm  [select-options] [query-options]

select-options:給指定值,一般是需要查詢檔案名稱

-a.all:查詢所有已經安裝過的包,後面一般通過管道輸出至正規表示式匹配-列如: rpm -qa | grep "^z"

-f file:檢視指定的檔案由哪個程式包安裝生產:

-p, --package package_file:對於未安裝的程式包執行查詢操作

--whatprovides capability:查詢指定的capability由哪個程式包提供

--whatrequlres capability:查詢指定的-capability被哪個程式包依賴

[query-options]

--changelog:查詢rpm包的changelog; 歷史

-l --list:列出程式包安裝生產的檔案列表

-c,:查詢程式包有哪些指定的配置檔案

-d:查詢指定的程式包提供的文件資訊

--provides:列出指定程程式包的 capability

-r,--regulres:查詢程式包依賴的包

--scripts:檢視程式包自帶的指令碼片斷

舉列:

1.[root@localhost packages]# rpm -qa 

#:查詢所有安裝的包

#:查詢未安裝包的詳細資訊

#:檢視程式包的相關資訊

#:檢視程式包安裝產生的檔案列表

5.[root@localhost packages]# rpm -qc zsh

#:檢視程式包的配置檔案

6.[root@localhost packages]# rpm -qd zsh

#:檢視程式包提供的文件資訊

7.[root@localhost packages]# rpm -qr zsh

# :查詢程式包依賴的包

RPM及其rpm命令詳解

rpm和rpm一樣嗎?是不是看的有點暈呀 rpm全稱是redhat package manager即redhat軟體包管理工具,而rpm是rpm的中的乙個命令,只有root使用者才能使用,用於軟體包的安裝,查詢和公升級等。軟體包一般由四個部分組成 1,二進位制檔案 一般放 在 bin,sbin,us...

RPM命令詳解

一 安裝 命令格式 rpm i or install options file1.rpm filen.rpm 引數 file1.rpm filen.rpm 將要安裝的rpm包的檔名 詳細選項 h or hash 安裝時輸出hash記號 test 只對安裝進行測試,並不實際安裝。percent 以百分...

rpm命令詳解

rpm 常用命令 1.安裝乙個包 rpm ivh 2.公升級乙個包 rpm uvh 3.移走乙個包 rpm e 4.安裝引數 force 即使覆蓋屬於其它包的檔案也強迫安裝 nodeps 如果該rpm包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。5.查詢乙個包是否被安裝 rpm q rpm pac...