apt-mirrorを使用したUbuntuリポジトリミラーの作成

多くの場合、 Ubuntuにマシンのネットワークを展開する場合、標準リポジトリから新しいプログラムをインストールするためにインターネットアクセスを整理する際に問題があります。 たとえば、インターネット上で非常に狭いチャネルしか使用できない場合、またはトラフィックが無制限ではない場合。 幸いなことに、Ubuntuパッケージシステムを編成する原則により、標準のパッケージ管理ツールを使用して、ダウンロードするものと場所を非常に柔軟に制御できます。 特に、必要なUbuntuインターネットリポジトリのローカルコピーを作成し、それをアプリケーションのメインソースとしてローカルネットワークに接続できます。 したがって、ネットワーク上のすべてのコンピューターは、新しいプログラムと更新プログラムをインストールするためにインターネット接続を必要としません。 同時に、最も重要なことは、パッケージマネージャーのすべての機能が保持されることです。



この記事では、 apt-mirrorユーティリティを使用してリポジトリのローカルコピーを作成する方法を説明します。 これは、Ubuntuのすべてのリポジトリをリストする/etc/apt/sources.listファイルと同じ構文を使用して、Ubuntuリポジトリのローカルコピーを作成するためのシンプルで便利なユーティリティです。



必要なのは、Ubuntuがインストールされ、無制限のインターネットアクセスが可能なコンピューターのみです。



1つのi386アーキテクチャのみの公式Ubuntu 10.10リポジトリのローカルコピーは36.2 GiBを占有します。これを念頭に置いてください。



そのため、インターネットに接続され、Ubuntuがインストールされているコンピューターで、たとえば次のコマンドを使用して、パッケージインストールツールを使用してapt-mirrorパッケージを配置します。



sudo apt-get install apt-mirror
      
      





次に、リポジトリのコピーを配置するディレクトリを決定する必要があります。 たとえば、リポジトリのコピーが/ media / dataディレクトリにマウントされた別のハードドライブにある/ media / data / ubuntu-repo /フォルダーに追加されると仮定します。 もちろん、指定したフォルダーに、必要なリポジトリーの完全なコピーを配置するのに十分なスペースがあることを確認する必要があります。



apt-mirrorのセットアップ



あとは、 apt-mirror構成ファイルを編集し、必要なオプションと必要なリポジトリをそこに追加して、ミラーリングプロセス自体を開始するだけです。 このファイルは/etc/apt/mirror.listと呼ばれます。 以下は、 / media / data / ubuntu-repo /フォルダーにi386アーキテクチャ用の公式Ubuntu 10.10リポジトリのコピーを作成する場合のコメント付きコンテンツです。



 #############   apt-mirror ################## # ,     set base_path /media/data/ubuntu-repo #    ,      . #   -     . #set mirror_path $base_path/mirror #   apt-mirror #set skel_path $base_path/skel #   apt-mirror #set var_path $base_path/var # ,    .   -  ,    apt-mirror. set defaultarch i386 #  .   . set nthreads 20 set _tilde 0 #############  ############## #   Canonical  Ubuntu 10.10 deb http://archive.ubuntu.com/ubuntu maverick main restricted deb http://archive.ubuntu.com/ubuntu maverick-updates main restricted deb http://archive.ubuntu.com/ubuntu maverick universe deb http://archive.ubuntu.com/ubuntu maverick-updates universe deb http://archive.ubuntu.com/ubuntu maverick multiverse deb http://archive.ubuntu.com/ubuntu maverick-updates multiverse deb http://archive.ubuntu.com/ubuntu maverick-security main restricted deb http://archive.ubuntu.com/ubuntu maverick-security universe deb http://archive.ubuntu.com/ubuntu maverick-security multiverse #    apt-mirror,        ubuntu # (,   ,   )     , #    . clean http://archive.ubuntu.com/ubuntu
      
      





apt-mirrorを実行し、実行の終了を待つようになりました。 開始する前に、メインディレクトリ/ media / data / ubuntu-repo /と 、その中のすべての補助ディレクトリmirrorvarおよびskelが存在し、ユーザーapt-mirrorに書き込み可能であることを確認する必要があります。 これらのディレクトリはすべてコマンドで作成できます



 mkdir -p /media/data/ubuntu-repo/ mkdir -p /media/data/ubuntu-repo/{mirror,var,skel}
      
      





必要な権限を割り当てる最も簡単な方法は、 apt-mirrorユーザーを次のディレクトリに設定することです。



 sudo chown -R apt-mirror /media/data/ubuntu-repo/
      
      





その後次のコマンドでapt-mirrorを実行できます



 sudo -u apt-mirror apt-mirror
      
      





インデックスをロードした後、 apt-mirrorはダウンロードされるパッケージの量を通知します。



 # sudo -u apt-mirror apt-mirror Downloading 55 index files using 20 threads... Begin time: Tue Dec 21 14:53:48 2010 [20]... [19]... [18]... [17]... [16]... [15]... End time: Tue Dec 21 14:54:06 2010 Proceed indexes: [PPPPPPPPPP] 36.2 GiB will be downloaded into archive. Downloading 33541 archive files using 20 threads...
      
      





ダウンロードが完了するまで待つ必要があります。



リポジトリのローカルコピーを自動的に更新する



cronジョブを使用して、リポジトリのローカルコピーの自動更新を設定できます。 これを行うには、/ etc / cron.d / apt-mirrorファイル内のタスクの行のコメントを外します。



 # # Regular cron jobs for the apt-mirror package # 0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
      
      





タスクの実行時間を変更できます(デフォルトでは、毎日04:00に)。



apt-mirrorの追加機能



上記のスキームを使用する場合、 apt-mirrorは指定されたリポジトリからのみパッケージをコピーします。 ただし、これに加えて、Ubuntuリポジトリには、ネットワークインストーラーなど、多くの有用なデータがまだ含まれています。 これらのリポジトリに対して「 clean 」命令を使用する場合、これらはすべて削除されます。これは、現在のインデックスに含まれていないためです。 一部のディレクトリを強制的にクリーンアップしないようにするには、 mirror.listファイルで目的のアドレスを使用して「 skip-clean 」命令を指定できます。 例:



 #      skip-clean http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-i386/ skip-clean http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/
      
      





次のように、APTリポジトリ行でアーキテクチャを直接指定できます。



 #   amd64     deb-amd64 http://archive.ubuntu.com/ubuntu maverick main restricted
      
      





さらに、承認が必要なHTTPおよびFTPホストに接続できます。 これを行うには、アドレスに名前、パスワード、および必要に応じてポートを指定します。



 #     deb http://user:pass@example.foo.org:8080/ubuntu maverick main restricted
      
      





リポジトリのローカルコピーをさらに使用する



作業の完了後、 mirror.listで指定されたすべてのリポジトリのローカルコピーは、指定されたメイン作業フォルダーapt-mirrormirror / repository_nameフォルダーにあります。 したがって、 mirror.listで設定されたリポジトリのコピー



 deb http://archive.ubuntu.com/ubuntu maverick main restricted
      
      





私たちの場合、フォルダ/media/data/ubuntu-repo/mirror/archive.ubuntu.com/ubuntuにあります。 また、このフォルダーは、HTTPサーバーまたはFTPサーバーを使用して、またはファイルメディアの物理接続を介して、他のシステムにリポジトリとして接続する必要があります。



HTTPサーバーを使用して接続するには、Apacheをインストールできます。



 sudo aptitude install apache2
      
      





次に、リポジトリのあるフォルダーを指すシンボリックリンク/ var / www / ubuntuを作成します。



 sudo ln -s /media/data/ubuntu-repo/mirror/archive.ubuntu.com/ubuntu /var/www/ubuntu
      
      





その後、このコンピューターをアプリケーションのソースとしてネットワーク上の他の全員に接続し、そのようなリポジトリを指定することができます。



 deb http://__/ubuntu maverick main restricted
      
      





あなたの場合、 mainlimited以外のコンポーネントがあるかもしれません。



リポジトリのコピーをローカルリポジトリとして使用する場合は、メディアをリポジトリに接続して目的のコンピューターに接続し、このコンピューターのアプリケーションソースのリストに次の行を追加する必要があります。



 deb file:/media/data/ubuntu-repo/mirror/archive.ubuntu.com/ubuntu maverick main restricted
      
      





もちろん、あなたの場合、パスは異なるかもしれません。



最後に、多くの場合、リポジトリ全体のコピーを作成する必要はまったくなく、むしろapt-cacheapt-moveなどを使用することに注意してください。



記事の実際のバージョン



この記事の最新の最新バージョンは 、Ubuntuの公式ロシア語 Wikiリソースドキュメントにあります。 そこで、レイアウトされた参照資料やトレーニング資料を自由に改善および補足したり、独自の資料を追加したりできます。 他のUbuntuユーザーに伝えたいことがあれば、膨大なリクエスト-help.ubuntu.ruの対応する記事を書いたり編集したりしてください わずかな改善や追加があったとしても、何千人もの人々を支援し、そのうちの1人が有用で興味深い何かを説明します。



All Articles