Linux用 RPM 管理软件包(rpm)
Posted Xavier Jiezou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux用 RPM 管理软件包(rpm)相关的知识,希望对你有一定的参考价值。
摘要
本文探讨如何在 Linux 中用红帽软件包管理器 RPM 来管理系统中的软件。
引言
因为 Linux 的不同发行版本有很大的不同,开发者在某个 Linux 版本开发和编译的程序,直接放到另一个发行版本下有非常大的可能性无法运行。因此,早期的 Linux 软件都是通过源代码来分发的。使用者基本都是通过在自己的平台上,重新编译源代码的方式来安装软件的。这种编译源代码的方式比较繁琐,要求用户有一定的编程基础,普通用户往往难以掌握。
为了解决这一问题,红帽公司开发了一个包管理工具 Red Hat Package Manager,简称 RPM。它是 Linux 下软件资源最为丰富的软件包类型,是使用最为广泛的软件包管理器。也是 CentOS 的默认软件包管理器。
简单来说,RPM 将软件编译好的二进制文件、所依赖的动态库文件,以及配置文件打包压缩到一个文件中,这个文件就被成为 RPM 软件包。用户使用该文件安装软件时,RPM 就将该文件解压到目标操作系统上,安装过程动态生成一些文件也一并安装到系统中。RPM 只能管理以 RPM 形式封装的软件包。对于普通用户,RPM 使得软件管理变得十分容易。使用简单的命令就能完成 RPM 包的安装、卸载和升级。
每个 RPM 软件包的名字都包含了一些重要的信息。例如,tsclient-2.0.2-10.e16.x86_64。
- tsclient:软件名
- 2.0.2-10.e16:版本号
- x86_64:适用硬件架构
硬件架构主要有以下几种类型
- x86_64:表示该软件只能安装到拥有 64 位 CPU 的机器上
- i386/i586/i686:表示只能安装到 32 位 CPU 的机器上
- noarch:表示适用于所有架构的计算机
用法
rpm 软件包可以从 rpmfind.net 查看,复制包的链接后使用 wget 下载。
rpm -q xxx
:未安装的包显示 package xxx is not installedrpm -ivh xxx.rpm
:安装包。-v 显示安装进度;-h 以 # 作为输出进度条rpm -q xxx
:已安装的包显示包的全名rpm -e xxx
:卸载软件包(用上一步查询的包的全名来卸载)
提示
rpm
有一个久为用户诟病的缺点,就是无法解决软件包的依赖问题。若要安装的软件包有依赖,我们就得先手动安装依赖项,然后再安装该软件包,十分的繁琐。为解决该问题,RHEL 和 CentOS 中引进了一个软件 yum
(yellowdog updater modified)。我们将在下一篇文章中进行讨论。
参考
以上是关于Linux用 RPM 管理软件包(rpm)的主要内容,如果未能解决你的问题,请参考以下文章