如果你在Debian或Ubuntu系統(tǒng)上經(jīng)常感覺(jué)到apt-get 或 aptitude包安裝速度過(guò)慢,那么這里就有幾種改善這一情況的方法。你有沒(méi)有考慮過(guò)改變正被使用的默認(rèn)鏡像站點(diǎn)?你有沒(méi)有排除因特網(wǎng)連接的上游帶寬成為瓶頸的可能?
如果不是這些原因,你可以嘗試第三個(gè)選擇:使用apt-fast工具。apt-fast實(shí)際上是一個(gè)圍繞apt-get和aptitude所寫(xiě)的shell腳本容器,它能加速包的下載速度。apt-fast本質(zhì)上采用aria2下載工具,這款工具能夠以“塊”的方式從多個(gè)鏡像并行下載一個(gè)文件(就像BitTorrent下載)。
在Debian或Ubuntu上安裝apt-fast
下面是在基于Debian的Linux上安裝apt-fast的步驟
Debian
$ sudo apt-get install aria2
$ wget https://github.com/ilikenwf/apt-fast/archive/master.zip
$ unzip master.zip
$ cd apt-fast-master
$ sudo cp apt-fast /usr/bin
$ sudo cp apt-fast.conf /etc
$ sudo cp ./man/apt-fast.8 /usr/share/man/man8
$ sudo gzip /usr/share/man/man8/apt-fast.8
$ sudo cp ./man/apt-fast.conf.5 /usr/share/man/man5
$ sudo gzip /usr/share/man/man5/apt-fast.conf.5
Ubuntu 14.04 以及更高版本
$ sudo add-apt-repository ppa:saiarcot895/myppa
$ sudo apt-get update
$ sudo apt-get install apt-fast
Ubuntu 11.04 到 Ubuntu 13.10
$ sudo add-apt-repository ppa:apt-fast/stable
$ sudo apt-get update
$ sudo apt-get install apt-fast
在安裝期間,你需要選擇一個(gè)默認(rèn)的軟件包管理器 (e.g., apt-get. aptitude ),還需要設(shè)置其余選項(xiàng)。但是你可以隨時(shí)通過(guò)編輯配置文件 /etc/apt-fast/conf 來(lái)更改設(shè)置。
配置 apt-get
安裝完成后,你需要在/etc/apt-fast.conf里配置apt-fast使用的一系列鏡像。
你可以在下面的URL中找到一系列Debian/Ubuntu鏡像。
Debian: http://www.debian.org/mirror/list
Ubuntu: https://launchpad.net/ubuntu/+archivemirrors
選擇完那些地理上靠近你的鏡像后,你需按照下面的格式將選擇的鏡像加入到/etc/apt-fast.conf。
$ sudo vi /etc/apt-fast.conf
Debian:
MIRRORS=('http://ftp.us.debian.org/debian/,http://carroll.aset.psu.edu/pub/linux/distributions/debian/,http://debian.gtisc.gatech.edu/debian/,http://debian.lcs.mit.edu/debian/,http://mirror.cc.columbia.edu/debian/')
Ubuntu/Mint:
MIRRORS=('http://us.archive.ubuntu.com/ubuntu,http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/,http://mirror.cc.vt.edu/pub2/ubuntu/,http://mirror.umd.edu/ubuntu/,http://mirrors.mit.edu/ubuntu/')
如上面所示,對(duì)于一個(gè)特定檔案的個(gè)別鏡像,需要用逗號(hào)分割開(kāi)來(lái)。你需要在/etc/apt/sources.list的MIRRORS字符串中包含默認(rèn)的鏡像指定站點(diǎn)。
使用apt-fast安裝一個(gè)包
現(xiàn)在你就可以測(cè)試apt-fast的強(qiáng)大了。下面是使用apt-fast的示例:
apt-fast [apt-get options and arguments]
apt-fast [aptitude options and arguments]
apt-fast { { install | upgrade | dist-upgrade | build-dep | download | source } [ -y | --yes | --assume-yes | --assume-no ] ... | clean }
使用apt-fast安裝包:
$ sudo apt-fast install texlive-full
在當(dāng)前目錄下載軟件包,但不安裝:
$ sudo apt-fast download texlive-full
如前面所示,apt-fast的并行下載是通過(guò)aria2完成的。你可以看到如下圖般從多個(gè)鏡像并行下載。
$ sudo netstat -nap | grep aria2c
請(qǐng)注意,apt-fast并沒(méi)有加速"apt-get update"。并行下載只在"install", "upgrade", "dist-upgrage"和"build-dep"操作中觸發(fā)。其余的操作,apt-fast就會(huì)簡(jiǎn)單地回到默認(rèn)的包管理器apt-get或aptitude。
apt-fast有多快?
為了比較apt-fast和apt-get,我嘗試在兩個(gè)相同的Ubuntu實(shí)例上使用兩種方法安裝幾個(gè)軟件包。下面的圖表展示了所有軟件包安裝的時(shí)間(單位為秒)。
正如你所見(jiàn)到的,apt-fast確實(shí)比apt-get快(e.g. 快3--4秒),特別是安裝龐大軟件包的時(shí)候。
當(dāng)然,安裝性能的提高程度還依賴(lài)你上游因特網(wǎng)連通性。以我為例,我有富足的帶寬來(lái)支持我的上游連接。這也是為什么我看到并行下載帶來(lái)了成功的提高。