1、总结rpm和yum实现程序包的管理功能.

程序包管理:

deb:debian

rpm:redhat

rpm用c语言重写之后才是现在用的,比较好,成为了业界标准

程序包组成部分:

        二进制程序:/bin /sbin /usr/bin /usr/sbin

        库文件:/lib64 /usr/lib64

        配置文件:/etc

        帮助文件:manual info

包管理器:

        打包:一个单一的归档文件:里面包含一堆文件

        安装:展开归档文件,把文件放到指定的地方

        卸载:找到安装的文件,然后删除他们

        升级:用新版的程序替换掉老版本的程序

        校验:来源合法性:得信任才能装。完整性:保证没被别人改过

rpm的打包工具是rpmbuild:它基于specs文件进行打包,它有个元数据存储着安装的信息

        分包机制:分为核心包和支包,用啥安啥

rpm包明明机制

        name-(major.minor.release)-release.arch.rpm

        包名-(主版本号.次版本号.修正版本号)-RPM包的Release-架构.rpm

                主版本号:最关键的功能升级才改变

                次版本号:小功能的改进

                修正版本号:修正bug

                RPM包的Release是rpm包的版本号el7时enterprises linux 7

rpm有自己的数据库:/var/lib/rpm

         每一个包的包名

         安装生成的文件

         校验码等

p_w_picpath

如何获取rpm包:

      1、发行公司提供的,光盘里的Packages

p_w_picpath

      2、fedora-EPEL

p_w_picpath

      3、某些程序的官网

      4、三方网站rpmfind.net      rpm.pbone.net      pkgs.org

p_w_picpath

p_w_picpath

p_w_picpath

如何使用

格式:   rpm –ivh 包

        -i是安装

        -v详细过程,-vv更详细,-vvv

        -h显示安装进度的显示

p_w_picpath

p_w_picpath 

                --nodeps:忽略以来关系

                --test:测试一次

                --replacepkgs:重装

        -Uvh:升级有旧版程序包,升级,没有就安

p_w_picpath

        -Fvh:升级有旧版程序包,升级,没有不安

p_w_picpath

        -e:卸载

p_w_picpath

        -q查询

                -qa查询本机所有安装包

                -qf查询文件是哪个包生成的

                -qc查询包生成哪些配置文件

                -qd查询包生成哪些文档

        -V校验

包校验:

        来源合法性:非对称加密,公钥私钥成对出现

        完整性验证单向加密

在/etc/pki/rpm-gpg/

p_w_picpath

导入密钥 rpm --import

p_w_picpath

校验 rpm –K 包

p_w_picpath

 

 

Yum

Yellowdog Update Modifier

去包仓库找我们查找我要找的命令,仓库可以有多个,每当我们找的时候,他会找一次这些仓库,找在库的元数据包里到最新的版本,然后下载到本地(包括元数据包),放到缓存里,如果都下载完,它就安装。每一个仓库都是独立管理的

阿里云,163,搜狐镜像都是仓库

mirrors.aliyun.com/centos

元数据文件在repodata文件夹里

yum程序的配置文件

/etc/yum.conf

      全局配置,对所有仓库都适用

/etc/yum.repos.d/*.repo

      一个文件里都是一个或一组类似功能

p_w_picpath

p_w_picpath

[REPO_ID]

name=

baseurl=可以有多个,

上下同理

#mirrorlst=SCHEME://HostName定义了镜像列表

enabled=1启用0关闭

gpgcheck=1检验0不检验

gpgkey=上面的密钥

cost=指明仓库的开销,数值越小开销越小,越被使用,默认1000

可用变量:

      $releasever:引用当前系统主版本号cenos7.1的7

      $basearch:当前系统的基本架构 i386啥的

 

p_w_picpath

注意结尾一定要以.repo结尾才可以

可以自定义repo文件

yum repolist可以查询你有哪些仓库


















p_w_picpath

说我有问题!


找不到原因

p_w_picpath

yum命令:

      install 安装

p_w_picpath

      remove卸载,以来的也卸载

p_w_picpath

      info查询包信息,无论安装与否

p_w_picpath

      search all显示所有包最好加上key

p_w_picpath

      list 包 列出已经安装的包 all显示所有

p_w_picpath

      provide查询提供指定内容的软件包

      reinstall重新安装

      downgrade降级

 

      clean降级:清理包,元数据啥的 all 清理所有

p_w_picpath

      makecache生成元数据缓存

p_w_picpath

 

      grouplist列出所有包组

      groupinfo “包”查询包组讯息

p_w_picpath

      groupinstall 安装组

      groupremove移除一个包组

     

      repolist all,enabled,disabled仓库

p_w_picpath

      repoinfo仓库信息

      p_w_picpath

yum help repoinfo可以查询repoinfo怎么用

 

使用本地光盘当本地仓库

使用file:/// 代替baseurl

创建本地仓库

自己yum installl createrepo

createrepo 指向你下那一堆rpm包的目录,后续就自动了

DNF是YUM的升级版

yum install dnf以后就可以用dnf了

 

 

最后:yum是自动挡,rpm是手动档,各有千秋!