RPM包管理功能全解。【第三周】

CentOS系统上rpm命令管理程序包: 安装、升级、卸载、查询、校验、数据库维护

rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
    安装:-i, --install
    升级:-U, --update, -F, --freshen
    卸载:-e, --erase
    查询:-q, --query
    校验:-V, --verify
    数据库维护:-builddb, --initdb

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

        rpm -ivh PACKAGE_FILE...

        GENERAL OPTIONS:
            -v:verbose, 详细信息
            -vv:更详细的输出

        [install-options]:
            -h:hash marks输出进度条;每个#表示2%的进度;
            --test:测试安装,检查并报告依赖关系及冲突消息等;
            --nodeps:忽略依赖关系;不建议;
            --replacepkgs:重新安装

            注意:rpm可以自带脚本;
                四类: --noscripts
                    preinstall:安装过程开始之前运行的脚本,%pre,--nopre
                    postinstall:安装过程完成之后运行的脚本,%post,--nopost
                    preuninstall:卸载过程真正开始执行之前运行的脚本,%preun,--nopreun
                    postuninstall:卸载过程完成之后运行的脚本,%postun,--nopostun

                --nosignature:不检查包签名信息,不检查来源合法性
                --nodigest:不检查包完整性信息;


升级:
    rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
    rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
        -U:升级或安装;
        -F:升级;

        rpm:-Uvh PACKAGE_FILE...
        rpm:-Fvh PACKAGE_FILE...

            --oldpackage:降级;
            --force:强制升级;

        注意:
            (1)不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核即可;
            (2)如果某源程序包的配置文件安装后曾被修改过,升级时,新版本的程序包提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;

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

        --allmatches:卸载所有匹配指定名称的程序包的各版本;
        --nodeps:忽略依赖关系;
        --test:测试卸载

查询:
    rpm {-q|--query} [select-options] [query-options]

    [select-options]
        PACKAGE_NAME:查询指定的程序包是否已经安装,及其版本;
        -a,--all:查询所有已经安装过的包;
        -f FILE:查询指定的文件 由哪个程序包安装生成;

        -p, --package PACKAGE_FILE:用于实现对未安装的程序包执行查询操作;

        --whatprovides CAPABILITY:查询指定的CAPABILITY由哪个程序包提供;
        --whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖;

    [query-options]
        --changelog:查询rpm包的changlog;
        -l,--list:程序安装生成的所有文件列表;
        -i,--info:程序包相关的信息、版本号、大小、所属的包组,等
        -c,--configfiles:查询指定的程序包提供的配置文件;
        -d, --docfiles:查询指定的程序包提供的文档;
        --provides:列出指定的程序包提供的所有的CAPABILITY;
        --whatprovides:可以用来查询哪个包提供了指定内容
        --whatrequires:可以用来查看哪些包依赖于指定内容
        -R, --requires:查询指定的程序包的依赖关系;
        --scripts:查看程序包自带的脚本片断;

    用法:
        -qi PACKAGE, -qf FILE, -qc PACEAGE, -ql PACKAGE, -qd PACKAGE
        -qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE,...

校验:
    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

包来源合法性验证和完整性验证: 来源合法性验证: 完整性验证:

获取并导入信息的包制作者的密钥:
    对于CentOS发行版来说:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

验证:
    (1)安装此组织签名的程序时,会自动执行验证;
    (2)手动验证:rpm -k PACKAGE_FILE

数据库重建: rpm管理器数据库路径:/var/lib/rpm/ 查询操作:通过此处的数据库进行;

获取帮助:
    CentOS 6:man rpm
    CentOS 7:man rpmdb

    rpm{--initdb|--rebuilddb}
        --initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;
        --rebuilddb:

原创文章,作者:N24_xiaowen,如若转载,请注明出处:http://www.178linux.com/60782

(0)
N24_xiaowenN24_xiaowen
上一篇 2016-11-26 11:54
下一篇 2016-11-26 15:07

相关推荐

  • Shell脚本之流程控制语句

    Shell脚本之流程控制语句 1、 if语句 (1)if 条件;then        action1 else        action2 fi  注意:shell里没有缩进要求。 (2)if 条件1;then   …

    Linux干货 2017-04-16
  • 磁盘管理(二)之swap、dd工具使用

    磁盘管理(二)之swap、dd工具使用   一、挂载点和/etc/fstab   (1)配置文件/etc/fstab,当系统启动时,自动加载该文件,会把写在配置文件里面的所有挂载点全部自动挂载上去,只要按照格式写,就不会丢失。   (2)文件挂载配置文件,如下图:    &nbs…

    Linux干货 2016-08-29
  • Linux文件类型以及颜色标识

    1、Linux文件类型介绍   Linux系统不同于window系统,两者文件类型也有很大的差异。Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。我们通过一般应用程序而创建的比如file.txt、file.tar.gz,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普…

    Linux干货 2016-10-17
  • 天神之剑Vim编辑器

    一.概述和基本用法及一些描述 vi:Visual Interface 文本编辑器 文本ASCII , Unicode 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个vim编辑器的图形版本 基本用法  vim [OPTION]…

    Linux干货 2016-08-15
  • 网络班N22期第五周博客作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@bogon ~]# cat /etc/passwd | grep -E "^(root|fedora|user1)\>" | cut -d:&nb…

    Linux干货 2016-09-15
  • 压缩和解压缩

    今天我们所讲一些压缩以及解压缩的内容,可以方便我们去传输一些数据较大的文件,以及可以降低我们的内存使用率, 节省空间。我们常用的工具对单个文件进行压缩有4种,对于多个文件进行打包压缩有2种。 1、compress(单个文件压缩)     压缩后的文件后缀名都是.Z结尾     compress fi…

    2017-08-12

评论列表(1条)

  • luoweiro
    luoweiro 2016-11-30 22:34

    知识点总结的不错,第三周的作业好像没有完善。