将以下命令保存为shell脚本,并chmod +x
#!/bin/bash
# 备份 yum.repos.d 目录
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir -p /etc/yum.repos.d
# 创建新的 CentOS-Base.repo 文件并写入内容
cat <<EOF > /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
[base]
name=CentOS-6.0 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/os/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/os/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/os/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-6.0 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/updates/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/updates/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/updates/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-6.0 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/extras/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/extras/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/extras/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-6.0 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/centosplus/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/centosplus/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/centosplus/\$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[contrib]
name=CentOS-6.0 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/contrib/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/contrib/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/contrib/\$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
EOF
# 创建 EPEL 仓库配置
cat <<EOF > /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - \$basearch
baseurl=https://mirrors.aliyun.com/epel-archive/6/\$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6
EOF
# Add to PATH
export PATH=/usr/local/gcc-8.5.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-8.5.0/lib64:$LD_LIBRARY_PATH
# 创建 RPM-GPG-KEY-EPEL-6 文件
cat <<EOF > /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQINBEvSKUIBEADLGnUj24ZVKW7liFN/JA5CgtzlNnKs7sBg7fVbNWryiE3URbn1
JXvrdwHtkKyY96/ifZ1Ld3lE2gOF61bGZ2CWwJNee76Sp9Z+isP8RQXbG5jwj/4B
M9HK7phktqFVJ8VbY2jfTjcfxRvGM8YBwXF8hx0CDZURAjvf1xRSQJ7iAo58qcHn
XtxOAvQmAbR9z6Q/h/D+Y/PhoIJp1OV4VNHCbCs9M7HUVBpgC53PDcTUQuwcgeY6
pQgo9eT1eLNSZVrJ5Bctivl1UcD6P6CIGkkeT2gNhqindRPngUXGXW7Qzoefe+fV
QqJSm7Tq2q9oqVZ46J964waCRItRySpuW5dxZO34WM6wsw2BP2MlACbH4l3luqtp
Xo3Bvfnk+HAFH3HcMuwdaulxv7zYKXCfNoSfgrpEfo2Ex4Im/I3WdtwME/Gbnwdq
3VJzgAxLVFhczDHwNkjmIdPAlNJ9/ixRjip4dgZtW8VcBCrNoL+LhDrIfjvnLdRu
vBHy9P3sCF7FZycaHlMWP6RiLtHnEMGcbZ8QpQHi2dReU1wyr9QgguGU+jqSXYar
1yEcsdRGasppNIZ8+Qawbm/a4doT10TEtPArhSoHlwbvqTDYjtfV92lC/2iwgO6g
YgG9XrO4V8dV39Ffm7oLFfvTbg5mv4Q/E6AWo/gkjmtxkculbyAvjFtYAQARAQAB
tCFFUEVMICg2KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAjYEEwECACAFAkvS
KUICGw8GCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRA7Sd8qBgi4lR/GD/wLGPv9
qO39eyb9NlrwfKdUEo1tHxKdrhNz+XYrO4yVDTBZRPSuvL2yaoeSIhQOKhNPfEgT
9mdsbsgcfmoHxmGVcn+lbheWsSvcgrXuz0gLt8TGGKGGROAoLXpuUsb1HNtKEOwP
Q4z1uQ2nOz5hLRyDOV0I2LwYV8BjGIjBKUMFEUxFTsL7XOZkrAg/WbTH2PW3hrfS
WtcRA7EYonI3B80d39ffws7SmyKbS5PmZjqOPuTvV2F0tMhKIhncBwoojWZPExft
HpKhzKVh8fdDO/3P1y1Fk3Cin8UbCO9MWMFNR27fVzCANlEPljsHA+3Ez4F7uboF
p0OOEov4Yyi4BEbgqZnthTG4ub9nyiupIZ3ckPHr3nVcDUGcL6lQD/nkmNVIeLYP
x1uHPOSlWfuojAYgzRH6LL7Idg4FHHBA0to7FW8dQXFIOyNiJFAOT2j8P5+tVdq8
wB0PDSH8yRpn4HdJ9RYquau4OkjluxOWf0uRaS//SUcCZh+1/KBEOmcvBHYRZA5J
l/nakCgxGb2paQOzqqpOcHKvlyLuzO5uybMXaipLExTGJXBlXrbbASfXa/yGYSAG
iVrGz9CE6676dMlm8F+s3XXE13QZrXmjloc6jwOljnfAkjTGXjiB7OULESed96MR
XtfLk0W5Ab9pd7tKDR6QHI7rgHXfCopRnZ2VVQ==
=V/6I
-----END PGP PUBLIC KEY BLOCK-----
EOF
# 创建 SCL 仓库配置
cat <<EOF > /etc/yum.repos.d/CentOS-SCL.repo
# CentOS-SCLo-sclo.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information
[centos-sclo-sclo]
name=CentOS-6 - SCLo sclo
baseurl=http://vault.epel.cloud/centos/6/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-testing]
name=CentOS-6 - SCLo sclo Testing
baseurl=http://buildlogs.centos.org/centos/6/sclo/x86_64/sclo/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-source]
name=CentOS-6 - SCLo sclo Sources
baseurl=http://vault.epel.cloud/centos/6/sclo/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-debuginfo]
name=CentOS-6 - SCLo sclo Debuginfo
baseurl=http://debuginfo.centos.org/centos/6/sclo/x86_64/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF
# 清理和生成缓存
yum clean all
yum makecache
# 安装必要的软件包
yum install -y wget curl
yum install -y epel-release
yum install -y openssl-devel
yum install -y gcc gcc-c++ make zlib-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel libffi-devel tcl-devel tk-devel xz-devel
# Download and compile GCC 8.5.0
wget https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
tar xzf gcc-8.5.0.tar.gz
cd gcc-8.5.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --disable-multilib --enable-languages=c,c++ --prefix=/usr/local/gcc-8.5.0
make -j$(nproc)
make install
# Add to PATH
export PATH=/usr/local/gcc-8.5.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-8.5.0/lib64:$LD_LIBRARY_PATH
export CC=/usr/local/gcc-8.5.0/bin/gcc
export CXX=/usr/local/gcc-8.5.0/bin/g++
# 下载并编译 OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl-1.1.1 --openssldir=/usr/local/openssl-1.1.1 shared zlib
make -j$(nproc)
make install
# 更新环境变量
export OPENSSL_HOME=/usr/local/openssl-1.1.1
export PATH="$OPENSSL_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$OPENSSL_HOME/lib:$LD_LIBRARY_PATH"
export CPPFLAGS="-I$OPENSSL_HOME/include"
export LDFLAGS="-L$OPENSSL_HOME/lib -Wl,-rpath=$OPENSSL_HOME/lib"
# 下载 Python 3.12.4 并编译安装
wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz
tar -zxvf Python-3.12.4.tgz -C ./
cd Python-3.12.4
make clean
export LDFLAGS="-L/usr/local/openssl-1.1.1/lib"
export CPPFLAGS="-I/usr/local/openssl-1.1.1/include"
./configure \
--enable-shared \
--with-openssl="$OPENSSL_HOME" \
--with-ssl-default-suites=openssl \
LDFLAGS="$LDFLAGS" \
CPPFLAGS="$CPPFLAGS"
make -j$(nproc) altinstall
# 备份 yum.repos.d 目录
mv /etc/yum.repos.d /etc/yum.repos.d.bak
mkdir -p /etc/yum.repos.d
# 创建新的 CentOS-Base.repo 文件并写入内容
cat <<EOF > /etc/yum.repos.d/CentOS-Base.repo
# CentOS-Base.repo
[base]
name=CentOS-6.0 - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/os/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/os/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/os/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-6.0 - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/updates/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/updates/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/updates/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[extras]
name=CentOS-6.0 - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/extras/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/extras/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/extras/\$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[centosplus]
name=CentOS-6.0 - Plus - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/centosplus/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/centosplus/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/centosplus/\$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
[contrib]
name=CentOS-6.0 - Contrib - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos-vault/6.5/contrib/\$basearch/
http://mirrors.aliyuncs.com/centos-vault/6.5/contrib/\$basearch/
http://mirrors.cloud.aliyuncs.com/centos-vault/6.5/contrib/\$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
EOF
# 创建 EPEL 仓库配置
cat <<EOF > /etc/yum.repos.d/epel.repo
[epel]
name=Extra Packages for Enterprise Linux 6 - \$basearch
baseurl=https://mirrors.aliyun.com/epel-archive/6/\$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-6
EOF
# Add to PATH
export PATH=/usr/local/gcc-8.5.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-8.5.0/lib64:$LD_LIBRARY_PATH
# 创建 RPM-GPG-KEY-EPEL-6 文件
cat <<EOF > /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)
mQINBEvSKUIBEADLGnUj24ZVKW7liFN/JA5CgtzlNnKs7sBg7fVbNWryiE3URbn1
JXvrdwHtkKyY96/ifZ1Ld3lE2gOF61bGZ2CWwJNee76Sp9Z+isP8RQXbG5jwj/4B
M9HK7phktqFVJ8VbY2jfTjcfxRvGM8YBwXF8hx0CDZURAjvf1xRSQJ7iAo58qcHn
XtxOAvQmAbR9z6Q/h/D+Y/PhoIJp1OV4VNHCbCs9M7HUVBpgC53PDcTUQuwcgeY6
pQgo9eT1eLNSZVrJ5Bctivl1UcD6P6CIGkkeT2gNhqindRPngUXGXW7Qzoefe+fV
QqJSm7Tq2q9oqVZ46J964waCRItRySpuW5dxZO34WM6wsw2BP2MlACbH4l3luqtp
Xo3Bvfnk+HAFH3HcMuwdaulxv7zYKXCfNoSfgrpEfo2Ex4Im/I3WdtwME/Gbnwdq
3VJzgAxLVFhczDHwNkjmIdPAlNJ9/ixRjip4dgZtW8VcBCrNoL+LhDrIfjvnLdRu
vBHy9P3sCF7FZycaHlMWP6RiLtHnEMGcbZ8QpQHi2dReU1wyr9QgguGU+jqSXYar
1yEcsdRGasppNIZ8+Qawbm/a4doT10TEtPArhSoHlwbvqTDYjtfV92lC/2iwgO6g
YgG9XrO4V8dV39Ffm7oLFfvTbg5mv4Q/E6AWo/gkjmtxkculbyAvjFtYAQARAQAB
tCFFUEVMICg2KSA8ZXBlbEBmZWRvcmFwcm9qZWN0Lm9yZz6JAjYEEwECACAFAkvS
KUICGw8GCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRA7Sd8qBgi4lR/GD/wLGPv9
qO39eyb9NlrwfKdUEo1tHxKdrhNz+XYrO4yVDTBZRPSuvL2yaoeSIhQOKhNPfEgT
9mdsbsgcfmoHxmGVcn+lbheWsSvcgrXuz0gLt8TGGKGGROAoLXpuUsb1HNtKEOwP
Q4z1uQ2nOz5hLRyDOV0I2LwYV8BjGIjBKUMFEUxFTsL7XOZkrAg/WbTH2PW3hrfS
WtcRA7EYonI3B80d39ffws7SmyKbS5PmZjqOPuTvV2F0tMhKIhncBwoojWZPExft
HpKhzKVh8fdDO/3P1y1Fk3Cin8UbCO9MWMFNR27fVzCANlEPljsHA+3Ez4F7uboF
p0OOEov4Yyi4BEbgqZnthTG4ub9nyiupIZ3ckPHr3nVcDUGcL6lQD/nkmNVIeLYP
x1uHPOSlWfuojAYgzRH6LL7Idg4FHHBA0to7FW8dQXFIOyNiJFAOT2j8P5+tVdq8
wB0PDSH8yRpn4HdJ9RYquau4OkjluxOWf0uRaS//SUcCZh+1/KBEOmcvBHYRZA5J
l/nakCgxGb2paQOzqqpOcHKvlyLuzO5uybMXaipLExTGJXBlXrbbASfXa/yGYSAG
iVrGz9CE6676dMlm8F+s3XXE13QZrXmjloc6jwOljnfAkjTGXjiB7OULESed96MR
XtfLk0W5Ab9pd7tKDR6QHI7rgHXfCopRnZ2VVQ==
=V/6I
-----END PGP PUBLIC KEY BLOCK-----
EOF
# 创建 SCL 仓库配置
cat <<EOF > /etc/yum.repos.d/CentOS-SCL.repo
# CentOS-SCLo-sclo.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information
[centos-sclo-sclo]
name=CentOS-6 - SCLo sclo
baseurl=http://vault.epel.cloud/centos/6/sclo/x86_64/sclo/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-testing]
name=CentOS-6 - SCLo sclo Testing
baseurl=http://buildlogs.centos.org/centos/6/sclo/x86_64/sclo/
gpgcheck=0
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-source]
name=CentOS-6 - SCLo sclo Sources
baseurl=http://vault.epel.cloud/centos/6/sclo/Source/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[centos-sclo-sclo-debuginfo]
name=CentOS-6 - SCLo sclo Debuginfo
baseurl=http://debuginfo.centos.org/centos/6/sclo/x86_64/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
EOF
# 清理和生成缓存
yum clean all
yum makecache
# 安装必要的软件包
yum install -y wget curl
yum install -y epel-release
yum install -y openssl-devel
yum install -y gcc gcc-c++ make zlib-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel libffi-devel tcl-devel tk-devel xz-devel
# Download and compile GCC 8.5.0
wget https://ftp.gnu.org/gnu/gcc/gcc-8.5.0/gcc-8.5.0.tar.gz
tar xzf gcc-8.5.0.tar.gz
cd gcc-8.5.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --disable-multilib --enable-languages=c,c++ --prefix=/usr/local/gcc-8.5.0
make -j$(nproc)
make install
# Add to PATH
export PATH=/usr/local/gcc-8.5.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/gcc-8.5.0/lib64:$LD_LIBRARY_PATH
export CC=/usr/local/gcc-8.5.0/bin/gcc
export CXX=/usr/local/gcc-8.5.0/bin/g++
# 下载并编译 OpenSSL
wget https://www.openssl.org/source/openssl-1.1.1w.tar.gz
tar xzf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config --prefix=/usr/local/openssl-1.1.1 --openssldir=/usr/local/openssl-1.1.1 shared zlib
make -j$(nproc)
make install
# 更新环境变量
export OPENSSL_HOME=/usr/local/openssl-1.1.1
export PATH="$OPENSSL_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$OPENSSL_HOME/lib:$LD_LIBRARY_PATH"
export CPPFLAGS="-I$OPENSSL_HOME/include"
export LDFLAGS="-L$OPENSSL_HOME/lib -Wl,-rpath=$OPENSSL_HOME/lib"
# 下载 Python 3.12.4 并编译安装
wget https://www.python.org/ftp/python/3.12.4/Python-3.12.4.tgz
tar -zxvf Python-3.12.4.tgz -C ./
cd Python-3.12.4
make clean
export LDFLAGS="-L/usr/local/openssl-1.1.1/lib"
export CPPFLAGS="-I/usr/local/openssl-1.1.1/include"
./configure \
--enable-shared \
--with-openssl="$OPENSSL_HOME" \
--with-ssl-default-suites=openssl \
LDFLAGS="$LDFLAGS" \
CPPFLAGS="$CPPFLAGS"
make -j$(nproc) altinstall


叨叨几句... NOTHING