mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2025-11-04 00:10:27 +08:00
优化系统判定 & 更新版本号
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/env bash
|
#!/bin/env bash
|
||||||
## Author: SuperManito
|
## Author: SuperManito
|
||||||
## Modified: 2021-10-08
|
## Modified: 2021-10-17
|
||||||
## License: GPL-2.0
|
## License: GPL-2.0
|
||||||
## https://github.com/SuperManito/LinuxMirrors
|
## https://github.com/SuperManito/LinuxMirrors
|
||||||
## https://gitee.com/SuperManito/LinuxMirrors
|
## https://gitee.com/SuperManito/LinuxMirrors
|
||||||
@@ -21,6 +21,8 @@ function AuthorSignature() {
|
|||||||
echo -e '\033[36m /____/\__,_/ .___/\___/_/ /_/ /_/\__,_/_/ /_/_/\__/\____/ \033[0m'
|
echo -e '\033[36m /____/\__,_/ .___/\___/_/ /_/ /_/\__,_/_/ /_/_/\__/\____/ \033[0m'
|
||||||
echo -e '\033[34m /_/ \033[0m\n'
|
echo -e '\033[34m /_/ \033[0m\n'
|
||||||
fi
|
fi
|
||||||
|
echo -e " Github: https://github.com/SuperManito/LinuxMirrors"
|
||||||
|
echo -e " Gitee: https://gitee.com/SuperManito/LinuxMirrors\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
## 定义系统判定变量
|
## 定义系统判定变量
|
||||||
@@ -37,6 +39,7 @@ SYSTEM_FEDORA="Fedora"
|
|||||||
## 定义目录和文件
|
## 定义目录和文件
|
||||||
LinuxRelease=/etc/os-release
|
LinuxRelease=/etc/os-release
|
||||||
RedHatRelease=/etc/redhat-release
|
RedHatRelease=/etc/redhat-release
|
||||||
|
DebianVersion=/etc/debian_version
|
||||||
DebianSourceList=/etc/apt/sources.list
|
DebianSourceList=/etc/apt/sources.list
|
||||||
DebianSourceListBackup=/etc/apt/sources.list.bak
|
DebianSourceListBackup=/etc/apt/sources.list.bak
|
||||||
DebianExtendListDir=/etc/apt/sources.list.d
|
DebianExtendListDir=/etc/apt/sources.list.d
|
||||||
@@ -62,8 +65,11 @@ function EnvJudgment() {
|
|||||||
## 判定当前系统基于 Debian or RedHat
|
## 判定当前系统基于 Debian or RedHat
|
||||||
if [ -f $RedHatRelease ]; then
|
if [ -f $RedHatRelease ]; then
|
||||||
SYSTEM_FACTIONS=${SYSTEM_REDHAT}
|
SYSTEM_FACTIONS=${SYSTEM_REDHAT}
|
||||||
else
|
elif [ -f $DebianVersion ]; then
|
||||||
SYSTEM_FACTIONS=${SYSTEM_DEBIAN}
|
SYSTEM_FACTIONS=${SYSTEM_DEBIAN}
|
||||||
|
else
|
||||||
|
echo -e '\n\033[31m -------- 无法判断当前运行环境,请先确认脚本是否已适配当前系统! ------------ \033[0m\n'
|
||||||
|
exit
|
||||||
fi
|
fi
|
||||||
## 定义系统名称
|
## 定义系统名称
|
||||||
SYSTEM_NAME=$(cat $LinuxRelease | grep -E "^NAME" | awk -F '\"' '{print$2}')
|
SYSTEM_NAME=$(cat $LinuxRelease | grep -E "^NAME" | awk -F '\"' '{print$2}')
|
||||||
@@ -347,51 +353,50 @@ function UpgradeSoftware() {
|
|||||||
function DebianMirrors() {
|
function DebianMirrors() {
|
||||||
## 修改国内源
|
## 修改国内源
|
||||||
if [ ${SYSTEM_JUDGMENT} = ${SYSTEM_UBUNTU} ]; then
|
if [ ${SYSTEM_JUDGMENT} = ${SYSTEM_UBUNTU} ]; then
|
||||||
echo "## 默认注释了源码仓库,如有需要可自行取消注释" >>$DebianSourceList
|
echo "## 默认禁用源码镜像以提高速度,如需启用请自行取消注释
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main restricted universe multiverse" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main restricted universe multiverse
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main restricted universe multiverse" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main restricted universe multiverse
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-security main restricted universe multiverse" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-security main restricted universe multiverse
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-security main restricted universe multiverse" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-security main restricted universe multiverse
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main restricted universe multiverse" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main restricted universe multiverse
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main restricted universe multiverse" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main restricted universe multiverse
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main restricted universe multiverse" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main restricted universe multiverse
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main restricted universe multiverse" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main restricted universe multiverse
|
||||||
echo '' >>$DebianSourceList
|
|
||||||
echo "## 预发布软件源,不建议启用" >>$DebianSourceList
|
## 预发布软件源(不建议启用)
|
||||||
echo "# deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-proposed main restricted universe multiverse" >>$DebianSourceList
|
# deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-proposed main restricted universe multiverse
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-proposed main restricted universe multiverse" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-proposed main restricted universe multiverse" >>$DebianSourceList
|
||||||
elif [ ${SYSTEM_JUDGMENT} = ${SYSTEM_DEBIAN} ]; then
|
elif [ ${SYSTEM_JUDGMENT} = ${SYSTEM_DEBIAN} ]; then
|
||||||
echo "## 默认注释了源码仓库,如有需要可自行取消注释" >>$DebianSourceList
|
echo "## 默认禁用源码镜像以提高速度,如需启用请自行取消注释
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main contrib non-free" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main contrib non-free
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main contrib non-free" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main contrib non-free
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main contrib non-free" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main contrib non-free
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main contrib non-free" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-updates main contrib non-free
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main contrib non-free" >>$DebianSourceList
|
deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main contrib non-free
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main contrib non-free" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION}-backports main contrib non-free
|
||||||
echo '' >>$DebianSourceList
|
|
||||||
echo "## 预发布软件源,不建议启用" >>$DebianSourceList
|
## 预发布软件源(不建议启用)
|
||||||
echo "# deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}-security ${SYSTEM_VERSION}/updates main contrib non-free" >>$DebianSourceList
|
# deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}-security ${SYSTEM_VERSION}/updates main contrib non-free
|
||||||
echo "# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}-security ${SYSTEM_VERSION}/updates main contrib non-free" >>$DebianSourceList
|
# deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH}-security ${SYSTEM_VERSION}/updates main contrib non-free" >>$DebianSourceList
|
||||||
elif [ ${SYSTEM_JUDGMENT} = ${SYSTEM_KALI} ]; then
|
elif [ ${SYSTEM_JUDGMENT} = ${SYSTEM_KALI} ]; then
|
||||||
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main non-free contrib" >>$DebianSourceList
|
echo "deb ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main non-free contrib
|
||||||
echo "deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main non-free contrib" >>$DebianSourceList
|
deb-src ${WEB_PROTOCOL}://${SOURCE}/${SOURCE_BRANCH} ${SYSTEM_VERSION} main non-free contrib" >>$DebianSourceList
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
## 更换基于 RedHat 系 Linux 发行版的国内源
|
## 更换基于 RedHat 系 Linux 发行版的国内源
|
||||||
function RedHatMirrors() {
|
function RedHatMirrors() {
|
||||||
## 生成基于 RedHat 发行版和及其衍生发行版的官方 repo 源文件
|
## 生成基于 RedHat 发行版和及其衍生发行版的官方 repo 源文件
|
||||||
## 由于 RedHat 系 Linux 源文件各不相同且不易判断,故通过在删除原有源后重新创建官方源的方式更换国内源
|
|
||||||
cd $RedHatReposDir
|
cd $RedHatReposDir
|
||||||
case ${SYSTEM_JUDGMENT} in
|
case ${SYSTEM_JUDGMENT} in
|
||||||
RedHat | CentOS)
|
RedHat | CentOS)
|
||||||
CentOSReposCreate
|
CreateCentOSRepoFiles
|
||||||
;;
|
;;
|
||||||
Fedora)
|
Fedora)
|
||||||
FedoraReposCreate
|
CreateReposRepoFiles
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
## 修改国内源
|
## 修改源
|
||||||
if [ ${SYSTEM_JUDGMENT} = ${SYSTEM_CENTOS} -o ${SYSTEM_JUDGMENT} = ${SYSTEM_RHEL} ]; then
|
if [ ${SYSTEM_JUDGMENT} = ${SYSTEM_CENTOS} -o ${SYSTEM_JUDGMENT} = ${SYSTEM_RHEL} ]; then
|
||||||
sed -i 's|^mirrorlist=|#mirrorlist=|g' $RedHatReposDir/${SYSTEM_CENTOS}-*
|
sed -i 's|^mirrorlist=|#mirrorlist=|g' $RedHatReposDir/${SYSTEM_CENTOS}-*
|
||||||
[ ${CENTOS_VERSION} -eq "8" ] && sed -i 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=http://mirror.centos.org/centos|g' $RedHatReposDir/${SYSTEM_CENTOS}-*
|
[ ${CENTOS_VERSION} -eq "8" ] && sed -i 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=http://mirror.centos.org/centos|g' $RedHatReposDir/${SYSTEM_CENTOS}-*
|
||||||
@@ -589,7 +594,7 @@ function ChooseMirrors() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
## 生成 CentOS 官方 repo 源文件
|
## 生成 CentOS 官方 repo 源文件
|
||||||
function CentOSReposCreate() {
|
function CreateCentOSRepoFiles() {
|
||||||
if [ ${CENTOS_VERSION} -eq "8" ]; then
|
if [ ${CENTOS_VERSION} -eq "8" ]; then
|
||||||
CentOS8_RepoFiles='CentOS-Linux-AppStream.repo CentOS-Linux-BaseOS.repo CentOS-Linux-ContinuousRelease.repo CentOS-Linux-Debuginfo.repo CentOS-Linux-Devel.repo CentOS-Linux-Extras.repo CentOS-Linux-FastTrack.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-Media.repo CentOS-Linux-Plus.repo CentOS-Linux-PowerTools.repo CentOS-Linux-Sources.repo'
|
CentOS8_RepoFiles='CentOS-Linux-AppStream.repo CentOS-Linux-BaseOS.repo CentOS-Linux-ContinuousRelease.repo CentOS-Linux-Debuginfo.repo CentOS-Linux-Devel.repo CentOS-Linux-Extras.repo CentOS-Linux-FastTrack.repo CentOS-Linux-HighAvailability.repo CentOS-Linux-Media.repo CentOS-Linux-Plus.repo CentOS-Linux-PowerTools.repo CentOS-Linux-Sources.repo'
|
||||||
for REPOS in $CentOS8_RepoFiles; do
|
for REPOS in $CentOS8_RepoFiles; do
|
||||||
@@ -1025,7 +1030,7 @@ EOF
|
|||||||
}
|
}
|
||||||
|
|
||||||
## 生成 Fedora 官方 repo 源文件
|
## 生成 Fedora 官方 repo 源文件
|
||||||
function FedoraReposCreate() {
|
function CreateReposRepoFiles() {
|
||||||
Fedora_RepoFiles='fedora-cisco-openh264.repo fedora.repo fedora-updates.repo fedora-modular.repo fedora-updates-modular.repo fedora-updates-testing.repo fedora-updates-testing-modular.repo'
|
Fedora_RepoFiles='fedora-cisco-openh264.repo fedora.repo fedora-updates.repo fedora-modular.repo fedora-updates-modular.repo fedora-updates-testing.repo fedora-updates-testing-modular.repo'
|
||||||
for REPOS in $Fedora_RepoFiles; do
|
for REPOS in $Fedora_RepoFiles; do
|
||||||
touch $REPOS
|
touch $REPOS
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
## Author: SuperManito
|
## Author: SuperManito
|
||||||
## Modified: 2021-10-08
|
## Modified: 2021-10-17
|
||||||
## License: GPL-2.0
|
## License: GPL-2.0
|
||||||
## https://github.com/SuperManito/LinuxMirrors
|
## https://github.com/SuperManito/LinuxMirrors
|
||||||
## https://gitee.com/SuperManito/LinuxMirrors
|
## https://gitee.com/SuperManito/LinuxMirrors
|
||||||
@@ -11,7 +11,7 @@ function AuthorSignature() {
|
|||||||
elif [ ${SYSTEM_FACTIONS} = ${SYSTEM_REDHAT} ]; then
|
elif [ ${SYSTEM_FACTIONS} = ${SYSTEM_REDHAT} ]; then
|
||||||
yum install -y figlet toilet >/dev/null 2>&1
|
yum install -y figlet toilet >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
if [[ $? -eq 0 ]]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo -e "\n$(toilet -f slant -F border --gay SuperManito)\n"
|
echo -e "\n$(toilet -f slant -F border --gay SuperManito)\n"
|
||||||
else
|
else
|
||||||
echo -e '\n\033[35m _____ __ ___ _ __ \033[0m'
|
echo -e '\n\033[35m _____ __ ___ _ __ \033[0m'
|
||||||
@@ -21,6 +21,8 @@ function AuthorSignature() {
|
|||||||
echo -e '\033[36m /____/\__,_/ .___/\___/_/ /_/ /_/\__,_/_/ /_/_/\__/\____/ \033[0m'
|
echo -e '\033[36m /____/\__,_/ .___/\___/_/ /_/ /_/\__,_/_/ /_/_/\__/\____/ \033[0m'
|
||||||
echo -e '\033[34m /_/ \033[0m\n'
|
echo -e '\033[34m /_/ \033[0m\n'
|
||||||
fi
|
fi
|
||||||
|
echo -e " Github: https://github.com/SuperManito/LinuxMirrors"
|
||||||
|
echo -e " Gitee: https://gitee.com/SuperManito/LinuxMirrors\n"
|
||||||
}
|
}
|
||||||
|
|
||||||
## 定义系统判定变量
|
## 定义系统判定变量
|
||||||
@@ -37,6 +39,7 @@ SYSTEM_FEDORA="Fedora"
|
|||||||
## 定义目录和文件
|
## 定义目录和文件
|
||||||
LinuxRelease=/etc/os-release
|
LinuxRelease=/etc/os-release
|
||||||
RedHatRelease=/etc/redhat-release
|
RedHatRelease=/etc/redhat-release
|
||||||
|
DebianVersion=/etc/debian_version
|
||||||
DebianSourceList=/etc/apt/sources.list
|
DebianSourceList=/etc/apt/sources.list
|
||||||
DebianExtendListDir=/etc/apt/sources.list.d
|
DebianExtendListDir=/etc/apt/sources.list.d
|
||||||
RedHatReposDir=/etc/yum.repos.d
|
RedHatReposDir=/etc/yum.repos.d
|
||||||
@@ -75,8 +78,11 @@ function EnvJudgment() {
|
|||||||
## 判定当前系统基于 Debian or RedHat
|
## 判定当前系统基于 Debian or RedHat
|
||||||
if [ -f $RedHatRelease ]; then
|
if [ -f $RedHatRelease ]; then
|
||||||
SYSTEM_FACTIONS=${SYSTEM_REDHAT}
|
SYSTEM_FACTIONS=${SYSTEM_REDHAT}
|
||||||
else
|
elif [ -f $DebianVersion ]; then
|
||||||
SYSTEM_FACTIONS=${SYSTEM_DEBIAN}
|
SYSTEM_FACTIONS=${SYSTEM_DEBIAN}
|
||||||
|
else
|
||||||
|
echo -e '\n\033[31m -------- 无法判断当前运行环境,请先确认脚本是否已适配当前系统! ------------ \033[0m\n'
|
||||||
|
exit
|
||||||
fi
|
fi
|
||||||
## 定义系统名称
|
## 定义系统名称
|
||||||
SYSTEM_NAME=$(cat $LinuxRelease | grep -E "^NAME" | awk -F '\"' '{print$2}')
|
SYSTEM_NAME=$(cat $LinuxRelease | grep -E "^NAME" | awk -F '\"' '{print$2}')
|
||||||
@@ -236,7 +242,7 @@ function DockerEngineVersionList() {
|
|||||||
|
|
||||||
## 配置 Docker CE 源
|
## 配置 Docker CE 源
|
||||||
function ConfigureDockerCEMirror() {
|
function ConfigureDockerCEMirror() {
|
||||||
if [ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]; then
|
if [[ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]]; then
|
||||||
SOURCE_JUDGMENT=${SOURCE}
|
SOURCE_JUDGMENT=${SOURCE}
|
||||||
else
|
else
|
||||||
SOURCE_JUDGMENT="download.docker.com"
|
SOURCE_JUDGMENT="download.docker.com"
|
||||||
@@ -278,7 +284,7 @@ function DockerEngine() {
|
|||||||
DOCKER_INSTALLED_VERSION=$(docker -v | grep -Eo "[0-9][0-9].[0-9][0-9].[0-9]{1,2}")
|
DOCKER_INSTALLED_VERSION=$(docker -v | grep -Eo "[0-9][0-9].[0-9][0-9].[0-9]{1,2}")
|
||||||
DOCKER_VERSION_LATEST=$(cat $DockerVersionFile | head -n 1)
|
DOCKER_VERSION_LATEST=$(cat $DockerVersionFile | head -n 1)
|
||||||
if [[ ${DOCKER_INSTALLED_VERSION} == ${DOCKER_VERSION_LATEST} ]]; then
|
if [[ ${DOCKER_INSTALLED_VERSION} == ${DOCKER_VERSION_LATEST} ]]; then
|
||||||
if [ ${DOCKER_VERSION_INSTALL_LATEST} = "True" ]; then
|
if [[ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]]; then
|
||||||
echo -e '\n\033[32m---------- 检测到已安装最新版本的 Docker Engine,跳过安装 ----------\033[0m'
|
echo -e '\n\033[32m---------- 检测到已安装最新版本的 Docker Engine,跳过安装 ----------\033[0m'
|
||||||
ConfigureImageAccelerator
|
ConfigureImageAccelerator
|
||||||
systemctl status docker | grep running -q
|
systemctl status docker | grep running -q
|
||||||
@@ -295,7 +301,7 @@ function DockerEngine() {
|
|||||||
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装最新版本的 Docker Engine,是否继续安装其它版本 [ Y/n ]:\033[0m')
|
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装最新版本的 Docker Engine,是否继续安装其它版本 [ Y/n ]:\033[0m')
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ ${DOCKER_VERSION_INSTALL_LATEST} = "True" ]; then
|
if [[ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]]; then
|
||||||
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装旧版本的 Docker Engine,是否覆盖安装为最新版本 [ Y/n ]:\033[0m')
|
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装旧版本的 Docker Engine,是否覆盖安装为最新版本 [ Y/n ]:\033[0m')
|
||||||
else
|
else
|
||||||
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装旧版本的 Docker Engine,是否继续安装其它版本 [ Y/n ]:\033[0m')
|
CHOICE_E=$(echo -e '\n\033[1m└ 检测到已安装旧版本的 Docker Engine,是否继续安装其它版本 [ Y/n ]:\033[0m')
|
||||||
@@ -325,7 +331,7 @@ function DockerEngine() {
|
|||||||
systemctl enable --now docker >/dev/null 2>&1
|
systemctl enable --now docker >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
function DockerEngineInstall() {
|
function DockerEngineInstall() {
|
||||||
if [ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]; then
|
if [[ ${DOCKER_VERSION_INSTALL_LATEST} == "True" ]]; then
|
||||||
case ${SYSTEM_FACTIONS} in
|
case ${SYSTEM_FACTIONS} in
|
||||||
Debian)
|
Debian)
|
||||||
apt-get install -y docker-ce docker-ce-cli containerd.io
|
apt-get install -y docker-ce docker-ce-cli containerd.io
|
||||||
@@ -386,7 +392,7 @@ function DockerEngineInstall() {
|
|||||||
|
|
||||||
## 修改 Docker Hub 源
|
## 修改 Docker Hub 源
|
||||||
function ConfigureImageAccelerator() {
|
function ConfigureImageAccelerator() {
|
||||||
if [ ${REGISTRY_SOURCE_OFFICIAL} = "False" ]; then
|
if [[ ${REGISTRY_SOURCE_OFFICIAL} == "False" ]]; then
|
||||||
if [ -d $DockerDir ] && [ -e $DockerConfig ]; then
|
if [ -d $DockerDir ] && [ -e $DockerConfig ]; then
|
||||||
if [ -e $DockerConfigBackup ]; then
|
if [ -e $DockerConfigBackup ]; then
|
||||||
CHOICE_BACKUP=$(echo -e "\n\033[1m└ 检测到已备份的 Docker 配置文件,是否覆盖备份 [ Y/n ]:\033[0m")
|
CHOICE_BACKUP=$(echo -e "\n\033[1m└ 检测到已备份的 Docker 配置文件,是否覆盖备份 [ Y/n ]:\033[0m")
|
||||||
@@ -418,30 +424,30 @@ function ConfigureImageAccelerator() {
|
|||||||
|
|
||||||
## 安装 Docker Compose
|
## 安装 Docker Compose
|
||||||
function DockerCompose() {
|
function DockerCompose() {
|
||||||
if [ ${DOCKER_COMPOSE} == "True" ]; then
|
if [[ ${DOCKER_COMPOSE} == "True" ]]; then
|
||||||
[ -e $DockerCompose ] && rm -rf $DockerCompose
|
[ -e $DockerCompose ] && rm -rf $DockerCompose
|
||||||
if [ ${Arch} = "x86_64" ]; then
|
if [[ ${Arch} == "x86_64" ]]; then
|
||||||
echo -e ''
|
echo -e ''
|
||||||
if [ ${DOCKER_COMPOSE_DOWNLOAD_PROXY} = "True" ]; then
|
if [ ${DOCKER_COMPOSE_DOWNLOAD_PROXY} == "True" ]; then
|
||||||
curl -L ${PROXY_URL}${DOCKER_COMPOSE_DOWNLOAD_URL} -o $DockerCompose
|
curl -L ${PROXY_URL}${DOCKER_COMPOSE_DOWNLOAD_URL} -o $DockerCompose
|
||||||
else
|
else
|
||||||
curl -L ${DOCKER_COMPOSE_DOWNLOAD_URL} -o $DockerCompose
|
curl -L ${DOCKER_COMPOSE_DOWNLOAD_URL} -o $DockerCompose
|
||||||
fi
|
fi
|
||||||
chmod +x $DockerCompose
|
chmod +x $DockerCompose
|
||||||
else
|
else
|
||||||
echo -e '\n[*] 正在通过 pip 安装 Docker Compose ......\n'
|
echo -e '\n[*] 由于本机非 x86架构,开始通过 pip3 安装 Docker Compose ......\n'
|
||||||
if [ ${SYSTEM_FACTIONS} = ${SYSTEM_DEBIAN} ]; then
|
if [ ${SYSTEM_FACTIONS} = ${SYSTEM_DEBIAN} ]; then
|
||||||
apt-get install -y python3-pip python3-dev gcc libffi-dev openssl >/dev/null 2>&1
|
apt-get install -y python3-pip python3-dev gcc libffi-dev openssl >/dev/null 2>&1
|
||||||
elif [ ${SYSTEM_FACTIONS} = ${SYSTEM_REDHAT} ]; then
|
elif [ ${SYSTEM_FACTIONS} = ${SYSTEM_REDHAT} ]; then
|
||||||
yum install -y python3-pip python3-devel gcc libffi-devel openssl-devel >/dev/null 2>&1
|
yum install -y python3-pip python3-devel gcc libffi-devel openssl-devel >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
pip3 install --upgrade pip
|
pip3 install --upgrade pip
|
||||||
if [ ${DOCKER_COMPOSE_DOWNLOAD_PROXY} = "True" ]; then
|
if [ ${DOCKER_COMPOSE_DOWNLOAD_PROXY} == "True" ]; then
|
||||||
pip3 install -i https://mirrors.aliyun.com/pypi/simple docker-compose
|
pip3 install -i https://mirrors.aliyun.com/pypi/simple docker-compose
|
||||||
else
|
else
|
||||||
pip3 install docker-compose
|
pip3 install docker-compose
|
||||||
fi
|
fi
|
||||||
[ $? -ne 0 ] && echo -e "\n\033[31m---------- Docker Compose 安装失败,检测到当前处理器为 ${Arch} 架构无法保证 100% 安装成功,自行查看 pip 报错原因 ----------\033[0m\n"
|
[ $? -ne 0 ] && echo -e "\n\033[31m---------- Docker Compose 安装失败 ----------\033[0m\n\n检测到当前处理器架构为 ${Arch} ,无法保证安装结果,自行查看 pip 报错原因"
|
||||||
fi
|
fi
|
||||||
echo -e ''
|
echo -e ''
|
||||||
else
|
else
|
||||||
@@ -454,7 +460,7 @@ function ShowVersion() {
|
|||||||
echo -e '\033[32m---------- 验证安装版本 ----------\033[0m\n'
|
echo -e '\033[32m---------- 验证安装版本 ----------\033[0m\n'
|
||||||
docker -v
|
docker -v
|
||||||
VERIFICATION_DOCKER=$?
|
VERIFICATION_DOCKER=$?
|
||||||
[ ${DOCKER_COMPOSE} = "True" ] && docker-compose -v
|
[[ ${DOCKER_COMPOSE} == "True" ]] && docker-compose -v
|
||||||
if [ ${VERIFICATION_DOCKER} -eq 0 ]; then
|
if [ ${VERIFICATION_DOCKER} -eq 0 ]; then
|
||||||
echo -e '\n\033[32m---------- 安装完成 ----------\033[0m'
|
echo -e '\n\033[32m---------- 安装完成 ----------\033[0m'
|
||||||
else
|
else
|
||||||
@@ -462,14 +468,14 @@ function ShowVersion() {
|
|||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
systemctl status docker | grep running -q
|
systemctl status docker | grep running -q
|
||||||
if [[ $? -ne 0 ]]; then
|
if [ $? -ne 0 ]; then
|
||||||
sleep 2
|
sleep 2
|
||||||
systemctl disable --now docker >/dev/null 2>&1
|
systemctl disable --now docker >/dev/null 2>&1
|
||||||
sleep 2
|
sleep 2
|
||||||
systemctl enable --now docker >/dev/null 2>&1
|
systemctl enable --now docker >/dev/null 2>&1
|
||||||
sleep 2
|
sleep 2
|
||||||
systemctl status docker | grep running -q
|
systemctl status docker | grep running -q
|
||||||
if [[ $? -ne 0 ]]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo -e '\n\033[31m [ERROR] 检测到 Docker 服务启动异常,可能由于重复安装相同版本导致\033[0m'
|
echo -e '\n\033[31m [ERROR] 检测到 Docker 服务启动异常,可能由于重复安装相同版本导致\033[0m'
|
||||||
echo -e '\n\033[31m 请执行 systemctl start docker 或 service docker start 命令尝试启动\033[0m'
|
echo -e '\n\033[31m 请执行 systemctl start docker 或 service docker start 命令尝试启动\033[0m'
|
||||||
echo -e '\n\033[31m 官方安装文档:https://docs.docker.com/engine/install\033[0m'
|
echo -e '\n\033[31m 官方安装文档:https://docs.docker.com/engine/install\033[0m'
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -29,15 +29,15 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.debian.org"><img src="./icon/debian.svg" width="16" height="16"/></a> Debian</td>
|
<td><a href="https://www.debian.org"><img src="./icon/debian.svg" width="16" height="16"/></a> Debian</td>
|
||||||
<td align="center">8.0 ~ 11.0</td>
|
<td align="center">8.0 ~ 11.1</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://cn.ubuntu.com"><img src="./icon/ubuntu.svg" width="16" height="16"/></a> Ubuntu</td>
|
<td><a href="https://cn.ubuntu.com"><img src="./icon/ubuntu.svg" width="16" height="16"/></a> Ubuntu</td>
|
||||||
<td align="center">16.04 ~ 21.04</td>
|
<td align="center">16.04 ~ 21.10</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.kali.org"><img src="./icon/kali.svg" width="16" height="16"/></a> Kali Linux</td>
|
<td><a href="https://www.kali.org"><img src="./icon/kali.svg" width="16" height="16"/></a> Kali Linux</td>
|
||||||
<td align="center">2.0 ~ 2021.2</td>
|
<td align="center">2.0 ~ 2021.3</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.redhat.com/zhtechnologies/linux-platforms/enterprise-linux"><img src="./icon/redhat.svg" width="16" height="16"/></a> RHEL</td>
|
<td><a href="https://www.redhat.com/zhtechnologies/linux-platforms/enterprise-linux"><img src="./icon/redhat.svg" width="16" height="16"/></a> RHEL</td>
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
|
|
||||||
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
|
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
|
||||||
> __注意:__
|
> __注意:__
|
||||||
> - _Debian 系 Linux 默认注释了源码仓库和预发布软件源,若需启用可将 list 源文件中相关内容的所在行 `取消注释`。_
|
> - _Debian 系 Linux 默认禁用了源码仓库和预发布软件源,若需启用可将 list 源文件中相关内容的所在行 `取消注释`。_
|
||||||
> - _RedHat 系 Linux 配置了所有可以配置的仓库,但有一些仓库默认没有启用,若需启用可将 repo 源文件中的 `enabled=0`修改成 `enabled=1`。_
|
> - _RedHat 系 Linux 配置了所有可以配置的仓库,但有一些仓库默认没有启用,若需启用可将 repo 源文件中的 `enabled=0`修改成 `enabled=1`。_
|
||||||
|
|
||||||
***
|
***
|
||||||
@@ -141,4 +141,4 @@ Copyright © 2021, [SuperManito](https://github.com/SuperManito). Released under
|
|||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
__如果您觉得这个项目不错的话可以在右上角给颗⭐吗?方便分享给更多的朋友吗?__
|
__如果您觉得这个项目不错的话可以在右上角给颗⭐吗?方便分享给更多的朋友吗?__
|
||||||
Reference in New Issue
Block a user