益友网(http://www.1uu2.com) 做linux用户的良师益友、linux操作系统命令教程

当前位置: 益友网 > Linux技巧 > 文章正文

Linux 平台上的软件包管理

发表于 2009-10-22 22:39 | 来源: | 阅读 536 次

安装,升级和卸载应用软件是影响用户对操作系统评价的决定性因素之一。对于日渐流行的 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 。

  1. 首先查询是否该软件是否已经在系统中存在
    # rpm -qa | grep ibm_lotus_notes

    如果返回信息为空那么说明该软件还未被安装。

  2. 查询 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 ...
  3. 安装 Notes:
    # rpm -ivh ibm_lotus_notes-8.5.i586.rpm

    返回信息 :

       Preparing...                ########################################### [100%]
       1:ibm_lotus_notes        ########################################### [100%]
  4. 升级 Notes:若今后需要基于该版本升级至更高版本的 Notes( 缝 .0 – ibm_lotus_notes-9.0.i586.rpm),则使用 -U 参数:
    # rpm -Uvh ibm_lotus_notes-8.5.i586.rpm

    在该步骤中如果使用 -i 则系统通常会报文件冲突错误,无法正常安装。

  5. 卸载 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 ( 和安装命令相同)
关键字:
喜欢益友网的文章,那就通过 RSS Feed 功能订阅阅读吧!

我要评论

*

* 绝不会泄露



返回首页 | 关于我们 | 联系我们 | 广告合作 | 网站地图 | 友情链接 | 版权声明 |