Linux RPM安裝及查詢下載(--推薦個軟體倉庫)

东山絮柳仔發表於2024-06-21

1.安裝檔案包

Linux 開發商先在固定的硬體平臺與作業系統平臺上面,將需要安裝或升級的軟體編譯好,然後將這個軟體的所有檔案打包成一個特殊格式的檔案,在這個軟體檔案內,還包含了預先偵測系統與相依軟體的指令碼,並提供記載該軟體提供的所有檔案資訊。客戶端取得這個軟體後,只要透過特定的指令來安裝,那麼該軟體檔案就會依照內部的指令碼來檢查偵測安裝環境,且在符合要求的條件下,會進一步開始安裝,安裝完成後,還會自動將該軟體的資訊寫入到軟體管理機制中,以便將來進行升級或移除等操作。

2.Linux常見的兩種安裝方式

*dpkg

*RPM

distribution代表 軟體管理機制 使用指令 線上升級機制(指令)
Red Hat / Fedora RPM rpm,rpmbuild YUM(yum)
Debian / Ubuntu DPKG dpkg APT(apt-get)

3.RPM

RPM 全名是【RedHat Package Manager】。

其特點要安裝的軟體已編譯過,所以其優點(1)由於已經編譯完成並且打包完畢,所以軟體的傳輸與安裝都很方便;(2)由於已安裝的軟體資訊都記錄在Linux主機的資料庫上,方便查詢、升級與移除。

缺點就是:資料已經編譯完成,所以,該軟體檔案幾乎只能安裝在原本預設的硬體與作業系統中。即:(1)軟體檔案的安裝的環境必須與打包的環境需求一致或相當;(2)需要滿足軟體的相依屬性要求;(3)移除(解除安裝)時,要特別小心,最底層的軟體不可以移除,否則可能造成整個系統的問題。

補充:

SRPM (Source RPM),也就是RPM檔案裡面的原始碼檔案,沒有經過編譯的,不可以直接安裝。可以根據需要,先修改SRPM內的引數配置檔案,然後重新編譯產生適合需要的RPM檔案。SRPM的檔名格式為xxx.src.rpm。

4.命名格式

例如rp-shengda- 3.11-5.el7.x86_64.rpm這個軟體

rp-shengda - 3.11 - 5 .el7.x86_64 .rpm

軟體名稱 軟體的版本資訊 釋放的次數 適合的軟體平臺 副檔名

*軟體名稱

*版本資訊: 上面的3代表大版本號;11代表小版本號

*釋出版本次數:同一個版的軟體中,也可能有某個功能完善,進行小幅度的patch

*操作硬體平臺:x86_84-----針對64位的CPU進行最佳化編譯設定(intel及AMD都屬於這一型別的硬體平臺);noarch-----就是沒有任何硬體等級上的限制。

5.RMP的安裝(install)

rpm -ivh package_name

引數選項

-i:install 安裝的縮寫;

-v:檢視更詳細的安裝資訊

-h:顯示安裝進度。

6.RPM的升級與更新(upgrade / freshen)

引數選項 引數意義
-Uvh 如果軟體沒有安裝過,則系統將直接安裝;如已經安裝過舊版,則系統自動更新至新版本。
-Fvh 如果軟體沒有安裝過,則該軟體不會被安裝。

7.RPM查詢(query)

rpm -qa                         ##已安裝軟體
rpm -q[licdR] 已安裝的軟體名稱     ##已安裝軟體
rpm -qf 存在於系統上面的某個檔名  ##已安裝軟體
rpm -qp[licdR] 未安裝的某個軟體名  ##查閱rpm檔案

引數選項

查詢已安裝的軟體的資訊

-q:僅查詢,後面接的軟體名稱是否有安裝;

-qa:列出所有的,已經安裝在本機上面的所有的軟體名稱;

-qi:累出該軟體的資訊資訊(information,包括開發商、版本與說明)

-ql:列出該軟體所有的檔案與目錄所在的完整檔名(list的意思)

-qc:列出該軟體的所有配置檔案(/etc/底下的檔案)

-qd:列出該軟體的所有說明檔案(找出與man有關的檔案)

-qR:列出與該軟體有關的相依軟體所含的檔案(Required的意思)

-qf:有後面接的檔名,找出該檔案屬於哪一個已安裝的軟體;

-q --scripts:列出是否含有安裝後需要執行的指令碼文件。

8.yum install 與 yum localinstall

yum install 和 yum localinstall 相同點:yum install、yum localinstall都可以安裝本地rpm包;也都可以指定一個遠端url的rpm包;兩者都會從遠端倉庫安裝相關依賴。

而兩者的不同點:yum localinstall 後跟的包名必須是 .rpm 結尾,即必須是一個指定的rpm全包名。即 yum localinstall 不能指定一個具體位置不存在軟體包,因為它不會從遠端倉庫查詢包名。 而 yum install 可以跟不是 .rpm 結尾的包,即可以跟非全包名的軟體包,這時將會從遠端倉庫中查詢該軟體包,並下載安裝。

9.怎麼下載到本地(源在哪兒)

可能因為模板或者網路策略的問題,遠端倉庫無法訪問,這時候,只能下載到本地安裝。而找到一個好的,能成功下載到的源至關重要的。

我們可以嘗試從下面的網站中下載。

網站的門戶--https://rpmfind.net/

查詢網址--https://rpmfind.net/linux/rpm2html/

例如查詢libgdbm.so.4()(64bit)軟體包

也可以在開啟的地方直接查詢,例如在下面已開啟的【libgdbm.so.4()(64bit)】外掛的搜尋視窗上,替換輸入你想要的外掛名字,進行查詢,進行下載。

https://rpmfind.net/linux/rpm2html/search.php?query=libgdbm.so.4()(64bit)

可選項的說明:

The System and Arch are optional added filters, for example System could be "redhat", "redhat-7.2", "mandrake" or "gnome", Arch could be "i386" or "src", etc. depending on your system.

【此rpm源 還是非常方便、實用的】

相關文章