Compare commits
4 Commits
cbda99f56e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fec7c28054 | ||
|
|
1ddf1fb708 | ||
|
|
c84ed20dfa | ||
|
|
655c8cdabe |
33
.github/CONTRIBUTING.md
vendored
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# 参与共建
|
||||||
|
|
||||||
|
这篇指南会指导你如何为 LinuxMirrors 贡献自己的一份力量,请你在提 issue 或者 pull request 之前花几分钟来阅读一遍这篇指南。
|
||||||
|
|
||||||
|
## 行为准则
|
||||||
|
|
||||||
|
我们有一份 [行为准则](https://github.com/SuperManito/LinuxMirrors/blob/main/CODE_OF_CONDUCT.md),希望所有的贡献者都能遵守,请花时间阅读一遍全文以确保你能明白哪些是可以做的,哪些是不可以做的。
|
||||||
|
|
||||||
|
## 透明的开发
|
||||||
|
|
||||||
|
我们所有的工作都会放在 [GitHub](https://github.com/SuperManito/LinuxMirrors) 上。不管是核心团队的成员还是外部贡献者的 pull request 都需要经过同样流程的 review。
|
||||||
|
|
||||||
|
## Pull Request
|
||||||
|
|
||||||
|
请确保你的代码符合我们的编码规范,并且通过了所有的测试。提交前请务必在本地客户端进行测试,确保脚本的功能和性能符合预期,不会出现任何致命性的错误。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
# Contributing to LinuxMirrors
|
||||||
|
|
||||||
|
The following is a set of guidelines for contributing to LinuxMirrors. Please spend several minutes reading these guidelines before you create an issue or pull request.
|
||||||
|
|
||||||
|
## Code of Conduct
|
||||||
|
|
||||||
|
We have adopted a [Code of Conduct](https://github.com/SuperManito/LinuxMirrors/blob/main/CODE_OF_CONDUCT.md) that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
|
||||||
|
|
||||||
|
## Open Development
|
||||||
|
|
||||||
|
All work on LinuxMirrors happens directly on [GitHub](https://github.com/SuperManito/LinuxMirrors). Both core team members and external contributors send pull requests which go through the same review process.
|
||||||
|
|
||||||
|
## Pull Request
|
||||||
|
|
||||||
|
Please ensure that your code complies with our coding standards and passes all tests. Before submitting, be sure to test it on your local client to ensure that the script's functionality and performance meet expectations and that there are no fatal errors.
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
2025-11-02
|
||||||
|
|
||||||
|
* Adapted for Kylin Server to docker script [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
2025-10-12
|
2025-10-12
|
||||||
|
|
||||||
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
2025-11-02
|
||||||
|
|
||||||
|
* Docker 脚本新增适配 Kylin Server 操作系统 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
2025-10-12
|
2025-10-12
|
||||||
|
|
||||||
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
2025-11-02
|
||||||
|
|
||||||
|
* Docker 腳本新增適配 Kylin Server 作業系統 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
2025-10-12
|
2025-10-12
|
||||||
|
|
||||||
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
## Author: SuperManito
|
## Author: SuperManito
|
||||||
## Modified: 2025-10-20
|
## Modified: 2025-11-02
|
||||||
## License: MIT
|
## License: MIT
|
||||||
## GitHub: https://github.com/SuperManito/LinuxMirrors
|
## GitHub: https://github.com/SuperManito/LinuxMirrors
|
||||||
## Website: https://linuxmirrors.cn
|
## Website: https://linuxmirrors.cn
|
||||||
@@ -163,12 +163,12 @@ SPONSOR_ADS=(
|
|||||||
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
|
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
|
||||||
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
|
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
|
||||||
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
|
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
|
||||||
|
"林枫云 · 专注独立IP高频VPS|R9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
|
||||||
"不死鸟CDN · 香港日本高防CDN,免实名/免备案,轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
|
"不死鸟CDN · 香港日本高防CDN,免实名/免备案,轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
|
||||||
"青叶云 · 香港1T高防|自助防火墙,无视CC|大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
|
"青叶云 · 香港1T高防|自助防火墙,无视CC|大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
|
||||||
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
|
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
|
||||||
"云悠YUNYOO · 全球高性价比云服务器|低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
|
"云悠YUNYOO · 全球高性价比云服务器|低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
|
||||||
"速拓云 · 国内高防云28元/月|香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
|
"速拓云 · 国内高防云28元/月|香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
|
||||||
"林枫云 · 专注独立IP高频VPS|R9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
|
|
||||||
"语鹿云盾 · 专业CDN加速、防御,亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
|
"语鹿云盾 · 专业CDN加速、防御,亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
|
||||||
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
|
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
|
||||||
"HKGserver · 全球家宽|双ISP|住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
|
"HKGserver · 全球家宽|双ISP|住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
|
||||||
@@ -198,6 +198,8 @@ SYSTEM_OPENCLOUDOS_STREAM="OpenCloudOS Stream"
|
|||||||
SYSTEM_TENCENTOS="TencentOS"
|
SYSTEM_TENCENTOS="TencentOS"
|
||||||
SYSTEM_OPENEULER="openEuler"
|
SYSTEM_OPENEULER="openEuler"
|
||||||
SYSTEM_ANOLISOS="Anolis"
|
SYSTEM_ANOLISOS="Anolis"
|
||||||
|
SYSTEM_KYLIN_DESKTOP="Kylin Desktop"
|
||||||
|
SYSTEM_KYLIN_SERVER="Kylin Server"
|
||||||
SYSTEM_OPENKYLIN="openKylin"
|
SYSTEM_OPENKYLIN="openKylin"
|
||||||
SYSTEM_OPENSUSE="openSUSE"
|
SYSTEM_OPENSUSE="openSUSE"
|
||||||
SYSTEM_ARCH="Arch"
|
SYSTEM_ARCH="Arch"
|
||||||
@@ -223,7 +225,8 @@ File_ArchLinuxRelease=/etc/arch-release
|
|||||||
File_ManjaroRelease=/etc/manjaro-release
|
File_ManjaroRelease=/etc/manjaro-release
|
||||||
File_AlpineRelease=/etc/alpine-release
|
File_AlpineRelease=/etc/alpine-release
|
||||||
File_GentooRelease=/etc/gentoo-release
|
File_GentooRelease=/etc/gentoo-release
|
||||||
File_openKylinVersion=/etc/kylin-version/kylin-system-version.conf
|
File_KylinRelease=/etc/kylin-release
|
||||||
|
File_kylinVersion=/etc/kylin-version/kylin-system-version.conf
|
||||||
File_ProxmoxVersion=/etc/pve/.version
|
File_ProxmoxVersion=/etc/pve/.version
|
||||||
|
|
||||||
## 定义软件源相关文件或目录
|
## 定义软件源相关文件或目录
|
||||||
@@ -759,7 +762,7 @@ function collect_system_info() {
|
|||||||
SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}" # 自 9.0 版本起不再基于红帽
|
SYSTEM_FACTIONS="${SYSTEM_OPENCLOUDOS}" # 自 9.0 版本起不再基于红帽
|
||||||
elif [ -s "${File_AnolisOSRelease}" ]; then
|
elif [ -s "${File_AnolisOSRelease}" ]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
|
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
|
||||||
elif [ -s "${File_openKylinVersion}" ]; then
|
elif [ -s "${File_kylinVersion}" ] && [[ "${SYSTEM_ID}" == *"openkylin"* ]]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
|
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
|
||||||
elif [ -f "${File_ArchLinuxRelease}" ]; then
|
elif [ -f "${File_ArchLinuxRelease}" ]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_ARCH}"
|
SYSTEM_FACTIONS="${SYSTEM_ARCH}"
|
||||||
@@ -1088,7 +1091,7 @@ function check_command_options() {
|
|||||||
function choose_display_language() {
|
function choose_display_language() {
|
||||||
local result
|
local result
|
||||||
if command_exists tput; then
|
if command_exists tput; then
|
||||||
local lang_key_labels=()
|
local -a lang_key_labels=()
|
||||||
local language_text
|
local language_text
|
||||||
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
|
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
|
||||||
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
|
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
|
||||||
@@ -1136,22 +1139,21 @@ function choose_mirrors() {
|
|||||||
local text=$1
|
local text=$1
|
||||||
echo "${#text}"
|
echo "${#text}"
|
||||||
}
|
}
|
||||||
|
local -a list_arr=()
|
||||||
local list_arr=()
|
|
||||||
local list_arr_sum="$(eval echo \${#$1[@]})"
|
local list_arr_sum="$(eval echo \${#$1[@]})"
|
||||||
for ((i = 0; i < $list_arr_sum; i++)); do
|
for ((i = 0; i < $list_arr_sum; i++)); do
|
||||||
list_arr[$i]="$(eval echo \${$1[i]})"
|
list_arr[$i]="$(eval echo \${$1[i]})"
|
||||||
done
|
done
|
||||||
local name_width=${2:-"30"}
|
local name_width=${2:-"30"}
|
||||||
local __labels=()
|
local -a list_labels=()
|
||||||
if [[ "${3}" ]]; then
|
if [[ "${3}" ]]; then
|
||||||
eval "__labels=(\"\${${3}[@]}\")"
|
eval "list_labels=(\"\${${3}[@]}\")"
|
||||||
fi
|
fi
|
||||||
if command_exists printf; then
|
if command_exists printf; then
|
||||||
local tmp_uchar_1 tmp_uchar_2 tmp_uchar_3 tmp_uchar_4 tmp_default_length tmp_length tmp_unicode_length tmp_spaces_nums tmp_max_length
|
local tmp_uchar_1 tmp_uchar_2 tmp_uchar_3 tmp_uchar_4 tmp_default_length tmp_length tmp_unicode_length tmp_spaces_nums tmp_max_length
|
||||||
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
||||||
if [[ "${__labels[$i]}" ]]; then
|
if [[ "${list_labels[$i]}" ]]; then
|
||||||
tmp_name="${__labels[$i]}"
|
tmp_name="${list_labels[$i]}"
|
||||||
else
|
else
|
||||||
tmp_name="${list_arr[i]}"
|
tmp_name="${list_arr[i]}"
|
||||||
fi
|
fi
|
||||||
@@ -1176,8 +1178,8 @@ function choose_mirrors() {
|
|||||||
done
|
done
|
||||||
else
|
else
|
||||||
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
for ((i = 0; i < ${#list_arr[@]}; i++)); do
|
||||||
if [[ "${__labels[$i]}" ]]; then
|
if [[ "${list_labels[$i]}" ]]; then
|
||||||
tmp_name="${__labels[$i]}"
|
tmp_name="${list_labels[$i]}"
|
||||||
else
|
else
|
||||||
tmp_name="${list_arr[i]}"
|
tmp_name="${list_arr[i]}"
|
||||||
fi
|
fi
|
||||||
@@ -1248,7 +1250,7 @@ function choose_mirrors() {
|
|||||||
mirror_list_label_msg_prefix="mirrors.default"
|
mirror_list_label_msg_prefix="mirrors.default"
|
||||||
mirror_list_print_length=32
|
mirror_list_print_length=32
|
||||||
fi
|
fi
|
||||||
local mirror_list_labels=()
|
local -a mirror_list_labels=()
|
||||||
local mirror_list_length=$(eval "echo \${#${mirror_list_name}[@]}")
|
local mirror_list_length=$(eval "echo \${#${mirror_list_name}[@]}")
|
||||||
local label_msg_index label_msg_content
|
local label_msg_index label_msg_content
|
||||||
for ((i = 0; i < ${mirror_list_length}; i++)); do
|
for ((i = 0; i < ${mirror_list_length}; i++)); do
|
||||||
@@ -1611,7 +1613,7 @@ function remove_original_mirrors() {
|
|||||||
mkdir -p "${Dir_YumRepos}"
|
mkdir -p "${Dir_YumRepos}"
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
local repo_patterns=()
|
local -a repo_patterns=()
|
||||||
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
|
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_FEDORA}" ]]; then
|
||||||
repo_patterns=(
|
repo_patterns=(
|
||||||
"fedora.repo"
|
"fedora.repo"
|
||||||
@@ -1849,7 +1851,7 @@ function change_mirrors_main() {
|
|||||||
print_diff
|
print_diff
|
||||||
fi
|
fi
|
||||||
## 更新软件源
|
## 更新软件源
|
||||||
local commands=()
|
local -a commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
commands+=("apt-get update")
|
commands+=("apt-get update")
|
||||||
@@ -1972,7 +1974,7 @@ function upgrade_software() {
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
local commands=()
|
local -a commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
commands+=("apt-get upgrade -y")
|
commands+=("apt-get upgrade -y")
|
||||||
@@ -2793,7 +2795,7 @@ function change_mirrors_openSUSE() {
|
|||||||
|
|
||||||
## 修改源
|
## 修改源
|
||||||
cd $Dir_ZYppRepos
|
cd $Dir_ZYppRepos
|
||||||
local opensuse_repo_files=()
|
local -a opensuse_repo_files=()
|
||||||
case "${SYSTEM_ID}" in
|
case "${SYSTEM_ID}" in
|
||||||
opensuse-leap)
|
opensuse-leap)
|
||||||
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
||||||
@@ -3071,8 +3073,8 @@ function get_package_manager() {
|
|||||||
|
|
||||||
function interactive_select_list() {
|
function interactive_select_list() {
|
||||||
_SELECT_RESULT=""
|
_SELECT_RESULT=""
|
||||||
eval "local __values=(\"\${${1}[@]}\")"
|
eval "local -a __values=(\"\${${1}[@]}\")"
|
||||||
local __labels=()
|
local -a __labels=()
|
||||||
local message="${2}"
|
local message="${2}"
|
||||||
local selected=0
|
local selected=0
|
||||||
local start=0
|
local start=0
|
||||||
@@ -3306,7 +3308,7 @@ function animate_exec() {
|
|||||||
exit 130
|
exit 130
|
||||||
}
|
}
|
||||||
function make_temp_file() {
|
function make_temp_file() {
|
||||||
local temp_dirs=("." "/tmp")
|
local -a temp_dirs=("." "/tmp")
|
||||||
local tmp_file=""
|
local tmp_file=""
|
||||||
for dir in "${temp_dirs[@]}"; do
|
for dir in "${temp_dirs[@]}"; do
|
||||||
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
|
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
## Author: SuperManito
|
## Author: SuperManito
|
||||||
## Modified: 2025-10-23
|
## Modified: 2025-11-02
|
||||||
## License: MIT
|
## License: MIT
|
||||||
## GitHub: https://github.com/SuperManito/LinuxMirrors
|
## GitHub: https://github.com/SuperManito/LinuxMirrors
|
||||||
## Website: https://linuxmirrors.cn
|
## Website: https://linuxmirrors.cn
|
||||||
@@ -81,12 +81,12 @@ SPONSOR_ADS=(
|
|||||||
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
|
"1Panel · Linux 面板|极简运维 ➜ \033[3mhttps://1panel.cn\033[0m"
|
||||||
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
|
"多途云 · 智能化防护,每一次连接皆在安全之下 ➜ \033[3mhttps://www.duotuyun.com\033[0m"
|
||||||
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
|
"毫秒镜像 · 专为中国开发者提供Docker镜像加速下载服务 ➜ \033[3mhttps://1ms.run\033[0m"
|
||||||
|
"林枫云 · 专注独立IP高频VPS|R9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
|
||||||
"不死鸟CDN · 香港日本高防CDN,免实名/免备案,轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
|
"不死鸟CDN · 香港日本高防CDN,免实名/免备案,轻松阻断DDOS/CC攻击 ➜ \033[3mhttps://www.bsncdn.org\033[0m"
|
||||||
"青叶云 · 香港1T高防|自助防火墙,无视CC|大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
|
"青叶云 · 香港1T高防|自助防火墙,无视CC|大带宽回国优化线路 ➜ \033[3mhttps://www.qingyeyun.com\033[0m"
|
||||||
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
|
"莱卡云 · 专业云计算服务器提供商 ➜ \033[3m https://www.lcayun.com\033[0m"
|
||||||
"云悠YUNYOO · 全球高性价比云服务器|低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
|
"云悠YUNYOO · 全球高性价比云服务器|低至15.99元起 ➜ \033[3mhttps://yunyoo.cc\033[0m"
|
||||||
"速拓云 · 国内高防云28元/月|香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
|
"速拓云 · 国内高防云28元/月|香港云100M优化线路9元/月 ➜ \033[3mhttps://www.sutuoyun.com\033[0m"
|
||||||
"林枫云 · 专注独立IP高频VPS|R9/i9系列定制 ➜ \033[3mhttps://www.dkdun.cn\033[0m"
|
|
||||||
"语鹿云盾 · 专业CDN加速、防御,亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
|
"语鹿云盾 · 专业CDN加速、防御,亚太百兆三网优化CDN低至9元起 ➜ \033[3mhttps://www.lucdn.cn\033[0m"
|
||||||
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
|
"不二云 · 国内外建站快响应服务器的不二之选 ➜ \033[3mhttps://cb2.cn\033[0m"
|
||||||
"HKGserver · 全球家宽|双ISP|住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
|
"HKGserver · 全球家宽|双ISP|住宅原生云服务器54元/月起 ➜ \033[3mhttps://www.hkgserver.com\033[0m"
|
||||||
@@ -116,9 +116,12 @@ SYSTEM_OPENCLOUDOS_STREAM="OpenCloudOS Stream"
|
|||||||
SYSTEM_TENCENTOS="TencentOS"
|
SYSTEM_TENCENTOS="TencentOS"
|
||||||
SYSTEM_OPENEULER="openEuler"
|
SYSTEM_OPENEULER="openEuler"
|
||||||
SYSTEM_ANOLISOS="Anolis"
|
SYSTEM_ANOLISOS="Anolis"
|
||||||
|
SYSTEM_KYLIN_DESKTOP="Kylin Desktop"
|
||||||
|
SYSTEM_KYLIN_SERVER="Kylin Server"
|
||||||
SYSTEM_OPENKYLIN="openKylin"
|
SYSTEM_OPENKYLIN="openKylin"
|
||||||
SYSTEM_OPENSUSE="openSUSE"
|
SYSTEM_OPENSUSE="openSUSE"
|
||||||
SYSTEM_ARCH="Arch"
|
SYSTEM_ARCH="Arch"
|
||||||
|
SYSTEM_MANJARO="Manjaro"
|
||||||
SYSTEM_ALPINE="Alpine"
|
SYSTEM_ALPINE="Alpine"
|
||||||
SYSTEM_GENTOO="Gentoo"
|
SYSTEM_GENTOO="Gentoo"
|
||||||
SYSTEM_NIXOS="NixOS"
|
SYSTEM_NIXOS="NixOS"
|
||||||
@@ -140,7 +143,9 @@ File_ArchLinuxRelease=/etc/arch-release
|
|||||||
File_ManjaroRelease=/etc/manjaro-release
|
File_ManjaroRelease=/etc/manjaro-release
|
||||||
File_AlpineRelease=/etc/alpine-release
|
File_AlpineRelease=/etc/alpine-release
|
||||||
File_GentooRelease=/etc/gentoo-release
|
File_GentooRelease=/etc/gentoo-release
|
||||||
File_openKylinVersion=/etc/kylin-version/kylin-system-version.conf
|
File_KylinRelease=/etc/kylin-release
|
||||||
|
File_kylinVersion=/etc/kylin-version/kylin-system-version.conf
|
||||||
|
File_ProxmoxVersion=/etc/pve/.version
|
||||||
|
|
||||||
## 定义软件源相关文件或目录
|
## 定义软件源相关文件或目录
|
||||||
File_AptSourceList=/etc/apt/sources.list
|
File_AptSourceList=/etc/apt/sources.list
|
||||||
@@ -520,6 +525,9 @@ function collect_system_info() {
|
|||||||
## 判定当前系统派系
|
## 判定当前系统派系
|
||||||
if [ -s "${File_DebianVersion}" ]; then
|
if [ -s "${File_DebianVersion}" ]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_DEBIAN}"
|
SYSTEM_FACTIONS="${SYSTEM_DEBIAN}"
|
||||||
|
if [ -s "${File_kylinVersion}" ]; then
|
||||||
|
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Kylin Desktop" "apt-get install -y docker\nsystemctl enable --now docker"
|
||||||
|
fi
|
||||||
elif [ -s "${File_RedHatRelease}" ]; then
|
elif [ -s "${File_RedHatRelease}" ]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_REDHAT}"
|
SYSTEM_FACTIONS="${SYSTEM_REDHAT}"
|
||||||
elif [ -s "${File_openEulerRelease}" ] || [ -s "${File_HuaweiCloudEulerOSRelease}" ]; then
|
elif [ -s "${File_openEulerRelease}" ] || [ -s "${File_HuaweiCloudEulerOSRelease}" ]; then
|
||||||
@@ -530,8 +538,12 @@ function collect_system_info() {
|
|||||||
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
|
SYSTEM_FACTIONS="${SYSTEM_ANOLISOS}" # 自 8.8 版本起不再基于红帽
|
||||||
elif [ -s "${File_TencentOSServerRelease}" ]; then
|
elif [ -s "${File_TencentOSServerRelease}" ]; then
|
||||||
SYSTEM_FACTIONS="${SYSTEM_TENCENTOS}" # 自 4 版本起不再基于红帽
|
SYSTEM_FACTIONS="${SYSTEM_TENCENTOS}" # 自 4 版本起不再基于红帽
|
||||||
elif [ -s "${File_openKylinVersion}" ]; then
|
elif [ -s "${File_kylinVersion}" ] || [ -s "${File_KylinRelease}" ]; then
|
||||||
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "openKylin" "apt-get install -y docker\nsystemctl enable --now docker"
|
if [[ "${SYSTEM_ID}" == *"openkylin"* ]]; then
|
||||||
|
SYSTEM_FACTIONS="${SYSTEM_OPENKYLIN}"
|
||||||
|
else
|
||||||
|
SYSTEM_FACTIONS="${SYSTEM_KYLIN_SERVER}"
|
||||||
|
fi
|
||||||
elif [ -f "${File_ArchLinuxRelease}" ]; then
|
elif [ -f "${File_ArchLinuxRelease}" ]; then
|
||||||
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Arch Linux" "pacman -S docker\nsystemctl enable --now docker"
|
[[ "${ONLY_REGISTRY}" != "true" ]] && unsupport_system_error "Arch Linux" "pacman -S docker\nsystemctl enable --now docker"
|
||||||
elif [ -f "${File_GentooRelease}" ]; then
|
elif [ -f "${File_GentooRelease}" ]; then
|
||||||
@@ -545,7 +557,7 @@ function collect_system_info() {
|
|||||||
fi
|
fi
|
||||||
## 判定系统类型、版本、版本号
|
## 判定系统类型、版本、版本号
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
if command_exists lsb_release; then
|
if command_exists lsb_release; then
|
||||||
SYSTEM_JUDGMENT="$(lsb_release -is)"
|
SYSTEM_JUDGMENT="$(lsb_release -is)"
|
||||||
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
|
SYSTEM_VERSION_CODENAME="${DEBIAN_CODENAME:-"$(lsb_release -cs)"}"
|
||||||
@@ -616,7 +628,8 @@ function collect_system_info() {
|
|||||||
## 定义软件源仓库名称
|
## 定义软件源仓库名称
|
||||||
if [[ -z "${SOURCE_BRANCH}" ]]; then
|
if [[ -z "${SOURCE_BRANCH}" ]]; then
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
|
local debian_codename_latest="trixie"
|
||||||
case "${SYSTEM_JUDGMENT}" in
|
case "${SYSTEM_JUDGMENT}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}")
|
||||||
SOURCE_BRANCH="debian"
|
SOURCE_BRANCH="debian"
|
||||||
@@ -626,7 +639,7 @@ function collect_system_info() {
|
|||||||
;;
|
;;
|
||||||
"${SYSTEM_KALI}")
|
"${SYSTEM_KALI}")
|
||||||
SOURCE_BRANCH="debian"
|
SOURCE_BRANCH="debian"
|
||||||
SOURCE_BRANCH_CODENAME="trixie"
|
SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_LINUX_MINT}")
|
"${SYSTEM_LINUX_MINT}")
|
||||||
if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
|
if [[ "${SYSTEM_NAME}" == *"LMDE"* ]]; then
|
||||||
@@ -652,6 +665,24 @@ function collect_system_info() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
# "${SYSTEM_KYLIN_DESKTOP}")
|
||||||
|
# SOURCE_BRANCH="debian"
|
||||||
|
# case "${SYSTEM_VERSION_ID_MAJOR}" in
|
||||||
|
# "v10")
|
||||||
|
# SOURCE_BRANCH_CODENAME="bullseye"
|
||||||
|
# ;;
|
||||||
|
# "v11")
|
||||||
|
# SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||||
|
# ;;
|
||||||
|
# *)
|
||||||
|
# SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||||
|
# ;;
|
||||||
|
# esac
|
||||||
|
# ;;
|
||||||
|
"${SYSTEM_OPENKYLIN}")
|
||||||
|
SOURCE_BRANCH="debian"
|
||||||
|
SOURCE_BRANCH_CODENAME="${debian_codename_latest}"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
# 其余 Debian 系衍生操作系统
|
# 其余 Debian 系衍生操作系统
|
||||||
SOURCE_BRANCH="debian"
|
SOURCE_BRANCH="debian"
|
||||||
@@ -659,7 +690,7 @@ function collect_system_info() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
case "${SYSTEM_JUDGMENT}" in
|
case "${SYSTEM_JUDGMENT}" in
|
||||||
"${SYSTEM_FEDORA}")
|
"${SYSTEM_FEDORA}")
|
||||||
SOURCE_BRANCH="fedora"
|
SOURCE_BRANCH="fedora"
|
||||||
@@ -679,10 +710,10 @@ function collect_system_info() {
|
|||||||
fi
|
fi
|
||||||
## 定义软件源更新文字
|
## 定义软件源更新文字
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
SYNC_MIRROR_TEXT="$(msg "source.sync.text1")"
|
SYNC_MIRROR_TEXT="$(msg "source.sync.text1")"
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
SYNC_MIRROR_TEXT="$(msg "source.sync.text2")"
|
SYNC_MIRROR_TEXT="$(msg "source.sync.text2")"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -697,7 +728,7 @@ function collect_system_info() {
|
|||||||
function choose_display_language() {
|
function choose_display_language() {
|
||||||
local result
|
local result
|
||||||
if command_exists tput; then
|
if command_exists tput; then
|
||||||
local lang_key_labels=()
|
local -a lang_key_labels=()
|
||||||
local language_text
|
local language_text
|
||||||
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
|
for ((i = 0; i < ${#MESSAGE_LANG_KEYS[@]}; i++)); do
|
||||||
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
|
language_text="${MESSAGE_LANG_DISPLAY[${MESSAGE_LANG_KEYS[$i]}]}"
|
||||||
@@ -744,14 +775,13 @@ function choose_mirrors() {
|
|||||||
local text=$1
|
local text=$1
|
||||||
echo "${#text}"
|
echo "${#text}"
|
||||||
}
|
}
|
||||||
|
local -a list_arr=()
|
||||||
local list_arr=()
|
|
||||||
local list_arr_sum="$(eval echo \${#$1[@]})"
|
local list_arr_sum="$(eval echo \${#$1[@]})"
|
||||||
for ((i = 0; i < $list_arr_sum; i++)); do
|
for ((i = 0; i < $list_arr_sum; i++)); do
|
||||||
list_arr[$i]="$(eval echo \${$1[i]})"
|
list_arr[$i]="$(eval echo \${$1[i]})"
|
||||||
done
|
done
|
||||||
local name_width=${2:-"30"}
|
local name_width=${2:-"30"}
|
||||||
local list_labels=()
|
local -a list_labels=()
|
||||||
if [[ "${3}" ]]; then
|
if [[ "${3}" ]]; then
|
||||||
eval "list_labels=(\"\${${3}[@]}\")"
|
eval "list_labels=(\"\${${3}[@]}\")"
|
||||||
fi
|
fi
|
||||||
@@ -837,7 +867,7 @@ function choose_mirrors() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
local mirror_list_name mirror_list_length
|
local mirror_list_name mirror_list_length
|
||||||
local mirror_list_labels=()
|
local -a mirror_list_labels=()
|
||||||
local label_msg_index label_msg_content
|
local label_msg_index label_msg_content
|
||||||
if [[ -z "${SOURCE}" ]] && [[ "${ONLY_REGISTRY}" != "true" ]]; then
|
if [[ -z "${SOURCE}" ]] && [[ "${ONLY_REGISTRY}" != "true" ]]; then
|
||||||
mirror_list_name="mirror_list_docker_ce"
|
mirror_list_name="mirror_list_docker_ce"
|
||||||
@@ -1005,22 +1035,22 @@ function install_dependency_packages() {
|
|||||||
local commands package_manager
|
local commands package_manager
|
||||||
## 删除原有源
|
## 删除原有源
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
sed -i '/docker-ce/d' $File_AptSourceList
|
sed -i '/docker-ce/d' $File_AptSourceList
|
||||||
rm -rf $File_DockerSourceList
|
rm -rf $File_DockerSourceList
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
rm -rf $Dir_YumRepos/*docker*.repo
|
rm -rf $Dir_YumRepos/*docker*.repo
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
## 更新软件源
|
## 更新软件源
|
||||||
commands=()
|
commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
package_manager="apt-get"
|
package_manager="apt-get"
|
||||||
commands+=("${package_manager} update")
|
commands+=("${package_manager} update")
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
package_manager="$(get_package_manager)"
|
package_manager="$(get_package_manager)"
|
||||||
commands+=("${package_manager} makecache")
|
commands+=("${package_manager} makecache")
|
||||||
;;
|
;;
|
||||||
@@ -1048,11 +1078,10 @@ function install_dependency_packages() {
|
|||||||
|
|
||||||
commands=()
|
commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
commands+=("${package_manager} install -y ca-certificates curl")
|
commands+=("${package_manager} install -y ca-certificates curl")
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
# 注:红帽 8 版本才发布了 dnf 包管理工具
|
|
||||||
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
||||||
7)
|
7)
|
||||||
commands+=("${package_manager} install -y yum-utils device-mapper-persistent-data lvm2")
|
commands+=("${package_manager} install -y yum-utils device-mapper-persistent-data lvm2")
|
||||||
@@ -1087,9 +1116,9 @@ function install_dependency_packages() {
|
|||||||
|
|
||||||
## 配置 Docker CE 源
|
## 配置 Docker CE 源
|
||||||
function configure_docker_ce_mirror() {
|
function configure_docker_ce_mirror() {
|
||||||
local commands=()
|
local -a commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
## 处理 GPG 密钥
|
## 处理 GPG 密钥
|
||||||
local file_keyring="/etc/apt/keyrings/docker.asc"
|
local file_keyring="/etc/apt/keyrings/docker.asc"
|
||||||
apt-key del 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 >/dev/null 2>&1 # 删除旧的密钥
|
apt-key del 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 >/dev/null 2>&1 # 删除旧的密钥
|
||||||
@@ -1102,11 +1131,11 @@ function configure_docker_ce_mirror() {
|
|||||||
chmod a+r $file_keyring
|
chmod a+r $file_keyring
|
||||||
## 添加源
|
## 添加源
|
||||||
[ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources
|
[ -d "${Dir_AptAdditionalSources}" ] || mkdir -p $Dir_AptAdditionalSources
|
||||||
local source_content="deb [arch=$(dpkg --print-architecture) signed-by=${file_keyring}] ${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH} ${SOURCE_BRANCH_CODENAME:-"${SYSTEM_VERSION_CODENAME}"} stable"
|
local 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 "${source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
echo "${source_content}" | tee $File_DockerSourceList >/dev/null 2>&1
|
||||||
commands+=("apt-get update")
|
commands+=("apt-get update")
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
local repo_file_url="${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}/docker-ce.repo"
|
local repo_file_url="${WEB_PROTOCOL}://${SOURCE}/linux/${SOURCE_BRANCH}/docker-ce.repo"
|
||||||
local package_manager="$(get_package_manager)"
|
local package_manager="$(get_package_manager)"
|
||||||
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
||||||
@@ -1195,6 +1224,19 @@ function configure_docker_ce_mirror() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
if [[ "${SYSTEM_JUDGMENT}" == "${SYSTEM_KYLIN_SERVER}" ]]; then
|
||||||
|
case "${SYSTEM_VERSION_ID_MAJOR}" in
|
||||||
|
"V10")
|
||||||
|
target_version="8"
|
||||||
|
;;
|
||||||
|
"V11")
|
||||||
|
target_version="10"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
target_version="10"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
sed -e "s|\$releasever|${target_version}|g" \
|
sed -e "s|\$releasever|${target_version}|g" \
|
||||||
@@ -1227,12 +1269,12 @@ function install_docker_engine() {
|
|||||||
## 导出可安装的版本列表
|
## 导出可安装的版本列表
|
||||||
function export_version_list() {
|
function export_version_list() {
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
apt-cache madison docker-ce | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
|
apt-cache madison docker-ce | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
|
||||||
apt-cache madison docker-ce-cli | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
|
apt-cache madison docker-ce-cli | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
|
||||||
grep -wf $File_DockerCEVersionTmp $File_DockerCECliVersionTmp >$File_DockerVersionTmp
|
grep -wf $File_DockerCEVersionTmp $File_DockerCECliVersionTmp >$File_DockerVersionTmp
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
local package_manager="$(get_package_manager)"
|
local package_manager="$(get_package_manager)"
|
||||||
$package_manager list docker-ce --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
|
$package_manager list docker-ce --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCEVersionTmp
|
||||||
$package_manager list docker-ce-cli --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
|
$package_manager list docker-ce-cli --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" >$File_DockerCECliVersionTmp
|
||||||
@@ -1252,20 +1294,20 @@ function install_docker_engine() {
|
|||||||
# 确定需要卸载的软件包
|
# 确定需要卸载的软件包
|
||||||
local package_list
|
local package_list
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
package_list='docker* podman podman-docker containerd runc'
|
package_list='docker* podman podman-docker containerd runc'
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
package_list='docker* podman podman-docker runc'
|
package_list='docker* podman podman-docker runc'
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# 卸载软件包并清理残留
|
# 卸载软件包并清理残留
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
apt-get remove -y $package_list >/dev/null 2>&1
|
apt-get remove -y $package_list >/dev/null 2>&1
|
||||||
apt-get autoremove -y >/dev/null 2>&1
|
apt-get autoremove -y >/dev/null 2>&1
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
local package_manager="$(get_package_manager)"
|
local package_manager="$(get_package_manager)"
|
||||||
$package_manager remove -y $package_list >/dev/null 2>&1
|
$package_manager remove -y $package_list >/dev/null 2>&1
|
||||||
$package_manager autoremove -y >/dev/null 2>&1
|
$package_manager autoremove -y >/dev/null 2>&1
|
||||||
@@ -1277,7 +1319,7 @@ function install_docker_engine() {
|
|||||||
function install_main() {
|
function install_main() {
|
||||||
local target_docker_version
|
local target_docker_version
|
||||||
local pkgs=""
|
local pkgs=""
|
||||||
local commands=()
|
local -a commands=()
|
||||||
if [[ "${INSTALL_LATESTED_DOCKER}" == "true" ]]; then
|
if [[ "${INSTALL_LATESTED_DOCKER}" == "true" ]]; then
|
||||||
pkgs="docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin"
|
pkgs="docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin"
|
||||||
else
|
else
|
||||||
@@ -1295,7 +1337,7 @@ function install_docker_engine() {
|
|||||||
target_docker_version="${DESIGNATED_DOCKER_VERSION}"
|
target_docker_version="${DESIGNATED_DOCKER_VERSION}"
|
||||||
else
|
else
|
||||||
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
|
if [[ "${CAN_USE_ADVANCED_INTERACTIVE_SELECTION}" == "true" ]]; then
|
||||||
local version_list=(
|
local -a version_list=(
|
||||||
$(cat $File_DockerVersionTmp | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | tr '\n' ' ' | sed 's/ $//')
|
$(cat $File_DockerVersionTmp | sort -t '.' -k1,1nr -k2,2nr -k3,3nr | tr '\n' ' ' | sed 's/ $//')
|
||||||
)
|
)
|
||||||
local mirror_list_name="version_list"
|
local mirror_list_name="version_list"
|
||||||
@@ -1327,7 +1369,7 @@ function install_docker_engine() {
|
|||||||
local major_version="$(echo ${target_docker_version} | cut -d'.' -f1)"
|
local major_version="$(echo ${target_docker_version} | cut -d'.' -f1)"
|
||||||
local minor_version="$(echo ${target_docker_version} | cut -d'.' -f2)"
|
local minor_version="$(echo ${target_docker_version} | cut -d'.' -f2)"
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
|
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
|
||||||
local tmp_version="$(apt-cache madison docker-ce-cli | grep "${target_docker_version}" | head -1 | awk '{print $3}' | awk -F "${target_docker_version}" '{print$1}')"
|
local tmp_version="$(apt-cache madison docker-ce-cli | grep "${target_docker_version}" | head -1 | awk '{print $3}' | awk -F "${target_docker_version}" '{print$1}')"
|
||||||
pkgs="docker-ce=${tmp_version}${target_docker_version}* docker-ce-cli=${tmp_version}${target_docker_version}*"
|
pkgs="docker-ce=${tmp_version}${target_docker_version}* docker-ce-cli=${tmp_version}${target_docker_version}*"
|
||||||
@@ -1336,7 +1378,7 @@ function install_docker_engine() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
pkgs="docker-ce-${target_docker_version}"
|
pkgs="docker-ce-${target_docker_version}"
|
||||||
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
|
if [[ $major_version -gt 18 ]] || [[ $major_version -eq 18 && $minor_version -ge 9 ]]; then
|
||||||
pkgs="${pkgs} docker-ce-cli-${target_docker_version}"
|
pkgs="${pkgs} docker-ce-cli-${target_docker_version}"
|
||||||
@@ -1352,10 +1394,10 @@ function install_docker_engine() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
commands+=("apt-get install -y ${pkgs}")
|
commands+=("apt-get install -y ${pkgs}")
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
commands+=("$(get_package_manager) install -y ${pkgs}")
|
commands+=("$(get_package_manager) install -y ${pkgs}")
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1410,10 +1452,10 @@ function install_docker_engine() {
|
|||||||
|
|
||||||
## 判定是否已安装
|
## 判定是否已安装
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
dpkg -l | grep docker-ce-cli -q
|
dpkg -l | grep docker-ce-cli -q
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
rpm -qa | grep docker-ce-cli -q
|
rpm -qa | grep docker-ce-cli -q
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1506,10 +1548,10 @@ function change_docker_registry_mirror() {
|
|||||||
function only_change_docker_registry_mirror() {
|
function only_change_docker_registry_mirror() {
|
||||||
## 判定是否已安装
|
## 判定是否已安装
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
dpkg -l | grep docker-ce-cli -q
|
dpkg -l | grep docker-ce-cli -q
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
rpm -qa | grep docker-ce-cli -q
|
rpm -qa | grep docker-ce-cli -q
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1526,13 +1568,13 @@ function only_change_docker_registry_mirror() {
|
|||||||
if ! command_exists jq; then
|
if ! command_exists jq; then
|
||||||
## 更新软件源
|
## 更新软件源
|
||||||
local package_manager
|
local package_manager
|
||||||
local commands=()
|
local -a commands=()
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
package_manager="apt-get"
|
package_manager="apt-get"
|
||||||
commands+=("${package_manager} update")
|
commands+=("${package_manager} update")
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
package_manager="$(get_package_manager)"
|
package_manager="$(get_package_manager)"
|
||||||
commands+=("${package_manager} makecache")
|
commands+=("${package_manager} makecache")
|
||||||
;;
|
;;
|
||||||
@@ -1582,7 +1624,6 @@ function only_change_docker_registry_mirror() {
|
|||||||
|
|
||||||
function handleRegistryMirrorsValue() {
|
function handleRegistryMirrorsValue() {
|
||||||
local content="$1"
|
local content="$1"
|
||||||
local delimiter=","
|
|
||||||
local result=""
|
local result=""
|
||||||
content="$(echo "${content}" | sed 's| ||g')"
|
content="$(echo "${content}" | sed 's| ||g')"
|
||||||
local -a items=(${content//,/ })
|
local -a items=(${content//,/ })
|
||||||
@@ -1614,11 +1655,11 @@ function check_installed_result() {
|
|||||||
echo -e "\n$FAIL $(msg "result.install.failed")"
|
echo -e "\n$FAIL $(msg "result.install.failed")"
|
||||||
local source_file package_manager
|
local source_file package_manager
|
||||||
case "${SYSTEM_FACTIONS}" in
|
case "${SYSTEM_FACTIONS}" in
|
||||||
"${SYSTEM_DEBIAN}")
|
"${SYSTEM_DEBIAN}" | "${SYSTEM_OPENKYLIN}")
|
||||||
source_file="${File_DockerSourceList}"
|
source_file="${File_DockerSourceList}"
|
||||||
package_manager="apt-get"
|
package_manager="apt-get"
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_REDHAT}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
source_file="${File_DockerRepo}"
|
source_file="${File_DockerRepo}"
|
||||||
package_manager="$(get_package_manager)"
|
package_manager="$(get_package_manager)"
|
||||||
;;
|
;;
|
||||||
@@ -1660,7 +1701,7 @@ function get_package_manager() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
"${SYSTEM_FEDORA}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}")
|
"${SYSTEM_FEDORA}" | "${SYSTEM_OPENEULER}" | "${SYSTEM_OPENCLOUDOS}" | "${SYSTEM_ANOLISOS}" | "${SYSTEM_TENCENTOS}" | "${SYSTEM_KYLIN_SERVER}")
|
||||||
command="dnf"
|
command="dnf"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -1669,8 +1710,8 @@ function get_package_manager() {
|
|||||||
|
|
||||||
function interactive_select_list() {
|
function interactive_select_list() {
|
||||||
_SELECT_RESULT=""
|
_SELECT_RESULT=""
|
||||||
eval "local __values=(\"\${${1}[@]}\")"
|
eval "local -a __values=(\"\${${1}[@]}\")"
|
||||||
local __labels=()
|
local -a __labels=()
|
||||||
local message="${2}"
|
local message="${2}"
|
||||||
local selected=0
|
local selected=0
|
||||||
local start=0
|
local start=0
|
||||||
@@ -1904,7 +1945,7 @@ function animate_exec() {
|
|||||||
exit 130
|
exit 130
|
||||||
}
|
}
|
||||||
function make_temp_file() {
|
function make_temp_file() {
|
||||||
local temp_dirs=("." "/tmp")
|
local -a temp_dirs=("." "/tmp")
|
||||||
local tmp_file=""
|
local tmp_file=""
|
||||||
for dir in "${temp_dirs[@]}"; do
|
for dir in "${temp_dirs[@]}"; do
|
||||||
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
|
[[ ! -d "${dir}" || ! -w "${dir}" ]] && continue
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<td align="center">14 ~ 25</td>
|
<td align="center">14 ~ 25</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a> Kali Linux</td>
|
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a> Kali Linux</td>
|
||||||
<td align="center">all</td>
|
<td align="center">all</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<td align="center">14 ~ 25</td>
|
<td align="center">14 ~ 25</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a> Kali Linux</td>
|
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a> Kali Linux</td>
|
||||||
<td align="center">all</td>
|
<td align="center">all</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<td align="center">14 ~ 25</td>
|
<td align="center">14 ~ 25</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.svg" width="16" height="16"></sub></a> Kali Linux</td>
|
<td><a href="https://www.kali.org" target="_blank" rel="noopener noreferrer"><sub><img src="/docs/assets/images/icon/kali-linux.png" width="16" height="16"></sub></a> Kali Linux</td>
|
||||||
<td align="center">all</td>
|
<td align="center">all</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|||||||
18
SECURITY.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Security Policy
|
||||||
|
|
||||||
|
## Supported Versions
|
||||||
|
|
||||||
|
Use this section to tell people about which versions of your project are
|
||||||
|
currently being supported with security updates.
|
||||||
|
|
||||||
|
| Version | Supported |
|
||||||
|
| ------- | ------------------ |
|
||||||
|
| all | :white_check_mark: |
|
||||||
|
|
||||||
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
Use this section to tell people how to report a vulnerability.
|
||||||
|
|
||||||
|
Tell them where to go, how often they can expect to get an update on a
|
||||||
|
reported vulnerability, what to expect if the vulnerability is accepted or
|
||||||
|
declined, etc.
|
||||||
|
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 6.5 KiB |
BIN
docs/assets/images/icon/kali-linux.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
@@ -1 +0,0 @@
|
|||||||
<svg viewBox="0 0 519.36 293.65" xmlns="http://www.w3.org/2000/svg"><path clip-rule="evenodd" d="m478.2 30.541c-1.708-.45694-3.4119-.54087-5.1767-.54087h-427.93c-6.4231.050078-12.061 4.1054-14.195 10.144-.69747 1.9633-.90029 3.9505-.90029 6.0098v202.42c.23751 8.4346 6.8365 15.012 15.194 15.033 17.519.0232 53.594-.0631 53.594-.0631l-.06358-15.665h-52.62c-.27926-1.6828-.20829-199.78.06358-200.69 1.6119-.225 425.79-.1438 426.72.07426.25653 1.5279.1824 199.65-.0982 200.69h-354.74v15.667s1.3845 0 2.0182.0232h354.25c6.3531-.0631 11.982-4.0483 14.147-10.038.69741-1.9079.89785-3.8747.89785-5.886v-202.8c-.13354-6.6996-4.6932-12.585-11.143-14.365zm-360.14 174.01v-40.513c0-.91374.25653-1.5554 1.0028-2.1347 3.129-2.4743 6.2158-5.019 9.3034-7.5448.30803-.22871.60752-.43189.99168-.71223.33308.4305.61322.78284.87185 1.1699 5.2486 7.5722 10.501 15.136 15.746 22.696 6.4361 9.3128 12.883 18.583 19.306 27.852.35674.53803.68407.94598 1.475.94598 6.7627-.0232 13.519-.0232 20.273-.0232.22361 0 .4537-.0743.80993-.15494-14.956-21.781-29.85-43.412-44.79-65.174 3.0057-3.4891 5.9134-6.8472 8.8178-10.288 2.912-3.3691 5.8136-6.7497 8.7208-10.142 2.9029-3.3839 5.7849-6.7734 8.6954-10.161 2.9045-3.3952 5.8136-6.7826 8.6851-10.168 2.8915-3.3601 5.7622-6.7219 8.8271-10.347h-1.704c-6.1202 0-12.237.03707-18.358-.0232-1.1253 0-1.835.32611-2.5775 1.1995-15.036 17.806-30.108 35.614-45.178 53.399-.19994.22776-.45973.43188-.89398.83223v-44.294c0-3.6662.0631-7.3435 0-11.012h-18.909v116.15c1.5011.2635 17.926.20969 18.939-.0631v-1.4778zm100.96 1.681c.15215-.43977.32612-.81748.45878-1.2267 3.0557-8.6814 6.1147-17.348 9.1787-26.037.50973-1.3965 1.0166-2.8008 1.4772-4.2031.18231-.58535.48083-.89161 1.0981-.81748.19994.0232.43236 0 .6355 0h43.136c3.8993 10.803 7.7716 21.529 11.629 32.255h20.193c-14.567-39.029-29.072-77.903-43.549-116.77h-20.649c-.1327.25469-.2301.44024-.28254.61435-14.377 38.551-28.737 77.119-43.109 115.66-.0631.0631-.0631.18231-.0631.25654v.1234c0 .0501.0631.0743.0743.1322h19.734zm17.457-50.036c3.9768-11.515 8.0101-22.979 11.885-34.526 1.5549-4.6404 2.7269-9.4269 4.0507-14.159.11181-.3586.18231-.7185.33309-1.2583.19994.30524.35627.49141.41055.69246 3.1587 11.794 7.4766 23.237 11.398 34.807 1.6288 4.8139 3.3157 9.5985 4.9739 14.415.12618.43097.25097.86203.40405 1.3949h-33.882c.15123-.50194.27927-.93364.42586-1.3654zm102.24-57.278c0-3.0077.11083-5.988-.0868-8.9671h-18.675c-.31545 1.4523-.23845 115.33.0631 116.29h68.021v-16.18h-32.812c-2.7584 0-5.5385.0232-8.2848 0-2.7069-.0232-5.4025.0993-8.2101-.0631v-91.058zm81.201-8.2513c0-.18045 0-.33029-.0626-.51752 0-.05008-.0626-.06309-.0626-.09881 0-.0232-.0749-.06309-.0749-.06309h-18.739v116.22h18.838c.0626-.19531.11047-.29922.11047-.43097v-115.11z" fill="#367bf0" fill-rule="evenodd" stroke-width="1.2274"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 20 KiB |
BIN
docs/assets/images/sponsor/linfengyun.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
@@ -755,7 +755,7 @@ const mirrorsTableFilterSelectOptions = [
|
|||||||
{
|
{
|
||||||
value: 'kali',
|
value: 'kali',
|
||||||
label: 'Kali Linux',
|
label: 'Kali Linux',
|
||||||
iconName: 'kali-linux.svg',
|
iconName: 'kali-linux.png',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
value: 'armbian',
|
value: 'armbian',
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ search:
|
|||||||
exclude: true
|
exclude: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### `2025-11-02`
|
||||||
|
|
||||||
|
* Adapted for Kylin Server to docker script [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
### `2025-10-12`
|
### `2025-10-12`
|
||||||
|
|
||||||
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* Added support for I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ search:
|
|||||||
exclude: true
|
exclude: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### `2025-11-02`
|
||||||
|
|
||||||
|
* Docker 脚本新增适配 Kylin Server 操作系统 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
### `2025-10-12`
|
### `2025-10-12`
|
||||||
|
|
||||||
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* 新增适配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ search:
|
|||||||
exclude: true
|
exclude: true
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### `2025-11-02`
|
||||||
|
|
||||||
|
* Docker 腳本新增適配 Kylin Server 作業系統 [#1ddf1fb](https://github.com/SuperManito/LinuxMirrors/commit/1ddf1fb708987cf59c4ef56b0a0410caf1b8e726)
|
||||||
|
|
||||||
### `2025-10-12`
|
### `2025-10-12`
|
||||||
|
|
||||||
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
* 新增適配 I18n [#bf2adc1](https://github.com/SuperManito/LinuxMirrors/commit/bf2adc1adf4f2de4820f617a23aabf247a47281c)
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ hide:
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="Supports Ubuntu family derivatives, such as <code>UKylin</code>, <code>Kubuntu</code>, etc.<br/>Due to rapid iteration, not all non-LTS versions are directly supported. See documentation for details." } | _14~25_ |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="Supports Ubuntu family derivatives, such as <code>UKylin</code>, <code>Kubuntu</code>, etc.<br/>Due to rapid iteration, not all non-LTS versions are directly supported. See documentation for details." } | _14~25_ |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ hide:
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code> 等<br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _14~25_ |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支持乌班图家族衍生操作系统,例如 <code>优麒麟</code> <code>Kubuntu</code> 等<br/>由于迭代速度较快并不直接支持所有非 LTS 的版本,具体详见文档" } | _14~25_ |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | _all_ |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | _all_ |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ hide:
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | _8~13_ |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支援烏班圖家族衍生作業系統,例如 <code>優麒麟</code> <code>Kubuntu</code> 等<br/>由於迭代速度較快並不直接支援所有非 LTS 的版本,因此具體詳見文件" } | _14~25_ |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** :material-information-outline:{ title="支援烏班圖家族衍生作業系統,例如 <code>優麒麟</code> <code>Kubuntu</code> 等<br/>由於迭代速度較快並不直接支援所有非 LTS 的版本,因此具體詳見文件" } | _14~25_ |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | _all_ |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | _all_ |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | _19~22 / LMDE 6_ |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | _all_ |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | _all_ |
|
||||||
|
|||||||
@@ -255,4 +255,8 @@ search:
|
|||||||
|
|
||||||
!!! tip "This page displays only the default repository addresses provided by the script. If you can't find the one you want, don't worry—the script supports custom addresses via command options. See [Advanced Usage](../use/index.md#command-options-advanced-usage) for details."
|
!!! tip "This page displays only the default repository addresses provided by the script. If you can't find the one you want, don't worry—the script supports custom addresses via command options. See [Advanced Usage](../use/index.md#command-options-advanced-usage) for details."
|
||||||
|
|
||||||
> The flag icons on this page are for quick geographic identification only and do not represent any political stance of the author. Please do not over-interpret. Statement made for clarification.
|
---
|
||||||
|
|
||||||
|
!!! warning "Because the information on this page may be controversial, it is recommended that you do not include this page's content in your sharing on certain social media platforms to avoid unnecessary trouble."
|
||||||
|
|
||||||
|
The flag icons on this page are for quick geographic identification only and do not represent any political stance of the author. Please do not over-interpret. Statement made for clarification.
|
||||||
|
|||||||
@@ -257,4 +257,8 @@ search:
|
|||||||
|
|
||||||
!!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)"
|
!!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)"
|
||||||
|
|
||||||
> 本页面涉及的旗帜图标仅用于快速区分地理位置,不代表作者任何的政治立场,请不要过度解读,特此声明。
|
---
|
||||||
|
|
||||||
|
!!! warning "由于该页面的信息可能会引起争议,为了避免不必要的麻烦,建议不要在部分社交媒体的分享中包含此页面内容"
|
||||||
|
|
||||||
|
本页面涉及的旗帜图标仅用于快速区分地理位置,不代表作者任何的政治立场,请不要过度解读,特此声明。
|
||||||
|
|||||||
@@ -257,4 +257,8 @@ search:
|
|||||||
|
|
||||||
!!! tip "該頁面顯示的皆為腳本預設提供可供選擇的軟體源位址,如果沒有找到你想使用的也沒有關係,腳本支援命令選項可自定義使用,詳見[進階用法](../use/index.md#命令選項進階用法)"
|
!!! tip "該頁面顯示的皆為腳本預設提供可供選擇的軟體源位址,如果沒有找到你想使用的也沒有關係,腳本支援命令選項可自定義使用,詳見[進階用法](../use/index.md#命令選項進階用法)"
|
||||||
|
|
||||||
> 本頁面涉及的旗幟圖示僅用於快速區分地理位置,不代表作者任何的政治立場,請不要過度解讀,特此聲明。
|
---
|
||||||
|
|
||||||
|
!!! warning "由於該頁面的資訊可能會引起爭議,為了避免不必要的麻煩,建議不要在部分社交媒體的分享中包含此頁面內容"
|
||||||
|
|
||||||
|
本頁面涉及的旗幟圖示僅用於快速區分地理位置,不代表作者任何的政治立場,請不要過度解讀,特此聲明。
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ hide:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Compatible with a number of derivative operating systems not supported by the official installation script. :material-information-outline:{ title="In addition to the systems displayed on the official website, it also supports special systems such as <code>Huawei Cloud EulerOS</code> <code>TencentOS Server</code> <code>Alibaba Cloud Linux</code>" }
|
Compatible with a number of derivative operating systems not supported by the official installation script. :material-information-outline:{ title="In addition to the operating systems shown on the official website homepage, it also supports special systems such as those shown below. </br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
|
||||||
|
|
||||||
- :material-weight-lifter:{ .lg .middle } __Powerful and unparalleled__
|
- :material-weight-lifter:{ .lg .middle } __Powerful and unparalleled__
|
||||||
|
|
||||||
@@ -282,6 +282,7 @@ Command options(name/meaning/value):
|
|||||||
--only-registry \
|
--only-registry \
|
||||||
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
||||||
```
|
```
|
||||||
|
> The option value can specify multiple addresses, which must be separated by commas.
|
||||||
|
|
||||||
=== "Manual Replacement"
|
=== "Manual Replacement"
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ hide:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
兼容大量不受官方安装脚本支持的衍生操作系统 :material-information-outline:{ title="除官网首页展示的系统外还支持 <code>Huawei Cloud EulerOS</code> <code>TencentOS Server</code> <code>Alibaba Cloud Linux</code> 等特制系统" }
|
兼容大量不受官方安装脚本支持的衍生操作系统 :material-information-outline:{ title="除官网首页展示的系统外还支持下方等特制系统</br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
|
||||||
|
|
||||||
- :material-weight-lifter:{ .lg .middle } __功能强大、无与伦比__
|
- :material-weight-lifter:{ .lg .middle } __功能强大、无与伦比__
|
||||||
|
|
||||||
@@ -282,6 +282,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help
|
|||||||
--only-registry \
|
--only-registry \
|
||||||
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
||||||
```
|
```
|
||||||
|
> 选项值可以指定多个地址,需使用英文逗号进行分割
|
||||||
|
|
||||||
=== "手动替换"
|
=== "手动替换"
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ hide:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
相容於大量不受官方安裝腳本支援的衍生作業系統 :material-information-outline:{ title="除官網首頁展示的系統外也支援 <code>Huawei Cloud EulerOS</code> <code>TencentOS Server</code> <code>Alibaba Cloud Linux</code> 等特製系統" }
|
相容於大量不受官方安裝腳本支援的衍生作業系統 :material-information-outline:{ title="除官網首頁展示的系統外還支援下方等特製系統</br><ul><li>Kylin Server</li><li>Huawei Cloud EulerOS</li><li>TencentOS Server</li><li>Alibaba Cloud Linux</li></ul>" }
|
||||||
|
|
||||||
- :material-weight-lifter:{ .lg .middle } __功能強大、無與倫比__
|
- :material-weight-lifter:{ .lg .middle } __功能強大、無與倫比__
|
||||||
|
|
||||||
@@ -282,6 +282,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --zh-hant --help
|
|||||||
--only-registry \
|
--only-registry \
|
||||||
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
--source-registry "docker.1ms.run,docker.1panel.live,docker.m.daocloud.io"
|
||||||
```
|
```
|
||||||
|
> 選項值可以指定多個位址,需使用英文逗號分割
|
||||||
|
|
||||||
=== "手動替換"
|
=== "手動替換"
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,10 @@
|
|||||||
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="width: 56% !important" />
|
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="width: 56% !important" />
|
||||||
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="width: 56% !important" />
|
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="width: 56% !important" />
|
||||||
</a>
|
</a>
|
||||||
|
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPS|R9/i9系列定制">
|
||||||
|
<!-- 27 11 1 -->
|
||||||
|
<img src="/assets/images/sponsor/linfengyun.png" alt="林枫云" />
|
||||||
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN,免实名/免备案,轻松阻断 DDOS / CC 攻击">
|
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN,免实名/免备案,轻松阻断 DDOS / CC 攻击">
|
||||||
<!-- 26 08 17 -->
|
<!-- 26 08 17 -->
|
||||||
<img src="/assets/images/sponsor/businiaocdn.png" alt="不死鸟CDN" />
|
<img src="/assets/images/sponsor/businiaocdn.png" alt="不死鸟CDN" />
|
||||||
@@ -43,11 +47,6 @@
|
|||||||
<!-- 25 12 23 -->
|
<!-- 25 12 23 -->
|
||||||
<img src="/assets/images/sponsor/sutuoyun.svg" alt="速拓云" style="width: 58% !important" />
|
<img src="/assets/images/sponsor/sutuoyun.svg" alt="速拓云" style="width: 58% !important" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPS|R9/i9系列定制">
|
|
||||||
<!-- 25 10 13 -->
|
|
||||||
<img src="/assets/images/sponsor/linfengyun-light.png#only-light" alt="林枫云" />
|
|
||||||
<img src="/assets/images/sponsor/linfengyun-dark.png#only-dark" alt="林枫云" />
|
|
||||||
</a>
|
|
||||||
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
|
<a class="sponsor-item sponsor-item-flex" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
|
||||||
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="width: 57% !important" />
|
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="width: 57% !important" />
|
||||||
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="width: 57% !important" />
|
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="width: 57% !important" />
|
||||||
|
|||||||
17
docs/theme/partials/toc.html
vendored
@@ -18,15 +18,19 @@
|
|||||||
<img src="/assets/images/sponsor/1panel.png" alt="1Panel" style="filter: grayscale(1) invert(0.6)" />
|
<img src="/assets/images/sponsor/1panel.png" alt="1Panel" style="filter: grayscale(1) invert(0.6)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.duotuyun.com" title="智能化防护,每一次连接皆在安全之下">
|
||||||
<img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="filter: grayscale(1) invert(0.6)" />
|
<img src="/assets/images/sponsor/duotuyun-light.svg#only-light" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
|
||||||
<img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="filter: grayscale(1) invert(0.4)" />
|
<img src="/assets/images/sponsor/duotuyun-dark.svg#only-dark" alt="多途云" style="filter: grayscale(1) invert(0.5)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://1ms.run?utm_source=linuxmirrors" title="专为中国开发者提供镜像极速下载服务,告别 Docker 镜像拉取慢!</br>支持 Docker Hub、gcr.io、registry.k8s.io 等主流镜像仓库。">
|
||||||
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="filter: grayscale(1) invert(0.5)" />
|
<img src="/assets/images/sponsor/1ms-light.svg#only-light" alt="毫秒镜像" style="filter: grayscale(1) invert(0.5)" />
|
||||||
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="filter: grayscale(1) invert(0.4)" />
|
<img src="/assets/images/sponsor/1ms-dark.svg#only-dark" alt="毫秒镜像" style="filter: grayscale(1) invert(0.4)" />
|
||||||
</a>
|
</a>
|
||||||
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPS|R9/i9系列定制">
|
||||||
|
<img src="/assets/images/sponsor/linfengyun.png#only-light" alt="林枫云" style="filter: grayscale(1) invert(0.7)" />
|
||||||
|
<img src="/assets/images/sponsor/linfengyun.png#only-dark" alt="林枫云" style="filter: grayscale(1) invert(0.5)" />
|
||||||
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN,免实名/免备案,轻松阻断 DDOS / CC 攻击">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.bsncdn.org" title="香港日本高防CDN,免实名/免备案,轻松阻断 DDOS / CC 攻击">
|
||||||
<img src="/assets/images/sponsor/businiaocdn.png#only-light" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.1)" />
|
<img src="/assets/images/sponsor/businiaocdn.png#only-light" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1)" />
|
||||||
<img src="/assets/images/sponsor/businiaocdn.png#only-dark" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.4)" />
|
<img src="/assets/images/sponsor/businiaocdn.png#only-dark" alt="不死鸟CDN" style="filter: grayscale(1) brightness(1.4)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.qingyeyun.com" title="香港1T高防|自助防火墙,无视CC|大带宽回国优化线路">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.qingyeyun.com" title="香港1T高防|自助防火墙,无视CC|大带宽回国优化线路">
|
||||||
@@ -42,16 +46,13 @@
|
|||||||
<img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" style="filter: grayscale(1) invert(0.3)" />
|
<img src="/assets/images/sponsor/laikayun-dark.png#only-dark" alt="莱卡云" style="filter: grayscale(1) invert(0.3)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器|低至15.99元起">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://yunyoo.cc/aff/KPTJHNWM" title="全球高性价比云服务器|低至15.99元起">
|
||||||
<img src="/assets/images/sponsor/yunyoo.png" alt="云悠YUNYOO" />
|
<img src="/assets/images/sponsor/yunyoo.png#only-light" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1)" />
|
||||||
|
<img src="/assets/images/sponsor/yunyoo.png#only-dark" alt="云悠YUNYOO" style="filter: grayscale(1) brightness(1.1)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.sutuoyun.com" title="国内高防云28元/月|香港云100M优化线路9元/月">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.sutuoyun.com" title="国内高防云28元/月|香港云100M优化线路9元/月">
|
||||||
<img src="/assets/images/sponsor/sutuoyun.svg#only-light" alt="速拓云" />
|
<img src="/assets/images/sponsor/sutuoyun.svg#only-light" alt="速拓云" />
|
||||||
<img src="/assets/images/sponsor/sutuoyun.svg#only-dark" alt="速拓云" style="filter: grayscale(1) invert(0.6)" />
|
<img src="/assets/images/sponsor/sutuoyun.svg#only-dark" alt="速拓云" style="filter: grayscale(1) invert(0.6)" />
|
||||||
</a>
|
</a>
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://www.dkdun.cn/aff/VAWGETUL" title="专注独立IP高频VPS|R9/i9系列定制">
|
|
||||||
<img src="/assets/images/sponsor/linfengyun-light.png#only-light" alt="林枫云" style="filter: grayscale(1) invert(0.5)" />
|
|
||||||
<img src="/assets/images/sponsor/linfengyun-dark.png#only-dark" alt="林枫云" style="filter: grayscale(1) invert(0.4)" />
|
|
||||||
</a>
|
|
||||||
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
|
<a class="sponsor-item sponsor-item-toc" target="_blank" rel="noopener noreferrer" href="https://arcadia.cool" title="一站式代码运维平台">
|
||||||
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.5)" />
|
<img src="/assets/images/sponsor/arcadia-light.png#only-light" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.5)" />
|
||||||
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.4)" />
|
<img src="/assets/images/sponsor/arcadia-dark.png#only-dark" alt="Arcadia" style="padding: 0 2px; filter: grayscale(1) invert(0.4)" />
|
||||||
|
|||||||
@@ -444,7 +444,7 @@ hide:
|
|||||||
|
|
||||||
- From Developer's Perspective
|
- From Developer's Perspective
|
||||||
|
|
||||||
This project aims to develop a universal repository switching script from the perspective of an operations and maintenance tool, rather than a tool that specifically addresses software repository requirements. The script's default behavior should be suitable for the majority of users. As an operations and maintenance tool, it should have a clear functional positioning. As a script, its pros and cons should be carefully considered from multiple perspectives, including scalability, practicality, and portability. The choice of software repository should be fully vested in the user.
|
This project aims to develop a universal repository switching script from the perspective of an operations and maintenance tool, rather than a tool that specifically addresses software repository requirements. The script's default behavior should be suitable for the majority of users. As an operations and maintenance tool, it should have a clear functional positioning. As a script, its pros and cons should be carefully considered from multiple perspectives, including scalability,and practicality. The choice of software repository should be fully vested in the user.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -545,7 +545,7 @@ Below are some advanced usage examples
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | `deepin` |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | `deepin` |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ hide:
|
|||||||
|
|
||||||
- 开发者角度
|
- 开发者角度
|
||||||
|
|
||||||
本项目站在运维工具的角度致力于开发一个通用的换源脚本,而不是一个解决软件源需求的具体化工具,要使脚本的默认行为适用于大多数用户群体。作为运维工具要有明确的功能定位,作为脚本要从扩展性、实用性、可移植性等多个方面去衡量利弊,软件源的选择权应该完全交给用户。
|
本项目站在运维工具的角度致力于开发一个通用的换源脚本,而不是一个解决软件源需求的具体化工具,要使脚本的默认行为适用于大多数用户群体。作为运维工具要有明确的功能定位,作为脚本要从扩展性、实用性等多个方面去衡量利弊,软件源的选择权应该完全交给用户。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -547,7 +547,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --help
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | `deepin` |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin(深度)** | `deepin` |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ hide:
|
|||||||
|
|
||||||
- 開發者角度
|
- 開發者角度
|
||||||
|
|
||||||
本專案站在維運工具的角度致力於開發一個通用的換源腳本,而不是一個解決軟體源需求的具體化工具,要使腳本的預設行為適用於大多數使用者群體。作為維運工具要有明確的功能定位,作為腳本要從擴展性、實用性、可移植性等多個方面去衡量利弊,軟體源的選擇權應該完全交給使用者。
|
本專案站在維運工具的角度致力於開發一個通用的換源腳本,而不是一個解決軟體源需求的具體化工具,要使腳本的預設行為適用於大多數使用者群體。作為維運工具要有明確的功能定位,作為腳本要從擴展性、實用性等多個方面去衡量利弊,軟體源的選擇權應該完全交給使用者。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -547,7 +547,7 @@ $ bash <(curl -sSL https://linuxmirrors.cn/main.sh) --zh-hant --help
|
|||||||
| --- | :---: |
|
| --- | :---: |
|
||||||
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
| <a href="https://www.debian.org" title="https://www.debian.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/debian.svg" width="16" height="16" style="vertical-align: -0.35em"></a> **Debian** | `debian` `debian-archive` |
|
||||||
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://ubuntu.com" title="https://ubuntu.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/ubuntu.svg" width="16" height="16" style="vertical-align: -0.15em"></a> **Ubuntu** | `ubuntu` `ubuntu-ports` |
|
||||||
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.svg" width="16" height="16"></a> **Kali Linux** | `kali` |
|
| <a href="https://www.kali.org" title="https://www.kali.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/kali-linux.png" width="16" height="16"></a> **Kali Linux** | `kali` |
|
||||||
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
| <a href="https://linuxmint.com" title="https://linuxmint.com" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/linux-mint.ico" width="16" height="16" style="vertical-align: -0.2em"></a> **Linux Mint** | `linuxmint` `ubuntu` `ubuntu-ports` `debian` |
|
||||||
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | `deepin` |
|
| <a href="https://www.deepin.org" title="https://www.deepin.org" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/deepin.png" width="16" height="16" style="vertical-align: -0.2em"></a> **Deepin** | `deepin` |
|
||||||
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
| <a href="https://zorin.com/os" title="https://zorin.com/os" target="_blank" rel="noopener noreferrer"><img src="/assets/images/icon/zorin-os.png" width="16" height="16" style="vertical-align: -0.15em"></a> **Zorin OS** | `ubuntu` `ubuntu-ports` |
|
||||||
|
|||||||