rpm包管理
程式源代碼---->預處理---->編譯---->匯編---->鏈接
資料處理 轉為匯編代碼 進行匯編 引入庫檔案
靜態編譯:.a
動態編譯:.so
包的組成:
二進制檔案、庫檔案、組態檔、幫助檔案
程式包管理器:
debian: deb檔案, dpkg包管理器
redhat: rpm檔案, rpm包管理器
rpm:Redhat Package Manager
RPM Package Manager
rpm包命名方式:
bash-4.2.46-19.el7.x86_64.rpm
name-版本-編譯次數.發布版本.架構
systemctl start autofs --啟動服務
systemctl enable autofs
cd /misc/cd --會自動掛載光碟到/misc/cd
包:分類和拆包
Application-VERSION-ARCH.rpm: 主包
Application-devel-VERSION-ARCH.rpm 開發子包
Application-utils-VERSION-ARHC.rpm 其它子包
Application-libs-VERSION-ARHC.rpm 其它子包
解決依賴包管理工具:
yum:rpm包管理器的前端工具
apt:deb包管理器前端工具
查看二進制程式所依賴的庫檔案
ldd /PATH/TO/BINARY_FILE
ldd /bin/cat --查看cat依賴的庫
管理及查看本機裝載的庫檔案
ldconfig 加載組態檔中指定的庫檔案
/sbin/ldconfig –p 顯示本機已經快取的所有可用庫檔案名及檔案路徑
映射關系
組態檔:/etc/ld.so.conf, /etc/ld.so.conf.d/*.conf
快取檔案:/etc/ld.so.cache
rpm包管理:
rpm -i [install-options] PACKAGE_FILE
-v:verbose:顯示詳細資訊
-vv:顯示的更加詳細
-h:以#顯示程式包管理秩序進度
rpm包安裝:
[install-options]
--test: 測驗安裝,但不真正執行安裝,即dry run模式
--nodeps:忽略依賴關系
--replacepkgs | replacefiles
--nosignature: 不檢查來源合法性
--nodigest:不檢查包完整性
--noscripts:不執行程式包腳本
%pre: 安裝前腳本 --nopre
%post: 安裝后腳本 --nopost
%preun: 卸載前腳本 --nopreun
%postun: 卸載后腳本 --nopostun
rpm包升級:
升級:
rpm -U [install-options] PACKAGE_FILE...
rpm -F [install-options] PACKAGE_FILE...
-U:安裝有舊版程式包,則“升級”
如果不存在舊版程式包,則“安裝”
-F:安裝有舊版程式包,則“升級”
如果不存在舊版程式包,則不執行升級操作
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降級
--force: 強制安裝
包查詢:
rpm -q [select-options] [query-options]
[select-options]
-a:所有包
-f:查看指定的檔案由哪個程式包生成
rpm -qf /etc/yum.conf
-p profile:針對未安裝的程式包檔案做查詢操作
示例:rpm -qp dnf-0.6.4-2.sdl7.noarch.rpm
--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個包所提供
示例:rpm -q --whatprovides httpd
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴
示例:rpm -q --whatrequires bash
rpm2cpio 包檔案|cpio –itv 預覽包內檔案
rpm2cpio 包檔案|cpio –id “*.conf” 釋放包內檔案
[query-options]
--changelog:查詢rpm包的changelog
rpm -q --changelog httpd
-c:查看程式的組態檔
-d:查詢程式的檔案
-i:information
-l:查看指定程式安裝后生成的所有檔案
--scripts:程式包自帶的腳本
--provives:列出指定程式包所提供的能力
-R:查詢指定的程式包所依賴的能力
包卸載:
rpm -e PACKAGE_NAME
匯入所需要公鑰
rpm -K|checksig rpmfile 檢查包的完整性和簽名
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
rpm資料庫
/var/lib/rpm
rpm {--initdb|--rebuilddb}
initdb:初始化,如果事先不存在資料庫則新建,否則不處理
rebuilddb:重建已安裝的包頭的資料庫索引目錄
常用命令:rpm -ivh | -evh | -qa | -qf | -qp | -qc | -qd | -qi | -ql | --provides | --scripts
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/158862.html
標籤:Linux
下一篇:包管理工具-yum
