pacman & aria2 ── pacman 终极提速

http://tech.ddvip.com   2007年02月27日    社区交流

本文详细介绍pacman & aria2 ── pacman 终极提速

  研究 aria2,发现原来的脚本有些不符合“国情”:一是没有续传的功能,因为 aria2不论下载是否完成都会返回0;二是源的添加不方便。于是改了一下,实现了上述的功能。

  另外,将源的选择独立了出来,方便添加。安装只要三步。

  1. $cat /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 /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 里添加 XferCommand = pacget %u %o 就可以了。

  这种方法对于我这里的牛网(ping 网关经常丢包)还是有一定效果的。

  P.S. 透漏一下,Judd 在和 aria2的作者商量,有意要在 pacman 中实现 aria2的部分功能,^o^/ 一起期待吧。

责编:豆豆技术应用

正在加载评论...