程序包管理初步

升级:

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

               -U:升级或安装;

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

          -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 …

      –nodeps :忽略依赖关系

      –test: z测试卸载,dry run模式

查询:

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

     [select-options]

     PACKAGE_NAME :  查询指定的程序报是否已经安装,及其版本;

     -a, –all: 查询已安装过的所有包;

     -f, FILE: 查询指定的文件有那个安装包生成;

     -g,–group GROUP 

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

     –whatprovides CAPABILITY: 查询指定的CAPABILITY由那个程序包提供;  

     –whatrerequires CAPABILITY:查询指定的CAPABILITY被那个包所依赖;

    [qery-options]

     –changelog:查询rpm包的changlog

    -l, list:程序安装生成的所有列表;

    -i ,–info: 程序包的相关信息,版本号,大小,所属的包租,等;

    -c, –configfiles: 查询指定的程序包提供的配置文件;

    -d,–docfiles:查询指定的程序包提供的文档;

    –provides: 列出指定的程序包的所有的CAPABILITY;

    -R,–requires:查看程序报自带的脚本片断;

用法:

    -qi PACKAGE, -qf FILE, -qc PACKAGE, -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 (formerfy MD5)differs 模式不同(包含文件和权限)

    5  digest(formerly MD5 sum)differs

    D  Device major/minor number mismatch 设备主要/次要号码不匹配

    L readLink(2)path mismatch 符号链接路径不同

    U User ownership diffes 用户所有者不同

    G Group ownership differs 群组所有者不同

    T mTime differs  修改时间不同

    P caPabilites differ  功能不同

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

     来源合法性验证:

     完整性验证;

     获取定导入信任的包制作者的密钥:

对于Centos7 发行版来说:rpm –import /etc/pki/rpm-gpg/RPM-KEY-Centos-7

    验证:(1)安装此组织签名的程序是,会自动执行验证;

          (2)手动验证:rpm -k PACKAGE-FILE

数据库重建:

    rpm管理数据库路径:/var/lib/rpm/

    查询操作:通过此处数据库进行;

    获取帮助:Centos6: man rpm

Centos7: man rpmdb

    rpm {–initdb|–rebuilddb} [–dbpth DIRECTORY] [–root DIRECTORY]

   –initdb:初始化数据库,当天无任何数据库可实现初始化创建一个新的;当前有时候不执行任何操作 

   –rebuilddb:重建构建,通过读取当前系统上所有已经安装的程序包进行重新创建;

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

(0)
shadowshadow
上一篇 2016-12-31
下一篇 2016-12-31

相关推荐

  • 优云automation实践技巧:简单4步完成自动化构建发布

    前言:本文介绍了优云是如何将运维自动化产品应用到日常工作实践中,并通过内部用户的大量使用来不断改进产品的用户体验。 各位看官,这不是一个揭发单身有为青年因同事们天天秀恩爱而受到一万点暴击伤害的故事。这里指的狗粮,不是真正的“狗粮”——当然,也不是你们认为的狗粮。 事实上,现在很多涉足产品开发的互联网公司,都会提到“吃狗粮”这一概念(出自“Eating you…

    系统运维 2017-01-09
  • rsync+inotify实现数据实时同步备份

    定时备份和实时备份        说到备份,无疑于定时备份和实时同步备份。定时备份可以通过脚本或者Crontab来实现,而实时同步备份可以通过某些接口监控文件的各种变化情况来实现的(比如内核接口inotify);通过对比可以发现对数据信息要求高的环境使用实时同步备份可以更好更有利的保护数据的安全性。 软件介绍之rsyn…

    Linux干货 2015-02-28
  • linux计划任务

    任务计划的分类: 一次性的任务计划:只执行一次 周期性的任务计划:每隔一定的周期去做相同的事情 设置任务计划功能的工具:at和crontab at:专门处理一次性的计划任务 crontab:根据定义的周期信息,循环做一些事情 batch:系统自行选择空闲时间去执行此处指定的任务 At命令: 查看atd状态和启动atd服务及其配置文件路径: centos6:s…

    2017-09-09
  • N25-第六周作业

    第6周作业 — 请详细总结vim编辑器的使用并完成以下练习题 vim是模式化的全屏文本编辑器。vim分为三种模式:分别是编辑模式;输入模式;末行模式; 打开文件的方式有:vim +# FILE打开文件FILE并把光标定位到#行的行首;vim +/PATTERN FILE打开文件并让光标处于第一个被PATTERN匹配到的行的行首。(支持正则表达式)…

    Linux干货 2017-02-22
  • linux 路由配置及其网络组配置实例

    linux 路由配置及其网络组配置实例   §·路由配置 网络简单拓扑图如下:   ※·实例要求:主机A可以ping同主机B即可。 ※·实验步骤及其要点: 1.主机A设置IP地址与默认网关; 2.配置路由器1两接口的IP地址,并开启主机的路由功能,添加172.14.16.0路由条目; 3.配置路由器1两接口的IP地址,并开启主机的路由功能…

    Linux干货 2016-09-06
  • 文本处理三剑客之Gawk ✧

        AWK可以说是一种语言,他有着自己的语法,可以实现函数定义,变量赋值,条件选择(循环,判断,选择)…总之是值得深入研究一下的。     AWK的起源:是个报告生成器,可以格式化文本输出内容,它的命名是由Aho,Weinberger,Kernighan三位作者首…

    Linux干货 2016-09-21

评论列表(1条)

  • 马哥教育
    马哥教育 2017-04-13 09:32

    包管理更多的使用yum来解决~后面可以再总结一下yum相关的~