刨根问底:什么是yum源,yum的工做原理又是什么

一、刨根问底---什么是yum源?yum的工做原理?linux

说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就至关是一个目录项,当咱们使用yum机制安装软件时,若须要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。chrome

YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包而且安装,可以很好的解决依赖关系问题。vim

 

YUM的基本工做机制以下:
服务器端:在服务器上面存放了全部的RPM软件包,而后以相关的功能去分析每一个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。 
客户端:若是须要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可经过WWW或FTP方式),经过对服务器端下载的纪录数据进行分析,而后取得全部相关的软件,一次所有下载下来进行安装。缓存

 

二、yum文件:安全

[root@linux-6 ~]# vim /etc/yum.repos.d/
google-chrome.repo  local-yum.repo      rhel-source.repo
[root@linux-6 ~]# vim /etc/yum.repos.d/       //在yum.repos.d 目录下存放的就是yum源的设定文件。服务器

[root@linux-6 ~]# vim /etc/yum.repos.d/rhel-source.repo     //打开一个yum源的设定文件
[rhel-source-beta]     //yum源的名称,起到标记yum源的做用,
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source  //仅仅是对yum的描述,做用是使用户能够更容易的读懂该文件。
baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/  //咱们指定的查找依赖关系软件的路径,(该路径能够是一个网址路径,也能够是本机上的一个路径。)
enabled=0       //enabled 是使可以的意思,0表示baseurl定义的路径是不可用的,1表示定义的路径是可用的。
gpgcheck=1  //gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    //进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。网络

ftp://   表示使用的是ftp协议链接路径,该协议通常用于非本地链接,本地yum使用的协议是:"file://"文件协议oop

 

三、两种yum源:本地yum源和网络yum源。本次只谈本地yum源网站

   搭建本地yum源,咱们首先就要有提供源的文件包,通常的Linux系统的镜像文件iso中就含有搭建yum源所需的rpm文件。如果没有建议到网上下载,注意要和自身使用的系统版本一致。google

3.1肯定iso镜像文件的位置    //实际上是由于iso文件中有yum源所需的rpm包,好在下一步中实施挂载,如果知道你电脑上的iso文件在什么地方,则无需这步。

3.2新建一个仓库目录                  //用来存放本地yum源。
[root@linux-6 ~]# mkdir  /iso   

3.3.1挂载镜像文件到/iso目录        //主要是得到iso软件
[root@linux-6 ~]# mount -o loop /***.iso  /iso       // /***.iso 表示镜像文件所在本机上的绝对路径。
3.3.2若是你有光驱也有光盘,而且光驱已经挂载,则只需使用以下命令:
[root@linux-6 ~]# mount /dev/cdrom   /iso

4.查看挂载       //主要是确认挂载是否成功
[root@teacher ~]# df -Th
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda3     ext4    321G  142G  163G  47% /
tmpfs        tmpfs    1.9G  336K  1.9G   1% /dev/shm
/dev/sda1     ext4     92G  233M   87G   1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
          iso9660    2.9G  2.9G     0 100% /iso
[root@teacher ~]#

5.在yum源文件中指定iso镜像文件所挂载到的目录的路径,并将使用的协议改为file协议。
[root@teacher ~]#  vim /etc/yum.repos.d/rhel-source.repo

[rhel-source-beta]
name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
baseurl=file:///iso           //这是主要的不一样之处,使用的是file协议,指定的路径是/iso
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

 

6.清除缓存,使最新的yum配置生效。

[root@linux-6 ~]# yum clean all[root@linux-6 ~]# yum list

相关文章
相关标签/搜索