Linux学习笔记――程序包管理之rpm命令

RPM

  rpm是Linux上一个很好用的程序包管理管理器,它具有安装、卸载、升级、查询、校验、数据库维护等功能。

  下面分别介绍一下rpm的各个功能:

  安装:

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

    -v:详细显示安装过程

    -vv:相对-v更加详细

    -h: 以#显示程序包管理执行进度;每个#表示2%的进度

     wKiom1Xqy-WiMB29AADhEV_wDkY346.jpg

    安装过程如图

       另外还有一些其他选项

        

        [install-options]

--test: 测试安装,但不真正执行安装过程;dry run模式;

--nodeps:忽略依赖关系;

--replacepkgs: 重新安装;

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

--nodigest:不检查包完整性;

--noscipts:不执行程序包脚本片断;

%pre: 安装前脚本; --nopre

%post: 安装后脚本; --nopost

%preun: 卸载前脚本; --nopreun

%postun: 卸载后脚本; --nopostun

  升级:    

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

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

    其中使用-U选项时,安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”;

    使用-F选项时,安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作;

    --oldpackage:此选项为降级操作;

    --force:如果添加此选项为强制升级

  查询:

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

    [select-options]查询选择的相关选项

-a: 查看所有包

-f: 查看指定的文件由哪个程序包安装生成

        -p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包文件做查询操作;

--whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供;

--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

    [query-options]

--changelog:查询rpm包的changlog

-c: 查询程序的配置文件

-d: 查询程序的文档

-i: information

-l: 查看指定的程序包安装后生成的所有文件;

--scripts:程序包自带的脚本片断

-R: 查询指定的程序包所依赖的CAPABILITY;

--provides: 列出指定程序包所提供的CAPABILITY;

        查询指定程序的详细信息

      wKiom1Xqz5bA5IbNAALuECZmrnk923.jpg 

        查询指定文件由哪一程序包安装生成

      wKioL1Xq0iShLG4CAAA7_5vNsGY477.jpg

        查询指定程序包安装生成的所有文件        

      wKiom1Xq0HXgv38uAADR5pYVpFU089.jpg

        查询程序的文档

     wKioL1Xq0yWS357cAAEhLLTYHgs300.jpg

  卸载:    

    rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...

      wKiom1Xq0YWiPWcbAAA5I_lYKdI474.jpg

  校验:

    rpm {-V|--verify} [select-options] [verify-options]

     wKiom1Xq0umjDBWgAAB_9JgFnSs938.jpg

     修改一文件后,校验结果如图

    各字段的意义为

        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

    检查包的合法性可先导入所需公钥,然后进行包的合法性检查

     wKioL1Xq1vriL5E_AACMucc-V4Y823.jpg

  数据库重建:

    rpm {--initdb|--rebuilddb}

initdb: 初始化

如果事先不存在数据库,则新建之;否则,不执行任何操作;

rebuilddb:重建

无论当前存在与否,直接重新创建数据库;


你可能感兴趣的:(linux,rpm,程序吧管理)