前言&闲话:
提示:废话记录,赶时间直接跳过
因为公司的Linux服务器基本都是CentOS的,为了更熟悉相关的命令及特性,特地把自己平时用来倒腾的电脑改装成了Fedora,装好系统后第一件事肯定是修改更新源,毕竟Linux默认的源大都是国外的,那个小水管是真的难受。国内的Linux镜像还是不算少的,这里记录两个我最常用的
阿里Fedora镜像地址:
https://mirrors.aliyun.com/fedora-alt/
华为Fedora镜像地址:
https://repo.huaweicloud.com/fedora/
想用其他源可以官网查询,Fedora官网镜像列表地址:
http://mirrors.fedoraproject.org/publiclist
分析
修改更新源其实就是修改更新源文件里面的地址,更新源文件保存在/etc/yum.repos.d/
这个目录下以下为Fedora35此目录下的文件,需要做的就是对fedora.repo、fedora-updates.repo、fedora-modular.repo、fedora-updates-modular.repo和fedora-updates-testing.repo、fedora-updates-testing-modular.repo里面内容进行修改,需要作的就是取消baseurl开头的注释,并增加metalink开头的注释。将文件中的http://download.fedoraproject.org/pub/fedora/linux替换成目标镜像地址
[gyk@fedora yum.repos.d]$ ll
-rw-r--r--. 1 root root 292 3月 27 02:01 _copr_phracek-PyCharm.repo
-rw-r--r--. 1 root root 728 10月 12 01:29 fedora-cisco-openh264.repo
-rw-r--r--. 1 root root 1269 3月 27 10:50 fedora-modular.repo
-rw-r--r--. 1 root root 1227 3月 27 10:52 fedora.repo
-rw-r--r--. 1 root root 1349 3月 27 10:55 fedora-updates-modular.repo
-rw-r--r--. 1 root root 1274 3月 27 10:54 fedora-updates.repo
-rw-r--r--. 1 root root 1376 3月 27 10:57 fedora-updates-testing-modular.repo
-rw-r--r--. 1 root root 1329 3月 27 10:56 fedora-updates-testing.repo
-rw-r--r--. 1 root root 198 3月 27 02:01 google-chrome.repo
操作:
提示:这里例举直接用sed命令进行替换,目标镜像为华为镜像,也可手动每个文件进行编辑,或在替换镜像链接步骤时将命令里面的华为链接改为其他镜像链接
更改文件前的好习惯,备份文件
sudo cp -a /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora.repo.bk
sudo cp -a /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-updates.repo.bk
sudo cp -a /etc/yum.repos.d/fedora-modular.repo/etc/yum.repos.d/fedora-modular.repo
sudo cp -a /etc/yum.repos.d/fedora-updates-modular.repo /etc/yum.repos.d/ffedora-updates-modular.repo.bk
sudo cp -a /etc/yum.repos.d/fedora-updates-testing.repo /etc/yum.repos.d/fedora-updates-testing.repo.bk
sudo cp -a /etc/yum.repos.d/fedora-updates-testing-modular.repo /etc/yum.repos.d/fedora-updates-testing-modular.repo.bk
取消beseurl前的注释符#
sudo sed -i "s/#baseurl/baseurl/g" /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-modular.repo /etc/yum.repos.d/fedora-updates-modular.repo /etc/yum.repos.d/fedora-updates-testing.repo /etc/yum.repos.d/fedora-updates-testing-modular.repo
添加metalinkq前的注释符
sudo sed -i "s/metalink/#metalink/g" /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-modular.repo /etc/yum.repos.d/fedora-updates-modular.repo /etc/yum.repos.d/fedora-updates-testing.repo /etc/yum.repos.d/fedora-updates-testing-modular.repo
替换镜像链接
sudo sed -i "s@http://download.example/pub/fedora/linux@https://repo.huaweicloud.com/fedora@g" /etc/yum.repos.d/fedora.repo /etc/yum.repos.d/fedora-updates.repo /etc/yum.repos.d/fedora-modular.repo /etc/yum.repos.d/fedora-updates-modular.repo /etc/yum.repos.d/fedora-updates-testing.repo /etc/yum.repos.d/fedora-updates-testing-modular.repo
重新生成缓存(此步骤可在检查
确认无误后进行)
sudo yum makecache
检查
随便打开一个repo检查替换是否成功
vi /etc/yum.repos.d/fedora.repo
可以看到
baseurl=https://repo.huaweicloud.com/fedora/releases/$releasever/Everything/$basearch/os/
#metalink=https://mirrors.fedoraproject.org/#metalink?repo=fedora-$releasever&arch=$basearch
baseurl前无注释符#
;
meralink前有注释符#
;
baseurl=
后的链接为目标镜像地址。
若目标镜像链接更改失败,可检查替换镜像链接
步骤
sudo sed -i "s@
http://download.example/pub/fedora/linux
@https://repo.huaweicloud.com/fedora@g
标红部分是否填写错误
问题
sudo yum makecache
生成缓存提示
Errors during downloading metadata for repository 'fedora':
- Curl error (6): Couldn't resolve host name for http://download.example/pub/fedora/linux/releases/35/Everything/x86_64/os/repodata/repomd.xml [Could not resolve host: download.example]
错误:为仓库 'fedora' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
解决:
其实从提示就能看出来,是更新源的链接错误
1、检查镜像地址是否修改错误----打开repo文件查看baseurl=
后的链接是否修改错误;
2、检查镜像地址是否可以访问----直接访问更改的目标镜像链接看能否访问,如果不可访问,更改其他更新源;