Chinaunix首页 | 论坛 | 博客
  • 博客访问: 62675
  • 博文数量: 114
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5
  • 用 户 组: 普通用户
  • 注册时间: 2015-02-26 16:03
文章分类

全部博文(114)

文章存档

2015年(114)

我的朋友

分类: LINUX

2015-02-26 16:35:20

原文地址:rpm安装总结 作者:zhenhuaqin

RedHat LinuxMandrake等兼容RedHat的发行版中,整个发行版都是利用RPM安装的。所以安装新软件的最好方法是从网络上下载rpm包。

1 RPM安装软件包,最简单的命令如下:

 

# rpm -ivh foo-1.0-l.i386.rpm (这里讲的软件包是foo-1.0-l.i386.rpm,以下都是)

 

foo####################

 

下面rpm就会输出该软件包的名称,并显示一个状态条。安装很简单。

 

2 拆除已安装的软件包

要反安装软件包foo,只需输入以下这行命令:

 

# rpm -e foo

 

注意:软件包名是foo,而不是rpm文件名"foo-1.0-l.i386.rpm"

 

3 级软件包

升级软件类似于安装软件:

 

# rpm -Uvh foo-2.0-l.i386.rpm

 

foo####################

 

用户要注意的是:rpm会自动反安装相应软件包的老版本。如果老版本软件的配置文件通新版本的不兼容,rpm会自动将其保存为另外一个文件,用户会看到下面的信息:

 

saving /etc/foo.conf as /etc/foo.conf.rpmsave

 

这样用户就可以自己手工去更改相应的配置文件。

另外如果用户要安装老版本的软件,用户就会看到下面的出错信息:

 

# rpm -Uvh foo-1.0-l.i386.rpm

 

foo packag foo-2.0-l(which is newer) is already installed

 

error:foo-1.0-l.i386.rpm cannot be installed

 

如果用户要抢行安装就使用-oldpackage参数。

 

4 查询软件包

用户可以用rpm -qrpm的数据库中查询相应的软件,rpm会给出软件包的名称,版本,发布版本号,例如:

 

# rpm -q foo

 

foo-2.0-l

 

下面是查询时可以使用的特定参数:

-a 查询目前系统安装的所有软件包。

-f 文件名查询包括嘎文件的软件包。

-F -f参数,只是输入是标准输入(例如 find /usr/bin | rpm -qF)

-q 软件包名 查询该软件包

-Q -p参数,只是输入是标准输入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)

下面是输出时的格式选择:

-i 显示软件包的名称,描述,发行,大小,编译日期,安装日期,开发人员等信息。

-l 显示软件包包含的文件

-s 显示软件包包含的文件目前的状态,只有两种状态:normalmissing

-d 显示软件包中的文档(如man,info,README等)

-c 显示软件包中的配置文件,这些文件一般是安装后需要用户手工修改的,例如:sendmail.cf,passwd,inittab

如果用-v参数就可以得到类似于ls -l的输出

 

5 rpm校验软件包

用户可以用rpm来校验已经安装的软件包,rpm可以校验文件大小、MD5校验码、文件权限、类型和属主等信息。

下面是校验时的参数说明:

-a 简单校验软件包中的文件是否存在

-b 校验软件包中的单个文件

-c 校验安装的所有软件包

-d 比较一个源软件包和已经安装的软件包

 

如果检验通过就没有任何出错信息,如果有出错信息,它的格式如下:出错信息是一个8位的字符串,如果是一个".",就代表没有问题,下面是相应的字符的意义:

5 MD5校验错

S 文件大小错

L 符号连接

T 文件修改时间错

D 设备文件错

U 用户名错

G 组名错

M 属性(包括改写权和文件类型)错

如果用户看到这些信息,最好重新安装或者手工修复。

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

6 rpm 实用技巧!

1)用户可以通过FTP来安装软件包。如果用户能够连上网络,想安装某个新的软件包时,可以直接用它的URL地址来安装:

比如:现在在ftp.linuxsir.com/pub/linux/redhat/RPMS/下有这个文件包:foo-1.0-1.i386.rpm,那就可以用这样的命令:

 

# rpm -i ftp.linuxsir.com/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm

 

来安装,也可以查询!

 

2)如果用户不小心巫山了几个文件,但不确定到底是那些文件,想对整个系统进行校验,以了解哪些部分可能已经损坏,可以用:

 

# rpm -Va

 

3)如果用户碰到一个人不出来的文件,想要知道它是属于那一个软件包的话,可以这样做:

 

# rpm -qf /usr/X11R6/bin/xjewel

 

结果会得到以下信息:

xjewel-1.6-1

 

4)如果用户得到一个新的RPM文件,却不清楚它的内容;或想了解某个文件包将会在系统里安装那些文件,可以这样做:

 

# rpm -qpi koules-1.2-2.i386.rpm

 

结果会获得很多信息!

 

阅读(260) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~