RPM包管理

  • 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包管理)