
一.rpm包的指令格式
源程式:name-version.tar.{gz|bz2|xz}
version:major.minor.release
rpm包:name-version-release.arch.rpm
release:通常隻包含發行号和os平台
el6:redhat enterprise linux CentOS5
arch:
x86_64 i386,i586 ppc
分包:把一個複制的程式打包制作成多個rpm格式
二.來源合法性
源程式:通過md5或sha1校驗碼驗證 rpm包:發行商CD光牒 驗證包完整性:校驗碼 驗證來源合法性:公鑰加密算法
三.擷取rpm的途徑
1.發行商CD光牒或站點伺服器 擷取rpm的途徑: 1、發行商的CD光牒或站點伺服器 CentOS: http://mirrors.163.com http://mirrors.sohu.com 2、rpmfind http://rpmfind.net 3、rpmpbone http://rpm.pbone.net 注意: 1、發行商。發行CD光牒中的包,需要更新時,官方釋放出更新包 2、Fedora EPEL
四.安裝RPM包
rpm –ivh package_name //-i 安裝 –v 顯示安裝資訊 –h hash以#顯示安裝進度rpm –ivh package_name --nodeps //忽略依賴關系![]()
軟體包之RPM包管理 rpm –ivh package_name –replacepkgs //重新安裝![]()
軟體包之RPM包管理 注:原來的配置檔案不會被覆寫,新安裝的配置檔案将會重命名為以.rpmnew為字尾的檔案![]()
軟體包之RPM包管理
五.RPM包查詢
查詢所有已安裝的包: rpm -qa 查詢包的描述資訊: rpm -qi package_name查詢某單個包是否已安裝 rpm –q package_name![]()
軟體包之RPM包管理 查詢安裝包生成的檔案清單位置 rpm –ql package_name![]()
軟體包之RPM包管理 查詢某檔案是由哪個包安裝生成的 rpm –qf /path/to/file![]()
軟體包之RPM包管理 查詢安裝後生成的幫助文檔 rpm –qd package_name![]()
軟體包之RPM包管理 查詢安裝後生成的配置檔案 rpm –qc package_name![]()
軟體包之RPM包管理 查詢包相關的腳本 rpm –q –scripts package_name preinstall 安裝前腳本 postinstall 安裝後腳本 preuninstall 解除安裝前腳本 postuninstall 解除安裝後腳本![]()
軟體包之RPM包管理 查詢尚未安裝的rpm封包件的相關資訊: 查詢安裝後會生成的檔案清單: rpm -qpl 包名 查詢其簡單描述資訊:rpm -qpi 包名![]()
軟體包之RPM包管理 ![]()
軟體包之RPM包管理 六.更新 rpm -U:更新或安裝 rpm -F:隻更新 rpm {-Uvh|-Fvh}/path/to/package_file --nodeps: 忽略依賴關系 --force:強行安裝![]()
軟體包之RPM包管理 注意:不要對核心執行更新操作; 多版本核心可以并存,是以,建議執行安裝操作 七.校驗來源合法性和軟體完整性 包完整行:通過單向加密機制(MD5|sha1) 來源合法性:通過公鑰加密機制(RSA) 指令:gpg rpm -K /path/to/somefile rpm --checksig /path/to/package_file --nosigeature:不檢查來源合法性 --nodigest:不檢查包完整性![]()
軟體包之RPM包管理 導入密鑰: rpm --import /path/to/gpg-key-file 導入以後再做驗證 資料庫 位置:/var/lib/rpm 重建:rpm --initdb:初始化 如果事先不存在一個資料庫,則建立之 rpm --rebuilddb 重建,直接建立資料庫,會覆寫原有庫![]()
軟體包之RPM包管理