Linux知識掃盲 什麼是 RPM 與 SRPM

2021-04-26 15:38:20 字數 1393 閱讀 1112

什麼是 rpm 與 srpm

rpm 全名是『 redhat package manager 』簡稱則為 rpm 啦!顧名思義,當初這個套件管理的程式是由 red hat 這家公司發展出來的,但其實在很多的其它套件也有相類似的套件管理程式。不過由於 rpm 使用上很方便,所以就成了目前最熱門的套件管理程式啦!

那麼什麼是 rpm 呢?說的簡單一點, rpm 是以一種資料庫記錄的方式來將你所需要的套件安裝到你的 linux 主機的一套管理程式。他最大的特點就是將您要安裝的套件先編譯過( 如果需要的話 )並且打包好了,透過包裝好的套件裡頭預設的資料庫記錄,記錄這個套件要安裝的時候必須要的相依屬性模組( 就是你的 linux 主機需要先存在的幾個必須的套件 ),當安裝在你的 linux 主機時, rpm 會先依照套件裡頭的紀錄資料查詢 linux 主機的相依屬性套件是否滿足,若滿足則予以安裝,若不滿足則不予安裝。那麼安裝的時候就將該套件的資訊整個寫入 rpm 的資料庫中,以便未來的查詢、驗證與反安裝!這樣一來的優點是:

1. 由於已經編譯完成並且打包完畢,所以安裝上很方便( 不需要再重新編譯 );

2. 由於套件的資訊都已經記錄在 linux 主機的資料庫上,很方便查詢、公升級與反安裝;

但是這也造成很大的困擾,由於 rpm 程式是已經包裝好的資料,也就是說,裡面的資料已經都『編譯完成』了!所以,安裝的時候一定需要當初安裝時的主機環境才能安裝,也就是說,當初建立這個套件的安裝環境必須也要在你的主機上面出現才行!例如 rp-pppoe 這個 adsl 撥接套件,他必須要在 ppp 這個套件存在的環境下才能進行安裝!如果你的主機並沒有 ppp 這個套件,那麼很抱歉,除非您先安裝 ppp 否則 rp-pppoe 就是不讓你安裝的( 當然您可以強制安裝,但是通常都會有點問題發生就是了! )。所以,通常不同的 distribution 所發布的 rpm 檔案,並不能用在其它的 distributions 裡面,舉例來說, red hat 發布的 rpm 檔案,通常無法直接在 mandrake 上面進行安裝的,更有甚者,不同版本之間也無法互通,例如 mandrake 9.0 的 rpm 檔案就無法直接套用在 8.2 上面!因此,這樣可以發現他的缺點是:

1. 安裝的環境必須與打包時的環境需求一致或相當;

2. 需要滿足套件的相依屬性需求;

3. 反安裝時需要特別小心,最底層的套件不可先移除,否則可能造成整個系統的問題!

怪了,怎麼 srpm 這麼麻煩吶!還要重新編譯一次,那麼我們直接使用 rpm 來安裝不就好了!?通常乙個套件在發布的時候,都會同時發布該套件的 rpm 與 srpm 。我們現在知道 rpm 檔案必須要在相同的 linux 環境下才能夠安裝,而 srpm 既然是原始碼的格式,自然我們就可以透過修改 srpm 內的引數設定檔,然後重新編譯產生能適合我們 linux 環境的 rpm 檔案,如此一來,不就可以將該套件安裝到我們的系統當中,而不必與原作者打包的 linux 環境相同了?這就是 srpm 的用處了!

掃盲 什麼是Runtime?

runtime又叫執行時,是一套底層c語言的api,其為ios內部的核心之一,我們平時編寫的oc 底層都是基於它來實現的。objective c 是一門動態語言,它會將一些工作放在 執行時才處理而並非編譯時。也就是說,有很多類和成員變數在我們編譯的時是不知道的,而在執行時,我們所編寫的 會轉換成完整...

智慧型手機基礎知識掃盲什麼是RIL

目前的智慧型機在硬體上多採用雙cpu的架構,乙個是基帶處理器,主要處理數碼訊號 語音頻號的編碼解碼以及gsm通訊協議,另乙個是應用處理器,執行 作業系統 和各種應用程式從軟體 的角度來看,ril radio inte ce layer 工作在ppp tcp ip協議 之下,負責資料的可靠傳輸 at命...

什麼是知識

我們很容易把知識和資訊混為一談 知識,是對大量已知的案例,構建可 的未知情況的模型 如,你學會了固定幾個數字之間的加減乘除,如果只是記住了,不算知識,掌握了四則混合運算的計算方法 也就是計算模型,這才是知識。運用這個規則模型,你可以對任何的,只要符合四則運算的條件的計算表示式,都能進行計算。現代人,...