如何進行rpm程序包管理功能解析

rpm包管理功能全解

軟件包管理的功能:將編譯好的程序的各組成文件打包成一個或幾個程序包文件,為了方便的實現程序包的安裝、升級、卸載、查詢、校驗、數據庫維護。

下面我們來看看RPM包管理的解析

Rpm包在redhat和S.U.S.E中有很大的應用

我們接下來就以centos系統中rpm包的管理做一些詳細的功能解析

使用yum(rhel系列)安裝時可以自動解決依賴關系d

rpm包命名格式:

name-VERSION-release.arch.rpm

VERSION:major.minor.release

Major:主版本號(版本有大的更新); ?minor:次版本號(小更新)

release.arch:rpm包的發行號

release.os: 2.el7(平臺).i386(架構).rpm ?archetecture(架構):i386, x64(amd64), ppc, noarch理器;

實際操作:

本機在服務器上已經成功下載zsh-4.3.10-9.el6.x86_64.rpm用此來實施

? 語法:rpm [options] [packages_file]

????????安裝;-i,–install

????????????rpm -ivh /path/to/rpm_package

????????????????-v;顯示安裝信息

????????????????-vv;顯示更詳細的安裝信息

????????????????-h;以井號顯示安裝進度

????????????????–nodeps;忽略依賴關系(適用于卸載)

????????????????–force;強行安裝(適用于卸載)

如何進行rpm程序包管理功能解析

????????重裝;–replacepkgs會覆蓋原有信息

????????????Rpm -i ?–replacepkgs ?/path/to/rpm_name

?????[root@bucktan ~]# rpm -ivh –replacepkgs zsh-4.3.10-9.el6.x86_64.rpm

????????卸載;-e,–erase

????????????rmp -e package_name

??????????????????–allmatches卸載匹配所有指定名稱的軟件包

??????????????????–nodeps忽略依賴關系

??????????????????–test 測試卸載

如何進行rpm程序包管理功能解析

????????升級;-U -F

????????????升級或安裝;

????????????????rpm -U /path/to/rpm_package

????????????????????–oldpackage降級

在服務器上取了兩個包:zabbix-2.4.0-1.el6.x86_64.rpm

??????????????????????zabbix-2.4.5-1.el6.x86_64.rpm

?如何進行rpm程序包管理功能解析

之前升級至zabbix-2.4.5-1.el6.x86_64.rpm

[root@bucktan]~# rpm -Uvh –oldpackage zabbix-2.4.0-1.el6.x86_64.rpm

????????????只升級;(若不存在舊版本則不會執行)

????????????????rpm -F /path/to/rpm_package

????????????通常搭配vh使用;

????????????????rpm -Uvh|-Fvh /path/to/package

??????????????–nosignature 不檢查包簽名信息的合法性

????????????注意;不要對內核執行升級操作

????????????不同內核版本可以共存,因此可執行安裝操作,但不建議升級

????(重點) 查詢;rpm {-q|–query} [select-options] [query-options]

????????????查詢包是否已安裝;

????????????????rpm -q package_name

??????[select-options]:

?????????rpm -qa查詢所有已安裝的包;

?????????rpm -qf /path/to/file查詢某文件是由那個包生成的;

?????????????-q –whatprovides ??file_name ?查詢指定的capability由哪個程序包所提供

?????????????-q –whatrequires ???file_name 查詢指定的capability由哪個程序包所依賴

?如何進行rpm程序包管理功能解析

???????[query-options]:

?????????????????rpm -ql package_name查詢包安裝后生成的文件;

?????????????如何進行rpm程序包管理功能解析

????????????????rpm -qi package_name查詢包的簡要說明;

??????如何進行rpm程序包管理功能解析

????????????????rpm -qd package_name查詢包安裝后生成的幫助文檔;

????????????如何進行rpm程序包管理功能解析

????????????????rpm -qc package_name查詢包安裝后生成的配置文件;

????????????????rpm -qR package_name 查詢指定軟件包的依賴關系

????????????????rpm -q –scripts ??查詢包相關的腳本;

?????????????????腳本分四類

????????????????????preinstall 安裝前腳本

????????????????????postinstall 安裝后腳本

????????????????????preuninstall 卸載前腳本

????????????????????postuninstall 卸載后腳本

????????????查詢未安裝包的相關信息;-qp

??????????????????rpm -qpl package_file 查詢安裝后會生成的的文件

??????????????????rpm -qpi package_file查詢包的簡單描述信息;

??????????????可搭配其選項使用,如-qp –scripts

????????校驗;檢查安裝后的文件是否被修改過

????????????rpm -V package_name

????????????[root@bucktan ~]# rpm -V zsh

?????????????S.5….T. ?c /etc/zshrc

??????????????返回的注釋信息;

????????????????S file Size differs ?大小

????????????????M Mode differs (includes permissions and file type) 頭文件

????????????????5 digest (formerly MD5 sum) differs MD5

????????????????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 能力改變了

?? ?校驗來源合法性和軟件的完整性

????????????包完整性;單項加密機制(MD5|sha1..)

????????????來源合法性;公鑰加密機制(RSA)

????????????????rpm -K /path/to/packagefile直接檢驗程序包來源合法性

????????????????rpm –checksig /path/to/package_file

????????????????????–nosigeature:不檢查來源合法性

????????????????????–nodigest:校驗時不檢查包完整性

????????????導入GPG密鑰文件:

????????????rpm –import /path/to/gpg-key-file

????????????導入以后再做驗證

????????如何進行rpm程序包管理功能解析

????數據庫

????????????位置:/var/lib/rpm

????????????重建:

????????????????rpm –initdb:初始化

????????????????????如果事先不存在一個數據庫,則新建之

????????????????rpm –rebuilddb 重建

????????????????????直接新建數據庫,會覆蓋原有庫

?如何進行rpm程序包管理功能解析

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享