程序包管理初步

升级:

      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 21:25
下一篇 2016-12-31 22:07

相关推荐

  • 文件查找命令(find、locate)

    在文件系统上查找符合条件的文件: 实现工具:locate, find locate: 依赖于事先构建好的索引库; 系统自动实现(周期性任务); 手动更新数据库(updatedb); 工作特性: 查找速度快; 模糊查找; 非实时查找; locate [OPTION]… PATTERN… -b:只匹配路径中的基名; -c:统计出共有多少个符合条件的文件;…

    Linux干货 2016-11-06
  • N26-博客作业-week9

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin_num=0,login_num=0 for i in $(cut -d: -f7 /etc/passwd); do if …

    Linux干货 2017-04-01
  • Shell脚本中循环浅析

    在shell脚本中,循环是很重要的一环。循环可以不断的执行某个程序段落,直到用户设置的条件达成为止。在shell中,除了这种依据判断时达成与否的不定循环之外,还有另外一种已经固定要跑多少次的循环,可称之为固定循环。下面,我们主要对for,while,until三种循环做一下介绍。   一、for循环 For循环是给定变量列表的固定次数循环,其执行机…

    Linux干货 2016-08-21
  • RAID

    RAID:       Redunant ARRAYS OF Inexpensive Disks       廉价磁盘阵列 Independent        Berkeley: A case for Redundent Arrays of Inexpens…

    Linux干货 2016-12-23
  • 三剑客之Sed

    sed:stream editor(流编辑器) 工作特性:并不直接处理文本文件本身,处理机制为每当处理一个文件的时候,它会逐行读取,每次把一行读取到内存空间中去,而后在模式空间(pattern space)中完成编辑.并把编辑好的结果输出到屏幕上  功      能:数据替换、删除、增加、等,数据为关键字或者一整行, …

    Linux干货 2016-08-08
  • Linux网络管理&脚本编程之执行流程、循环

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥(Bridge):是早期的两端口二层网络设备,用来连接不同网段。网桥的两个端口分别有一条独立的交换信道,不是共享一条背板总线,可隔离冲突域。网桥比集线器(Hub)性能更好,集线器上各端口都是共享同一条背板总线的。后来,网桥被具有更多端口、同时也可隔离冲突域的交换机(Switc…

    Linux干货 2016-11-14

评论列表(1条)

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

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