rpm命令管理程序包

安裝、卸載、升級、查詢、校驗、數據庫維護

安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
-v 打印詳細信息-通常例行公事,將顯示進度消息。
-vv 更詳細
-h 以#顯示程序包管理執行進度,每個#代表2%進度
rpm -ivh PACKAGE_FILE...
[install -options]
--test 測試安裝,但不真正執行安裝過程:dry run
--nodeps 忽略依賴關係
--replacepkgs 重新安裝
--nodigest 不檢查包完整性
--nosignature 不檢查來源合法性
--noscripts 不執行程序包的腳本片段
%pre 安裝前腳本 --nopre
%post 安裝後腳本 --nopost
%preun 卸載前腳本 --nopreun
%postun 卸載後腳本 --nopostun

升級:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

--oldpackage 降級
--force 強行升級

注意:
(1)不要對內核做升級操作,Linux支持多內核版本並存,因此,直接安裝新版 本內核;
(2)如果原程序包的配置文件安裝後曾被修改,升級時,新版本提供的同一 配置文件並不會直接覆蓋老版本的配置文件,而是把新版本的文件重命名 (FILENAME.rpmnew)後保留;

查詢:
rpm {-q|--query} [select-options] [query-options]
[select-options]
-a 所有包
-f 查看指定的文件有哪個文件安裝生成(rpm -qf /bin/ls)
-p /PATH/TO/PACKAGE_FILE 針對尚未安裝的程序包文件做查詢操作
--whatprovides 查詢指定的CAPABILITY由哪個包提供
--whatrequires 查詢指定的CAPABILITY被哪個包依賴
[query-options]
--changelog 查詢rpm包的changelog
-c,--configfiles 查詢程序的配置文件
-d 查詢程序的文檔
-i information
-l 查看指定程序包安裝生成的所有文件
--scripts 程序包自帶的腳本片段
-R 查詢指定的程序包所依賴的CAPABILITY
--provides 列出指定程序包所提供的CAPABILITY
用法:
-qi PACKAGE, -qf FILE, -ql PACKAGE , -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE
-qa

卸載:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
[--notriggers] [--test] PACKAGE_NAME ...

校驗:
rpm {-V|--verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
包來源合法性及完整性驗證:
完整性驗證:SHA256

公鑰加密技術:
對稱加密:加密解密使用同一密鑰
非對稱加密:密鑰是成對的
public key: 公鑰
secrete key: 私鑰

導入所需要公鑰:
rpm --import /PATH/FROM/GPG-PUBKEY-FILE
Centos7發行版光盤提供的祕鑰文件:RPM-GPG-KEY-CentOS-7
數據庫重建:
rpm {--initdb|--rebuilddb}
initdb:初始化
如果事先不存在數據庫,則重建之,否則,不執行任何操作
rebuilddb:重建
無論當前存在與否,直接重新創建數據庫。

公鑰祕鑰加密詳述
比如有兩個用戶Alice和Bob,Alice想把一段明文通過雙鑰加密的技術發送給Bob,Bob有一對公鑰和私鑰,那麼加密解密的過程如下:

Bob將他的公開密鑰傳送給Alice。
Alice用Bob的公開密鑰加密她的消息,然後傳送給Bob。
Bob用他的私人密鑰解密Alice的消息。
  上面的過程可以用下圖表示,Alice使用Bob的公鑰進行加密,Bob用自己的私鑰進行解密。
rpm命令管理程序包

例子和圖出自《網絡安全基礎 應用與標準第二版》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章