软件安装之rpm

  • A+
所属分类:运维教程

一、rpm的介绍

  • 什么是rpm

rpm是红帽包管理工具的缩写,也是红帽软件包管理器,使用它可以方便的完成软件包的安装、卸载工作。

  • rpm系统的组成:
  1. rpm软件包文件是一种特殊的文件,里面封装了软件的程序、配置文件、说明文件、库文件等。
  2. rpm管理工具就是rpm命令,利用rpm命令可以完成软件的管理(安装、升级、卸载)。
  3. 网络资源(获取途径)除了redhat提供的系统安装光盘之外,红帽还提供了一个叫rhn网站,提供在线下载rpm软件包。网络上还有些第三方软件包网站。
  4. rpm数据库,rpm数据库中记录了安装过的软件信息,例如:软件版本、作者、发行单位、内容、安装路径。数据库位置/var/lib/rpm/

二、rpm软件包文件

  • 什么是软件包

参考rpm组成中定义。

  • rpm软件包种类:
  1. 二进制软件包;直接封装了可执行文件、以及执行该执行文件需要的相关文件,例如:配置文件、库文件等。安装二进制rpm包后,就可以执行该程序,但是二进制的rpm文件提供cup相关程序文件,所以,只能安装适合当前计算机的版本。
  2. 源码rpm软件包;封装了程序源代码,所以就被称为源码rpm软件包,使用源码的rpm软件包可通过重新编译,制作出其它种类的rpm软件包文件。
  • rpm软件包命名规则

rpm软件包的文件格式package-version-release.type.rpm

  • 各字段的说明:
  1. package软件的名称。
  2. version软件的版本。
  3. release软件的释放号码。
  4. type软件的类型。
  5. rpm扩展名。

三、查询rpm软件包

  • 查询已安装软件包

语法:

#rpm –q package

例子:

[root@noc Server]# rpm -q zip

zip-2.31-2.el5 表明安装了该软件

[root@noc Server]# rpm -q zi

package zi is not installed 没有安装

[root@noc Server]# rpm -qa | grep zip

bzip2-libs-1.0.3-6.el5_5

zip-2.31-2.el5

gzip-1.3.5-11.el5_4.1

bzip2-1.0.3-6.el5_5

unzip-5.52-3.el5

  • 查询软件包的信息

语法:

#rpm –q –info package

例子:

软件安装之rpm

  • 查询软件包的内容(软件安装之后,安装到哪里了)

语法:

#rpm –q --list package

#rpm –ql package

例子:

[root@noc Server]# rpm -ql zip

/usr/bin/zip

/usr/bin/zipcloak

/usr/bin/zipnote

/usr/bin/zipsplit

/usr/share/doc/zip-2.31

/usr/share/doc/zip-2.31/BUGS

/usr/share/doc/zip-2.31/CHANGES

/usr/share/doc/zip-2.31/LICENSE

/usr/share/doc/zip-2.31/MANUAL

/usr/share/doc/zip-2.31/README

/usr/share/doc/zip-2.31/TODO

/usr/share/doc/zip-2.31/WHATSNEW

/usr/share/doc/zip-2.31/WHERE

/usr/share/doc/zip-2.31/algorith.txt

/usr/share/man/man1/zip.1.gz

  • 查询软件包的修改记录

语法:

#rpm –q –changelog package

  • 查询软件包所需的组件

语法:

#rpm –q --require package

例子:

[root@noc Server]# rpm -q --requires zip

libc.so.6

libc.so.6(GLIBC_2.0)

libc.so.6(GLIBC_2.1)

libc.so.6(GLIBC_2.2)

libc.so.6(GLIBC_2.3)

libc.so.6(GLIBC_2.3.4)

libc.so.6(GLIBC_2.4)

rpmlib(CompressedFileNames) <= 3.0.4-1

rpmlib(PayloadFilesHavePrefix) <= 4.0-1

rtld(GNU_HASH)

  • 查询文件的提供者(我没有vim命令,我没什么?装谁可以有vim)

语法:

#rpm –qf 文件的路径(推荐:使用绝对路径)

例子:

[root@noc Server]# which vim

/usr/bin/vim

[root@noc Server]# rpm -qf /usr/bin/vim

vim-enhanced-7.0.109-7.el5

四、安装rpm软件包

语法:

#rpm –ivh package-version-release.type.rpm

例子:

软件安装之rpm

五、故障排除

  • 直接提示需安装哪些软件包

例如:安装samba包

perl(Convert::ASN1) is needed by samba-3.0.33-3.29.el5_5.1.i386

解决方法:按照提示的包名称,安装相应的软件包。

  • 提示缺库文件

libpq.so.4 is needed by apr-util-1.2.7-11.el5_5.2.i386

解决方法:使用文件名的匹配,找到包含此文件软件包,安装依赖的软件包。

六、升级和更新软件包

  • 升级

我们用rpm升级软件包时,rpm会先卸载旧版本的软件包,卸载软件包时会保留其配置文件;然后把新版本的软件包安装到系统中,旧版本的配置文件会被更名为filename.rpmsave

如软件未安装,升级会安装该软件。

#rpm –Uvh 包名称

  • 更新

如果使用更新,rpm直接将新版本软件包覆盖安装到系统中,新版本配置文件会被更名filename.rpmnew

如软件未安装,更新就会失败。

#rpm –Fvh 包名称

七、卸载rpm软件包

语法:

#rpm -e package

例子:

[root@noc Server]# rpm -e httpd

[root@noc Server]# rpm -q httpd

package httpd is not installed

八、检验rpm软件包状态

例子:

[root@noc Server]# rpm -V dhcp

[root@noc Server]# vim /etc/dhcpd.conf

[root@noc Server]# rpm -V dhcp

S.5....T c /etc/dhcpd.conf

  • 我的微博
  • 这是微博的扫一扫
  • weinxin
  • 微信公众
  • 微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:63   其中:访客  54   博主  9

    • avatar 13717999731 2

      签到成功!签到时间:今日的下午6:37:26,每日打卡,生活更精彩哦!

      • avatar 绦舜们啥到坏佳迟堤凶桌砸蛋膳奶吐凉怨 9

        签到成功!签到时间:今日的上午9:14:44,每日打卡,生活更精彩哦!

        • avatar 乓股饰毡频巧啥匾汹雇搪祭挖堪卵琳蚁焚 9

          签到成功!签到时间:今日的上午6:00:05,每日打卡,生活更精彩哦!

          • avatar 河的窍诶巫永椿诚墒肪严囤绿霞涯毁恳贾 9

            签到成功!签到时间:今日的上午12:05:22,每日打卡,生活更精彩哦!

            • avatar 员薪惩抖猩豆米袄僭何丝菊呐部股镀目阅 9

              签到成功!签到时间:今日的下午9:10:23,每日打卡,生活更精彩哦!

              • avatar 状沮永徒裳纯野榔信殴涸团判喂吧肪卮苟 9

                签到成功!签到时间:今日的下午6:34:56,每日打卡,生活更精彩哦!

                • avatar 概团沂窘晒沉秦糯麓淳刚杜韵缴坛守突研 9

                  签到成功!签到时间:今日的下午4:48:09,每日打卡,生活更精彩哦!

                  • avatar 志吮饺稼拓鸥蓟霞粘腥舅送诤啡帘颖谓伺 9

                    签到成功!签到时间:今日的下午3:13:43,每日打卡,生活更精彩哦!

                    • avatar 城橇夜栏幌谂崖牧妹钒德夷谱材蕉蹲蔽接 9

                      签到成功!签到时间:今日的上午11:33:39,每日打卡,生活更精彩哦!