標籤:yum rpm linux centos 軟體管理
rpmRPM 預設安裝的路徑:
RPM 安裝 (install):
註:也可以通過網路安裝:rpm -ivh http://website.name/path/pkgname.rpm
『強制』安裝:
RPM 升級與更新 (upgrade/freshen):(後面也可以接上面的--nodeps/--force 等等的參數)
RPM 查詢 (query):
註:RPM 在查詢的時候,其實查詢的地方是在 /var/lib/rpm/ 這個目錄下的資料庫檔案
RPM 驗證與數位簽章 (Verify/signature):
如:
最前面的八個資訊是:
S :(file Size differs) 檔案的容量大小是否被改變
M :(Mode differs) 檔案的類型戒檔案的屬性 (rwx) 是否被改變?如是否可執行等參數已被改變
5 :(MD5 sum differs) MD5 這一種挃紋碼的內容已經丌同
D :(Device major/minor number mis-match) 裝置的主/次代碼已經改變
L :(readLink(2) path mis-match) Link 路徑已被改變
U :(User ownership differs) 檔案的所屬人已被改變
G :(Group ownership differs) 檔案的所屬群組已被改變
T :(mTime differs) 檔案的建立時間已被改變
第二排的意思是: c :設定檔 (config file)
d :檔案資料檔案 (documentation)
g :鬼檔案~通常是該檔案丌被某個軟體所包噸,較少發生!(ghost file)
l :許可證檔案 (license file)
r :讀我檔案 (read me)
數位簽章 (digital signature): 防止:驗證只能驗證軟體內的資訊與 /var/lib/rpm/ 裡面的資料庫資訊而已,如果該軟體檔案所提供的資料本身就有問題,那你使用驗證的手段也無法確定該軟體的正確性。 解決:1. 首先你必須要先安裝原廠釋出的公開金鑰檔案;
2. 實際安裝原廠的 RPM 軟體時, rpm 指令會去讀取 RPM 檔案的簽章資訊,與本機系統內的簽章資訊比對,
3. 若簽章相同則予以安裝,若找不到相關的簽章資訊時,則給予警告並且停止安裝。
RPM反安裝與重建資料庫註:卸載一個軟體需要考慮到依賴性問題,如:軟體B依賴於A提供的函數庫,但我要卸載A,會報錯且不會卸載,因為卸載了,B就不能使用。不過可以加 --nodeps 來強制移除,只是依賴其函數庫的軟體都不能使用了(不建議強制卸載)。
而可以刪除的,這不會出現任何資訊:
因為某些動作,可能導致RPM 資料庫 /var/lib/rpm/ 內的檔案破損,則需要重建RPM資料庫
yum查詢功能:yum [list|info|search|provides|whatprovides] 參數
安裝/升級功能:yum [install|update] 軟體:
移除功能:yum [remove] 軟體:
會自動幫我們解決依賴性問題
yum 的設定檔:
其中的一個容器檔案:
[base]:代表容器的名字!中刮號一定要存在,裡面的名稱則可以隨意取。但是不能有兩個相同的容器名稱, 否則 yum 會不曉得該到哪裡去找容器相關軟體列表檔案。
name:只是說明一下這個容器的意思而已,重要性不高!
mirrorlist=:列出這個容器可以使用的映射月台,如果不想使用,可以批註到這行;
baseurl=:這個最重要,因為後面接的就是容器的實際網址! mirrorlist 是由 yum 程式自行去捉映像月台, baseurl 則是指定固定的一個容器網址!
enable=1:就是讓這個容器被啟勱。如果不想啟勱可以使用 enable=0 喔!
gpgcheck=1:還記得 RPM 的數位簽章嗎?這就是指定是否需要查閱 RPM 檔案內的數位簽章!
gpgkey=:就是數位簽章的公開金鑰檔案所在位置!使用預設值即可
如果有些軟體,系統預設容器沒有提供,可以使用軟體提供的容器:在 /etc/yum.repos.d/ 底下建立一個檔案, 該副檔名必須是 .repo 才行(一般使用安裝RPM的方式安裝容器,無需自己建立檔案,更多請參考筆者另一篇博文《centos7通過yum安裝mysql》)。
如mysql的容器:
查看目前yum所使用的容器有哪些:
yum 會先下載容器的清單到原生 /var/cache/yum 裡面去,如果我們在一個容器裡面修改了網址,卻沒有修改容器名稱(中括弧裡面的文字),可能就會造成原生列表與yum 伺服器的列表不同步,此時就會出現無法更新的問題了。
所以需要清理一下:
yum 的軟體群組功能:
全系統自動升級:
參考相關資料:《鳥哥的私房菜》
轉載請標明原文出處:http://blog.csdn.net/u012367513/article/details/40681551
centos的軟體管理工具RPM和yum