鱼C论坛

 找回密码
 立即注册
查看: 4197|回复: 6

[技术交流] RedHat RPM命令详解

[复制链接]
发表于 2012-4-23 03:44:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
在RedHat Linux系统下,几乎所有的软件均可通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux下软件包的软件。Linux安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。

1、为什么需要 RPM ?
在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装、配置、卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个较好的办法来管理成千上万的软件。这就是RPM管理系统。在系统中安装了RPM管理系统以后,只要是符合RPM文件标准的打包程序都可以方便地安装、升级、卸载。

2、是不是所有的Linux都使用 RPM ?
任何系统都需要包管理系统,因此很多Linux都使用RPM系统。 RPM系统是Redhat Linux和Fedora Core的软件包管理器,但是Mandriva、SuSE等Linux发行版也都使用RPM。由于RPM的源程序可以在别的系统上进行编译,所以有可能在别的系统上也使用RPM。除了RPM,其他一些系统也有自己的软件包管理程序, 例如 debian的deb包。

3、软件包文件名中的i386、i686是什么意思 ?
rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构的信息。

i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)
i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)
noarch指这个软件包与硬件架构无关,可以通用。

i686软件包通常针对CPU进行了优化,现在通常配置的机器都可以使用i686软件包。

4、下面就向大家介绍一下它的具体使用方法。

1、我们下载一个新软件包,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:flash-plugin-10.2.153.1-release.i386.rpm,我们可以用这条命令查看:

# rpm -qpi flash-plugin-10.2.153.1-release.i386.rpm

系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

2、上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

# rpm -qpl flash-plugin-10.2.153.1-release.i386.rpm

3、选择安装方式后,开始安装。我们可以用rpm-ivh flash-plugin-10.2.153.1-release.i386.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命令,可以在 -ivh后加一参数“-replacepkgs”:

‍# rpm -ivh -replacepkgs flash-plugin-10.2.153.1-release.i386.rpm

4、有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>;命令即可。

5、对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>;,注意:此时的文件名必须是要升级软件的升级补丁。

6、另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装flash-plugin-10.2.153.1-release.i386.rpm,可以用命令:# rpm -i

7、在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

8、Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:rpm -qf <文件名>;

9、当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:rpm -参数 <文件名>;


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2014-11-7 08:28:36 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-14 23:53:25 | 显示全部楼层

学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-10-15 19:14:21 | 显示全部楼层
非常的感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-12-1 16:57:55 | 显示全部楼层
太精彩了,佩服
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-7-6 22:20:18 | 显示全部楼层
谢谢分享
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-8-12 10:49:01 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 18:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表