歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 平台上的軟件包管理

Linux 平台上的軟件包管理

日期:2017/2/28 16:42:15   编辑:Linux教程

安裝,升級和卸載應用軟件是影響用戶對操作系統評價的決定性因素之一。對於日漸流行的 GNU/Linux 操作系統,擁有簡潔強大的軟件包管理機制功不可沒。本文從基本的 rpm/dpkg 命令行出發,以 RHEL 和 Ubuntu 為例,介紹典型 Linux 系統中應用軟件的管理和使用。

RPM/DPKG 兩大陣營簡介

在 GNU/Linux( 以下簡稱 Linux) 操作系統中,RPM 和 DPKG 為最常見的兩類軟件包管理工具,他們分別應用於基於 RPM 軟件包的 Linux 發行版本和 DEB 軟件包的 Linux 發行版本。軟件包管理工具的作用是提供在操作系統中安裝,升級,卸載需要的軟件的方法,並提供對系統中所有軟件狀態信息的查詢。

RPM 全稱為 RedHat Package Manager,最早由 Red Hat 公司制定實施,隨後被 GNU 開源操作系統接受並成為很多 Linux 系統 (RHEL) 的既定軟件標准。與 RPM 進行競爭的是基於 Debian 操作系統 (Ubuntu) 的 DEB 軟件包管理工具- DPKG,全稱為 Debian Package,功能方面與 RPM 相似。二者之具體比較不在本文范圍之內。

RPM 包的安裝 / 升級 / 查詢 / 卸載

一個 RPM 包包含了已壓縮的軟件文件集以及該軟件的內容信息(在頭文件中保存),通常表現為以 .rpm 擴展名結尾的文件,例如 package.rpm 。對其操作,需要使用 rpm 命令。下面介紹 rpm 工具的參數和使用方法,並以 IBM Lotus Notes 在 RHEL 5.2 安裝為例做具體說明。

RPM 命令常用參數

RPM 的常規使用方法為 rpm -? package.rpm,其中 -? 為操作參數 ( 更多信息,請查閱幫助 $man rpm):

-q 在系統中查詢軟件或查詢指定 rpm 包的內容信息

-i 在系統中安裝軟件

-U 在系統中升級軟件

-e 在系統中卸載軟件

-h 用 #(hash) 符顯示 rpm 安裝過程

-v 詳述安裝過程

-p 表明對 RPM 包進行查詢,通常和其它參數同時使用,如:

-qlp 查詢某個 RPM 包中的所有文件列表

-qip 查詢某個 RPM 包的內容信息

RPM 命令參數使用方法

以上參數有些需要組合使用,比如說 rpm -h package.rpm 是沒有意義的,但 rpm -ih package.rpm 即表示安裝 package 並用 # 符顯示安裝進度。

安裝 RPM 包

# rpm -ivh package.rpm

升級 RPM 包命令

# rpm -Uvh package.rpm

卸載 RPM 包命令

# rpm -ev package

查詢 RPM 包中包含的文件列表命令

# rpm -qlp package

查詢 RPM 包中包含的文件列表命令

# rpm -qlp package

查詢 RPM 包中包含的內容信息命令

# rpm -qip package

查詢系統中所有已安裝 RPM 包

# rpm -qa

RPM 包管理示例

以下步驟描述了一個普通用戶安裝 IBM Lotus Notes V85 ( 以下簡稱 Notes) 的典型操作過程。 Notes 的 RPM 包名為 ibm_lotus_notes-8.5.i586.rpm 。

首先查詢是否該軟件是否已經在系統中存在

# rpm -qa | grep ibm_lotus_notes

如果返回信息為空那麼說明該軟件還未被安裝。

查詢 Notes 軟件包內容:

# rpm -qip ibm_lotus_notes-8.5.i586.rpm

Name : ibm_lotus_notes Relocations: /opt/ibm/lotus/notes

Version : 8.5 Vendor: IBM

Release : 20081211.1925 Build Date: Sat 13 Dec 2008 09:38:55 AM CST

Install Date: (not installed) Build Host: dithers.notesdev.ibm.com

Group : Applications/Office

Source RPM: ibm_lotus_notes-8.5-20081211.1925.src.rpm

Size : 603779427 License: Commercial

Signature : DSA/SHA1, Sat 13 Dec 2008 09:43:02 AM CST, Key ID 314c8c6534f9ae75

Summary : IBM Lotus Notes

Description :

IBM Lotus Notes software provides a robust ...

安裝 Notes:

# rpm -ivh ibm_lotus_notes-8.5.i586.rpm

返回信息 :

Preparing... ########################################### [100%]

1:ibm_lotus_notes ########################################### [100%]

升級 Notes:

若今後需要基於該版本升級至更高版本的 Notes( 縫 .0 - ibm_lotus_notes-9.0.i586.rpm),則使用 -U 參數:

# rpm -Uvh ibm_lotus_notes-8.5.i586.rpm

在該步驟中如果使用 -i 則系統通常會報文件沖突錯誤,無法正常安裝。

卸載 Notes

注意卸載軟件使用軟件名稱,而不是包文件名:

# rpm -ev ibm_lotus_notes

DEB 包的安裝 / 升級 / 查詢 / 卸載

一個 DEB 包包含了已壓縮的軟件文件集以及該軟件的內容信息(在頭文件中保存),通常表現為以 .deb 擴展名結尾的文件,例如 package.deb 。對其操作,需要使用 dpkg 命令。下面介紹 dpkg 工具的參數和使用方法,並以 IBM Lotus Notes 在 Ubuntu 904 安裝為例做具體說明。

DPKG 命令常用參數

DPKG 的常規使用方法為 dpkg -? Package(.rpm), 其中 -? 為安裝參數 ( 更多信息,請查閱幫助 $man rpm):

-l 在系統中查詢軟件內容信息

--info 在系統中查詢軟件或查詢指定 rpm 包的內容信息

-i 在系統中安裝 / 升級軟件

-r 在系統中卸載軟件 , 不刪除配置文件

-P 在系統中卸載軟件以及其配置文件

DPKG 命令參數使用方法

安裝 DEB 包命令

$ sudo dpkg -i package.deb

升級 DEB 包命令

$ sudo dpkg -i package.deb ( 和安裝命令相同)

Copyright © Linux教程網 All Rights Reserved