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源 還是非常方便、實用的】