yum原理以及客户端配置

我们在使用rpm命令安装rpm包时常常遇到依赖性问题。yum工具可自动解决包的依赖性的问题,轻松快速安装软件包。
yum采用的是client/server模式。这篇文章我分为三部分,来说说yum怎么工作的!

  • yum服务器
  • yum客户端
  • 配置客户端

1、yum服务器

服务器也就是yum仓库,存放着rmp包、元数据metadata等信息。(元数据整理出每个rpm包的基本信息,包括rpm包对应的版本号,conf文件,binary信息,以及很关键的依赖信息)

  • 仓库里面最重要的两个目录
  • /repodata:存放metadata文件
  • /Packges:存放rpm包
  • 我们可以使用光盘作为yum仓库,/repodata的父目录就可以是yum仓库路径。我的光盘挂载在/misc/cd目录下:
[root@CentOS6 ~]#ls /misc/cd
CentOS_BuildTag  isolinux                  RPM-GPG-KEY-CentOS-Debug-6
EFI              Packages                  RPM-GPG-KEY-CentOS-Security-6
EULA             RELEASE-NOTES-en-US.html  RPM-GPG-KEY-CentOS-Testing-6
GPL              repodata                  TRANS.TBL
images           RPM-GPG-KEY-CentOS-6

这里,我们就可以使用/misc/cd作为仓库路径了~

2、yum客户端

当客户端要安装软件时,会按照客户端配置文件里指定的服务器路径,去访问yum服务器,并下载下载metadata缓存到客户端。然后根据metadata确认软件包的版本号,所需要的依赖包等,然后再去yum服务器一次下载安装所需要的rpm包。

  • 客户端配置文件
    • /etc/yum.conf
      此文件提供了yum公共配置,定义了yum客户端基本的信息:
      cachedir:指定元数据缓存路径
      keepcache:安装后是否保留客户端的rpm包
      logfile:指定日志路径
[root@CentOS6 ~]#cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
...以下略
  • /etc/yum.repos.d/*.repo
    yum仓库配置文件都存放在/etc/yum.repos.d/目录下,并且以.repo为文件名尾缀。这些文件指定了具体的仓库名称、路径等信息
    [repositoryID]
    name:仓库名
    baseurl:仓库路径
    enabled:是否使能该仓库
    gpgcheck:是否坚持gpg
    gpgkey:gpgkey路径

3、配置客户端

先观察一下/etc/yum.repos.d/目录情况

[root@CentOS6 ~]#ls /etc/yum.repos.d/
aliyun6.repo  aliyun.repo  backup

可以看到当前已经有两个.repo尾缀的文件。这里我尝试以下自己配置.repo文件

(1)把光盘挂载在/misc/cd,直接用光盘作为仓库

[root@CentOS6 ~]#mount /dev/sr0 /misc/cd
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@CentOS6 rpm-gpg]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2      100660656 9007756  86532900  10% /
tmpfs             502056      76    501980   1% /dev/shm
/dev/sda3       50264772   53112  47651660   1% /app
/dev/sda1         991512   34916    905396   4% /boot
/dev/sr0         3878870 3878870         0 100% /media/CentOS_6.9_Final
/dev/sr0         3878870 3878870         0 100% /misc/cd

(2)使用vim /etc/yum.repos.d/local.repo直接新建一个local.repo文件,按照格式把配置写上去:


[root@CentOS6 ~]#vim /etc/yum.repos.d/local.repo 
[Base6.9]
name=repo from cdrom
baseurl=file:///misc/cd
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgcheck=1
enabled=1
  

(3)验证

[root@CentOS6 rpm-gpg]#yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
repo id                     repo name                           status
Base6.9                     repo from cdrom                     6,706
repolist: 6,706

当然,这里我使用的是光盘作为仓库,如果你有其他的yum仓库,可以把file:///misc/cd替换掉哦~

你可能感兴趣的:(yum原理以及客户端配置)