包管理之包查询,包校验,rpm数据库.yum的详细用法及说明

一.概述

包查询

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

[select-options]

-a: 所有包

-f: 查看指定的文件由哪个程序包安装生成

-p rpmfile:针对尚未安装的程序包文件做查询操作;

–whatprovides CAPABILITY:查询指定的CAPABILITY由哪个包所提供

–whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖

rpm2cpio 包文件|cpio–itv预览包内文件

rpm2cpio 包文件|cpio–id “*.conf”释放包内文件

[query-options]

–changelog:查询rpm包的changelog

blob.png

-c: 查询程序的配置文件

blob.png

-d: 查询程序的文档

blob.png

-i: information

blob.png

-l: 查看指定的程序包安装后生成的所有文件;

blob.png

–scripts:程序包自带的脚本片断

blob.png

-R: 查询指定的程序包所依赖的CAPABILITY;

blob.png

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

blob.png

查询用法:

-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql PACKAGE, -qd PACKAGE

-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, …

-qa

卸载

rpm {-e|–erase} [–allmatches] [–nodeps]不考虑依赖性

[–noscripts] [–notriggers] [–test] PACKAGE_NAME …

blob.png

包校验

blob.png

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 mTimediffers

P capabilities differ

blob.png

例:

blob.png

修改一个包里面的文件

blob.png

blob.png将修改过的内容改正回来

blob.png

包来源合法性验正及完整性验正:

完整性验正:SHA256

来源合法性验正:RSA

公钥加密:

对称加密:加密、解密使用同一密钥;

非对称加密:密钥是成对儿的

public key: 公钥,公开所有人

secret key: 私钥, 不能公开

导入所需要公钥:

rpm -K|checksigrpmfile检查包的完整性和签名

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7

卸载 rpm -qa gpg-pubkey*

blob.png

rpm数据库

数据库重建:

/var/lib/rpm

rpm {–initdb|–rebuilddb}

initdb: 初始化

如果事先不存在数据库,则新建之

否则,不执行任何操作

rebuilddb:重建

无论当前存在与否,直接重新创建数据库

yum 解决包依赖性的工具

CentOS: yum, dnf

YUM: YellowdogUpdate Modifier,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包,up2date的替代工具

yum repository: yum repo,存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下)

文件服务器:

ftp://

http://

file:///

yum客户端:

     配置文件:

        /etc/yum.conf

        /etc/yum.conf.d/*.repo

    仓库指向的定义:

    [repositoryID]

    name= some name for tiis repository

    baseurl=url://path.to/repository/

    ecabled={1|0}       

    gpgcheck={1|0}

    repo_gpgcheck={1|0}

    gpgkey=URL

    enablegroup={1|0}

    failovermethod={roundrobin|priority}

        默认:roundrobin ,意为随机挑选

    cost=

    默认为1000

    

显示仓库列表

    repolist [all|enabled|disabled]

显示程序包

    list

     # yum list [all|glob_exp1 [glob_exp2] […]

     # yum list {available|installed|updates}[glob_exp1][…]

安装程序包:

    install package1 [package2][…]

升级程序包 

    update [package1][[package2][…]

检查可用升级

    check-update

卸载程序包

    remove | erase package1 [package2][…]

查看程序提供特性:

    provides | whatprovides feature1 [feature2] […]

清理本地缓存:

    clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]

构建缓存:

    makecache [fast]

搜索:

    search string1 [string2] […]

    以指定的关键字搜索程序包及summary信息

重新安装:

    resolvedep dep1 [dep2] […]

           (maintained for legacy reasons only – use     repoquery or yum provides)

查看指定包所依赖的capabilities

    deplist

查看yum事务历史

    

history [info|list|packages-list|packages-info|

summary|addon-info|redo|undo|

rollback|new|sync|stats]

yum history

yum history info 6

yum history undo 6

日志:

/var/log/yum.log

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

(0)
KartikKartik
上一篇 2016-08-30 16:09
下一篇 2016-08-30 17:44

相关推荐

  • vim编辑器

    回顾:     正则表达式(BRE, ERE)     BRE:字符匹配:., [], [^]     次数匹配:*,\?,\+,\{m\},\{m,n}     位置锚定:^,$,\<,\>     分组及引用:(),\1,\2,…&…

    Linux干货 2016-12-23
  • 马哥教育网络21期+第十一周练习博客(下)

    马哥教育网络21期+第十一周练习博客(下) 3、描述DNS查询过程以及DNS服务器类别。 DNS:Domain Name Service 通俗的称为地址解析,使用TCP和UDP的53端口,是属于应用层的协议; DNS查询有2种方式:     递归查询:至发送一次请求,就能找到最终的结果的查…

    Linux干货 2016-09-26
  • Linux基础之加密通讯过程详解

    加密通讯过程详解 第一阶段 客户端->服务器端 向服务器声明自己的加密通讯协议版本,ssl或者tls 支持的加密算法 支持的压缩算法 第二阶段 服务器端->客户端 向客户端确认使用的加密通讯协议版本 确认的加密方法 确认压缩方法 服务器端证书 第三阶段 客户端->服务器端 客户端验证服务器端证书 发证机构 证书完整性 证书持有者 证书有效期…

    2017-09-16
  • 8-12 文件查找

    8-12 文件查找   8–1该节主要分为三部分,分别是作业,自己对德·摩根定律的了解及find常用选项   一、作业 1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是pos…

    Linux干货 2016-08-15
  • 运维学习笔记-Puppet之Hiera初探

    为什么使用Hiera? Puppet中的manifest同时包含静态的代码(判断/循环逻辑,依赖关系,类定义,资源类型定义等等)和动态的数据(类声明时的参数值和资源声明时的属性值)。说代码是静态的是因为如果在设计阶段考虑比较全面,代码写成之后是很少变化的。但是数据要根据具体情况赋予不同的值。如果manifest设计的不是很灵活,比如某些数据被固化(hardc…

    Linux干货 2016-07-07
  • N25-第5周博客作业

    N25-第5周博客作业 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep -E "^[[:space:]]+[[:alnum:]]+" /boot/grub/grub.conf    grep "^[[:space:]]…

    Linux干货 2016-12-31