Skip to content

Commit c9c440f

Browse files
committed
🔖 替换 yum repo 脚本
1 parent 6463f86 commit c9c440f

3 files changed

Lines changed: 79 additions & 1 deletion

File tree

codes/deploy/sys/init.sh

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ EOF
1414
filepath=$(cd "$(dirname "$0")"; pwd)
1515

1616
# 设置环境配置,不了解具体修改内容的情况下,请勿执行
17-
# ./set-config.sh
17+
# ${filepath}/set-config.sh
18+
19+
# 替换 yum 镜像
20+
${filepath}/yum/change-yum-repo.sh
1821

1922
# 安装命令行工具
2023
${filepath}/install-cmd-tool.sh
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
[base]
2+
name=CentOS-$releasever - Base
3+
baseurl=http://vault.centos.org/$releasever/os/$basearch/
4+
gpgcheck=1
5+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
6+
7+
#released updates
8+
[updates]
9+
name=CentOS-$releasever - Updates
10+
baseurl=http://vault.centos.org/$releasever/updates/$basearch/
11+
gpgcheck=1
12+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
13+
14+
#additional packages that may be useful
15+
[extras]
16+
name=CentOS-$releasever - Extras
17+
baseurl=http://vault.centos.org/$releasever/extras/$basearch/
18+
gpgcheck=1
19+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
20+
21+
#additional packages that extend functionality of existing packages
22+
[centosplus]
23+
name=CentOS-$releasever - Plus
24+
baseurl=http://vault.centos.org/$releasever/centosplus/$basearch/
25+
gpgcheck=1
26+
enabled=0
27+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
28+
29+
#contrib - packages by Centos Users
30+
[contrib]
31+
name=CentOS-$releasever - Contrib
32+
baseurl=http://vault.centos.org/$releasever/contrib/$basearch/
33+
gpgcheck=1
34+
enabled=0
35+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
#!/usr/bin/env bash
2+
3+
###################################################################################
4+
# 本脚本用于替换 yum repo
5+
# 要求:仅适用于 Linux Centos 发行版本,并且环境必须已支持 yum 、lsb_release 命令
6+
# Author: Zhang Peng
7+
###################################################################################
8+
9+
echo -e "\n>>>>>>>>> 替换 yum repo 源"
10+
11+
# 备份
12+
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
13+
14+
# 执行 lsb_release 命令,获取系统发行版本
15+
version=`lsb_release -r | awk '{print substr($2,1,1)}'`
16+
17+
# 根据发型版本选择相应 yum 镜像
18+
if [ ${version} == 5 ]; then
19+
# Cento5 已废弃,只能使用 http://vault.centos.org/ 替换,但由于是国外镜像,速度较慢
20+
wget --no-cookie --no-check-certificate -O /etc/yum.repos.d/CentOS-Base.repo https://raw.githubusercontent.com/dunwu/linux/master/codes/deploy/sys/yum/CentOS-Base.repo
21+
22+
# 根据实际发型版本情况替换
23+
detailVersion=`lsb_release -r | awk '{print substr($2,1,3)}'`
24+
sed -i 's/$releasever/'"${detailVersion}"'/g' /etc/yum.repos.d/CentOS-Base.repo
25+
26+
# 不替换下面的开关,可能会出现错误:Could not open/read repomd.xml
27+
sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/CentOS-Media.repo
28+
else
29+
# 国内 aliyun 镜像
30+
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-${version}.repo
31+
32+
# 国内 163 镜像(备选)
33+
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS${version}-Base-163.repo
34+
fi
35+
36+
# 更新缓存
37+
yum clean all
38+
yum makecache
39+
40+
echo -e "\n>>>>>>>>> 替换 yum repo 源成功"

0 commit comments

Comments
 (0)