29、YUM/DNF安装程序包原理及配置

您所在的位置:网站首页 dnf安装程序 29、YUM/DNF安装程序包原理及配置

29、YUM/DNF安装程序包原理及配置

2023-07-05 15:04| 来源: 网络整理| 查看: 265

yum、dnf能够解决rpm包的依赖关系,无需手动一个一个通过rpm进行安装依赖包,yum和dnf的底层逻辑还是通过rpm命令安装包,会自动查找依赖关系,然后自动使用rpm进行安装,yum使用的是python2语言编写,dnf是python3语言编写

yum/dnf工作原理

yum/dnf是基于C/S架构

yum服务器:存放rpm包和相关包的元数据;yum服务器只要提供简单的下载就可以了,ftp或者http协议。yum服务器有一个最重要的环节就是整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息。

yun客户端:访问yum服务器查询或安装等,客户端进行安装时,首先会去解析/etc/yum.repos.d下面所有以.repo结尾的配置文件(即yum源),这些配置文件指定了yum服务器的地址。yum会定期去"更新"yum服务器上的rpm包"清单",然后把"清单"下载保存到yum自己的cache里面,根据/etc/yum.conf里配置(默认是在/var/cache/yum下面),每次调用yum装包的时候都会去这个cache目录下去找"清单",根据"清单"里的rpm包描述从而来确定安装包的名字,版本号,所需要的依赖包等,然后再去yum服务器下载rpm包安装。(前提是不存在rpm包的cache)。

yum服务器的仓库地址:file://(本地光盘等)   http://  https://  ftp://

注意:yum仓库的地址一定是repodata的目录所在的地址

yum客户端配置

配置文件:/etc/yum.conf  公共配置文件,为所有仓库提供公共配置   /etc/yum.repos.d/*.repo每个仓库提供配置

配置文件定义:

/etc/yum.conf

[main]

gpgcheck=1 #安装包前要做包的合法和完整性校验

installonly_limit=3 #同时可以安装3个包,最小值为2,如设为0或1,为不限制

clean_requirements_on_remove=True #删除包时,是否将不再使用的包删除

best=True #升级时,自动选择安装最新版,即使缺少包的依赖

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

[base]:代表容器名称,名称可以随意取

name:描述容器含义

mirrorlist:列出这个容器可以使用的镜像站点,如果不想使用,可以注释

baseurl:后面接容器地址,mirrorlist是由yum程序自行找镜像站点,baseurl则是指定一个固定容器地址

gpgcheck:是否需要查阅RPM文件内数字证书

gpgkey:数字证书公钥文件所在位置,使用默认值

$releasever: 当前OS的发行版的主版本号,如:8,7,6

$arch: CPU架构,如:aarch64, i586, i686,x86_64等

$basearch:系统基础平台;i386, x86_64

$contentdir:表示目录,比如:centos-8,centos-7

enablegroups={1|0}

failovermethod={roundrobin|priority}roundrobin:意为随机挑选,默认值  priority:按顺序访问​

cost= 默认为1000

29、YUM/DNF安装程序包原理及配置_yum服务器配置

29、YUM/DNF安装程序包原理及配置_centos_02

使用其他第三方的yum源

09:44:[email protected]]#touch Base.repo[09:44:[email protected]]#vim Base.repo [14:00:[email protected]]#mv CentOS-Base.repo CentOS-Base.repo.bak

[Base]name=centos basebaseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/gpgcheck=0enabled=1~ [14:01:[email protected]]#yum repolist 查看yum源列表Loaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileBase | 3.6 kB 00:00:00 (1/2): Base/group_gz | 153 kB 00:00:00 (2/2): Base/primary_db | 6.1 MB 00:00:07 repo id repo name statusBase centos base 10,072repolist: 10,072[14:01:[email protected]]#vim Base.repo

优化使用变量[Base]name=centos basebaseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/gpgcheck=0enabled=1~

29、YUM/DNF安装程序包原理及配置_yum服务器配置_03

29、YUM/DNF安装程序包原理及配置_centos_04

29、YUM/DNF安装程序包原理及配置_centos_05

新增update的yum源 

注意:与之前的版本不同, 8 系统有两个yum 源:BaseOS和AppStream ,需要分别设置两个仓库

[Base]name=centos basebaseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/gpgcheck=0enabled=1

[update]name=updatebaseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/ http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/gpgcheck=0enabled=1

29、YUM/DNF安装程序包原理及配置_服务器_06

选择sl包实现跑火车,导入fedo源[fedor]

name=fedor

baseurl=http://dl.fedoraproject.org/pub/epel/7/x86_64/

29、YUM/DNF安装程序包原理及配置_linux_07

yum-config-manager命令启用和禁用仓库

增加仓库 yum-config-manager --add-repo url或者file

禁用仓库 yum-config-manage --disable ‘仓库name’

启用仓库 yum-config-manage  --enable ‘仓库名’

14:52:[email protected]]#yum repolist allLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * extras: mirrors.aliyun.com * update: mirrors.aliyun.comrepo id repo name statusBase/7/x86_64 centos base enabled: 10,072extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 512fedor fedor enabled: 13,758update/7/x86_64 update enabled: 4,135repolist: 28,477[14:52:[email protected]]#yum-config-manager --disable fedorLoaded plugins: fastestmirror, langpacks================================================================ repo: fedor =================================================================[fedor]async = Truebandwidth = 0base_persistdir = /var/lib/yum/repos/x86_64/7baseurl = http://dl.fedoraproject.org/pub/epel/7/x86_64/cache = 0cachedir = /var/cache/yum/x86_64/7/fedorcheck_config_file_age = Truecompare_providers_priority = 80cost = 1000deltarpm_metadata_percentage = 100deltarpm_percentage = enabled = 0enablegroups = Trueexclude = failovermethod = priorityftp_disable_epsv = Falsegpgcadir = /var/lib/yum/repos/x86_64/7/fedor/gpgcadirgpgcakey = gpgcheck = Falsegpgdir = /var/lib/yum/repos/x86_64/7/fedor/gpgdirgpgkey = hdrdir = /var/cache/yum/x86_64/7/fedor/headershttp_caching = allincludepkgs = ip_resolve = keepalive = Truekeepcache = Falsemddownloadpolicy = sqlitemdpolicy = group:smallmediaid = metadata_expire = 21600metadata_expire_filter = read-only:presentmetalink = minrate = 0mirrorlist = mirrorlist_expire = 86400name = fedorold_base_cache_dir = password = persistdir = /var/lib/yum/repos/x86_64/7/fedorpkgdir = /var/cache/yum/x86_64/7/fedor/packagesproxy = Falseproxy_dict = proxy_password = proxy_username = repo_gpgcheck = Falseretries = 10skip_if_unavailable = Falsessl_check_cert_permissions = Truesslcacert = sslclientcert = sslclientkey = sslverify = Truethrottle = 0timeout = 30.0ui_id = fedorui_repoid_vars = releasever, basearchusername =

[14:53:[email protected]]#yum repolist allLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfile * extras: mirrors.aliyun.com * update: mirrors.aliyun.comrepo id repo name statusBase/7/x86_64 centos base enabled: 10,072extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com enabled: 512fedor fedor disabledupdate/7/x86_64 update enabled: 4,135repolist: 14,719[14:53:[email protected]]#

29、YUM/DNF安装程序包原理及配置_yum服务器配置_08



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3