Linux 下 rpm程序包命令介绍及使用方法

rpm程序包及其管理

 

一、RPM 介绍:

 

RPM是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

 

RPM命名规范

例如:zip-3.0-1.el6.x86_64.rpm

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

 

二、RPM软件包管理方法介绍:

安装:

rpm {-i|--install} [install-options] PACKAGE_FILE1...

 

rpm -i zip-3.0-1.el6.x86_64.rpm     安装软件包;

 

-i 或者 --install :  安装软件包

-h 或 --hash :  以# 来表示安装进度;

 

-v 或 --verbose: 显示安装过程中的详细信息;

-vv:更详细的安装信息;

-vvv: 更更详细的安装信息;

 

安装时最常用的组合:-ivh  安装时候显示详细信息,并显示安装进度;

 

技术分享

 

卸载: 移除已经安装的程序包;

 

简单的使用格式:rpm -e PACKAGE_NAME...

 

    技术分享

 

 

 

--test:不执行真正的安装过程,而仅报告依赖关系及冲突信息等;

 

测试安装,并不是真正的安装;

 

技术分享

 

 

--nodeps: 忽略依赖关系;

 

 

--allmatches:如果一个程序包同时安装多个版本,则此选项一次全部卸载;

 

 

 

 

程序包之间存在依赖关系;

忽略依赖关系;副作用,能安装成功,但未必能成功运行:

 

--nodeps:

 

技术分享

 

 

覆盖安装: --replacepkgs

 

技术分享

 

 

强制安装:--force

Same as using --replacepkgs, --replacefiles, and --oldpackage.

 

--oldpackage  降级到旧版本;

--relocate  重新定义安装位置

--replacefiles  允许覆盖原有的文件

 

 

升级软件包:

 

-U 或 --upgrade :升级或安装,如果有原来的安装文件,就升级;如果原来没有安装文件,就进行安装;

 

格式:rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...

 

技术分享

 

-F 或 --freshen :只能升级用.如果不存在安装包,就不升级,也不安装;

 

格式:rpm {-F|--freshen} [install-options] PACKAGE_FILE ...

 

 

组合使用的方法:

-Uvh  , -Fvh

 

rpm -Uvh --oldpackage zsh-4.3.10-7.e16.x86.x86_64.rpm

 

 

注意:如果程序包的配置文件安装后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而是把新版本的配置文件重命名(加后缀.rpmnew) 后保存;

 

 

 

 

 

查询:

rpm {-q|--query} [select-options] [query-options]

 

 

查询包是否已经安装: rpm -q  PACKAGE_NAME...

 

技术分享

 

 

查询已经安装的所有包:rpm  -qa

 

技术分享

 

 

查询某个文件是由那个安装生成的; 

 

rpm -qf 文件名的路径

 

技术分享

 

 

查询尚未安装的软件包文件的相关信息:

 

rpm -qpi  PACKAGE_FILE   查看软件包的帮助信息;

 

技术分享 

 

 

rpm -qpl  PACKAGE_FILE  查看软件包生成的那些文件包;

 

技术分享

 

 

rpm -qpc  PACKAGE_FILE查看软件包生成的配置文件;

 

技术分享

 

 

查询软件包的简要说明:

 

rpm -qi  PACKAGE_NAME

 

技术分享

 

 

 

 查询软件包安装生成的文件列表:

 

rpm -ql  PACKAGE_NAME   查询只要指定包的名子就可以了,

 

技术分享

 

 

查询软件包安装安装完成后生成的所有配置文件:

 

rpm -qc  PACKAGE_NAME

 

技术分享

 

 

查询软件包安装完成后生成的所有帮助文件:

 

rpm -qd  PACKAGE_NAME专门查找帮助信息用的;

 

技术分享

 

 

查看软件包制作随版本变化的changelog信息:

 

rpm -q --changelog  PACKAGE_NAME

 

技术分享

 

 

查询软件包提供的功能;

rpm -q --provides PACKAGE_NAME

 

 

查询软件包安装或卸载执行的脚本;

rpm -q --scripts  PACKAGE_NAME

 

 

 

 

RPM软件验证命令

校验:

查询包安装之后生成的文件是否发生了改变;

 

常见用法: rpm -V PACKAGE_NAME

    技术分享

     如果没有出现任何错误,就表示该软件是完整的,没有被修改。

    

 

验证其光盘中程包序的来源及完整性;

rpm --import /path/to/RPM-GPG-KEY-FILE


例如:# rpm --import RPM-GOG-KEY-CentOS6

 

验证: rpm {-K|--checksig} PACKAGE_FILE

--nosignature:不检查来源合法性

--nodigest:不检查完整性

 

 

rpm管理器数据库:/var/lib/rpm


    重建数据库:

    rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY]

    

    --initdb:初始化数据库,即数据库完全不存在,即新建之;

    

    --rebuilddb:无论当前数据库存在与否,都会直接重建此库;

    




注:这是本人的学习笔记,如有不足请大家多多包涵.

  

 


本文出自 “我爱linux” 博客,请务必保留此出处http://sailove.blog.51cto.com/3215562/1631002

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。