Linux乎? Pacman乎? 迅雷乎?

本文讨论一种极其无耻的行为: 把 Arch Linux 中 pacman 的下载链接转换成迅雷(xunlei)的下载列表。
洁身自好者请闪避!

话说世风日下,是个人就用迅雷,再好的网络也得崩溃,何况这边已经惨不忍睹的6栋大楼! 习惯了 Linux 带给我的自由,所以对待winner一直旁观者清。 国之诞辰,无聊四起,于是winner们大开迅雷,linux下那些本分的下载工具纷纷息鼓,奈何我一个星期没有更新系统、还想安个e17玩玩…… 怎么办? 再牛逼的肖邦也弹不出老子的悲伤。

好吧,那么咱也开迅雷(虚拟机)对耗。 Arch Linux 的包管理器是 pacman ,而 pacman 是可以自定义下载器的(其他发行版应该也行); 以前有过例子了: 修改arch下的pacget脚本。 所以这回直接写个脚本提取下载链接, 转换成迅雷的下载列表,最后在虚拟机里导入迅雷即可。 麻烦一点,总比没有好。

脚本如下_(狂击这里下载):
阅读完整的文章… »

LD on 10月 1st, 2008 | File Under 魅力桌面 | 2 Comments -

修改了arch下的pacget脚本,可以和pacman同用一个mirrorlist了

经历半个月,终于考完试; 到长沙的中软国际傻傻的走了一遭; 做着严重超载的火车回到了家; 躺在当年的床上,混混沌沌地睡了一天办; 把家里老机子上的arch升级并重新布置了一下桌面

只是家里的网速太慢,pacman使用wget更新很稳定的10kb/s,急煞人也!! 没法搬出以前linuxsir论坛上找到的pacget脚本,修改了一下,使它和pacman使用同样的mirrorlist。

  1. #!/bin/bash
  2. #pacget script
  3.  
  4. cachedir=/var/cache/pacman/pkg
  5. rm -f $cachedir/*.aria2
  6. file=`echo $1|awk -F '/' '{ print $NF }'`
  7. echo Downloading: $file|sed 's,/,,'
  8. repo=`echo $1|awk -F '/' '{x=NF-3 } { print  $x }'`
  9. echo %repo: $repo
  10. mirrors=`sed -n 's/^Server = //; s/\$repo/'$repo'/ ; s,$,/'"/$file"', ; /^ftp/p; /^http/p' /etc/pacman.d/mirrorlist`
  11.  
  12. if [[ $2 = *.db.tar.gz.part || $repo = "testing" ]]; then
  13.        echo "(using one mirror: $1 )"
  14.        mirrors=$1
  15.        cachedir=/var/lib/pacman
  16. fi
  17.  
  18. aria2c -t60 -m5 -l /var/log/pacget.log $mirrors -o $file.pacget
  19. if [ -f $cachedir/$file.pacget.aria2 ]; then
  20. exit 130
  21. fi
  22. mv $file.pacget $2

还是没有给我失望,下载速度提上去了; 不是最快,但满足了 :smile:

阅读完整的文章… »

LD on 07月 14th, 2008 | File Under 魅力桌面 | No Comments -