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


9

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

apt-mirrorリポジトリの一部を選択的に選択できます。mirrorkitapt-mirrorのフロントエンドを提供します。

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

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

  • Main、Restricted、Universe、Multiverse、All UbuntuおよびLubuntu。ただし、KubuntuやXubuntuなどの他の派生物は除外されます。

  • AMD64とi386のみですが、他のアーキテクチャは除外されています。

  • Trusty Tahrのみで、Precise PenguinやUtopic Unicornは含まれません。

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

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


Kubuntuを除外しますか?Kubuntu ISOを除外したり、Kubuntuで使用されているパッケージを除外したりしますか?
muru 2014年

たとえば、KubuntuおよびXubuntu ISOを除外します。恐らくそれらの数は非常に多く(Precise Kubuntu ARM、Precise Kubuntu i386、Quantal Kubuntu ARM、Quantal Kubuntu i386 ...)、それらのISOなしで最初のミラーダウンロードがより迅速に完了する可能性があります。しかし、それがさらに数ギガバイトであれば、おそらくそれほど問題ではありません。
user75798 14年

1
ISOはパッケージとは別にホストされます。そのため、通常はパッケージリポジトリをミラーリングするのと同じようにapt-mirrorを使用し、ISO用の他のツールを使用できます。問題は、そのツール(rsyncなど)に適した除外フィルターを見つけることになります。
muru、2014年

「通常通りapt-mirrorを使用できます」申し訳ありませんが、その方法がわかりません。これはまさに私が説明したいことです。
user75798 14

回答:


9

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

  • リリース(trustypreciseなど)
  • アーキテクチャ(amd64i386等)
  • パッケージタイプ(バイナリ[ deb]とソース[ 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

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

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を追加して、リポジトリで使用できなくなったパッケージが削除のためにフィルターされるようにする必要があります。

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(so /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)。実行するcronジョブも追加する必要がありますclean.sh(私は毎週実行しています)。

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


1
それは実際にありますdeb-amd64deb arch=amd64?後者はマンページでしか見つけることができません
Anwar

1
@Anwar前者。後者はのsources.list形式で、形式は似ていますが同一ではありません。参照manpages.ubuntu.com/manpages/trusty/en/man1/apt-mirror.1.htmlところ、deb-powerpc一例です。
muru、

ああ!私はapt-mirrorの経験がありませんでした。と思ったsources.list。おかげで
アンワル

2

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

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

詳細と手順については、Apt-MirrorとApt-Cacher使用してローカルUbuntuリポジトリ作成するをご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.