軟體包的安裝
rpm: rpm package manager
使用rpm安裝軟體包時,會出現軟體包以來關系,甚至會循環依賴
軟體包
二進制檔案 /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin
配置檔案(文本)
庫檔案(二進制)
文檔 (文本)
源代碼包
軟體包的安裝方式
1.手動變異安裝源代碼
2.二進制格式的軟體包
解壓可直接使用
rpm 管理軟體包 (www.rpmfind.net)
一般系統安裝檔案中提供的rpm包在一下4個目錄中
1.server
2.vt (virtualization technology)
3.cluster
4.clusterstorge
rpm包的檔案名格式
包名-version-release.arch.rpm
version包括major(主版本号) minor(此版本号)modify(修正号)
release:發行号
arch:平台 例如 i386
使用rpm指令管理軟體包
1.安裝
rpm [options] 完整路徑(最後帶的檔案名而不是包名)
-i install
-v 顯示資訊 -vv顯示更詳盡的資訊 -vvv顯示更加詳細的資訊 最多支援3個v
-h 列印#以顯示進度條, #代表2%
-ivh 安裝是通常-ivh一起使用
--nodeps 忽略依賴關系
--force 強行安裝
2.解除安裝
rpm [options] 包名
-e 解除安裝
--nodeps 忽略依賴關系
3.更新
rpm [options] 路徑(最後帶的是檔案名而非包名)
-u 若老版本存在,則更新安裝
若老版本不存在,則完全安裝
-f 老版本必須存在,才能更新
--force 強行更新
-uvh,-fvh 通常一同使用
attention:核心軟體包隻能安裝,不要更新
4.查詢
rpm [options] 包名
-q 查詢
-qa 查詢所有安裝的軟體包
-qa *bash* 支援globbing通配 *?
-qi 查詢詳細資訊關于某個包
-ql 查詢安裝軟體包的所有檔案
-qc 隻查詢安裝的配置檔案
-qd 隻顯示安裝的文檔
-q --scripts
檢視安裝軟體包,執行了怎樣的腳本
-qf 檔案
查詢這個檔案來自哪個軟體包
-q --changelog
查詢每一次包作者改進軟體包都做了些什麼
attention:以上均查詢的是已安裝的軟體包資訊,如果需要查詢未安裝軟體包的對應資訊,隻需在選項中使用-p 例如-qip 而後加上完整的路徑
和檔案名
5.校驗
rpm [options] 包名(已安裝)
-v 檢驗
顯示的第一列資訊共8位,........
1.s size大小
2.m mode 檔案權限 檔案類型
3.5 md5算法 摘要檔案并加密的算法 用來檢測檔案是否改變過
4.d 主裝置号和此裝置号
5.l redlink 路徑不比對
6.u 檔案屬主發生改變
7.g 檔案屬組發生改變
8.t 最進一次修改時間發生改變
6.rpm資料庫
使用rpm -q 查詢來的資訊均依賴rpm資料庫,一旦損壞,則會帶來極大影響
重建rpm資料庫
#rpm --initdb 初始化資料庫,如果原來存在,則不覆寫
#rpm --rebluiddb 重建資料庫,如果原來存在,則覆寫
7.公鑰私鑰
私鑰加密,公鑰解密
簽名:用私鑰加密md5值
md5 128bit公鑰加密 sha1 160bit公鑰加密
驗證軟體包的完整性,是否被人篡改過
dsa gpg 驗證簽名
驗證簽名,具有不可抵賴性
1.導入公鑰
rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-redhat-release
2.驗證
rpm -k [options] 完整路徑(最後帶檔案名而不是包名)
--nodigest 禁用sha1 md5等完整性驗證
--nosignature 禁用dsa gpg等簽名驗證