linux rpm包管理

一、概要

    RPM:RPM Package Manager(rpm软件包管理器)的缩写。它能将编译好的程序打包一个文件或有限的几个文件,可用于实现安装、卸载、升级、查询等功能。

二、rpm软件包管理

rpm包的命名格式:name-version-relase.arch.rpm

例如:bash-1.1.0-5.el6.x86_64.rpm

其中bash是就是我们的软件名字,1.1.0-5是该软件的版本号,el6.x86_64这两个部分是指我们该rpm包的运行平台的操作系统版本。例如el6就表示是针对于RHEL6的发现版本,我们使用的是什么版本的Linux操作系统,我们就要去下载对应的rpm版本,x86_64表示是运行在64位上的系统。

rpm的基础命令: rpm [option] /path/to/package_file(rpm+选项+安装包文件)

rpm的使用方法相当简单,常用选项有:

安装软件:rpm -i /path/to/package_file

卸载软件:rpm -epackage_name(软件名字)

以升级方式安装:rpm -U /path/to/package_file //软件原先存在则升级,否则安装

常用组合命令:

-v: 显示安装过程

-h:以#显示安装进度,一个#表示2%

例如:我们安装下bash的rpm包

[root@jxf home]# rpm -ivh bash-1.1.0-5.el6.x86_64.rpm   // 通常我们一般安装时跟上 -ivh参数,来显示安装的详细信息

Preparing…                 ########################################## [100%]   

1:tigervnc                  ########################################### [100%]

此时,我们发现软件已经安装完毕。

另外:rpm –test  /path/to/package_file 将对安装包进行安装测试,不会直接安装

    rpm –replacepkgs  /path/to/package_file  将对软件进行覆盖安装 

注意:在卸载程序包时,如果此程序被其他包所依赖,则将依赖于此包的所有包一并卸载,或者,使用–nodpes选项忽略依赖关系;但是,依赖于此程序的程序包可能无法正常运行。


RPM常用查询命令

rpm -qa   列出所有已安装的rpm软件

[root@jxf home]# rpm -qa
java-1.6.0-openjdk-devel-1.6.0.0-1.50.1.11.5.el6_3.x86_64
qimageblitz-0.0.4-1.el6.x86_64
gnome-python2-gnomevfs-2.28.0-3.el6.x86_64
perl-ExtUtils-ParseXS-2.2003.0-129.el6.x86_64
iscsi-initiator-utils-6.2.0.873-2.el6.x86_64
libhbaapi-2.2.6-1.el6.x86_64
perl-BSD-Resource-1.29.03-3.el6.x86_64
sane-backends-1.0.21-3.el6.x86_64
gtkspell-2.0.16-1.el6.x86_64

rpm -qf filename  查询指定文件属于哪个rpm包

[root@xiaoluo home]# rpm -qf /usr/share/mysql/

-libs-.-.el6_3.x86_64

rpm -qi packagename  查询已软件包的信息

[root@localhost jjh]# rpm -qi libmtp

Name        : libmtp                       Relocations: (not relocatable)

Version     : 1.0.1                             Vendor: CentOS

Release     : 2.el6                         Build Date: Wed 18 Aug 2010 09:30:05 PM CST

Install Date: Tue 03 Mar 2015 04:41:08 PM CST      Build Host: c6b3.bsys.dev.centos.org

Group       : System Environment/Libraries   Source RPM: libmtp-1.0.1-2.el6.src.rpm

Size        : 711583                           License: LGPLv2+

Signature   : RSA/8, Sun 03 Jul 2011 12:36:58 PM CST, Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem <http://bugs.centos.org>

URL         : http://libmtp.sourceforge.net/

Summary     : A software library for MTP media players

Description :

This package provides a software library for communicating with MTP

(Media Transfer Protocol) media players, typically audio players, video

players etc.

rpm -ql packagename  查询指定软件包包含的文件

[root@localhost jjh]# rpm -ql libmtp

/lib/udev/rules.d/60-libmtp.rules

/usr/lib64/libmtp.so.8

/usr/lib64/libmtp.so.8.3.1

/usr/share/hal/fdi/information/10freedesktop/10-usb-music-players-libmtp.fdi

rpm -qip software.rpm 查询rpm文件的信息

[root@jxf home]# rpm -qip zip-3.0-1.el6.x86_64.rpm 

Name        : zip                          Relocations: (not relocatable)

Version     : 3.0                               Vendor: CentOS

Release     : 1.el6                         Build Date: Wed 18 Aug 2010 09:30:05 PM CST

Install Date: (not installed)               Build Host: c6b3.bsys.dev.centos.org

Group       : Applications/Archiving        Source RPM: zip-3.0-1.el6.src.rpm

Size        : 823612                           License: BSD

Signature   : Tue 03 Mar 2015 04:41:08 PM CST Key ID 0946fca2c105b9de

Packager    : CentOS BuildSystem <http://bugs.centos.org>

URL         : http://www.info-zip.org/Zip.html

Summary     : A file compression and packaging utility compatible with PKZIP

Description :

The zip program is a compression and file packaging utility.  Zip is

analogous to a combination of the UNIX tar and compress commands and

is compatible with PKZIP (a compression and file packaging utility for

MS-DOS systems).


Install the zip package if you need to compress files using the zip

program.

rpm -qlp software.rpm  查询rpm文件包含的文件

[root@jxf home]# rpm -qlp zip-3.0-1.el6.x86_64.rpm 

/usr/bin/zip

/usr/bin/zipcloak

/usr/bin/zipnote

/usr/bin/zipsplit

/usr/share/doc/zip-3.0

/usr/share/doc/zip-3.0/CHANGES

/usr/share/doc/zip-3.0/LICENSE

/usr/share/doc/zip-3.0/README

/usr/share/doc/zip-3.0/README.CR

/usr/share/doc/zip-3.0/TODO

/usr/share/doc/zip-3.0/WHATSNEW

/usr/share/doc/zip-3.0/WHERE

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

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

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

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

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

rpm校验命令:
rpm -V package_name:查询包安装后文件属性是否发生变化

[root@localhost jjh]# rpm -V libmtp

[root@localhost jjh]# 

如果没有任何显示,则说明该软件是完整的,否则显示以下数据。

例如:S..D…..P

   S file Size differs

  M Mode differs (includes permissions and file type)

  5 digest (formerly MD5 sum) differs

  D Device major/minor number mismatch

  L readLink(2) path mismatch

  U User ownership differs

  G Group ownership differs

  T mTime differs

  P caPabilities differ

如果某项属性没有变化,则显示为:"."

    

rpm -K /path/to/package_file: 手动检查包的完整性

[root@xiaoluo home]# rpm -K zip-3.0-1.el6.x86_64.rpm

zip-3.0-1.el6.x86_64.rpm: rsa sha1 (md5) pgp md5

数据库目录 /var/lib/rpm

使用rpm –initdb:初始化

如果事先没有库,会新建一个,如果有,则不重建

rpm –rebuilddb:重建

如果重建,覆盖原有的数据库


原创文章,作者:傲剑,如若转载,请注明出处:http://www.178linux.com/3602

(0)
傲剑傲剑
上一篇 2015-04-27
下一篇 2015-04-27

相关推荐

  • 用户和组的管理

    在Linux系统上,用户管理是基于用户名和密码的方式进行资源的分配的,Linux上的用户分为以下的类别: 管理员 : root  ,UID为0 (这个用户有极大的权限,可以直接无视很多的限制,包括读写执行的权限。所以这个用户的使用要小心,因为他的权限太大。) 普通用户的UID:1-65535 普通用户又可分为: 系统用户(已经存…

    2017-04-08
  • vim编辑器

    vim编辑器三种模式转换 G跳到尾行 gg:跳到首行 H:跳到当前页的首行 L: 跳到当前页的尾行 M: 跳到当前而的中间行 dd: 删除光标所在的行 #dd:多行删除 yy:复制行 #yy: 复制多行  Y: 复制整行 cc:删除当前行并输入新内容 #cc:删除多行 C:删除当前光标到行尾,并切换成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05
  • 网络服务之Apache

      互联网这个历史已经不算很短了,它大大方便了人类获取信息,开阔了人类的眼界,使得让这个世界变得小了起来,人与人之间的距离感也不会存在了,娱乐也更加丰富,听音乐、看电影等等这一系列,都能从网上进行,这些功能,都是由www服务器来提供服务,在Linux中,提供网络的服务器有很多种,那么今天我们就讲一个比较老牌,且依然能存活的服务器“阿帕奇”…

    Linux干货 2017-01-13
  • Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O、管道|tee、tr -cs blog by fazionlan July.31st

    Linux下XFS、Ext2文件系统对比、文件管理、inode、文件名、标准I/O Ext2、Fat、XFS文件系统   文件系统是对一个存储设备上的数据和元数据进行组织的机制,文件系统的创建是在格式化分区的过程中完成的(一个分区就是一个系统),众所周知Windows操作系统使用的文件系统是FAT与NTFS;Linux不同的发行版本使用的文件系统主…

    Linux干货 2016-08-01
  • Linux 文 本 处 理 工 具

    Linux 文 本 处 理 工 具 一.学习大纲: ◎各种文本工具来查看、分析、统计文本文件 文件内容查看工具:cat, tac,rev,more,less 文件截取:head和tail 按列抽取:cut,paste 分析文本的工具:wc , sort , uniq,diff和patch 命令使用练习题 ◎文本过滤与处理工具: grep与正则表达式…

    Linux干货 2016-08-05
  • 文件、目录练习

    将/etc/issue文件的内容转换为大写保存到/tmp/issue.out文件中: 将当前系统登录用户信息转换为大写后保存至/tmp/who.out文件中: 将/root/下文件列表,显示成一行,文件名之间用空格隔开: file1文件的内容为“1 2 3 4 5 6 7 8 9 10”计算出所有数字的总和: 处理字符串“xt.,| 1 jr#!$mn 2 …

    Linux干货 2016-08-05