包管理工具rpm

Linux 程序包管理

功能:將編譯好的應(yīng)用程序文件打包成一個(gè)或是幾個(gè)程序文件, 從而方便程序的安裝、卸載、升級(jí)、查詢和校驗(yàn)等管理工作。

程序包的組成
  1. 文件包的組成清單, 私有部分;
    文件清單
    安裝卸載時(shí)運(yùn)行的腳本;

  2. 數(shù)據(jù)庫(kù),公共部分。
    程序包名稱及版本
    依賴關(guān)系
    功能說(shuō)明
    安裝生成的各個(gè)文件的路徑及校驗(yàn)碼信息

說(shuō)明:
arch 與平臺(tái)有關(guān) x86 x86_64
noarch 與平臺(tái)無(wú)關(guān)

管理工具 rpm

包管理工具: rpm
前端工具: yum dnf

獲取程序包的途徑

(1) 系統(tǒng)發(fā)行的程序包光盤或是服務(wù)器;
(2) 項(xiàng)目官網(wǎng)
(3) 第三方組織
Fedora - epel
http://pkgs.org
http://rpmfind.net
http://rpm.phone.net
(4) 手動(dòng)制作

注意: 使用斯三分包需要驗(yàn)證來(lái)源的合法性和完整性

Windows 虛擬Linux環(huán)境: wine
Linux 虛擬Widow 環(huán)境: cywin

查看二進(jìn)制文件依賴的庫(kù)文件
ldd /PATH/TO/BINARY_FILE

管理及查看本機(jī)裝載的庫(kù)文件
ldconfig
idconfig -p 顯示出所有的已經(jīng)裝載的庫(kù)文件和文件路徑的映射關(guān)系
配置文件為: /etc/id.so.conf. /etc/id.so.conf.d/*.conf
緩存文件: /etc/ld.so.cache

rpm 命令使用

rpm 可以用來(lái)安裝、卸載、升級(jí)、校驗(yàn)和數(shù)據(jù)庫(kù)維護(hù)
安裝用法 rpm {-i|--install} [install-options] PACKAGE_FILE ...

-v verbose 顯示詳細(xì)信息
-vv 顯示詳細(xì)更信息
-h: 以#顯示包管理的執(zhí)行進(jìn)度 #表示2%的進(jìn)度
-i: install 安裝

[install-options] 安裝選項(xiàng)
--test 安裝測(cè)試 不真正安裝
--nodeps 忽略依賴關(guān)系
--replacepkgs 重新安裝,替換
--nodegist 不檢查包的完整性
--noscript 安裝程序但是不執(zhí)行腳本片段
%pre 安裝前腳本 --nopre
%post 安裝后腳本 --nopost
%prenu 卸載前腳本 --nopreun
%postun 卸載后腳本 --nopostun
常用安裝組合: rpm -ivh rpmpkg

升級(jí)用法
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

upgrade 如果安裝有舊版本就升級(jí),如果沒(méi)有就版本就安裝, 即安裝又升級(jí)
freshen 如果安裝有舊版本就升級(jí),如果沒(méi)有舊版本就不執(zhí)行安裝 只升級(jí)

常用安裝組合:
rpm -Uvh rpmpkg
rpm -Fvh rpmpkg

[install-options]
--oldpackages 降級(jí)
--force 強(qiáng)制

注意:
(1) 不對(duì)內(nèi)核使用升級(jí)操作, Linux支持多版本并存,因此可以直接安裝新版內(nèi)核;
(2)

查詢操作:
rpm {-q|--query} [select-options] [query-options]
-q query 查詢操作
-p 表示是一個(gè)程序包,還沒(méi)有安裝 , 可以對(duì)一個(gè)未安裝的包做查詢操作
[select-options] 挑選
-a all 查詢所有已安裝rpm包
-f file 查詢文件由那個(gè)安裝包生成
例如: [root@ansible1 ~]# rpm -qf /etc/issue
-g 查詢指定包組的程序包
--whatprovides CAPABILITY 查詢指定的功能由那個(gè)包提供
--whatrequires CAPABILITY 查詢指定的功能由那個(gè)包依賴

[query-options] 查詢
--changelog 查詢一個(gè)包的修改日志
-c 查詢程序包的配置文件, 例如:
[root@ansible1 ~]# rpm -qc ansible
-d, --docfiles 安裝生成的文檔
-i, --info 查詢包的描述信息
-l, --list 查看程序包生成的所有文件列表
--scripts 查看包自帶的安裝腳本
-R 列出依賴的包

常用查詢用法
-qi package
-qf file
-qc package
-ql package
-qd package
-qpi package_file
-qpl package_file
-qa

卸載程序包
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACK-

-e 卸載

校驗(yàn)

rpm {-V|--verify} [select-options] [verify-options]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 各大Linux發(fā)行版軟件包管理參考(http://www.freeoa.net/osuport/botinstal...
    IRONYT閱讀 7,567評(píng)論 0 12
  • Linux 程序包管理 linux系統(tǒng)中的諸多程序都是由源代碼編譯或者由二次發(fā)行商選擇性編譯分布,其大部分的程序安...
    星空下奔跑閱讀 898評(píng)論 0 0
  • RPM/DPKG 兩大陣營(yíng)簡(jiǎn)介在 GNU/Linux( 以下簡(jiǎn)稱 Linux) 操作系統(tǒng)中,RPM 和 DPKG ...
    空語(yǔ)閱讀 1,567評(píng)論 0 4
  • 軟件運(yùn)行和編譯 鏈接主要作用是把各個(gè)模塊之間相互引用的部分處理好,使得各個(gè)模塊之間能夠正確地銜接,分為靜態(tài)鏈接和動(dòng)...
    塵曦的雨閱讀 319評(píng)論 0 0
  • 早上好!#幸福實(shí)修#~每天進(jìn)步1%#幸福實(shí)修10班@彭小石--上海# 20170725(01/30) 【幸福三朵玫...
    彭小石閱讀 260評(píng)論 8 3

友情鏈接更多精彩內(nèi)容