美文网首页
RPM包管理

RPM包管理

作者: 姜饼人_9e7b | 来源:发表于2017-07-10 15:29 被阅读0次
    • RPM包管理
    • 1、软件包安装
    • 2、软件包升级
    • 3、软件包卸载
    • 4、软件包查询
    • 5、软件包校验

    1、软件包安装

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

    [install-options]安装选项:
        [-v]:显示安装信息
        [-h]:以#显示程序包管理执行进度
        [--nosigna-h: ture ]:不检查来源合法性
        [--nodeps]:忽略依赖关系
        [--nodigest]:不检查包完整性
        [--noscripts]:不执行程序包脚本
        [--test]: 测试安装,但是不真正执行安装    
    
    • 例子
    [root@CentOS6 ~]#rpm -ivh /misc/cd/Packages/tree-1.5.3-3.el6.x86_64.rpm 
    Preparing...                ########################################### [100%]
        package tree-1.5.3-3.el6.x86_64 is already installed
    

    2、软件包升级

    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
    如果有安装了旧程序包,则升级
    如果没有安装旧程序包,则安装

    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
    如果安装了旧程序包,则升级
    如果没有安装旧程序包,则不做任何操作


    3、软件包卸载

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


    4、软件包查询

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

    • [select-options]指定要查询的对象:
        [-a,--all]所有安装了的软件包
        [-f,--file FILE]指定被查看对象为文件
        [-p,--package PACKAGE_FILE]指定查看对象为软件包
        [-g]查看组
        [--whatprovides CAPABILITY]查看某个能力(命令)来自于哪个软件包
        [--whatrequires CAPABILITY]查看某个命令被谁依赖
    
    • [query-options]查询什么内容:
        [-i,--info]:查看软件包信息
        [-l,--list]:查看软件包的文件列表
        [-c]:查看程序的配置文件
        [-d]:查看程序的文档
        [-l]:查看安装后生成的所有文件
        [--procides]:列出程序包提供的功能
        [-R]:查询指定程序的依赖
    
    • 常用命令:
      rpm -qa查询所有已安装的包
      rpm -qa tree查询已安装的tree包名称
      rpm -qi tree查询tree包的信息
      rpm -ql tree查询tree包的所有文件
      rpm -qf /usr/bin/ls查看/usr/bin/ls由哪个包生成
      rpm -q --whatprovides tree查看tree命令来自于哪个包
      rpm -q --whatrequires bash查看哪些包依赖于bash
      rpm -qpi /misc/cd/Packages/zip-3.0-11.el7.x86_64.rpm查看未安装的包的信息
      rpm -qpl /misc/cd/Packages/zip-3.0-11.el7.x86_64.rpm查看未安装包的会生成的所有文件
      rpm -qpR /misc/cd/Packages/autofs-5.0.7-56.el7.x86_64.rpm查看未安装包所依赖的

    5、软件包校验

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

    • 校验字段:
    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
    
    • 校验选项:
    verify-options
            [--nodeps] [--nofiles] [--noscripts]
            [--nodigest] [--nosignature]
            [--nolinkto] [--nofiledigest] [--nosize] [--nouser]
            [--nogroup] [--nomtime] [--nomode] [--nordev]
            [--nocaps]
    
    • 例子1:
    [root@CentOS7 Packages]#rpm --verify   tree
    [root@CentOS7 Packages]#rpm --verify   autofs
    S.5....T.  c /etc/auto.misc
    
    • tree:校验结果是正常,所以终端上不会有输出结果;

    • autofs:校验结果是S.5....T. c /etc/auto.misc,说明autofs被改动过。S表示文件大小,5表示MD5哈希值,T表示文件的mtime改变了,被改动的文件是/etc/auto.misc。

    • 例子2:

    [root@CentOS7 Packages]#rpm --verify  --nosize  autofs
    ..5....T.  c /etc/auto.misc
    
    • 选项[--nosize]表示不检查文件大小,所以这里没有S字段出现

    相关文章

      网友评论

          本文标题:RPM包管理

          本文链接:https://www.haomeiwen.com/subject/hezyhxtx.html