云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

学习笔记-更换国内镜像源 - CentOS

jxf315 2024-12-01 07:24:05 教程文章 57 ℃

学习笔记-更换国内镜像源 - CentOS

前言摘要

#    进提供 目前还在使用的 CentOS 版本及替代版本 RockyOS 的源信息
#    版本涵盖 
        CentOS 7
        RokcyOS 9
        CentOS 8
        CentOS Stream
        CentOS 6
#    镜像源 提供 四个版本,更多源可参考镜像源列表文档
        清华大学 镜像源
        北京大学 镜像源 (因为清华大学不提供RokcyOS源)
        阿里云 镜像源
        校园网联合 镜像源
#    为方便操作,全部采用各个镜像源官方脚本
#    文末,提供了 CentOS 7 及 RockyOS 9 的镜像源一键替换脚本

CentOS 7

CentOS 7 更换 清华大学 镜像源

#    CentOS 7 更换 清华大学 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 7 更换 阿里云 镜像源

#    CentOS 7 更换 阿里云 镜像源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.BAK
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 7 更换 校园网联合 镜像源

#    CentOS 7 更换 校园网联合 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.cernet.edu.cn/centos|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

RockyOS 9

RockyOS 9 更换 北京大学 镜像源

#    RockyOS 9 更换 北京大学 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.pku.edu.cn/rocky|g' \
         -i.bak \
         /etc/yum.repos.d/rocky-extras.repo \
         /etc/yum.repos.d/rocky.repo
#    重建软件包缓存
dnf clean all && dnf makecache

RockyOS 9 更换 阿里云 镜像源

#    RockyOS 9 更换 阿里云 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
    -i.bak \
    /etc/yum.repos.d/Rocky-*.repo
#    重建软件包缓存
dnf clean all && dnf makecache

RockyOS 9 更换 校园网联合 镜像源

#    RockyOS 9 更换 校园网联合 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.cernet.edu.cn/rocky|g' \
         -i.bak \
         /etc/yum.repos.d/rocky-extras.repo \
         /etc/yum.repos.d/rocky.repo
#    重建软件包缓存
dnf clean all && dnf makecache

CentOS 8

CentOS 8 更换 清华大学 镜像源

#    CentOS 8 更换 清华大学 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
    -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos|g' \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 8 更换 阿里云 镜像源

#    CentOS 8 更换 阿里云 镜像源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.BAK
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 8 更换 校园网联合 镜像源

#    CentOS 8 更换 校园网联合 镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.cernet.edu.cn/centos|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS Stream

CentOS Stream 更换 清华大学 镜像源

#    CentOS Stream 更换 清华大学 镜像源
#    创建 修改脚本
cat <<'EOF' > /tmp/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 $_;
    }
}
EOF

#    运行 修改脚本
perl /tmp/update_mirror.pl /etc/yum.repos.d/centos*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS Stream 更换 阿里云 镜像源

#    CentOS Stream 更换 阿里云 镜像源
#    创建 修改脚本
cat <<'EOF' > /tmp/update_mirror.pl
#!/usr/bin/perl

use strict;
use warnings;
use autodie;

my $mirrors = 'https://mirrors.aliyun.com/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 $_;
    }
}
EOF

#    运行 修改脚本
perl /tmp/update_mirror.pl /etc/yum.repos.d/centos*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS Stream 更换 校园网联合 镜像源

#    CentOS Stream  更换 校园网联合 镜像源
#    创建 修改脚本
cat <<'EOF' > /tmp/update_mirror.pl
#!/usr/bin/perl

use strict;
use warnings;
use autodie;

my $mirrors = 'https://mirrors.cernet.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 $_;
    }
}
EOF

#    运行 修改脚本
perl /tmp/update_mirror.pl /etc/yum.repos.d/centos*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 6

CentOS 6 更换 清华大学 镜像源

#    CentOS 6 更换 清华大学 镜像源
sed -e "s|^mirrorlist=|#mirrorlist=|g" \
    -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.10|g" \
    -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.10|g" \
    -i.bak \
    /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 6 更换 阿里云 镜像源

#    CentOS 6 更换 阿里云 镜像源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.BAK
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 6 更换 校园网联合 镜像源

#    CentOS 6 更换 校园网联合 镜像源
#    其中 $minorver 表示版本号,需要自行替换
sed -e "s|^mirrorlist=|#mirrorlist=|g" \
         -e "s|^#baseurl=http://mirror.centos.org/centos/\$releasever|baseurl=https://mirrors.cernet.edu.cn/centos-vault/$minorver|g" \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
#    重建软件包缓存
yum clean all && yum makecache

CentOS 7 一键替换脚本

#    全文复制 直接运行
#    覆盖 CentOS 7 Repo 文件
cat <<'EOF' >  /etc/yum.repos.d/CentOS-Base.repo
#   CentOS-Base.repo
#   CentOS 7 更换 校园网联合 镜像源 专用 Repo 文件
#   author: SRover Lee

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
#    重建软件包缓存
yum clean all && yum makecache#    全文复制 直接运行
#    覆盖 CentOS 7 Repo 文件
cat <<'EOF' >  /etc/yum.repos.d/CentOS-Base.repo
#   CentOS-Base.repo
#   CentOS 7 更换 校园网联合 镜像源 专用 Repo 文件
#   author: SRover Lee

[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.cernet.edu.cn/centos/$releasever/centosplus/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
#    重建软件包缓存
yum clean all && yum makecache

Rocky OS 9 一键替换脚本

#    全文复制 直接运行
#    覆盖 RockyOS 9 Repo 文件
cat <<'EOF' >  /etc/yum.repos.d/CentOS-Base.repo
# rocky.repo
#   CentOS-Base.repo
#   CentOS 9 更换 校园网联合 镜像源 专用 Repo 文件
#   author: SRover Lee

[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=https://mirrors.cernet.edu.cn/rocky/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9

[appstream]
name=Rocky Linux $releasever - AppStream
baseurl=https://mirrors.cernet.edu.cn/rocky/$releasever/AppStream/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
最近发表
标签列表