apt-get の高速ミラーを自動的に選択する方法

apt-get の高速ミラーを自動的に選択する方法

YUMのように高速ミラーを選択するためのapt-get用のプラグインはありますか?最速ミラープラグイン 最速ミラー プラグインは、リポジトリ構成に複数のミラーがあるリポジトリ構成で使用するために設計されています。各ミラーに接続し、接続時間を計測して、yum で使用するためにミラーを最速から最遅の順に並べ替えます。

理由: apt の設定ファイルに複数の (イントラネットとインターネット) ミラーを追加しました。apt-get で、オフィスにいるときはイントラネット ミラーを使用し、自宅ではインターネット ミラーを使用するようにしたいのです。

答え1

回避策として、接続しているネットワークをチェックし、それに応じて /etc/apt/sources.list を変更するスクリプトを作成することができます。以下のスクリプトのようなもので、必要に応じて編集してください。

初め、バックアップを取る/etc/apt/sources.list. 次に、自宅用とオフィス用に 2 つの source.list ファイルを作成します。これらのファイルを およびsources.office.listと呼ぶことにしますsources.home.list。両方を に保存します/etc/apt/

ここで、次のスクリプトを必要に応じて編集して保存し (この例では、 として保存すると想定しています~/bin/change_sources.sh)、次のコマンドを実行して実行可能にします。

$ chmod +x ~/bin/change_sources.sh

スクリプト:

#!/bin/bash
ip=ifconfig | grep Bcast | cut -d " " -f 12

## Set this for your office IP
if [ $ip == "XXX.XXX.XXX.XXX" ]
then 
    cp /etc/apt/sources.office.list /etc/apt/sources.list 
else
    cp /etc/apt/sources.home.list /etc/apt/sources.list 
fi

次に、ファイルを編集してetc/rc.local、次の行をファイルの末尾に追加しますexit(0)

/home/youruser/bin/change_sources.sh

当然のことながら、上記のパスを変更して、作成したスクリプトへのパスを反映させます。

次回再起動すると、スクリプトが実行され、正しいsources.listファイルが自動的に選択されるはずです。


編集:もしあなたが両方リポジトリを常にアクセス可能にし、最も高速なリポジトリが存在する場合はそこから特定のパッケージをダウンロードするには、sources.list 内のリポジトリの順序を変更するだけです。上で提案した手順に従って、/etc/apt/sources.office.list 内の関連行を次のようになるようにします。

deb http://fastest.mirror.for.office
deb http://fastest.mirror.for.home

/etc/apt/sources.home.list では次のようになります:

deb http://fastest.mirror.for.home
deb http://fastest.mirror.for.office

パッケージが存在する場合同じバージョンどちらのリポジトリでも、apt は最初からダウンロードします。

注 1: バージョンが異なる場合、apt はリポジトリの順序に関係なく最新のものを取得します。

注2: これはリポジトリのダウンロード速度をチェックするものではありません。自分で確認する必要があります。最速のミラーを見つけるには、netselect-apt を使ってみてください:

sudo apt-get install netselect-apt

パッケージ netselect-apt:

高速な Debian ミラーを選択するためのスピード テスター

このパッケージは、完全なミラー リストをダウンロードし、netselect を使用して最速/最も近いミラーを見つけることで、最適な Debian ミラーを選択できるユーティリティを提供します。

関連情報