apt-get调用aria2下载

上网、浏览、聊天、下载等
回复
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

apt-get调用aria2下载

#1

帖子 人在井天 » 2010-11-17 15:42

网上有apt-fast脚本下载,这个脚本是调用axel来下载,但是,我用的骨头源,发现居然不支持用axel实现多线程下载,仍是一个线程,但发现用aria2却是能够实现的。网上也有调用aria2下载的脚本,我一试却没有成功。于是把这个atp-fast脚本改造了一下,因为自己是菜鸟,所以给每一个命令加上中文注释,高手莫笑:

代码: 全选

#  !/bin/sh
# 设置变量
[ "`whoami`" = root ] || exec sudo "$0" "$@"
#获取用户输入命令,显示工作中

if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Working...";
# 进入下载目录
cd /var/cache/apt/archives/;
#恐怕上次升级的时候一些文件的下载没有完成,先用aria2c下载完成
aria2c -c -s 10 -j 10  -i apt-fast.list 

# 获取要下载的软件列表,并形成文件,调用aria2进行下载
 apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && aria2c -c -s 10 -j 10  -i apt-fast.list 
# 下载完毕,重新运行apt-get命令
apt-get $@;
else
   apt-get $@;
fi
网上一般的做法是,把这个脚本命名为:apt-fast,并加上可执行权限:

代码: 全选

chmod +x apt-fast
然后把它复制到/usr/bin下面。
以后就可以用apt-fast命令替代apt-get命令,如:

sudo apt-fast dist-upgrade 替代 sudo apt-get dist-upgrade

另,请先安装aria2

代码: 全选

sudo apt-get install aria2

请注意,aria2下载的命令是aria2c,而不是aria2
脚本中aria2c命令所加的参数-c是断点接续,-s 10是以10个线程下载,-j 10 是最大并行下载数为10。
上次由 人在井天 在 2010-11-18 9:46,总共编辑 4 次。
头像
momova
帖子: 3381
注册时间: 2007-07-11 21:43
系统: archlinux
来自: 东江边

Re: apt-get调用aria2下载

#2

帖子 momova » 2010-11-17 15:47

哇哦,这个不错,我前段时间看到一个和你这个类似的东西。
我来了,我看见了,我征服了!
求勾搭,不管饭。
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: apt-get调用aria2下载

#3

帖子 人在井天 » 2010-11-17 16:14

momova 写了:哇哦,这个不错,我前段时间看到一个和你这个类似的东西。
东西是别人的,只是我加了中文注释,让菜鸟用个明白。
lubcat
帖子: 2061
注册时间: 2010-09-27 12:59

Re: apt-get调用aria2下载

#4

帖子 lubcat » 2010-11-17 16:16

应该不错吧。
生活里,有很多转瞬即逝,像在车站的告别,刚刚还相互拥抱,转眼已各自天涯。很多时候,你不懂,我也不懂,就这样,说着说着就变了,听着听着就倦了,看着看着就厌了,跟着跟着就慢了,走着走着就散了,爱着爱着就淡了,想着想着就算了。
人在井天
帖子: 1081
注册时间: 2009-04-29 21:22

Re: apt-get调用aria2下载

#5

帖子 人在井天 » 2010-11-18 9:57

我这个比较的懒,一般的懒得把这个脚本复制到/usr/bin下面,我就直接放在主目录下,打开终端直接就可以用这个命令,如:
sudo ./apt-fast dist-upgrade
这个命令代替:
sudo apt-get dist-upgrade
头像
Drdi
帖子: 257
注册时间: 2009-10-02 15:47

Re: apt-get调用aria2下载

#6

帖子 Drdi » 2011-01-17 21:12

应该会用到的吧 加了注释也看不大懂啊 已经安装好了 apt-fast 把/usr/bin/apt-fast 里面的内容替换一下就可以了吧应该
爱Linux 也爱Ubuntu
简洁美观的桌面
更爱高效稳定的系统
不是不折腾难受夫斯基不想浪费时间
我和大多数人一样 我是菜菜
我要有菜菜的觉悟
我是Drdi
头像
_Pilgrim
帖子: 49
注册时间: 2010-05-27 9:33

Re: apt-get调用aria2下载

#7

帖子 _Pilgrim » 2011-04-09 14:45

试试... :em11
要时刻想到右上角……
头像
ctrl-fairy
帖子: 116
注册时间: 2011-04-28 18:05

Re: apt-get调用aria2下载

#8

帖子 ctrl-fairy » 2011-09-02 6:54

人在井天 写了:网上有apt-fast脚本下载,这个脚本是调用axel来下载,但是,我用的骨头源,发现居然不支持用axel实现多线程下载,仍是一个线程,但发现用aria2却是能够实现的。网上也有调用aria2下载的脚本,我一试却没有成功。于是把这个atp-fast脚本改造了一下,因为自己是菜鸟,所以给每一个命令加上中文注释,高手莫笑:

代码: 全选

#  !/bin/sh
# 设置变量
[ "`whoami`" = root ] || exec sudo "$0" "$@"
#获取用户输入命令,显示工作中

if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Working...";
# 进入下载目录
cd /var/cache/apt/archives/;
#恐怕上次升级的时候一些文件的下载没有完成,先用aria2c下载完成
aria2c -c -s 10 -j 10  -i apt-fast.list 

# 获取要下载的软件列表,并形成文件,调用aria2进行下载
 apt-get -y --print-uris $@ | egrep -o -e "(ht|f)tp://[^\']+" > apt-fast.list && aria2c -c -s 10 -j 10  -i apt-fast.list 
# 下载完毕,重新运行apt-get命令
apt-get $@;
else
   apt-get $@;
fi
网上一般的做法是,把这个脚本命名为:apt-fast,并加上可执行权限:

代码: 全选

chmod +x apt-fast
然后把它复制到/usr/bin下面。
以后就可以用apt-fast命令替代apt-get命令,如:

sudo apt-fast dist-upgrade 替代 sudo apt-get dist-upgrade

另,请先安装aria2

代码: 全选

sudo apt-get install aria2

请注意,aria2下载的命令是aria2c,而不是aria2
脚本中aria2c命令所加的参数-c是断点接续,-s 10是以10个线程下载,-j 10 是最大并行下载数为10。
aria2官网有apt-metalink

代码: 全选

linux和windows对我等菜鸟,都是浮云!
宁静致远468835121
帖子: 2
注册时间: 2022-07-27 14:45
系统: ubuntu 22.04

Re: apt-get调用aria2下载

#9

帖子 宁静致远468835121 » 2022-07-27 14:50

那个正则没有匹配到https就稍稍改了一下,请大佬指正

代码: 全选

#  !/bin/sh
# 设置变量
[ "`whoami`" = root ] || exec sudo "$0" "$@"
#获取用户输入命令,显示工作中

if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Working...";
# 进入下载目录
cd /var/cache/apt/archives/;
#恐怕上次升级的时候一些文件的下载没有完成,先用aria2c下载完成
aria2c -c -s 10 -j 10  -i /home/njzy/apt-fast.list

# 获取要下载的软件列表,并形成文件,调用aria2进行下载
apt-get -y --print-uris $@ | egrep -o -e "(http|https|ftp)://[^\']+" > /home/njzy/apt-fast.list && aria2c -c -s 10 -j 10  -i /home/njzy/apt-fast.list
# 下载完毕,重新运行apt-get命令
apt-get $@;
else
   apt-get $@;
fi
那个目录换成我个人的了`/home/njzy/apt-fast.list`
宁静致远468835121
帖子: 2
注册时间: 2022-07-27 14:45
系统: ubuntu 22.04

Re: apt-get调用aria2下载

#10

帖子 宁静致远468835121 » 2022-07-27 15:36

我的ubuntu还是会去重新下载,通过阅读帮助,发现apt会首先下载到/var/cache/apt/archives/partial/,然后mv出来,故做出修改

代码: 全选

#  !/bin/bash
# 设置变量
[ "`whoami`" = root ] || exec sudo "$0" "$@"
#获取用户输入命令,显示工作中

if echo "$@" | grep -q "upgrade\|install\|dist-upgrade"; then
  echo "Working...";
# 进入下载目录
cd /var/cache/apt/archives/partial/;
#恐怕上次升级的时候一些文件的下载没有完成,先用aria2c下载完成
aria2c -c -s 10 -j 10  -i /home/njzy/apt-fast.list

# 获取要下载的软件列表,并形成文件,调用aria2进行下载
apt-get -y --print-uris $@ | egrep -o -e "(http|https|ftp)://[^\']+" > /home/njzy/apt-fast.list && aria2c -c -s 10 -j 10  -i /home/njzy/apt-fast.list
# 下载完毕,重新运行apt-get命令
apt-get $@;
else
   apt-get $@;
fi
回复