apt-getをより高速に!『apt-fast』コマンド

DebianやUbuntuでお馴染みのパッケージ管理ツールであるapt-getコマンド。
このコマンドをより高速に利用することが出来るのが今回紹介する『apt-fast』コマンドだ。

このコマンドは、通常のapt-getであれば一つのサーバとだけ通信をしてパッケージのダウンロードを行うのに対し、複数のサーバと同時に通信をしてダウンロードを行う事が出来る。
そのため、高速にパッケージをダウンロード、インストールする事が出来るのが特徴だ。

1.インストール

まずはインストール。以下のコマンドで実行する。

Ubuntu(13.10まで)

sudo add-apt-repository ppa:apt-fast/stable
sudo apt-get update
sudo apt-get install apt-fast

Ubuntu(14.04)

sudo add-apt-repository ppa:saiarcot895/myppa
sudo apt-get update
sudo apt-get install apt-fast

apt-fastのインストールコマンド実行後、以下のような画面が表示されるため、デフォルト表示のまま続けていく。

これでインストールが完了した。

2.設定ファイルの変更

次にapt-fastの設定ファイルを編集する。
編集する設定ファイル「/etc/apt-fast.conf」の内容を以下に記述する。

$ cat /etc/apt-fast.conf
#################################################################
# CONFIGURATION OPTIONS
#################################################################
# Every item has a default value besides MIRRORS (which is unset).

# Use aptitude or apt-get?
# Note that for outputting the package URI list, we always use apt-get
# ...since aptitude can't do this
# Optionally add the FULLPATH to apt-get or apt-rpm or aptitude
# e.g. /usr/bin/aptitude
#
# Default: apt-get
#
_APTMGR=apt-get

# Enable DOWNLOADBEFORE to suppress apt-fast confirmation dialog and download
# packages directly.
#
# Default: dialog enabled
#
DOWNLOADBEFORE=

# Choose mirror list to speed up downloads from same archive. To select some
# mirrors take a look at your distribution's archive mirror lists.
# Debian: http://www.debian.org/mirror/list
# Ubuntu: https://launchpad.net/ubuntu/+archivemirrors
#
# Examples:
# To use some German mirrors and official Debian and Ubuntu archives you can use:
# MIRRORS=( 'http://ftp.debian.org/debian,http://ftp2.de.debian.org/debian,http://ftp.de.debian.org/debian,ftp://ftp.uni-kl.de/debian'
#          'http://archive.ubuntu.com/ubuntu,http://de.archive.ubuntu.com/ubuntu,http://ftp.halifax.rwth-aachen.de/ubuntu,http://ftp.uni-kl.de/pub/linux/ubuntu,http://mirror.informatik.uni-mannheim.de/pub/linux/distributions/ubuntu/' )
# To use French Ubuntu mirrors you can use:
# MIRRORS=( 'http://fr.archive.ubuntu.com/ubuntu,http://bouyguestelecom.ubuntu.lafibre.info/ubuntu,http://mirror.ovh.net/ubuntu,http://ubuntu-archive.mirrors.proxad.net/ubuntu' )
#
# Default: disabled
#
#MIRRORS=( 'none' )

# Maximum number of connections
# You can use this value in _DOWNLOADER command. Escape with ${}: ${_MAXNUM}
#
# Default: 5
#
_MAXNUM=5

# Downloadmanager listfile
# You can use this value in _DOWNLOADER command. Escape with ${}: ${DLLIST}
#
# Default: /tmp/apt-fast.list
#
DLLIST='/tmp/apt-fast.list'

# Download command to use. Temporary download list is designed for aria2. But
# you can choose another download command or download manager. It has to
# support following input file syntax (\t is tab character):
#
# # Comment
# MIRROR1\tMIRROR2\tMIRROR3...
#  out=FILENAME1
# MIRROR1\tMIRROR2\tMIRROR3...
#  out=FILENAME2
# ...
#
# Examples:
# aria2c with a proxy (set username, proxy, ip and password!)
# _DOWNLOADER='aria2c -c 20 -j ${_MAXNUM} -x ${_MAXNUM} -s ${_MAXNUM} --min-split-size=1M --http-proxy=http://username:password@proxy_ip:proxy_port -i ${DLLIST}'
#
# Default: _DOWNLOADER='aria2c -c -j ${_MAXNUM} -x ${_MAXNUM} -s ${_MAXNUM} --min-split-size=1M -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0'
#
_DOWNLOADER='aria2c -c -j ${_MAXNUM} -x ${_MAXNUM} -s ${_MAXNUM} --min-split-size=1M -i ${DLLIST} --connect-timeout=600 --timeout=600 -m0'

# Download temp folder for Downloadmanager
# example /tmp/apt-fast. Standard is /var/cache/archives/apt-fast
#
# Default: /var/cache/apt/archives/apt-fast
#
DLDIR='/var/cache/apt/archives/apt-fast'

# APT archives cache directory
#
# Default /var/cache/apt/archives
# (APT configuration items Dir::Cache and Dir::Cache::archives)
#
APTCACHE='/var/cache/apt/archives'

# apt-fast colors
# Colors are disabled when not using a terminal.
#
# Default colors are:
#  cGreen='\e[0;32m'
#  cRed='\e[0;31m'
#  cBlue='\e[0;34m'
#  endColor='\e[0m'

上記40行目にある「MIRRORS」の値を、コメントアウトを外して以下の内容に変更する。

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/')

これで設定の編集も完了。

3.apt-fastでのインストールを実行

さて、それでは実際にapt-fastコマンドを利用してパッケージをインストールしてみよう。
以下のようにコマンドを実行する。

sudo apt-fast install パッケージ名

実行と同時にミラーサーバと疎通を行い、パッケージをダウンロードしていく。
これで、後はインストールが完了するのを待つだけだ。