前言
自带的软件源下载软件较慢。修改为清华大学的软件源。
参考清华大学开源软件镜像站提供的方法,修改Linux虚拟机软件源
一、准备update_mirror.pl文件
cd /root
vim update_mirror.pl
将以下内容复制粘贴到update_mirror.pl中并保存。
#!/usr/bin/perl
use strict;
use warnings;
use autodie;
my $mirrors = 'https://mirrors.tuna.tsinghua.edu.cn/centos-stream';
if (@ARGV < 1) {
die "Usage: $0 <filename1> <filename2> ...\n";
}
while (my $filename = shift @ARGV) {
my $backup_filename = $filename . '.bak';
rename $filename, $backup_filename;
open my $input, "<", $backup_filename;
open my $output, ">", $filename;
while (<$input>) {
s/^metalink/# metalink/;
if (m/^name/) {
my (undef, $repo, $arch) = split /-/;
$repo =~ s/^\s+|\s+$//g;
($arch = defined $arch ? lc($arch) : '') =~ s/^\s+|\s+$//g;
if ($repo =~ /^Extras/) {
$_ .= "baseurl=${mirrors}/SIGs/\$releasever-stream/extras" . ($arch eq 'source' ? "/${arch}/" : "/\$basearch/") . "extras-common\n";
} else {
$_ .= "baseurl=${mirrors}/\$releasever-stream/$repo" . ($arch eq 'source' ? "/" : "/\$basearch/") . ($arch ne '' ? "${arch}/tree/" : "os") . "\n";
}
}
print $output $_;
}
}
如图:
二、同步到其他两台服务器
执行
data_rsync.sh /root/update_mirror.pl
三、执行update_mirror.pl
到每天机器/root目录下执行:
perl ./update_mirror.pl /etc/yum.repos.d/centos*.repo
如果出现错误:
-bash: perl: command not found
则执行:
# 使用 dnf
dnf install perl
# 或使用 yum
yum install perl
四、更新软件包缓存
执行:
# 使用 dnf
dnf clean all && dnf makecache
# 使用 yum
yum clean all && yum makecache