不换源就不能用的工具们

由于众多不同规模的防火墙存在,互联网不是总能互联的,有些工具在国内就很不好用。
通常有两种解决思路:

  1. 优化网络
  2. 换能访问的源

brew

  1. Homebrew
  2. Homebrew Core
  3. Homebrew Cask
  4. Homebrew-bottles
1
2
3
4
5
6
7
8
9
10
11
12
# 替换 Homebrew
git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git

# 替换 Homebrew Core
git -C "$(brew --repo homebrew/core)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git

# 替换 Homebrew Cask
git -C "$(brew --repo homebrew/cask)" remote set-url origin https://mirrors.ustc.edu.cn/homebrew-cask.git

# 替换 Homebrew-bottles
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

Snap

很不幸,国内似乎没有源,更不幸的是换源和翻墙可能也解决不了问题。
参考以前 pyenv 速度慢的 cache 文件替换法,最后采用打日志+外部下载+安装的方式解决了问题。
以安装 vscode 为例,具体分为以下步骤。

  • vim /usr/lib/systemd/system/snapd.service 观察得到 snapd 环境文件地址
  • vim /etc/sysconfig/snapd 中添加 SNAPD_DEBUG=1 和 SNAPD_DEBUG_HTTP=7
  • sudo snap install --classic code 运行改命令执行安装,速度正常的话就不需要进行下一步了,否则继续。我是碰到 100KB 以内的速度,并且下载到 50% 就会中断,被逼无奈只能继续。
  • journalctl -fxeu snapd 等卡一段时间之后运行该命令,从最后几行中找到 retry.go:49: DEBUG: Retrying https://api.snapcraft.io/api/v1/snaps/download/Ht0aUHi7ofh9Fbwh6m7jUN2pAy6kzBiu_40.snap, attempt 1, elapsed time=5.22µs 这一行日志,获取真实的下载地址
  • 这里需要一个配置良好的 aria2,下载速度飞起,我是上了 8MB 的速度,短时间就下完了。
  • 把正在运行的 snap 杀掉。
  • journalctl -fxeu snapd 从刚才那行日志上一行找到真实文件地址,将真实文件 mv 过去。
  • sudo snap install --classic code 再次执行该指令,经过文件校验之后可以直接安装。
坚持原创技术分享,您的支持将鼓励我继续创作!