|
看了 tx-cary 版主的帖子,自己试用加上上官方论坛找资料和研究 aria2,发现原来的脚本有些不符合“国情”:一是没有续传的功能,因为 aria2不论下载是否完成都会返回0;二是源的添加不方便。于是改了一下,实现了上述的功能。
另外,将源的选择独立了出来,方便添加。安装只要三步。
1. $cat [color="Red"]/usr/bin/pacget
- #!/bin/bash
- #pacget script
- 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
- mirrors=`sed -n 's/^Server = //; s,$,/'"$repo/os/i686/$file"', ; /^ftp/p; /^http/p' /etc/pacget.conf`
- if [[ $2 = *.db.tar.gz.part || $repo = "testing" ]]; then
- echo "(using one mirror)"
- mirrors=$1
- cachedir=/var/lib/pacman
- fi
- aria2c -t60 -m5 -l /var/log/pacget.log $mirrors -o $file.pacget
- if [ -f $cachedir/$file.pacget.aria2 ]; then
- exit 130
- fi
- mv $file.pacget $2
复制代码
2. $cat [color="Red"]/etc/pacget.conf
- #pacget mirror list file
- http://download.ourlinux.net:81/Linux/ArchLinux
- ftp://cle.linux.org.tw/pub/ArchLinux
- ftp://ftp.archlinux.org
- http://mirror.lupaworld.com/archlinux
- http://ftp.belnet.be/linux/archlinux
- http://mirror.cs.vt.edu/pub/ArchLinux
- http://mirrors.easynews.com/linux/archlinux
- http://distro.ibiblio.org/pub/linux/distributions/archlinux
- http://ftp.gigabit.nu/archlinux
复制代码
如果想要加如其他源,就添加到这个文件里。
3. 同样,在 /etc/pacman.conf 里添加 [color="Red"]XferCommand = pacget %u %o 就可以了。
这种方法对于我这里的牛网(ping 网关经常丢包)还是有一定效果的。
P.S. 透漏一下,Judd 在和 aria2的作者商量,有意要在 pacman 中实现 aria2的部分功能,\^o^/ 一起期待吧。 |
|