RPM 有 5 種 基本操作模式:安裝、卸載、升級、查詢 和 校正
1. 安裝軟體包
文法: rpm -ivh [RPM 包檔案名稱]
選項說明:
i : 表示安裝軟體包
v : 表示在安裝過程中顯示詳細的資訊
h : 表示顯示水平進度條
(1)安裝 foo-2.0-1.i386.rpm 軟體包
# rpm -ivh foo-2.0-1.i386.rpm
如果安裝成功,系統會顯示軟體包的名稱,然後在軟體包安裝時在螢幕上列印 “ # ” 顯示安裝的進度,顯示如下資訊:
Preparing ... ################################ [100%]
1: foo ############################### [100%]
如果某軟體包的同一版本已經安裝,系統會顯示 如下資訊:
Preparing ... #######################################[100%]
package foo-1.0-1 is alread installed
如果在軟體包已安裝的情況下仍打算安裝同一版本的軟體包,可以使用 " --replacepkgs" 選項忽略錯誤.
e.g 在 foo-1.0-1.i386.rpm 已安裝的情況下仍舊安裝該軟體包。
# rpm -ivh -- replacepkgs foo-1.0-1.i386.rpm
(2)軟體包衝突
如果試圖安裝的軟體包中包含已被另一個軟體包或同一軟體包的早期版本安裝了的檔案,系統會顯示如下資訊:
Preparing... ##################################[100%]
file/user/bin/foo from install of foo-1.0-1 conflicts with file from package bar-2.0.20
使用 " --replacefiles " 可以忽略這個錯誤
e.g foo-1.0-1.i386.rpm 軟體包衝突,忽略錯誤繼續安裝。
# rpm -ivh --replacefiles foo-1.0-1.i386.rpm
(3) 卸載軟體包
文法: rpm -e [RPM 包名稱]
選項說明: e : 表示卸載軟體包
e.g 卸載 foo 軟體包
# rpm -e foo
在卸載軟體包時使用軟體包名稱 foo ,而不是軟體包檔案名稱 foo-1.0-1.i386.rpm .
在卸載某軟體包時也會遇到依賴關係錯誤。當另一個已安裝的軟體包依賴於使用者試圖刪除的軟體包時,
依賴關係錯誤就會發生。 e.g
Preparing ... ###########################################[100%]
error : removing these packages would break dependencies:
foo is needed by bar-2.0.20-3.i386.rpm
要使用 RPM 忽略這個錯誤並強制移除該軟體包,可以使用 "-nodeps" 選項,但是依賴於它的軟體包可能無法正常運行。
(4)升級軟體包
文法: rpm -Uvh [ RPM 包檔案名稱]
選項說明: U 表示升級軟體包
e.g 升級 foo-2.0-1.i386.rpm 軟體包
# rpm -Uvh foo-2.0-1.i386.rpm
升級軟體包實際上是刪除和安裝的組合,因此,在 RPM 軟體包升級過程中,還會碰到另一個錯誤,如果 RPM 認為使用者試圖升級到
軟體包的早期版本,系統會顯示如下資訊:
#package foo-2.0-1 (which is newer than foo-1.0-1) is already installed
要使用 RPM 軟體包強制升級,可以使用 "--oldpackage" 選項。
e.g 強制升級 foo-1.0-1.i386.rpm 軟體包
#rpm -Uvh --oldpackage foo-1.0-1.i386.rpm
(5)重新整理軟體包
文法: rpm -Fvh [ RPM 包檔案名稱]
選項說明: F 表示重新整理軟體包
e.g 重新整理 foo-2.0-1.i386.rpm 軟體包
# rpm -Fvh foo-1.2-1.i386.rpm
使用 RPM 重新整理軟體包時,系統會比較指定的軟體包的版本和系統上已安裝的版本。當 RPM 的重新整理選項處理的版本比已安裝的版本更新,它就會升級
到更新的版本,然而,如果某軟體包先前沒有安裝, RPM 的重新整理選項將不會安裝該軟體包。這和 RPM 的升級選項不同,因為不管該軟體包的早期版本是
否已被安裝,升級選項都會安裝該軟體包。
(6)查詢軟體包
使用 "rpm -q" 命令查詢軟體包安裝的資訊。
A. 查詢指定軟體包的詳細資料。
功能說明:使用該命令會顯示已安裝軟體包的名稱,版本和發行號碼。
文法: rpm -q [RPM 軟體包名稱]
e.g 查詢 foo 軟體包是否安裝
#rpm -q foo
package foo is not installed
// 查詢到 foo 軟體包沒有安裝
e.g 查詢 bind 軟體包是否安裝
#rpm -qa bind
bind-9.2.4-2
// 查詢到 bind 軟體包已經安裝
B. 查詢系統中所有已安裝的 RPM 軟體包
文法 : rpm -qa
C. 查詢指定已安裝軟體包的描述資訊
文法: rpm -qi [RPM 包名稱]
顯示軟體包的名稱,描述,發行版本,大小,製造日期,生產商以及其他雜項。
D. 查詢指定已安裝軟體包所含的檔案清單
文法: rpm -ql [RPM 包名稱]
E. 查詢軟體包的依賴要求
文法: rpm -qR [RPM 包名稱]
F. 查詢系統中指定檔案屬於哪個軟體包
文法: rpm -qf [檔案名稱]
JDK 7 Installation for Linux Platforms
http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html#install-32
http://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7