用迅雷/wget下载Ubuntu软件更新和安装太慢的包

有木有感觉到这国内“特殊的”网络环境下访问Ubuntu的源又灰常灰常的慢?

换个源又没有想要的包?然后出现各种各样的无法满足依赖?现在我们用喜欢的下载工具来快速安装吧~
用迅雷wget下载Ubuntu软件更新和安装太慢的包

首先,我们要知道Ubuntu安装软件是这样的:

  1. 搜索软件源里面的软件名称。如果存在,解析这个软件需要的包。
  2. 查找所需的包是否已经安装。如果没有安装,下载到本地,位置在/var/cache/apt/archives目录下面。
  3. 开始安装。
    那么如果Cache目录里已经有了这个包,是不是就会直接开始安装呢?

真相大白:

  1. 如果cahche目录里面已经有了所有的包,就会自动开始安装。
  2. 如果我们把这些包下载到cache目录,就会免除网络下载的过程。
  3. 如果我们用多线程工具下载,就会大大节省下载时间。如果我们知道这些包的下载地址,哪怕到Windows下面用迅雷下载以后,再拷贝到cache目录也是可以的。
    那么怎样找到所需要的那个软件包的下载地址呢?

以Java7为例:

apt-get --print-uris -y install sun-java5-jdk | grep http | awk '{print $1}' | sed "s/'//g"

这一行命令就会输出这一行会自动打印出安装sun-java7-jdk需要的Package(包)。

现在我们可以开始下载了~

for Linux (axel

用Linux下面的多线程下载工具axel来下载,命令行:

apt-get --print-uris -y install sun-java7-jdk | grep http | awk '{print $1}' | sed "s/'//g" | xargs -l1 axel -n5 -a

在多线程告诉下载完我们要安装的包之后,安装:

把下载的软件包,拷贝到/var/cache/apt/archives目录,然后:

sudo cp *.deb /var/cache/apt/archivers
sudo aptitude instal sun-java5-jdk.

for Windows (Thunder

生成一个包的列表文件:

apt-get --print-uris -y install sun-java7-jdk | grep http | awk '{print $1}' | sed "s/'//g" > jdk7.lst

然后就可以到Windows下用迅雷下载完之后Copy到cache目录达到相同的效果了~

不过这么做就缺少了md5校验,一般是不会有问题的。。。

这样一来就可以突破某些网络限制在Ubuntu上安装软件/更新系统/更新软件了~

甚至这个方法还能用来给没有网络连接的Ubuntu机器上安装软件哦~