|
请先看 pacman & aria2 ── pacman 终极提速[续]
新的pacman支持将communicate,test,core,extra仓库的访问都放置到同一个文件中,然后在镜像里面通过$repo变量来决定具体的仓库。所以,mirrorlist文件里面的URL地址看起来变成了这样:- Server = ftp://ftp.linux.kiev.ua/pub/Linux/ArchLinux/$repo/os/x86_64
复制代码 OK?用$repo来决定仓库的类型。
这样以来,原先的那个pacget脚本就不能用了。
其实手动改一下就好。
修改后的pacget内容如下:- #!/bin/bash
- #pacget script
- rm -f *.aria2
- cachedir=/var/cache/pacman/pkg
- file=`echo $1|awk -F '/' '{ print $NF }'`
- echo Downloading: $file|sed 's,/,,'
- repo=`echo $1|awk -F '/' '{x=NF-3 } { print $x }'`
- echo repo: $repo
- if [[ $2 = *.db.tar.gz.part || $repo = "testing" ]]; then
- echo "(using one mirror)"
- mirrors=$1
- else
- if [ -f /etc/pacman.d/mirrorlist ]; then
- mirrors=`sed -n 's/^Server = //; s/\$repo/'$repo'/; s,$,/'"$file"', ; /^ftp/p; /^http/p' /etc/pacman.d/mirrorlist`
- fi
- fi
- aria2c -t20 -m2 -l /var/log/pacget.log $mirrors -o $file.pacget
- if [ -f $cachedir/$file.pacget.aria2 ]; then
- rm $cachedir/$file.pacget $cachedir/$file.pacget.aria2
- exit 0
- fi
- mv $file.pacget $2
- echo
- echo
- exit 0
复制代码 好了,把mirrorlist文件里面所有Server 前面的#号全去掉。
哈哈,享受aria2+pacman的高速更新吧。 |
|