首页 > 代码库 > linux-RPM包使用小结

linux-RPM包使用小结

一) 什么是RPM?

    Redhat Package Manager的简称,就是包管理工具,它是linux中使用安装最简便的一种包管理工具。

rpm 执行安装包有两种:
二进制包(Binary):二进制包可以直接安装在计算机中

源代码包(Source):源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀

rpm包管理一般由以下几个内容组成:即,安装   查询    卸载   升级   校验  库重建等组成。

rpm包的名称一般由包名、版本、子版本以及所支持的架构名这基本分组成

我们先来看下man rpm

wKioL1PU0v-CdCfVAAH_4WpttxQ688.jpg


二)  RPM命令的使用总结:   

  1)  安装程序包:rpm  [选项]  文件路径

         常用选项              -i :  安装文件

                                    -v:: 查看附加信息

                                   -vv: 显示调试信息

                                    -h::安装时输出hash记号

                                --test:仅用作测试,并不实际安装。

            通常的情况下,-ivh 一起使用,这样能够比较清楚的显示安装的文件信息。

    有的情况需要重新安装,怎么安装呢?

                rpm   --replacepkgs    文件路径

                重新安装时,如果原有的配置文件被修改了,则很有可能不执行替换, 而是将应该安装生成的配置文件重命名为 .rpmnew

    2)查询操作:我以gcc包为例

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

wKiom1PUz4yAZmIxAACdfrYmAEA591.jpg这里我查询的是gcc包的安装情况

gcc 是包名,4.4.7是版本号,4.e16是小版本号,x86_64是架构


        查询某个包是否被安装:         rpm -q  包名

wKiom1PU0BrCGLw6AAA71b_u9_c556.jpg显示已经安装


        查询某个包的描述信息:         rpm -qi 包名

wKiom1PU0HHSptkCAAMvvPkTj3I159.jpg

        查询某个包生成了那些配置文件: rpm -qc 包名

        wKiom1PU0SHwjU8-AACKvuiTGCE944.jpg这里我查询的是yum包的配置文件

        查询某个包生成了那些帮助文件: rpm -qd 包名

wKioL1PU0ezxWdooAAGPvYWyunc571.jpg我只列出部分而已

        查询与莫个包相关的脚本:       rpm -q --scripts 包名

        查询某个文件是由哪个包生成的: rpm -qf 文件路径

wKiom1PU2o3D3VKOAABUfFIV_I8628.jpg

  3)卸载程序包

        rpm -e [选项] 包名   

           选项有:

                 --test 只执行删除的测试  
                                  --noscripts 不运行预安装和后安装脚本程序  
                                  --nodeps 不检查依赖性 

                                    没有加选项 --nodeps  意味着,连同与该包有依赖关系的包一同卸载

     4)升级程序包

                    

           rpm [选项] 包的路经

                    升级或安装    -Uvh

                    纯升级        -Fvh    

                -F 是强制升级的意思 -v -h 和前面的安装选项一样

  5)校验操作,校验的目的就是查询包安装生成的文件属性是否发生改变。

            rpm -V 包名

wKiom1PU0lSinQGMAAA4S7qtTOA834.jpg

    选项有:   

        S: 指示文件大小变更

        M: 指示文件权限、文件类型变更

        5: 指示MD5值变更

        D: 指示主/备设备号变更

        L: 指示连接变更

        U: 指示属主变更

        G: 指示属组变更

        T: 指示修改时间变更

    其中没有修改的部分用 . 表示

  6)包来源合法性与完整性的校验,对于系统安全性至关重要 

                   首先你要导入包制作者的公钥

                        rpm --import 公钥路径

                    校验包中的文件:

                        rpm -K 包文件路径

                    其中如果不检查包的完整性

                        rpm -K --nodigest

                    不检查包的来源合法性

                        rpm -K --nosignature

                        --nopgp 不校验PGP签名

    7)库重建:首先库重建的默认目录为 /var/lib/rpm

            库重建有两种情况:

                    1 如果原先没有库,则建立一个库,如果有,则不建立新的库,用命令:

                                                 rpm --initdb      

                    2不管原先有没有库,都建立一个,有则覆盖,没有则新建,使用命令:

                                                rpm --rebuilddb


                    


                     

本文出自 “linux小盆友” 博客,请务必保留此出处http://ny0716.blog.51cto.com/9154254/1530955