rpm 包管理功能 yum 程式包管理

2021-09-25 16:00:48 字數 3514 閱讀 1384

程式包管理器功能:編譯好的應用程式的個組成檔案,打包成乙個或幾個程式包檔案,從而更方便快捷地實現程式包的安裝、公升級、解除安裝的管理操作。

rpm 包命名格式:

name-version-release.arch.rpm

version: major.minor.release

release.arch: rpm 包的發行號

archetecture:i386,x64,ppc,noarch

例如:redis-3.0.2.1-centos7.x64.rpm

自動解決依賴關係:

rpm [options] [package_file]

安裝:-i,--install

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

解除安裝:-e,--erase

查詢:-q,--query

校驗:-v,---verify

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

general options:

-v:verbose,詳細資訊

-vv:更詳細的資訊

rpm [install-options] package_file … (man 文件 29% 左右位置)

~]

# rpm -ivh package_file...

[install-options]:

-h:hash marks 輸出進度條,每個#表示 2% 的進度

--test:測試安裝,檢查並報告依賴關係及衝突訊息

--nodeps:忽略依賴關係,不建議使用

--replacepkgs:重新安裝

rpm [install-options] package_file …

-u 意為公升級或安裝

rpm [install-options] package_file …

-f 只公升級不安裝

--oldpackage:降級

--force:強制公升級

rpm [–allmatches] [–justdb] [–nodeps] [–test] package_name …

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

--nodeps:忽略依賴關係

--test:測試解除安裝,dry run 模式

rpm 在查詢時是在 /var/lib/rpm/ 目錄下的資料庫檔案中。

rpm [select-options] [query-options]

[select-options]

package_name:查詢指定的程式包是否已經安裝

-a,-all:查詢所有已經安裝的包;可配合 grep 使用

-f file:查詢指定的檔案由哪個程式包安裝生成

-p,--package package_file:用於實現對未安裝的程式包執行查詢操作,檢視 rpm 檔案內容

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

--whatrequires capability:查詢指定的 capability 被哪個包所依賴

[query-options]

--changelog:查詢 rpm 包的 changelog

-l,--list:程式包安裝生成的所有檔案的列表

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

-d,--docfiles:查詢指定的程式包提供的幫助文件

--provides:列出指定的程式包提供的所有 capability

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

練習:查詢系統中以 a 開頭的軟體

~]# rpm -qa | grep 「^a」 | wc -l

通過對比 /var/lib/rpm 目錄下的資料庫檔案,找出目前環境下安裝的軟體。

rpm [select-options] [verify-options]

-v package_name:若該軟體被改動過,則會列出來

-va:查詢系統上所有被改動過的檔案

-vf:某個檔案是否被改動過

例如:首先我們修改/etc/crontab 檔案,新增一行 # new line. 儲存並退出,而後執行命令

rpm -vf /etc/crontab

# 輸出如下

s.5..

..t. c /etc/crontab

解釋說明:中間的 c 代表 configuration,以為配置檔案。前面字元意為:

s file size differs

m mode differs (includes permissions and file type)

5 digest (formerly md5 sum) differs

d device major/minor number mismatch

l readlink(2) path mismatch

u user ownership differs

g group ownership differs

t mtime differs

p capabilities differ

獲取並匯入信任的製作者的秘鑰:對於 centos 發行版來說:rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-centos-7

yum [options] [command] [package …]

先介紹 yum 的命令列選項:

-y:自動回答都為 yes

-q:靜默模式

search:搜尋某個軟體名稱或者是符合描述的字串

list :列出目前 yum 所管理的所有的軟體名稱與版本,類似 rpm -qa

info :同上,不過有點類似 rpm -qai 的執行結果

provides:從檔案去搜尋軟體,類似 rpm -qf 的功能,即檢視指定的特性是由哪個程式包提供

yum install package1 [package2] […]

yum update package1 [package2] […]

yum remove | erase package1 [package2] […]

yum [群組功能] [軟體群組]

選項與引數:

grouplist   :列出所有可使用的「軟體群組組」,例如 development tools 

groupinfo :後面接 group_name,則可了解該 group 內含的所有軟體名

groupinstall:安裝一整組的軟體群組

groupremove :移除某個軟體群組

Linux程式包管理

centos yum,dnf yum 由yellow dog研發,yellow dog update modifier 檔案伺服器 yum客戶端 倉庫指向的定義 repositoryid name some name for this repository baseurl path to repos...

Linux系列 RPM軟體包管理 YUM包管理

1 linux軟體包形式 tar.gz 絕大多數開源軟體都是以源 形式發布 一般被打包成tar.gz的歸檔壓縮檔案 編譯流程 configure make make install 安裝麻煩,但是相容性,可控制很好。開源軟體一般都會大量使用其他開源軟體功能,所以開源軟體會有大量的依賴關係 2 lin...

Linux程式包管理rpm命令的使用解析

態度決定一切,其實你可以做得更好!今天工作調休,抽空發布一篇博文,和大家一起來學習一下linux下程式包的管理,rpm命令的使用。先來介紹下linux下常見程式包的類別 rpm包 是發行商在相容大眾的開發環境下完成編譯打包並且測試簽名了的,可直接安裝使用。原始碼包 提供了該軟體所有程式源 的發布形式...