rpm 安装和卸载 rpm 查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rpm 安装和卸载 rpm 查询相关的知识,希望对你有一定的参考价值。

        RPM是”Redhat Package Manager“的缩写。RPM 是一种数据库记录的方式来将我们需要的套件安装的linux主机的一套管理程序。也就是说,linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间的依赖相关性。RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷,但是缺点是安装的环境必须与编译时的环境一致或相当,包与包之间存在着依赖关系,卸载时需要先把以来的包卸载掉。如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

        我们可以查看一下系统安装光盘中的RPM包,把光驱挂载到/mnt目录下:

[[email protected] ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
[[email protected] ~]# ls /mnt/
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6
[[email protected] ~]# ls /mnt/Packages/|head
389-ds-base-1.2.11.15-60.el6.x86_64.rpm
389-ds-base-libs-1.2.11.15-60.el6.x86_64.rpm
abrt-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-ccpp-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-kerneloops-2.0.8-34.el6.centos.x86_64.rpm
abrt-addon-python-2.0.8-34.el6.centos.x86_64.rpm
abrt-cli-2.0.8-34.el6.centos.x86_64.rpm
abrt-desktop-2.0.8-34.el6.centos.x86_64.rpm
abrt-gui-2.0.8-34.el6.centos.x86_64.rpm
abrt-libs-2.0.8-34.el6.centos.x86_64.rpm



RPM安装和卸载

         

        安装一个rpm包

[[email protected] ~]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64.rpm                                   Preparing...                ########################################### [100%]
   1:libjpeg-turbo-devel    ########################################### [100%]

       命令 rpm -ivh filename

       -i:安装的意思

       -v:可视化

       -h:显示安装进度

       安装rpm包时常用的附带参数:

       --force:强制安装,即使覆盖属于其他包的文件也要安装。

       --nodeps:当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包。


        升级一个rpm包

        命令 rpm -Uvh filename

        -U:即升级的意思

 

        卸载一个rpm 包

        命令 rpm -e filename

        卸载时的filename和安装时是有区别的,安装时是把一个存在的文件作为参数,而卸载时只需要包名就可以了。


RPM查询

        查询一个rpm包是否安装

        命令 rpm -q rpm包名(这里的包名是不带有平台信息和后缀名的)

[[email protected] ~]# rpm -q libjpeg-turbo-devel
package libjpeg-turbo-devel is not installed
[[email protected] ~]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64.rpm
Preparing...                ########################################### [100%]
   1:libjpeg-turbo-devel    ########################################### [100%]
[[email protected] ~]# rpm -q libjpeg-turbo-devel
libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64

         可以使用 rpm -qa 查询当前系统所有安装过的 rpm 包

[[email protected] ~]# rpm -qa |head
im-chooser-1.3.1-3.el6.x86_64
setup-2.8.14-20.el6_4.1.noarch
ibus-1.3.4-8.el6.x86_64
xml-common-0.6.3-33.el6.noarch
fontpackages-filesystem-1.41-1.1.el6.noarch
iso-codes-3.16-2.el6.noarch
kbd-misc-1.15-11.el6.noarch
dmz-cursor-themes-0.4-4.el6.noarch
policycoreutils-2.0.83-24.el6.x86_64
ncurses-base-5.7-4.20090207.el6.x86_64

         得到一个已安装 rpm 包的相关信息

         命令 rpm -qi 包名(同样不需要加平台信息与后缀名)

[[email protected] ~]# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel          Relocations: (not relocatable)
Version     : 1.2.1                             Vendor: CentOS
Release     : 3.el6_5                       Build Date: 2013年12月10日 星期二 07时37分03秒
Install Date: 2016年05月15日 星期日 00时08分36秒      Build Host: c6b10.bsys.dev.centos.org
Group       : Development/Libraries         Source RPM: libjpeg-turbo-1.2.1-3.el6_5.src.rpm
Size        : 321085                           License: wxWidgets
Signature   : RSA/SHA1, 2013年12月10日 星期二 09时01分18秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://sourceforge.net/projects/libjpeg-turbo
Summary     : Headers for the libjpeg-turbo library
Description :
This package contains header files necessary for developing programs which
will manipulate JPEG files using the libjpeg-turbo library.

        

          列出一个rpm包安装的文件

          命令 rpm -ql 包名

[[email protected] ~]# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib64/libjpeg.so
/usr/share/doc/libjpeg-turbo-devel-1.2.1
/usr/share/doc/libjpeg-turbo-devel-1.2.1/coderules.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/example.c
/usr/share/doc/libjpeg-turbo-devel-1.2.1/jconfig.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/libjpeg.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/structure.txt

           通过上面的命令可以看出安装”libjpeg-turbo-devel“这个rpm包得到这些文件。也可以通过已知文件查找rpm包。

           列出某一个文件属于哪个rpm包

           命令 rpm -qf  文件的绝对路径

[[email protected] ~]# rpm -qf /usr/lib64/libjpeg.so
libjpeg-turbo-devel-1.2.1-3.el6_5.x86_64

本文出自 “散宜生的学习笔记” 博客,请务必保留此出处http://sanyisheng.blog.51cto.com/11154168/1795716

以上是关于rpm 安装和卸载 rpm 查询的主要内容,如果未能解决你的问题,请参考以下文章

Linux软件包安装和卸载

linux rpm包 安装 升级 卸载 查询

如何使用rpm 命令来卸载Mysql软件

Linux rpm -e卸载命令e是哪个单词

rpm命令

linux 软件安装