github的release,噩梦一般。当AUR里面调用缺省的curl去对付那些包的时候,90%的情况是无法成功的。即便成功也是苦等几十分钟。至少我的网络环境是这样。
/etc/makepkg.conf :
1 2 3 4 5 6 7 8 9
| #-- The download utilities that makepkg should use to acquire sources # Format: 'protocol::agent' DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')
|
修改如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| ##-- The download utilities that makepkg should use to acquire sources ## Format: 'protocol::agent' #DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' # 'ftp::/usr/bin/curl -gqfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u' # 'http::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' # 'https::/usr/bin/curl -gqb "" -fLC - --retry 3 --retry-delay 3 -o %o %u' # 'rsync::/usr/bin/rsync --no-motd -z %u %o' # 'scp::/usr/bin/scp -C %u %o')
DLAGENTS=('file::/usr/bin/axel -n 15 -a -o %o %u' 'ftp::/usr/bin/axel -n 15 -a -o %o %u' 'http::/usr/bin/axel -n 15 -a -o %o %u' 'https::/usr/bin/axel -n 15 -a -o %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')
|
但 github 不管多少线程都跑不动,改用镜像站下载
github镜像站:
1 2
| https://github.com.cnpmjs.org https://hub.fastgit.org
|
先ping 一下比较相应时间,选择优质的
1 2 3
| ping github.com ping github.com.cnpmjs.org ping fastgit.org
|
参考: 让你的GitHub下载飞速提升到2M/s以上
通过脚本换链接:
axel_for_makepkg.sh :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #! /bin/bash
domin=`echo $2 | cut -f3 -d'/'`; others=`echo $2 | cut -f4- -d'/'`; case "$domin" in "github.com") url="https://download.fastgit.org/"$others; ;; *) url=$2; ;; esac
echo "download from $url"; /usr/bin/axel -n 10 -a -o $1 $url;
|
修改/etc/makepkg.conf
1 2 3 4 5 6
| DLAGENTS=('file::/usr/bin/curl -gqC - -o %o %u' 'ftp::/usr/bin/axel -n 15 -a -o %o %u' 'http::/usr/bin/axel -n 15 -a -o %o %u' 'https::~/meshell/fake_download_tools/fake_axel_for_makepkg %o %u' 'rsync::/usr/bin/rsync --no-motd -z %u %o' 'scp::/usr/bin/scp -C %u %o')
|
镜像不允许多线程下载,然而没关系,axel自动fallback成单线程
参考: 机智的解决arch/manjaro安装AUR软件时github下载软件包慢或不可获得的问题