包管理之包查询,包校验,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
下一篇 2016-08-30

相关推荐

  • $@与$*的不同之处

    $@与$*的不同之处 $*: 把我们传递给脚本的参数全部合为一个字节,当成一个字符串或者参数来使用。 $@: 把我们传递给脚本的所有参数,每个参数都为独立字符串,当我们用 \((n) 来调用的时候, 输入参数的位置为第几个,那我们就用用\)n来调用第几个,一对应。 下面我们用代码来看一下这两个的区别: 创建一个简单的脚本让他输出我们输入的多个参数:&#822…

    2017-06-06
  • Linux磁盘管理(分区,格式化,文件系统、VFS、mount、fstab)

    Linux系统中数据存储在磁盘中,磁盘在冯诺依曼体系中属于输入输出外部存储对象,保存着重要的企业数据,对Linux系统中的磁盘管理尤其需要熟练掌握,由于企业目前使用的主流存储设备还是硬盘,所以这里只叙述硬盘的组织结构; 1.分区:    (1)低级格式化:       硬盘在出厂的时候厂家会做一次分区格式化,…

    Linux干货 2016-09-02
  • LVS管理平台使用手册(第一版)[原创]

     为了更好管理、维护LVS平台,本人基于Django+certmaster+func开发了一套管理平台,主要功能模块分为性能图表、数据中心、虚拟IP池、主机管理、监控模块等功能,基本上是按F5-LTM管理平台思路来设计,下面只要对这几大块功能进行说明。1、性能图表 功能说明:以小时、日、星期、月、年的图表展示LVS SERVER、VIP、SERVE…

    Linux干货 2015-03-28
  • ansible进阶(roles应用)

    ansible 进阶 一、roles简介 一个项目从开始到结束,不是简单几十个playbook就可以完事了,当文件数很多,有上百个的话,仅通过简单的includes不停的引用,那最终的结果错综复杂。这个时候ansible roles就可以很好的发挥它的作用了。 roles,字面意思是角色的含义,可以理解为有相互关联功能的集合。我们把安装ntp、mem、ngi…

    2017-01-05
  • shell脚本的if语句

                                  第一篇  shell脚本中的if语句 一、shell脚本的语句控制        □前面提到了过程式…

    Linux干货 2016-08-19
  • Linux的基本介绍

    1、Linux的发行版分为:Debin,Slackware,Rhel,Redora,CentOS,Gentoo等,其中Rhel(Red Hat Enterprise Linux)使用的是版本比较老的内核,但它的系统比较稳定,一个发行周期是36个月,Fedora使用最新的应用和华丽的节目,但系统比较不稳定,一个发行周期是6个月。 2、Linux的哲学思想是一切…

    Linux干货 2016-02-14