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

rpm命令:

   包:组成部分

      主包:

         bind-version

         bind-9.7.1-1.e15.i586.rpm

      子包:

         bind-libs-9.7.1-1.e15.i586.rpm

         bind-utils-9.7.1-1.e15.i586.rpm

    包名格式

      主版本号

      次版本号

      发行号:

    bind-9.7.1.tar.gz

    bind-9.7.1-1.i686.rpm(32)

 rpm包:二进制格式

   rpm包作者下载源程序,编译配置完成后,制作成rpm

      bind-9.7.1-1.noarch.rpm

      bind-9.7.1-1.ppc.rpm

rpm命令:

        安装格式

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

     rpm

         强大的数据库 : /var/lib/rpm

     rpmbulid:创建软件包  

1.安装

    rpm -i|--install

        rpm -i /PATH/TO/PACKAGE_FILE

 

     -h:#号显示进度,每个#表示2%;

     -v:显示详细信息

     -vv:显示更详细的信息

          rpm  -ivh  /PATH/TO/PACKAGE_FILE

     --nodeps:忽略依赖关系

     --replacepkgs:重新安装,替换原有安装

     --force:强行安装,可以实现重装和降级

     --test:测试

 

 

2.查询

     rpm  -q   软件包名字:查询指定包是否已安装

             例:  rpm -q zsh-4.2.6-6.el5.i386.rpm

 

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

             例:rpm  -qa  |grep "^z"

 

     rpm  -qi PACKAGE_NAME:查询指定软件包的指定信息

             例:rpm -qi zsh-4.2.6-6.el5.i386.rpm

     rpm  -ql  PACKAGE_NAME:查询指定包安装后生成的文件列表

             例:rpm -ql zsh-4.2.6-6.el5.i386.rpm

     rpm  -qc  PACKAGE_NAME:查询指定安装的配置文件

             例:rpm -qc  zsh-4.2.6-6.el5.i386.rpm

     rpm  -qd  PACKSGE_NAME:查询指定包安装的帮助文件

             例:rpm -qd  zsh-4.2.6-6.el5.i386.rpm 

     rpm -q --scripts PACKAGE_NAME: 查询指定包中包含的脚本

             例:rpm -ql  --scripts  zsh-4.2.6-6.el5.i386.rpm

     rpm  -qf  /path/to/somefile:查询指定的文件是由哪个rpm包安装生成的

 

*注:  如果某rpm包尚未安装,我们需查询其说明信息、安装以后会生成的文件;

       rpm -qpi /PATH/TO/PACKAGE_FILE  未安装是查看说明信息

             i:软件包的信息

       rpm -qpl /PATH/TO/PACKAGE_FILE  安装以后会生成的文件

3.升级

     rpm  -Uvh  /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,则安装;

     rpm  -Fvh  /PATH/TO/NEW_PACKAGE_FILE:如果装有老版本的,则升级;否则,退出;

4.降级

     rpm  -ivh  --oldpackage:降级

       例:rpm -ivh  --oldpackage  zsh-4.2.6-6.el5.i386.rpm

5.卸载

     rpm   -e  PACKAGE_NAME

           --nodeps:强行卸载

       例:rpm  -e  zsh-4.2.6-6.el5.i386.rpm

 

6.校验

     rpm  -V PACKAGE_NAME :检查文件是否被非法更改

       例:rpm -V  zsh-4.2.6-6.el5.i386.rpm

 

7.重建数据库

     ls  /var/lib/rpm/:查看

 

     --rebuliddb:重建数据库。一定会重新建立