web-dev-qa-db-ja.com

apt-mirrorとmirrorkitを使用してローカルリポジトリを作成する方法

ローカルリポジトリを持つことは非常に便利です。 rsyncを使用してリポジトリミラーを作成することは可能ですが、これにより、all古いリリースでもダウンロードされるリリースが含まれます。必要ないかもしれないアーキテクチャのファイル。

apt-mirrorを使用すると、リポジトリの一部を選択的に選択できます。 mirrorkitは、apt-mirrorのフロントエンドを提供します。

buntuアーカイブの選択した部分のローカルリポジトリミラーを作成する最良の方法は何ですか?

たとえば、次のものを含めることができます。

  • メイン、制限付き、ユニバース、マルチバース、すべてのUbuntuおよびLubuntuが、KubuntuやXubuntuなどの他の派生物を除外します。

  • AMD64およびi386のみが、他のアーキテクチャを除外します。

  • Trusty Tahrのみ。ただし、Precise PenguinまたはUtopic Unicornは使用できません。

メインアーカイブではなく、ローカルミラーからダウンロードするようにプロセスを構成することもできます。

選択したアーキテクチャ、リリース、またはUbuntuバリアントに対してapt-mirrorおよびmirrorkitを使用してローカルリポジトリを作成するにはどうすればよいですか?

8
user75798

CDリポジトリとソフトウェアリポジトリは2つの別個のコンポーネントです(これらには個別のLaunchpadページがあります: cdmirrors および archivemirrors )。したがって、それらのミラーリングは2つの異なるタスクです。さらに、さまざまなフレーバーはCDリポジトリに異なるフォルダーを持っていますが、ソフトウェアリポジトリを共有しています。したがって、フレーバーごとにイメージを選択的にミラーリングできますが、ソフトウェアはミラーリングできません。ソフトウェアリポジトリの場合、以下に基づいて選択的にミラーリングできます。

  • リリース(trustypreciseなど)
  • アーキテクチャ(AMD64i386など)
  • パッケージタイプ(バイナリ[deb] vsソース[deb-src])
  • チャネル(trustytrusty-updatestrusty-backportsなど)
  • セクション(mainmultiverseなど)

ソフトウェアリポジトリをミラーリングするには、 apt-mirror を使用します。

apt-mirrorは、 /etc/apt/mirror.list を使用して設定されます。 sources.list と非常によく似た形式です。パッケージによってインストールされた構成ファイルには、デフォルトをリストするいくつかのコメント化されたオプションがあります。必要に応じて、コメントを外して変更することができます。

リポジトリをミラーリングするには、mirror.listの場合と同様に、sources.listに行を追加する必要があります。

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

デフォルトでは、ホストのアーキテクチャのみをミラーリングするため、64ビットUbuntuを使用している場合は、AMD64のみがミラーリングされます。フォームの別の行を追加する必要があります。

deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

また、ソースパッケージの場合:

deb-src http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe

かなり完全なミラーを探している場合は、これらの行が最小になります(-updatesチャネルもお勧めします)。

deb http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty main multiverse restricted universe
deb-i386 http://us.archive.ubuntu.com/ubuntu trusty-security main multiverse restricted universe

最後に、リポジトリで使用できなくなったパッケージが削除のためにフィルタリングされるように、 clean line を追加する必要があります。

clean http://us.archive.ubuntu.com/ubuntu

したがって、変数は次のようになります(デフォルト)。

set base_path    /var/spool/apt-mirror
set mirror_path  $base_path/mirror
set skel_path    $base_path/skel
set var_path     $base_path/var
set cleanscript $var_path/clean.sh

次に:

  • リポジトリは$mirror_path/parent-hostname/directoryにミラーリングされます(そのため/var/spool/apt-mirror/mirror/us.archive.ubuntu.com/ubuntu
  • clean.sh(廃止されたパッケージとディレクトリを削除するrmコマンドのセットになります)は/var/spool/apt-mirror/var/clean.shになります。
  • ログは/var/spool/apt-mirror/varに移動します。

apt-mirrorパッケージは、cronジョブ(/etc/cron.d/apt-mirror)をインストールします。これを有効にするには(/usr/bin/apt-mirrorを含む行のコメントを外して)編集する必要があります。 clean.shを実行するためのcronジョブも追加する必要があります(毎週実行します)。

もちろん、http://us.archive.ubuntu.com./ubuntuを好みのミラーに置き換える必要があります。

9
muru

スペースが限られている人や、自国でインターネットの価格が非常に高い人には、apt-cacherをお勧めします。

伝えられるところでは、apt-mirrorは、必要なディストリビューションの各フレーバー(32/64ビット)に対して少なくとも15GBを必要とします。 apt-cacherは、インストールしたパッケージのみを使用します。

Apt-MirrorとApt-Cacherを使用してローカルUbuntuリポジトリを作成 を読んで、詳細/指示をご覧ください。

2
nyxee