rpm

RPM 包管理器(简称 RPM,全称为 The RPM Package Manager)是在 Linux
下广泛使用的软件包管理器。最早由 Red Hat 研制,现在也由开源社区开发。
RPM 通常随附于 Linux 发行版,但也有单独将 RPM 作为应用软件发行的发行
版(例如 Gentoo)。
RPM 软件包管理器只能管理以 RPM 形式封装的软件包,并且 RPM 本身
也是一个预先安装好的 rpm 形式的软件包。对于终端用户而言, RPM 使得软
件管理变得十分容易,同时只需要十分简单的命令就能完成 RPM 软件包的安
装、卸载和升级。 目前是 GNU/Linux 下软件包资源最丰富的软件包类型,也是
RHEL 和 CentOS 中默认的软件管理器。
RPM 将要安装的软件先编译过(如果需要的话)并且打包好,通过包装好的
软件里预设的数据库记录,记录这个软件要安装的时候必须要的依赖的其它软件,
当安装在 Linux 系统时, RPM 会先根据纪录的数据查询 Linux 系统中依赖的其
它软件是否满足,如果满足则安装,如不满足则不安装。 这种安装方式比起用源
代码直接编译进行安装的方式要方便不少。
每个 RPM 软件包是一个压缩的文档,包含了内容信息,应用程序文件,图
标,文档和用作管理的脚本。管理程序利用这些内容来安全地定位、安装和卸载
软件。例如, CentOS 安装过程使用随 CentOS 附带的软件包来构建或升级符
合您需要的系统。
每个软件包文件都有一个很长的名字,包含了几个最重要的信息。例如,这
就是 CentOS 中 tsclient 软件包的全名:
tsclient-0.132-6.i386.rpm
管理工具处理软件包时,通常使用如下三种格式之一:
 软件包名称: tsclient
 带有版本号和发行版本的软件包名称: tsclient-0.132-6
 带有硬件架构的软件包名称: tsclient.i386
为了清楚明白, rpm 以 “名称.架构” 的格式来列出软件包。仓库通常也将软
件包存储在以架构区分的目录中。每次为软件包指定架构的时候,实际指定的是
此软件对机器架构的最低要求。

架构 适用机器
i386 适于任何现有的 Intel 兼容计算机
noarch 适于所有架构
ppc 适于 PowerPC 系统,例如 Apple Pow er Macintosh
x86_64 适于 64 位 Intel 处理器,例如 Intel Core i7

一些软件会为特殊类型的 Intel 处理器优化,为 i386, i586, i686 和 x86_64
计算机提供不同的软件包。如果机器中有 Intel 奔腾, VIA C3 或其他兼容的处
理器,那么可以使用 i586 软件包。如果机器中有更强劲的 Intel 或是 AMD 处
理器,那么可以使用 i686 软件包。
注意
 rpm 包有二进制安装包(Binary)以及源代码安装包(Source)两种。
二进制包可以直接安装在计算机中,而源代码包将会由 RPM 自动编
译、安装。二进制包常常以 rpm 作为后缀名,源代码包经常以 src.rpm


在我们的任务中,用 RPM 来管理软件似乎十分方便,事实上 RPM 有一个
久为用户诟病的缺点,就是无法解决软件的依赖问题。这个问题在我们的任务中
没有体现出来。
简单来说,就是用 RPM 来安装软件时可能会出现以下问题:用户要安装软
件包 A, RPM 可能会提醒需要先安装软件包 B(A 依赖于软件包 B), B 软件包
又可能依赖软件包 C, C 软件包又可能依赖于软件包 D …… 有的软件包所依赖
的其他软件包数量甚至多达上百个,安装起来十分麻烦。
究其原因,正是是由于 RPM 程序是已经打包好的数据,也就是说,里面的
数据已经都编译完成,所有安装时一定需要当初安装时的主机环境才能安装。当
初建立这个软件的安装环境必须也要在当前主机上重现才行。
作为后缀名。
 rpm 二进制安装包和源代码安装包的安装方式是不一样的。
 本任务中没有提到源代码安装包。
 
命令
用法: rpm [选项][安装包名][软件包名]
RHEL 和 CentOS 中自动安装、配制、卸载和升级软件包的工具组合
 -i <安装包文件名> 安装软件
 -v 显示安装详细信息(与 i 连用)
 -h 安装时输出(#)作为进度条(与 iv 连用)
 -e <软件包名> 卸载软件
 --replacepkg 无论软件包是否已被安装,都强行安装
 --test 安装测试,并不实际安装
 --nodeps 忽略软件包的依赖关系强行安装
 --force 忽略软件包及文件的冲突
 -q <软件包名> 查询软件包
 -a 列出所有软件包(与 q 连用)
 -p <安装包文件名> 列出安装后的软件包名(与 q 连用)

猜你喜欢

转载自my.oschina.net/u/3127489/blog/1630046
rpm