参考资料

  1. npm安装加速
  2. rocm-pypi安装加速
  3. puppy安装加速
  4. pypi-packages安装加速
  5. ros2-rhel安装加速
  6. zabbix安装加速
  7. tex-historic-archive安装加速
  8. opam-repository.git安装加速

tex-historic-archive安装加速

tex-historic-archive 安装加速:思路与实操

`tex-historic-archive` 属于体量较大的 TeX 历史归档类资源,安装过程通常包含「下载 → 校验 → 解包 → 注册」几个阶段。真正拖慢安装的往往不是解包或注册,而是远程下载这一环。因此加速的核心,是围绕下载链路做优化,同时减少重复劳动。下面按可执行的顺序展开。

---

一、先定位瓶颈

在动手优化前,先确认时间花在哪里: bash

粗略计时各个阶段

time wget -c <归档地址> -O archive.tar.xz time xz -T0 -dc archive.tar.xz | tar -xf - 判断原则:

现象主要瓶颈优化方向
下载速率长期远低于带宽源站限速 / 跨境链路换镜像、走代理
单线程速度尚可但总时长长未并行多线程下载
同一文件反复下载无缓存本地缓存 / 断点续传
校验与解包耗时明显CPU / 单线程 xz多核解压

---

二、选择就近镜像

TeX 相关资源在 CTAN 有大量镜像节点。选择物理距离近、响应快的镜像,通常能带来最直接的提速。

  • 优先使用所在地区或邻近地区的镜像节点;
  • 用 `curl -o /dev/null -s -w '%{time_total}\n' <镜像地址>` 简单比对各镜像的响应时间,挑最快的使用;
  • 若使用 `tlmgr`,可通过仓库地址切换到选定镜像:

bash tlmgr option repository <镜像地址> tlmgr update --self 镜像选择的原则是稳定优先、就近次之——偶尔某个就近节点反而更慢,需要实测。

---

三、并行与断点续传下载

单连接下载容易受单个 TCP 连接吞吐限制。使用支持多连接的工具能明显改善: bash

aria2 多连接下载

aria2c -x 8 -s 8 -k 1M -c <归档地址>

axel 多连接

axel -n 8 -a <归档地址>

wget 断点续传(链路不稳定时)

wget -c <归档地址> 建议:

  • `-x/-n`(连接数)不必开得过大,一般 4~8 即可,过多反而触发对端限速;
  • 始终带上续传参数(aria2 的 `-c`、wget 的 `-c`),避免中断后从零开始;
  • 下载大文件时配合 `screen`/`tmux`,防止终端断开导致任务丢失。

---

四、代理与网络层优化

如果源站位于跨境链路,代理往往是决定性的: bash export https_proxy="http://<proxy-host>:<port>" export http_proxy="http://<proxy-host>:<port>" export no_proxy="localhost,127.0.0.1" 注意事项:

  • 代理地址中的用户名密码需要 URL 编码;
  • 只为必要的域名走代理(用 `no_proxy` 或 `git config` 的按域名设置),避免内网请求被绕行;
  • 若下载工具的代理支持不如系统级完善,优先用环境变量方式统一配置。

---

五、缓存与避免重复工作

安装脚本重复执行时,最容易被忽视的浪费是「已经下过的又下一次」。

  • 保留已下载的归档包,校验通过后不要删除,重装时直接复用;
  • 用 `--keep` 之类参数保留中间产物(视具体安装方式而定);
  • 对需要反复拉取的目录,考虑 `rsync` 增量同步,只传变化部分:

bash rsync -avz --partial --progress <源> <目标>

  • 若
作者:王壹杰
时间:2026-10-07
来源:https://mirror.ciilii.com/