• [转]centos6.6 rpm安装与管理


    centos6.6 rpm安装与管理

    原文地址:http://www.centoscn.com/CentOS/2015/0414/5182.html
     

    rpm包管理:安装、升级、卸载、查询、检验

    安装:

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

            -h: hash,以#来表示安装进度;

    -v, --verbose:显示安装过程中的详细信息;

    安装时常用的组合: -ivh

            --test:不执行真正的安装过程,而仅报告依赖关系及冲突信息等;

    程序包之间存在依赖关系:

    我们要安装程序包A,程序包A必需依赖程序包B,才能运行。这就是依赖关系。

            依赖可能是多层次的,A 依赖 B ,B 依赖 D, D 依赖 H 。我们在安装的时候就必需先从H依次往上安装,才能顺利安装成功

    依赖关系是可以忽略:

    忽略能安装成功,但未必能成功运行;

    --nodeps

    覆盖安装:重新安装并覆盖原有的文件

    --replacepkgs

    强制安装:

    --force

    升级:

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

    -U: 升级或安装

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

    -F:升级

            组合:-Uvh, -Fvh

    --test

    --nodeps

    --force

    --oldpackage:降级到旧版本;

        升级与安装雷同

    注意:如果程序包的配置文件安装后曾被修改,升级时,新版本的文件不会覆盖老版本的配置文件,而把新版本的配置文件重命名(加后缀.rpmnew)后保存;

    卸载:

        移除已经安装的程序包

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

        简单用法:rpm -e PACKAGE_NAME...

        --nodeps:忽略依赖关系;

        --test: 测试卸载;dry-run模式;

        --allmatches: 如果一个程序包同时安装多个版本,则此选项一次全部卸载之;

    多操作几次,就会熟练的,加油额。

    注意:如果程序包的配置文件安装后曾被修改,卸载时,此文件通常不会被删除,而是被重命名(加后缀.rpmsave)后留存;

    查询:

        查询某包是否已经安装,以及检查安装的所有包;还可以查看某包的详细信息;

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

            [select-options]:

    1、查询某包或某些包是否安装:

    rpm -q PACKAGE_NAME...

    2、查询已经安装的所有包:

    rpm -qa

    3、查询某文件是由哪个包安装生成:

    rpm -qf /PATH/TO/SOMEFILE

    4、查询尚未安装的包文件的相关信息

    -p

    # rpm -qpi PACKAGE_FILE

            [query-options]:

    1、查询某包的简要说明信息:

    rpm -qi PACKAGE_NAME

    2、查询某包安装生成的文件列表:

    rpm -ql PACKAGE_NAME

    3、查询某包安装完成后生成的所有配置文件:

    rpm -qc PACKAGE_NAME

    4、查询某包安装完成后生成的所有帮助文件:

    rpm -qd PACKAGE_NAME

    5、查看某包制作时随版本变化的changelog信息:

    rpm -q --changelog PACKAGE_NAME

    6、查询某包提供的capabilities:

    rpm -q --provides PACKAGE_NAME

    7、查询某包所依赖的capabilities:

    rpm -q --requires PACKAGE_NAME

    8、查询某包安装或卸载时执行脚本:

    rpm -q --scripts PACKAGE_NAME

    校验:

    查询包安装之后生成的文件是否发生了改变

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

    常见用法:rpm -V PACKAGE_NAME

    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

    程序包的合法性验正:

    来源合法:

    由我们信任的制作者提供

    依赖于:制作者的数字签名;签名是作者使用自己的私钥加密程序包的特性码进行的;

    内容合法:

    包未被二次修改;完整性校验成功

    依赖于:制作者提供的程序特征码;

    验正方式:安装者用同样的特征码提取算法提取程序包的特征码,并与原作者提供的相比较;

    验正其光盘中程序包的来源及完整性:

    rpm --import /path/to/RPM-GPG-KEY-FILE

    例如:# rpm --import RPM-GPG-KEY-CentOS-6

    验正:rpm {-K|--checksig} PACKAGE_FILE

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

    --nodigest: 不检查完整性

    rpm管理器数据库:/var/lib/rpm

    重建数据库:

     rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY]

     --initdb: 初始化数据库,即数据库完全不存时,可新建之;

     --rebuilddb: 无论当前数据存在与否,都会直接重建此库;

        大菜鸟Linux

  • 相关阅读:
    C# 如何telnet IP的某端口/ping 是否通
    centos7.9设置系统时间,并同步到硬件
    基于阿里云 DNS API 实现的 DDNS 工具
    GridControl 通用类2
    使用JSON.stringify时需注意的坑
    java中BigDecimal和0比较
    c# WindowsCommunityToolkit--- Shade Animation
    WPF 取消在触屏上点击按下不松开会出现矩形背景的效果
    c# 反射私有类和私有方法
    c# 汉字转拼音
  • 原文地址:https://www.cnblogs.com/Crysaty/p/6247937.html
Copyright © 2020-2023  润新知