在使用Linux的日常工作中,经常会遇到缺少包的情况,而当我们单独下载缺少的包进行安装时,大多都会因为依赖或版本与操作系统版本不兼容的问题,这个时候配置yum就显得很有必要
配置yum源一般分两种情况,网络yum源和本地iyum源,
网络yum源通常在能连接互联网的服务器上进行配置,配置简单,可选择性强,能获取的包也更多
本地yum源通常利用挂载系统镜像包进行配置,因受限与镜像包,所以能获取的包相对较少
目录
本地YUM源配置
镜像文件上传
创建镜像文件存放目录【/opt/soft】及挂载目录【/mnt/cdrom】,并将镜像文件上传到【/opt/soft】目录
[root@centos01 soft]# mkdir -p /opt/soft /mnt/cdrom
[root@centos01 soft]#
[root@centos01 soft]# ll
总用量 4372960
-rw-r--r-- 1 root root 4470079488 8月 28 17:24 CentOS-7.5-x86_64-DVD-1804.iso
[root@centos01 soft]#
镜像文件挂载及确认
执行 mount -o loop /opt/soft/CentOS-7.5-x86_64-DVD-1804.iso /mnt/cdrom/命令将/opt/soft下的CentOS-7.5-x86_64-DVD-1804.iso镜像文件挂载到/mnt/cdrom文件夹下,切换到/mnt/cdrom目录执行ll进行挂载确认
[root@centos01 soft]# mount -o loop /opt/soft/CentOS-7.5-x86_64-DVD-1804.iso /mnt/cdrom/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@centos01 soft]# cd /mnt/cdrom/ && ll
总用量 678
-rw-rw-r-- 1 root root 14 5月 2 2018 CentOS_BuildTag
drwxr-xr-x 3 root root 2048 5月 4 2018 EFI
-rw-rw-r-- 1 root root 227 8月 30 2017 EULA
-rw-rw-r-- 1 root root 18009 12月 10 2015 GPL
drwxr-xr-x 3 root root 2048 5月 4 2018 images
drwxr-xr-x 2 root root 2048 5月 4 2018 isolinux
drwxr-xr-x 2 root root 2048 5月 4 2018 LiveOS
drwxrwxr-x 2 root root 655360 5月 4 2018 Packages
drwxrwxr-x 2 root root 4096 5月 4 2018 repodata
-rw-rw-r-- 1 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 1 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root 2883 5月 4 2018 TRANS.TBL
[root@centos01 cdrom]#
配置本地yum源文件
切换到/etc/yum.repos.d目录,将所有repo文件备份后删除,然后创建Local.repo文件
[root@centos01 yum.repos.d]# cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]# touch Local.repo
编辑Local.repo文件,插入如下内容
[Local-Centos7.5]
name=CentOS-7.5
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
说明:
[CentOS7] //yum的ID,本地唯一,用于区分不同yum源
name=CentOS-server //描述信息
baseurl=file:///mnt/cdrom //前面的file://是协议,后面的/mnt/cdrom是光盘挂载点
enabled=1 //1启用当前yum源,0禁用
gpgcheck=0 //1使用公钥验证rpm包的正确性,0不验证
yum源刷新
执行yum clean all清除历史缓存,
[root@centos01 yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: Local-Centos7.5
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@centos01 yum.repos.d]#
执行 yum makecache和yum repolist创建缓存并查看当前yum源的可用资源数
[root@centos01 yum.repos.d]#yum makecache
[root@centos01 yum.repos.d]#yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
源标识 源名称 状态
Local-Centos7.5 CentOS-7.5 3,971
repolist: 3,971
[root@centos01 yum.repos.d]#
yum源测试
利用yum进行telnet包安装测试,
[root@centos01 /]# yum install telnet
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 telnet.x86_64.1.0.17-64.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==============================================================================================================
Package 架构 版本 源 大小
==============================================================================================================
正在安装:
telnet x86_64 1:0.17-64.el7 Local-Centos7.5 64 k
事务概要
==============================================================================================================
安装 1 软件包
总下载量:64 k
安装大小:113 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : 1:telnet-0.17-64.el7.x86_64 1/1
验证中 : 1:telnet-0.17-64.el7.x86_64 1/1
已安装:
telnet.x86_64 1:0.17-64.el7
完毕!
[root@centos01 /]#
安装成功,至此,本地yum配置完成
网络YUM源配置
配置文件下载
网络源有很多,比如清华、阿里、网易以及其他很多高校都有,这里我们已网易的为例,其他几个网站地址如下
阿里云
http://mirrors.aliyun.com/repo/网易
http://mirrors.163.com/.help/centos.html清华
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
进入/etc/yum.repos.d/,执行wget http://mirrors.163.com/.help/CentOS6-Base-163.repo下载网易yum源配置文件
[root@centos01 /]# cd /etc/yum.repos.d/
[root@centos01 yum.repos.d]#
[root@centos01 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
--2021-08-28 18:16:53-- http://mirrors.163.com/.help/CentOS6-Base-163.repo
正在解析主机 mirrors.163.com (mirrors.163.com)... 183.221.217.21, 183.221.217.23, 183.221.217.22
正在连接 mirrors.163.com (mirrors.163.com)|183.221.217.21|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2006 (2.0K) [application/octet-stream]
正在保存至: “CentOS6-Base-163.repo”
100%[====================================================================>] 2,006 --.-K/s 用时 0s
2021-08-28 18:17:08 (165 MB/s) - 已保存 “CentOS6-Base-163.repo” [2006/2006])
[root@centos01 yum.repos.d]# ll
总用量 12
-rw-r--r-- 1 root root 2006 12月 1 2016 CentOS6-Base-163.repo
-rw-r--r-- 1 root root 2006 8月 25 11:54 CentOS6-Base-163.repo_bak
-rw-r--r-- 1 root root 104 8月 28 17:55 Local.repo
[root@centos01 yum.repos.d]#
YUM源刷新
执行yun clean all清除缓存
[root@centos01 yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: Local-Centos7.5 base extras updates
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@centos01 yum.repos.d]#
执行 yum makecache和yum repolist创建缓存并查看当前yum源的可用资源数
[root@centos01 yum.repos.d]#yum makecache
[root@centos01 yum.repos.d]#yum repolist
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/4): extras/7/x86_64/primary_db | 242 kB 00:00:05
(2/4): updates/7/x86_64/primary_db | 9.6 MB 00:00:06
(3/4): base/7/x86_64/group_gz | 153 kB 00:00:15
(4/4): base/7/x86_64/primary_db | 6.1 MB 00:00:19
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base - 163.com 10,072
extras/7/x86_64 CentOS-7 - Extras - 163.com 498
updates/7/x86_64 CentOS-7 - Updates - 163.com 2,579
repolist: 13,149
[root@centos01 yum.repos.d]#
YUM源验证
执行yum install telnet 安装telnet 安装成功表示当前网络YUM源配置成功
[root@centos01 yum.repos.d]# rpm -e telnet-0.17-64.el7.x86_64
[root@centos01 yum.repos.d]# yum install telnet
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 telnet.x86_64.1.0.17-66.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
==============================================================================================================
Package 架构 版本 源 大小
==============================================================================================================
正在安装:
telnet x86_64 1:0.17-66.el7 updates 64 k
事务概要
==============================================================================================================
安装 1 软件包
总下载量:64 k
安装大小:113 k
Is this ok [y/d/N]: y
Downloading packages:
telnet-0.17-66.el7.x86_64.rpm | 64 kB 00:00:15
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 数据库已被非 yum 程序修改。
正在安装 : 1:telnet-0.17-66.el7.x86_64 1/1
验证中 : 1:telnet-0.17-66.el7.x86_64 1/1
已安装:
telnet.x86_64 1:0.17-66.el7
完毕!
[root@centos01 yum.repos.d]#