linux運(yùn)維常用的RPM管理工具筆記
常見(jiàn)的軟件包封裝類(lèi)型
封裝類(lèi)型
說(shuō)明
rpm軟件包
擴(kuò)展名為“.rpm”
deb軟件包
擴(kuò)展名為“.deb”
源代碼軟件包
一般為“.tar.gz”、“.tar.bz2”等格式的壓縮包
包含程序的原始代碼
附帶安裝程序的軟件包
在壓縮包內(nèi)提供install.sh、setup等安裝程序
或以“.bin”格式的單個(gè)執(zhí)行文件提供
綠色免安裝的軟件包
在壓縮包內(nèi)提供已編譯好的執(zhí)行程序文件
解開(kāi)壓縮包后的文件即可直接使用
RPM概述
RPM( Redhat Package Manager)
?由 Red Hat 公司提出,被眾多 Linux 發(fā)行版所采用
?建立統(tǒng)一的數(shù)據(jù)庫(kù)文件,詳細(xì)記錄軟件包安裝、卸載等變化信息,能夠自動(dòng)分析軟件包依賴關(guān)系
是openEuler、Redhat、CentOS、Fedora等Linux操作系統(tǒng)中的軟件包管理器。
RPM所涉命令集:
rpm:用來(lái)手動(dòng)安裝、卸載、查詢、升級(jí)rpm包
rpmbuild:用來(lái)把源碼編譯成RPM包
rpmdevtool:用來(lái)創(chuàng)建rpmbuild目錄、SPEC文件等
RPM具備以下優(yōu)點(diǎn):
內(nèi)含編譯程序,免編譯。
預(yù)先檢查系統(tǒng)版本,可避免文件被錯(cuò)誤安裝。
提供軟件版本資訊,軟件名稱(chēng)軟件用途等相關(guān)信息,便于了解軟件。
使用數(shù)據(jù)庫(kù)記錄RPM文件的相關(guān)參數(shù),便于升級(jí)、移除、查詢與驗(yàn)證。
rpm命令集簡(jiǎn)介
命令格式
rpm [OPTION...]
部分參數(shù)說(shuō)明
-ivh??????????? //安裝并顯示安裝進(jìn)度和詳細(xì)信息
-qa??????????? //列出已安裝在本機(jī)上的應(yīng)用
-va??????????? //列出本機(jī)上可能被修改過(guò)的應(yīng)用
-e ? ? ? ? ???? //卸載應(yīng)用
-Uvh????????? //升級(jí)軟件包--Update;
-qpl????????? //列出RPM軟件包內(nèi)的文件信息[Query Package list]
-qpi????????? //列出RPM軟件包的描述信息[Query Package install package(s)]
-qpc????????? //查看.rpm安裝包內(nèi)包含的配置文件列表
-qpd??????? //查看.rpm安裝包內(nèi)包含的文檔文件列表
-qf?????????? //查找指定文件屬于哪個(gè)RPM軟件包[Query File]
-ql?????????? //查詢指定軟件包所安裝的目錄、文件列表
-qd????????? //僅顯示指定軟件包安裝的文檔文件
-qc????????? //僅顯示指定軟件包安裝的配置文件
安裝或升級(jí)RPM軟件
格式:rpm? [選項(xiàng)]? RPM包文件...
用法:不同選項(xiàng)適用于不同情況
? -i:安裝一個(gè)新的rpm軟件包
? -U:升級(jí)某個(gè)rpm軟件,若原本未裝,則進(jìn)行安裝
? -F:更新某個(gè)rpm軟件,若原本未裝,則放棄安裝
注:rpmbulid構(gòu)建必須選擇下列"模式"之一:
(1)從spec構(gòu)建,(2)從Tar構(gòu)建,(3)重新構(gòu)建,(4)重新編譯,(5)顯示配置
rpmbuild部分參數(shù)命令介紹
命令格式
rpmbuild [OPTION...]
部分參數(shù)說(shuō)明
-bp????????? //只作準(zhǔn)備(解壓與打補(bǔ)丁)
-bc?????????? //準(zhǔn)備并編譯
-bi?????????? //編譯并安裝
-bl?????????? //檢驗(yàn)文件是否齊全
-ba???????? //編譯后生成*.rpm和src.rpm
-bb??????? //編譯后生成*.rpm
-bs??????? //只生成*.src.rpm
rpmbuild目錄介紹
rpmbuild目錄是可以由命令rpmdev-setuptree自動(dòng)生成
Rpmbuild目錄的具體路徑及用途如下:
RPM可以讓用戶直接以binary方式安裝軟件包,并且可替用戶查詢是否已經(jīng)安裝了有關(guān)的庫(kù)文件;在用RPM刪除程序時(shí),它又會(huì)聰明地詢問(wèn)用戶是否要?jiǎng)h除有關(guān)的程序.
如果想發(fā)布RPM格式的源碼包或者是二進(jìn)制包,就要使用rpmbulid工具(RPM最新打包工具)
RPM 與rmpbulid之間的關(guān)系是RPM工具負(fù)責(zé)安裝由rpmbulid編譯生成的二進(jìn)制文件RPM包。
重點(diǎn):
什么是spec(配置規(guī)范文件)? RPM編譯過(guò)程的核心是處理.spec文件
它說(shuō)明了軟件包怎樣被配置,補(bǔ)綴哪些補(bǔ)丁,安裝哪些文件,被安裝到哪里,在安裝該包之前或之后需要運(yùn)行那些系統(tǒng)級(jí)別的活動(dòng)。
它必須手寫(xiě),但更簡(jiǎn)單的辦法是拿來(lái)他人寫(xiě)好的,在此基礎(chǔ)上修改。
RPM自身對(duì)于你能在spec文件中做什么沒(méi)有太多限制,所以你可以弄的很復(fù)雜。
Linux 運(yùn)維
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。