mirror of
https://gitee.com/SuperManito/LinuxMirrors
synced 2026-04-12 07:35:16 +08:00
Docker 脚本适配 DEB822 格式软件源
This commit is contained in:
@@ -156,6 +156,8 @@ File_ProxmoxVersion=/etc/pve/.version
|
||||
File_AptSourceList=/etc/apt/sources.list
|
||||
Dir_AptAdditionalSources=/etc/apt/sources.list.d
|
||||
Dir_YumRepos=/etc/yum.repos.d
|
||||
File_DebianSources=$Dir_AptAdditionalSources/debian.sources
|
||||
File_UbuntuSources=$Dir_AptAdditionalSources/ubuntu.sources
|
||||
|
||||
## 定义 Docker 相关变量
|
||||
Dir_Docker=/etc/docker
|
||||
@@ -165,6 +167,7 @@ File_DockerVersionTmp=docker-version.txt
|
||||
File_DockerCEVersionTmp=docker-ce-version.txt
|
||||
File_DockerCECliVersionTmp=docker-ce-cli-version.txt
|
||||
File_DockerSourceList=$Dir_AptAdditionalSources/docker.list
|
||||
File_DockerSources=$Dir_AptAdditionalSources/docker.sources
|
||||
File_DockerRepo=$Dir_YumRepos/docker-ce.repo
|
||||
|
||||
## 定义颜色和样式变量
|
||||
@@ -627,7 +630,6 @@ function collect_system_info() {
|
||||
SYSTEM_JUDGMENT="${SYSTEM_RASPBERRY_PI_OS}"
|
||||
SYSTEM_PRETTY_NAME="${SYSTEM_RASPBERRY_PI_OS}"
|
||||
fi
|
||||
|
||||
## 针对特定系统的判定
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]]; then
|
||||
## 尚未正式发布的版本
|
||||
@@ -647,6 +649,14 @@ function collect_system_info() {
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
fi
|
||||
# Debian DEB822 格式源文件
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]] && [ -f "${File_DebianSources}" ]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
# Ubuntu DEB822 格式源文件
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_UBUNTU}" ]] && [ -f "${File_UbuntuSources}" ]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
;;
|
||||
"${SYSTEM_REDHAT}")
|
||||
SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
|
||||
@@ -711,6 +721,7 @@ function collect_system_info() {
|
||||
"${SYSTEM_KALI}")
|
||||
SOURCE_BRANCH="debian"
|
||||
SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||
USE_DEB822_FORMAT="true"
|
||||
;;
|
||||
"${SYSTEM_LINUX_MINT}")
|
||||
if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
|
||||
@@ -1205,8 +1216,17 @@ function configure_docker_ce_mirror() {
|
||||
chmod a+r $file_keyring
|
||||
## 添加源
|
||||
[ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources
|
||||
local apt_source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}} stable"
|
||||
echo "${apt_source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
||||
if [[ "${USE_DEB822_FORMAT}" == "true" ]]; then
|
||||
echo "Types: deb
|
||||
URIs: ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}
|
||||
Suites: ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}}
|
||||
Components: stable
|
||||
Architectures: $(dpkg --print-architecture)
|
||||
Signed-By: ${file_keyring}" >$File_DockerSources
|
||||
else
|
||||
local apt_source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}} stable"
|
||||
echo "${apt_source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
||||
fi
|
||||
commands+=("apt-get update")
|
||||
;;
|
||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||
|
||||
@@ -68,6 +68,8 @@ File_ProxmoxVersion=/etc/pve/.version
|
||||
File_AptSourceList=/etc/apt/sources.list
|
||||
Dir_AptAdditionalSources=/etc/apt/sources.list.d
|
||||
Dir_YumRepos=/etc/yum.repos.d
|
||||
File_DebianSources=$Dir_AptAdditionalSources/debian.sources
|
||||
File_UbuntuSources=$Dir_AptAdditionalSources/ubuntu.sources
|
||||
|
||||
## 定义 Docker 相关变量
|
||||
Dir_Docker=/etc/docker
|
||||
@@ -77,6 +79,7 @@ File_DockerVersionTmp=docker-version.txt
|
||||
File_DockerCEVersionTmp=docker-ce-version.txt
|
||||
File_DockerCECliVersionTmp=docker-ce-cli-version.txt
|
||||
File_DockerSourceList=$Dir_AptAdditionalSources/docker.list
|
||||
File_DockerSources=$Dir_AptAdditionalSources/docker.sources
|
||||
File_DockerRepo=$Dir_YumRepos/docker-ce.repo
|
||||
|
||||
## 定义颜色和样式变量
|
||||
@@ -404,6 +407,33 @@ function collect_system_info() {
|
||||
SYSTEM_JUDGMENT="${SYSTEM_RASPBERRY_PI_OS}"
|
||||
SYSTEM_PRETTY_NAME="${SYSTEM_RASPBERRY_PI_OS}"
|
||||
fi
|
||||
## 针对特定系统的判定
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]]; then
|
||||
## 尚未正式发布的版本
|
||||
if [[ -z "${SYSTEM_VERSION_ID}" && "${SYSTEM_VERSION_CODENAME}" == "forky" ]]; then
|
||||
SYSTEM_VERSION_ID="14"
|
||||
SYSTEM_VERSION_ID_MAJOR="${SYSTEM_VERSION_ID%%.*}"
|
||||
SYSTEM_VERSION_ID_MINOR="${SYSTEM_VERSION_ID#*.}"
|
||||
fi
|
||||
## 是否使用 DEB822 格式
|
||||
if [[ "${SYSTEM_VERSION_ID_MAJOR}" && "${SYSTEM_VERSION_ID_MAJOR}" -ge 13 ]]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
fi
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_UBUNTU}" ]]; then
|
||||
## 是否使用 DEB822 格式
|
||||
if [[ "${SYSTEM_VERSION_ID_MAJOR}" && "${SYSTEM_VERSION_ID_MAJOR}" -ge 24 ]]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
fi
|
||||
# Debian DEB822 格式源文件
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_DEBIAN}" ]] && [ -f "${File_DebianSources}" ]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
# Ubuntu DEB822 格式源文件
|
||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_UBUNTU}" ]] && [ -f "${File_UbuntuSources}" ]; then
|
||||
USE_DEB822_FORMAT="true"
|
||||
fi
|
||||
;;
|
||||
"${SYSTEM_REDHAT}")
|
||||
SYSTEM_JUDGMENT="$(awk '{printf $1}' $File_RedHatRelease)"
|
||||
@@ -468,6 +498,7 @@ function collect_system_info() {
|
||||
"${SYSTEM_KALI}")
|
||||
SOURCE_BRANCH="debian"
|
||||
SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||
USE_DEB822_FORMAT="true"
|
||||
;;
|
||||
"${SYSTEM_LINUX_MINT}")
|
||||
if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
|
||||
@@ -699,8 +730,17 @@ function configure_docker_ce_mirror() {
|
||||
chmod a+r $file_keyring
|
||||
## 添加源
|
||||
[ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources
|
||||
local apt_source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}} stable"
|
||||
echo "${apt_source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
||||
if [[ "${USE_DEB822_FORMAT}" == "true" ]]; then
|
||||
echo "Types: deb
|
||||
URIs: ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}
|
||||
Suites: ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}}
|
||||
Components: stable
|
||||
Architectures: $(dpkg --print-architecture)
|
||||
Signed-By: ${file_keyring}" >$File_DockerSources
|
||||
else
|
||||
local apt_source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${DEBIAN_CODENAME:-${SOURCE_BRANCH_CODENAME:-${SYSTEM_VERSION_CODENAME}}} stable"
|
||||
echo "${apt_source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
||||
fi
|
||||
commands+=("apt-get update")
|
||||
;;
|
||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||
|
||||
Reference in New Issue
Block a user