代码: 全选
# !/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
代码: 全选
chmod +x apt-fast
以后就可以用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。