1.rpm命令
rpm可以用來安裝,升級更新,查詢,驗證,卸載rpm包。
2.rpm包的使用方法
rpm -ivh 包文件 //安裝
rpm -Uvh 包文件 //升級
rpm -e 包名 //卸載
rpm -qa //查詢所有安裝的包
rpm -q 包名 //查詢一個包是否安裝
rpm -qi 包名 //查詢一個包的詳細信息
rpm -ql 包名 //查詢這個rpm包安裝了哪些文件
rpm -qf 文件 //查詢文件來至哪個rpm包
選項說明:
安裝:
i:install安裝的意思。
v:查詢更詳細的信息畫面。
h:顯示安裝進度。
升級:
U:後面接的軟件沒有安裝,系統給予安裝;軟件安裝過了,更新最新版
F:後面接的軟件沒有安裝,系統不給予安裝;軟件安裝過了,就升級到最新版
查詢:
qa:查詢本機上的所有已經安裝的軟件。
qf:通過某文件找出屬於哪個軟件。
q:僅查詢軟件是否安裝。
qi:列出軟件的詳細信息(information),開發商,版本與說明。
ql:列出軟件所有文件與目錄所在的完整的文件名(list)。
qc:列出該軟件所有設置文件。
qd:列出軟件所有幫助文件。
qR:列出與該軟件有關的依賴軟件所含的文件(Required)。
qp[licdR]:與上面一致,qp查詢的是非安裝的RPM包內的文件信息。
驗證:
V:後面接軟件名稱,該軟件所含的文件被改動過,纔會被列出來。針對一個軟件查詢。
Va:列出系統上面所有有可能被改動過的文件。針對真個系統的。
Vp:後面接文件名,針對RPM軟件包。
Vf:列出某個文件是否被改動過。
卸載:
e:卸載
RPM安裝可用的參數(不常用)
可執行參數 |
代表意義 |
--nodeps |
使用時機:當軟件因依賴問題無法安裝時,你執意安裝。問題: 可能無法正常使用。 |
--replacefiles |
使用時機:顯示某個文件已經安裝在系統上時,可以使用參數覆蓋。問題:要弄清楚是否可以被覆蓋。 |
--replacepkgs |
使用時機:重新安裝某個意境安裝的軟件。 |
--force |
使用時機:強制安裝,上面兩個參數的結合體。 |
--test |
使用時機:測試軟件是否可以安裝到當前環境中,可以找出依賴問題。rpm -ivh re-pppoe.i386.rpm --test |
--justdb |
使用時機:更新數據庫的相關信息 |
--nosignature |
使用時機:略過證書檢測時。 |
--prefix 新路徑 |
使用時機:將軟件安裝到其它路徑。--prefix/usr/local |
--noscripts |
使用時機:不想讓軟件安裝過程中自行執行某些系統命令。 |
3.實例
3.1 安裝rpm包
查看鏡像自帶的rpm包。
在虛擬機右下角連接鏡像,光盤的標誌。
確認mnt目錄沒有備掛載,然後掛載
mount /dev/cdrom /mnt
cd /mnt/Packages/
ls
安裝
# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
準備中... ################################# [100%]
正在升級/安裝...
1:tree-1.6.0-10.el7 ################################# [100%]
3.2 查詢rpm安裝了那些文件
# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
3.3 查看一個文件來自哪個rpm包
# rpm -qf `which tree`
tree-1.6.0-10.el7.x86_64
3.4 查詢安裝的rpm的信息
# rpm -qi tree
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: 2018年04月18日 星期三 11時26分04秒
Group : Applications/File
Size : 89505
....
3.5 卸載rpm包
# rpm -e tree
沒有提醒
4.驗證(不常用)
針對軟件,查看tree這個軟件有沒有被改動過。
# rpm -V tree
針對系統文件,查看系統文件針對默認情況有沒有修改過(沒修改的沒有提示信息,下面的提示信息是刪除一行空行進行測試的即如果)
# rpm -Vf /etc/crontab
S.5....T. c /etc/crontab
前面8位的含義
字符 |
含義 |
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-patch) |
Link路徑 |
U(User ownership differs) |
文件的所有者 |
G(Group ownership differs) |
文件的所屬組 |
T(mTime differs) |
文件的創建時間 |
第9個字符的含義
字符 |
含義 |
c |
設置文件(config file) |
d |
文檔(documentation) |
g |
鬼文件(ghost file)文件不被軟件包含 |
l |
授權文件(license file) |
r |
自述文件(read me) |
5. 重建數據庫
某些操作可能導致RPM數據庫/var/lib/rpm內的文件損壞。重建數據庫恢復。
rpm --rebuilddb