rpm命令

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

 

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