目录
一:yum仓库简介:
1.1:yum概述
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。
yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。
一个文件可以搭建多个yum仓库;
内核位置为:/boot X86代表架构;
yum info #显示所有可用包的信息
1.2:yum实现过程:
先在yum服务器上创建 yum仓库,在仓库中事先存储了众多rpm包,以及包的相关元数据文件;
当yum客户端利用yum工具进行安装时包时,会自动下载repodata中的元数据,查询元数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
1.3:yum的基本用法
1:主配置文件解析
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
(1) cachedir=/var/cache/yum/x86_64/6/base/packages【yum缓存的目录,yum在此存储下载rpm包和数据库,】
(2) keepcache=0【安装完成后是否保留软件包,0为不保留,1为保留】
(3) debuglevel=2 【信息输出等级,范围为0-10,缺省为2】
(4) logfile=/var/log/yum.log 【yum日志文件位置,可以查询过去所作的更新】
(5) pkgpolicy=newest/last【包策略。一共有两个选项,newest和last,这个作用是如果你设置了多个repository,而同一软件在不同的repository中同时存在,yum应该安装哪一个,如果是newest,则yum会安装最新的那个版本,如果是last,则yum会将服务器id以字母表排序,并选择最后哪个服务器上的软件安装。一般都选newest】
(6) distroverpkg=redhat-release【指定一个软件包,yum会根据这个包判断你的发行版本,默认是redhat-release,也可以是安装的任何针对自己发行版的rpm包】
(7) tolerant=1 【表示yum是否容忍命令行发生与软件包有关的错误,比如你要安装1 2 3三个包,而其中3此前已经安装了,设为1,则yum不会出现错误信息,默认为0】
(8) exctarch=1【设置为1,则yum只会安装和系统架构匹配的软件包。】
(9) retries=6 【网络链接发生错误后的重试次数,如果设为0则会无限重试,默认为6】
(10) obsoletes=1【这是一个update的参数,允许更新陈旧的rpm包】
(11) plugins=1 【是否启用插件,默认为1是允许,0表示不允许。】
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
2:yum仓库文件位置
默认的yum仓库 是centos官方的yum源,需要联网才可以使用;
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
常见的几个文件:
CentOS-Debuginfo.repo
CentOS-Base.repo
CentOS-Vault.repo
CentOS-Media.repo
CentOS-Debuginfo 这个是debug包,尤其和内核相关的更新和软件安装
CentOS-Base 这个是联网基础的源,一般都用这个
CentOS-Vault 这个是最近新版本的加入的老版本的yum源配置
CentOS-Media 这个是使用光盘挂载后调用的文