🚄

速さを追い求めてaptからapt-fastへ乗り換えてみた

2021/04/29に公開

はじめに

UbuntuをはじめとするDebian系のOSではパッケージマネージャーとしてaptが主に使用されます。新しいパッケージをインストールする際にapt updateを利用してリポジトリを最新の状態にしておくことをUbuntu公式が推奨しており、Ubuntuを使う中で使用頻度が高いコマンドとなります。久しぶりにアップデートしようとしたら大量のパッケージのアップデートやリポジトリの更新が溜まっていて、更新が終わるまで待たされた経験がある人も多いのではないでしょうか。

aptを使ったインストールやアップデートの速度を早くする方法として、ミラーサーバーを見直す、ネットワークの接続状況を見直すといったことが挙げられます。

そこでツールを利用して速度をあげられる方法をないか探したところ「apt-fast」といったツールをGitHubにて発見しました。今回は、aptからapt-fastへ乗り換えて速度を爆速にしてみたのでまとめます。

apt-fastのGitHubリポジトリは以下になります。
https://github.com/ilikenwf/apt-fast

apt-fast の仕組みと概要

apt-fastはaptコマンドをラップするシェルスクリプトという位置づけでパッケージの並列ダウンロードを可能します。並列ダウンロードにはaria2cというパラレルダウンロードツールをバックに使用しています。そして通常より、コネクションを多く貼ること(マルチコネクション)で複数のサーバーから高速な同時ダウンロード、分割ダウンロードを実現させています。これはcurlやwgetコマンドと比べるとかなり強力なものになります、aria2cは単体でダウンロードして使用することも出来るようです。

インストール

準備

今回はUbuntu 20.04 LTSをインストールしたWSL2の環境に導入しました。他のディストリビューションの場合はGitHubリポジトリのREADMEを適宜参考にインストールしてください。

GitHubリポジトリのREADMEにもありますが、インストール自体はとても簡単でターミナルから以下のコマンドを順番に実行するだけです。
まずapt-fastはデフォルトのリポジトリに含まれておらずそのままではインストールできないため、下準備としてapt-fastがあるリポジトリを追加します。

# apt-fastを含むリポジトリを追加
$ sudo add-apt-repository ppa:apt-fast/stable

  This PPA contains tested (stable) builds of apt-fast.
  More info: https://launchpad.net/~apt-fast/+archive/ubuntu/stable
  Press [ENTER] to continue or Ctrl-c to cancel adding it. # Enterで続行
  ...

  Reading package lists... Done

# リポジトリを最新に更新
$ sudo apt-get update

インストールと初期設定

リポジトリの追加と更新が終わったら以下のコマンドでapt-fastをインストールします。

$ sudo apt-get -y install apt-fast

インストールが開始されます。Ubuntuだと途中で以下のような設定ダイアログが表示されます。
パッケージマネージャー選択画面の画像
使用するパッケージマネージャーの選択

使用するパッケージマネージャーを選択します。apt-fastはapt-getaptaptitudeの3つをデフォルトでをサポートしています。パッケージマネージャーとしてaptを使いたいため選択肢からaptを選択します。
最大の接続数を指定する画面の画像
最大接続数の指定

aria2cが使用する接続数の最大を指定します。デフォルトでも十分速いのでそのままで設定します。
ダイアログ表示選択の画像
ダウンロード前に確認ダイアログを表示するかどうかの選択

上記の画面から対話形式でパッケージマネージャーや最大コネクション数などを指定できます。ここで聞かれる質問の内容や、詳しい設定についてはあとから編集可能です。

apt-fastの設定は、/etc/apt-fast.confに記述されています。設定ファイルを直接編集することで使いやすいように設定を変更できます。
デフォルトの設定でも十分に爆速なので無理に触る必要はありません。同時接続数をあまり増やしすぎるとサーバーへの負荷につながる可能性があるため、接続最大数はむやみに増やさず、デフォルトの値のまま使用することが望ましいと思われます。デフォルトでも体感できるほど十分に速いです。
設定できる内容はドキュメントに詳しく記載されているため、覗いてみてください。ミラーサーバーの設定など細かく設定できるようです。

使用してみる

使い方は簡単で、おなじみのaptコマンドaptをapt-fastへ置き換えるだけです。コマンドを叩くと自動的にapt-fastが選択され、高速な通信が可能となります。

example
# パッケージを最新に更新
$ sudo apt-fast update

# パッケージを指定してインストール 例: Git
$ sudo apt-fast install git

おわりに

今回は、爆速だと噂のapt-fastへ実際に乗り換えて使えるようにするところまでを紹介しました。インターネット上にまとまった情報があまりなく公式ドキュメントを読み解きながら導入しましたが、aptを使っていたときよりも、かなり速度が向上し、現状ストレスなく使えておりとても満足しています。定期的に行う作業だからこそ、少しでも時短して生産性の向上につなげていけたらなと感じます。

最後まで読んでいただきありがとうございました。

GitHubで編集を提案

Discussion