yum源原理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
yum源原理
1、刨根问底---什么是yum源?yum的⼯作原理?
说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系⽽存在的。
yum源就相当是⼀个⽬录项,当我们使⽤yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。
YUM是“Yellow dog Updater, Modified”的缩写,是⼀个软件包管理
器,YUM从指定的地⽅(相关⽹站的rpm包地址或本地的rpm路径)⾃动下载RPM包并且安装,能够很好的解决依赖关系问题。
YUM的基本⼯作机制如下:
服务器端:在服务器上⾯存放了所有的RPM软件包,然后以相关的功能去分析每个RPM⽂件的依赖性关系,将这些数据记录成⽂件存放在服务器的某特定⽬录内。
客户端:如果需要安装某个软件时,先下载服务器上⾯记录的依赖性关系⽂件(可通过WWW或FTP⽅式),通过对服务器端下载的纪录数据进⾏分析,然后取得所有相关的软件,⼀次全部下载下来进⾏安装。
2、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源的设定⽂件。
[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:///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://"⽂件协议
3、两种yum源:本地yum源和⽹络yum源。
本次只谈本地yum源
搭建本地yum源,我们⾸先就要有提供源的⽂件包,⼀般的Linux系统的镜像⽂件iso中就含有搭建yum源所需的rpm⽂件。
若是没有建议到⽹上下载,注意要和⾃⾝使⽤的系统版本⼀致。
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。