From 9cb5eef276d645376dd4590a1e1a0dcbd544ed1c Mon Sep 17 00:00:00 2001 From: Super Manito <68613938+SuperManito@users.noreply.github.com> Date: Sun, 29 Dec 2024 23:07:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/index.md | 18 +++++++++- docs/mirrors/index.md | 14 ++++---- docs/other/index.md | 73 +++++++++++++++++++------------------ docs/use/index.md | 83 +++++++++++++++++++++++++++++-------------- mkdocs.yml | 2 +- 5 files changed, 121 insertions(+), 69 deletions(-) diff --git a/docs/index.md b/docs/index.md index f79e557e..a1eaed16 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,12 +11,28 @@ hide: - footer --- +
![](assets/images/brand/light/2.png#only-light){ width="300" } ![](assets/images/brand/dark/2.png#only-dark){ width="300" }
GNU/Linux 更换系统软件源脚本及 Docker 安装脚本
脚本使换源更简单
+
+=== "GNU/Linux" + + ``` { .bash title="一键命令" } + bash <(curl -sSL https://linuxmirrors.cn/main.sh) + ``` + +=== "Docker" + + ``` { .bash title="一键命令" } + bash <(curl -sSL https://linuxmirrors.cn/docker.sh) + ``` + +
+
@@ -27,7 +43,7 @@ hide: --- 深入考察了国内镜像站的系统适配情况,测试了下载速度与IPv6兼容性 - 另外提供全网搜集的中国大陆教育网镜像站和海外镜像站供用户选择 + 另外提供全网搜集的国内教育网镜像站和海外镜像站供用户选择 - :material-rocket-launch-outline:{ .lg .middle } __零技术门槛__ diff --git a/docs/mirrors/index.md b/docs/mirrors/index.md index d1969ea2..4c307dcb 100644 --- a/docs/mirrors/index.md +++ b/docs/mirrors/index.md @@ -33,7 +33,7 @@ hide: 如果这里没有想使用的镜像站那可以看看其它运行模式和命令选项。软件源的速度区分刷新速度和下行速率,后者才是关键,具体请结合实际地理位置选择尝试,还可以通过[辅助工具网站](#工具网站)进行一些测试 - :material-thumb-up-outline: 使用建议:速度上推荐 `中科大`、`字节跳动(火山引擎)`,地域兼容性上推荐 `阿里云`、`腾讯云`,海外或复杂网络环境下不建议使用 `清华(TUNA)` 等容易阻断的镜像站 + :material-thumb-up-outline: 使用建议:速度上推荐 `中科大`、`字节跳动(火山引擎)`,地域兼容性上推荐 `阿里云`、`腾讯云`,境外、海外或复杂网络环境下不建议使用 `清华(TUNA)` 等容易阻断的镜像站 ??? note "中国大陆教育网(点击展开查看)" @@ -241,15 +241,15 @@ hide: | 非洲 · Liquid Telecom · 肯尼亚 :flag-KE: | [mirror.liquidtelecom.com](https://mirror.liquidtelecom.com "https://mirror.liquidtelecom.com") | | 非洲 · Dimension Data · 南非 :flag-ZA: | [mirror.dimensiondata.com](https://mirror.dimensiondata.com "https://mirror.dimensiondata.com") | -???+ note "帮助项目完善更多海外软件源" +???+ note "帮助项目完善更多境外、海外软件源" 该列表中的软件源参考自 [`Ubuntu 镜像列表`](https://launchpad.net/ubuntu/+cdmirrors "https://launchpad.net/ubuntu/+cdmirrors")、[`Debian 镜像列表`](https://www.debian.org/CD/http-ftp/#mirrors "https://www.debian.org/CD/http-ftp/#mirrors")、[`Fedora Mirror Manager`](https://admin.fedoraproject.org/mirrormanager/mirrors "https://admin.fedoraproject.org/mirrormanager/mirrors") 并且在此之前全部经过了有效性验证,但未作实际测试 - 作者没有精力持续维护列表中的这些海外镜像站,如果你想补充更多海外软件源或更正当前已有,请修改脚本内的 [`mirror_list_abroad 数组变量`](https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L60 "https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L66") 并按照下面的编辑规范进行修改 + 作者没有精力持续维护列表中的这些境外、海外镜像站,如果你想补充更多软件源或更正当前已有,请修改脚本内的 [`mirror_list_abroad 数组变量`](https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L60 "https://github.com/SuperManito/LinuxMirrors/blame/main/ChangeMirrors.sh#L66") 并按照下面的编辑规范进行修改 你可以在确认软件源地址无误后前往 GitHub 仓库提交 [Pull Requests](https://github.com/SuperManito/LinuxMirrors/pulls "https://github.com/SuperManito/LinuxMirrors/pulls"),也可以 :material-source-fork: Fork 仓库后自行定制使用 - - 海外软件源编辑规范: + - 境外以及海外软件源编辑规范: 完整格式:`洲 · 软件源名称 · 国家/地区@软件源地址(域名)` @@ -257,9 +257,9 @@ hide: - 教育单位:需使用中文译名,全称中若含有国家或地区的名称则也要带上,注意区分下属单位,例如学院、学生会、社团等。常见的二级域名格式 `ftp.mirrors.xxx.xxx` 应直接采用顶级单位的名称,如果有三级域名则应考虑是否在名称中加上下属单位,以域名为优先原则 - 注:`Technology` 一词应称为 `理工` 而不能使用翻译结果的 `技术` 一词 + 注:`Technology` 一词应称为 `理工` 而不能使用翻译结果的 `技术` 一词,大部分教育单位都有正式或公认的中文译名 - - 非教育单位:应优先采用其上属官网所自称的英文品牌名称,注意是正式的英文名称不是logo中的字符,如果没有并且是除中文、英文以外的语言应使用域名作为名称 + - 非教育单位:应优先采用其上属官网所自称的品牌名称,注意是正式的英文名称而不是logo中的字符,如果没有并且网站是除中文、英文以外的语言文字应使用网站域名作为名称 ## 工具网站 @@ -268,4 +268,4 @@ hide: -!!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)
特此声明:本页面用到的旗帜符号仅用于快速区分地理位置不代表作者的任何政治立场,请不要过度解读!" +!!! tip "该页面展示的均为脚本默认提供可供选择的软件源地址,如果没有找到你想使用的也没有关系,脚本支持命令选项可自定义使用,详见[高级用法](../use/index.md#命令选项高级用法)
特此声明:本页面涉及的旗帜图标仅用于快速区分地理位置不代表作者的任何政治立场,请不要过度解读!" diff --git a/docs/other/index.md b/docs/other/index.md index 3c60cb1a..e5c991df 100644 --- a/docs/other/index.md +++ b/docs/other/index.md @@ -9,9 +9,6 @@ hide: ## :fontawesome-brands-docker:{style="color: #086dd7"} Docker 安装脚本 -支持 `选择或更换软件源以及镜像仓库`、`安装指定版本`、`重装` 等功能 -脚本参考 [官方文档](https://docs.docker.com/engine/install) 使用包管理工具实现安装,支持的系统详见下方表格 - @@ -47,7 +44,7 @@ hide:
Debian
-=== ":octicons-globe-16: CDN(推荐)" +=== ":octicons-globe-16: 官网(推荐)" ``` bash bash <(curl -sSL https://linuxmirrors.cn/docker.sh) @@ -59,62 +56,70 @@ hide: bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh) ``` -=== ":simple-gitee: Gitee" +=== ":simple-gitee: Gitee 码云" ``` bash bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh) ``` -脚本集成安装 [`Docker Engine`](https://docs.docker.com/engine) 和 [`Docker Compose (插件)`](https://docs.docker.com/compose/install/linux),可选择安装版本、下载软件源、镜像加速器,支持 ARM 架构处理器 +=== ":simple-jsdelivr: jsDelivr" + + ``` bash + bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh) + ``` + +支持 `选择或更换软件源以及镜像仓库`、`安装指定版本`、`重装` 等功能,支持 ARM 架构处理器 + +脚本参考 [官方文档](https://docs.docker.com/engine/install) 使用系统包管理工具安装,集成安装 [`Docker Engine`](https://docs.docker.com/engine) 和 [`Docker Compose (插件)`](https://docs.docker.com/compose/install/linux) -Docker Compose 自 V2 版本起开始作为 Docker CLI 的一部分,不再需要单独安装,请使用 `docker compose` 命令代替 `docker-compose` +> 注:Docker Compose 自 V2 版本起开始作为 Docker CLI 的一部分,不再需要单独安装,请使用 `docker compose` 命令替代 `docker-compose` !!! node "软件源说明" `Docker CE` 软件仓库,全称 Docker Community Edition(Docker 社区版),用于下载并安装 Docker 相关软件包 `Docker Registry` 镜像仓库,用于控制拉取镜像的默认来源存储仓库,又称镜像加速器,默认为官方的 Docker Hub 仓库 - 由于一些不可抗力的因素,目前国内网络环境一般无法正常访问 Docker Hub 从而导致无法拉取镜像,建议使用推荐的镜像源,不过速度可能会很慢 + 由于一些不可抗力的因素,目前国内网络环境一般无法正常访问 Docker Hub 因此无法拉取镜像,使用推荐的镜像源勉强能够使用不过速度可能会很慢 -### 命令选项 +- ### 命令选项 -| 名称 | 含义 | 选项值 | -| :-: | :-: | :-: | -| `--source` | 指定 `Docker CE` 源地址(域名或IP) | 地址 | -| `--source-registry` | 指定镜像仓库地址(域名或IP) | 地址 | -| `--codename` | 指定 Debian 系操作系统的版本代号 | 代号名称 | -| `--install-latest` | 是否安装最新版本的 Docker Engine | `true` 或 `false` | -| `--close-firewall` | 是否关闭防火墙 | `true` 或 `false` | -| `--clean-screen` | 是否在运行前清除屏幕上的所有内容 | `true` 或 `false` | -| `--ignore-backup-tips` | 忽略覆盖备份提示(即不覆盖备份) | 无 | + | 名称 | 含义 | 选项值 | + | :-: | :-: | :-: | + | `--source` | 指定 `Docker CE` 源地址(域名或IP) | 地址 | + | `--source-registry` | 指定镜像仓库地址(域名或IP) | 地址 | + | `--codename` | 指定 Debian 系操作系统的版本代号 | 代号名称 | + | `--install-latest` | 是否安装最新版本的 Docker Engine | `true` 或 `false` | + | `--close-firewall` | 是否关闭防火墙 | `true` 或 `false` | + | `--clean-screen` | 是否在运行前清除屏幕上的所有内容 | `true` 或 `false` | + | `--ignore-backup-tips` | 忽略覆盖备份提示(即不覆盖备份) | 无 | -> 软件源完整格式 `://<软件源地址(域名或IP)>/<软件源仓库(路径)>` + > 软件源完整格式 `://<软件源地址(域名或IP)>/<软件源仓库(路径)>` -### 关于服务报错无法启动 +- ### 关于服务报错无法启动 -!!! quote "" + !!! quote "" - 非新装环境可能会在运行脚本后遇到 `Docker` 服务无法启动的情况,建议重新安装来解决,卸载不会删除镜像和容器数据 + 非新装环境可能会在运行脚本后遇到 `Docker` 服务无法启动的情况,建议重新安装来解决,卸载不会删除镜像和容器数据 - 卸载命令如下: + 卸载命令如下: - === "Debian 系" + === "Debian 系" - ``` bash - apt-get remove -y docker* containerd.io runc && apt-get autoremove - ``` + ``` bash + apt-get remove -y docker* containerd.io runc && apt-get autoremove + ``` - > `Debian`   `Ubuntu`   `Kali`   `Linux Mint`   `Deepin`   `Zorin OS`   `Armbian`   `Proxmox` + > `Debian`   `Ubuntu`   `Kali`   `Linux Mint`   `Deepin`   `Zorin OS`   `Armbian`   `Proxmox` - === "RedHat 系 / openEuler / OpenCloudOS / Anolis OS" + === "RedHat 系 / openEuler / OpenCloudOS / Anolis OS" - ``` bash - yum remove -y docker* containerd.io podman* runc - ``` + ``` bash + yum remove -y docker* containerd.io podman* runc + ``` - > `Red Hat Enterprise Linux`   `CentOS`   `Rocky Linux`   `AlmaLinux`   `Fedora`   `openEuler`   `OpenCloudOS`   `Anolis OS` + > `Red Hat Enterprise Linux`   `CentOS`   `Rocky Linux`   `AlmaLinux`   `Fedora`   `openEuler`   `OpenCloudOS`   `Anolis OS` - 卸载完成后重新执行脚本安装即可 + 卸载完成后重新执行脚本安装即可 ## 其它 diff --git a/docs/use/index.md b/docs/use/index.md index bcf0f397..3f03d254 100644 --- a/docs/use/index.md +++ b/docs/use/index.md @@ -12,7 +12,7 @@ hide: !!! quote "" - === ":octicons-globe-16: CDN(推荐)" + === ":octicons-globe-16: 官网(推荐)" ``` bash bash <(curl -sSL https://linuxmirrors.cn/main.sh) @@ -24,17 +24,23 @@ hide: bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) ``` - === ":simple-gitee: Gitee" + === ":simple-gitee: Gitee 码云" ``` bash bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) ``` + === ":simple-jsdelivr: jsDelivr" + + ``` bash + bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh) + ``` + === ":material-earth: 境外以及海外地区" !!! quote "" - === ":octicons-globe-16: CDN(推荐)" + === ":octicons-globe-16: 官网(推荐)" ``` bash bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad # (1)! @@ -48,21 +54,29 @@ hide: bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --abroad # (1)! ``` - 2. 通过 `--abroad` 命令选项来使用海外软件源 + 1. 通过 `--abroad` 命令选项来使用海外软件源 - === ":simple-gitee: Gitee" + === ":simple-gitee: Gitee 码云" ``` bash bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --abroad # (1)! ``` - 3. 通过 `--abroad` 命令选项来使用海外软件源 + 1. 通过 `--abroad` 命令选项来使用海外软件源 + + === ":simple-jsdelivr: jsDelivr" + + ``` bash + bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh) --abroad # (1)! + ``` + + 1. 通过 `--abroad` 命令选项来使用海外软件源 === ":material-library: 中国大陆教育网" !!! quote "" - === ":octicons-globe-16: CDN(推荐)" + === ":octicons-globe-16: 官网(推荐)" ``` bash bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu # (1)! @@ -78,13 +92,21 @@ hide: 1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源 - === ":simple-gitee: Gitee" + === ":simple-gitee: Gitee 码云" ``` bash bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) --edu # (1)! ``` - 2. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源 + 1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源 + + === ":simple-jsdelivr: jsDelivr" + + ``` bash + bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/ChangeMirrors.sh) --edu # (1)! + ``` + + 1. 通过 `--edu` 命令选项来使用中国大陆教育单位软件源 选项卡分别代表脚本内置软件源类型和获取脚本途径,请在使用前检查目标镜像站是否支持您所使用的操作系统,可以在[软件源列表](../mirrors/index.md)中查看具体有哪些软件源。 @@ -96,19 +118,25 @@ hide: --- - 切换命令为 `sudo -i` 或 `su root`。不同系统使用的命令不同,因为有些系统没有在初始安装时为 ROOT 账户设置密码(例如 Ubuntu),故需要使用 `sudo -i` 命令来切换至 ROOT + 切换命令为 `sudo -i` 或 `su root`。不同系统使用的命令不同,因为有些系统没有在初始安装时为 ROOT 账户设置密码(例如 Ubuntu),故需要使用 `sudo -i` 命令来切换至 ROOT。 - :material-numeric-2:{style="color: #3CA7E5" .lg} __建议使用 `SSH` 远程工具__ --- - 如果你使用的系统终端界面无法正常显示中文内容那么将导致无法查看交互内容。部分系统会自动开启 SSH 服务,否则请参考 [_关于开启 SSH 远程登录的方法_](#关于开启-ssh-远程登录的方法) + 如果你使用的系统终端界面无法正常显示中文内容那么将导致无法查看交互内容。部分系统会自动开启 SSH 服务,否则请参考 [_关于开启 SSH 远程登录的方法_](#关于开启-ssh-远程登录的方法)。 - :material-numeric-3:{style="color: #3CA7E5" .lg} __如果是在新系统上首次执行脚本__ --- - 当前执行方式依赖 `curl` 指令获取脚本内容并执行,但部分操作系统没有预装此软件包,届时则会报错 `Command not found`,安装方法详见下方 [_关于报错 Command not found_](#关于报错-command-not-found)。还可自行复制[源码](https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)至本地新建任意名称的 `.sh` 脚本,粘贴源码内容后通过 `bash` 指令手动执行 + 当前执行方式依赖 `curl` 指令获取脚本内容并执行,但部分操作系统没有预装此软件包,届时则会报错 `Command not found`,安装方法详见下方 [_关于报错 Command not found_](#关于报错-command-not-found)。 + + - :material-numeric-4:{style="color: #3CA7E5" .lg} __脚本需要通过交互进行配置__ + + --- + + 交互主要有两种呈现方式,一种是铺满全屏竖向选择软件源地址的列表,另一种是横向选择 “是/否” 的选项。请通过键盘方向键或 `WASD` 控制选项、回车键确认。
@@ -164,42 +192,48 @@ hide: ??? tip "安装不上?(点击展开查看其它解决方法)" - 假如系统原有软件源是无效的导致安装不上 `curl` 软件包,那么对于 Linux 初学者来说可能会比较麻烦,这里提供两个在线获取脚本的应急方法,否则就只能手动复制粘贴源代码了 + 假如系统原有软件源是无效的导致安装不上 `curl` 软件包,那么对于 Linux 初学者来说可能会比较麻烦,这里提供几个在线获取脚本的应急方法 === "使用 Python 下载脚本" 适用于大部分操作系统(`Alpine Linux` 除外),`python3` 要是不存在那就再试试 `python` 指令 ``` bash - python3 -c "import urllib.request; urllib.request.urlretrieve('https://linuxmirrors.cn/main.sh', 'linuxmirrors.sh')" + python3 -c "import urllib.request; urllib.request.urlretrieve('https://linuxmirrors.cn/main.sh', 'main.sh')" ``` === "使用 wget 下载脚本" 一般没有预装 `curl` 软件包的系统也不会预装 `wget` 软件包,所以大概率这个方法应该是不行的 ``` bash - wget -O linuxmirrors.sh https://linuxmirrors.cn/main.sh + wget https://linuxmirrors.cn/main.sh ``` + === "使用浏览器下载" + + 如果可以访问系统 GUI 图像界面和桌面的话那可以直接在浏览器中打开链接下载脚本,很多系统都会预装 Firefox 火狐浏览器 + 之后再执行脚本即可 === ":material-home-city: 中国大陆" ``` bash - bash linuxmirrors.sh + bash main.sh ``` === ":material-earth: 境外以及海外地区" ``` bash - bash linuxmirrors.sh --abroad + bash main.sh --abroad ``` === ":material-library: 中国大陆教育网" ``` bash - bash linuxmirrors.sh --edu + bash main.sh --edu ``` + 如果以上方法试了都不行,那就复制[源码](https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)至本地新建任意名称的 `.sh` 脚本,粘贴源码内容后通过 `bash` 指令手动执行。 + - #### 关于开启 SSH 远程登录的方法 !!! quote "" @@ -290,9 +324,9 @@ hide: - ### 关于调用脚本的互联网位置 - 项目利用 GitHub Action 在每次提交后自动拷贝源码到文档目录作为网站资源发布,网站托管于知名 CDN 云服务商几乎没有被劫持的风险可放心使用 + 项目利用 [GitHub Action](https://github.com/SuperManito/LinuxMirrors/blob/main/.github/workflows/build-docs.yml#L24) 在每次提交后自动拷贝源码到文档目录作为网站资源发布,网站托管于知名 CDN 云服务商几乎没有被劫持的风险可放心使用 - 当然你也可以使用代码托管仓库的原始地址来调用,这里只是想告诉你为什么会有三个不同的地址,默认的 CDN 地址更易于访问和记忆 + 当然你也可以使用代码托管仓库的原始地址来调用,这里只是想告诉你为什么会有几个不同的地址,默认的官网地址更易于访问和记忆 - ### 关于未启用的软件源 @@ -356,8 +390,7 @@ hide: - ### 指定软件源地址 ``` { .bash .no-copy } - bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ - --source mirror.example.com + bash <(curl -sSL https://linuxmirrors.cn/main.sh) --source mirror.example.com ``` - ### 指定软件源仓库 @@ -443,15 +476,13 @@ hide: === "升级 Debian 至最新 12 版本 Bookworm" ``` bash - bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ - --codename bookworm + bash <(curl -sSL https://linuxmirrors.cn/main.sh) --codename bookworm ``` === "将 Debian 版本切换到测试分支" ``` bash - bash <(curl -sSL https://linuxmirrors.cn/main.sh) \ - --codename testing + bash <(curl -sSL https://linuxmirrors.cn/main.sh) --codename testing ``` 更换软件源后还需要执行系统更新命令 `apt-get dist-upgrade`,并且建议在更新完成并重启系统后重新执行本换源脚本,因为仅更换软件源配置中的系统版本代号可能会在后期使用时产生一些兼容性问题 diff --git a/mkdocs.yml b/mkdocs.yml index 87995ac4..69e64875 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,5 +1,5 @@ site_name: LinuxMirrors -repo_name: GitHub +repo_name: LinuxMirrors repo_url: https://github.com/SuperManito/LinuxMirrors edit_uri: edit/main/docs/ copyright: 'Copyright © 2024 SuperManito '