ウェブサイト検索

Ubuntu および Debian システムで「apt-mirror」を使用してローカル リポジトリをセットアップする


今日、トラフィックや通常のインターネット速度が、通常のインターネット クライアントであっても瞬きする間に数ギガ単位で測定されると、LAN 上にローカル リポジトリ キャッシュを設定する目的は何だろうと疑問に思うかもしれません。

理由の 1 つは、インターネット帯域幅を削減し、ローカル キャッシュからパッケージを取得する速度を高速化することです。しかし、もう 1 つの大きな理由はプライバシーです。あなたの組織のクライアントがインターネットに制限されているが、その Linux ボックスではソフトウェアとセキュリティに関する定期的なシステム アップデートが必要であるか、単に新しいソフトウェア パッケージが必要であると想像してください。さらに詳しく説明すると、プライベート ネットワーク上で実行されるサーバーは、制限されたネットワーク セグメントに対してのみ機密の機密情報を格納して提供しており、決して公共のインターネットに公開すべきではありません。

これは、LAN 上にローカル リポジトリ ミラーを構築し、このジョブをエッジ サーバーに委任し、キャッシュ ミラーからソフトウェアを取り出すように内部クライアントを構成する必要がある理由のほんの一部です。

Ubuntu は、ローカル キャッシュを公式 Ubuntu リポジトリと同期するための apt-mirror パッケージを提供します。ミラーは、HTTP または FTP サーバーを介して設定して共有することができます。ソフトウェア パッケージとローカル システム クライアント。

完全なミラー キャッシュを実現するには、サーバーにローカル リポジトリ用に少なくとも 120G の空き領域が確保されている必要があります。

要件

  1. 最小 120G の空き容量
  2. Proftpd サーバーが匿名モードでインストールおよび構成されています。

ステップ 1: サーバーを構成する

1. まず最初に行うことは、Ubuntu アーカイブ ミラー ページにアクセスして を選択し、現在地に最も近い最速の Ubuntu ミラーを特定することです。

お住まいの国がさらに多くのミラーを提供している場合は、ミラー アドレスを特定し、ping または traceroute の結果に基づいていくつかのテストを実行する必要があります。

2. 次のステップでは、ローカル ミラー リポジトリのセットアップに必要なソフトウェアをインストールします。 apt-mirror および proftpd パッケージをインストールし、スタンドアロン システム デーモンとして proftpd を設定します。

sudo apt-get install apt-mirror proftpd-basic

3. 次に、apt-mirror サーバーを構成します。 /etc/apt/mirror.list ファイルを開いて、最寄りの場所を追加して編集します (ステップ 1) – デフォルトのミラーが十分に高速であるか、ミラーリングされていない場合はオプションです。急いでください。パッケージをダウンロードするシステム パスを選択してください。デフォルトでは、apt-mirror はローカル キャッシュに /var/spool/apt-mirror の場所を使用しますが、このチュートリアルではシステム パスの変更とポイントセットを使用します。 /opt/apt-mirror の場所へのbase_path ディレクティブ。

sudo nano /etc/apt/mirror.list

また、クライアントが使用している Ubuntu バージョンに応じて、clean ディレクティブの前に他のソース リスト (Debian ソースなど) をコメント解除したり追加したりすることもできます。必要に応じて 12.04 からソースを追加できますが、ソースを追加するとさらに多くの空き容量が必要になることに注意してください。

Debian ソース リストについては、Debian Wiki または Debian Sources List Generator にアクセスしてください。

4. ここで行う必要があるのは、パス ディレクトリを作成し、apt-mirror コマンドを実行して、公式の Ubuntu リポジトリをローカル ミラーと同期することだけです。 。

sudo mkdir -p /opt/apt-mirror
sudo apt-mirror

ご覧のとおり、apt-mirror は、ダウンロードされたパッケージの総数とそのサイズを示すアーカイブのインデックス作成とダウンロードを進めます。ご想像のとおり、110 ~ 120 GB はダウンロードに時間がかかるのに十分な大きさです。

ls コマンドを実行してディレクトリの内容を表示できます。

最初のダウンロードが完了すると、それ以降のダウンロードは少量になります。

5. apt-mirror がパッケージをダウンロードしている間に、Proftpd サーバーを構成できます。最初に行う必要があるのは、次のコマンドを実行して proftpd の匿名構成ファイルを作成することです。

sudo nano /etc/proftpd/conf.d/anonymous.conf

次に、次の内容を anonymous.conf ファイルに追加し、proftd サービスを再起動します。

<Anonymous ~ftp>
   User                    ftp
   Group                nogroup
   UserAlias         anonymous ftp
   RequireValidShell        off
  MaxClients                   10
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>
 </Anonymous>

6. 次のステップでは、コマンドを発行してバインド マウントを実行し、apt-mirror パスを proftpd パスにリンクします。

sudo mount --bind /opt/apt-mirror/mirror/archive.ubuntu.com/  /srv/ftp/

それを確認するには、パラメータやオプションを指定せずにmount コマンドを実行します。

mount

7. 最後のステップは、システムの再起動ミラーキャッシュディレクトリの後にProftpdサーバーが自動的に起動することを確認することです。また、ftp サーバー パスにも自動的にマウントされます。 proftpd を自動的に有効にするには、次のコマンドを実行します。

sudo update-rc.d proftpd enable

proftpd に apt-mirror キャッシュを自動的にマウントするには、/etc/rc.local ファイルを開いて編集します。

sudo nano /etc/rc.local

exit 0 ディレクティブの前に次の行を追加します。また、マウントを試みる前に 5 秒の遅延を設定してください。

sleep 5
sudo mount --bind  /opt/apt-mirror/mirror/archive.ubuntu.com/ /srv/ftp/

Debian リポジトリからパッケージをプルする場合は、次のコマンドを実行し、上記の rc.local ファイルの適切な設定が有効になっていることを確認します。

sudo mkdir /srv/ftp/debian
sudo mount --bind /opt/apt-mirror/mirror/ftp.us.debian.org/debian/ /srv/ftp/debian/

8. 毎日の apt-mirror 同期の場合、毎日午前 2 時に実行するシステム スケジュール ジョブを作成することもできます。 crontab コマンドを実行し、好みのエディターを選択して、次の行構文を追加します。

sudo crontab –e

最後の行に次の行を追加します。

0  2  *  *  *  /usr/bin/apt-mirror >> /opt/apt-mirror/mirror/archive.ubuntu.com/ubuntu/apt-mirror.log

これで、毎日 午前 2 時 にシステム リポジトリ キャッシュが Ubuntu 公式ミラーと同期され、ログ ファイルが作成されます。

ステップ 2: クライアントを構成する

9. ローカルの Ubuntu クライアントを構成するには、クライアント コンピュータの /etc/apt/source.list を編集して、次の IP アドレスまたはホスト名を指定します。 apt-mirror サーバー – http プロトコルを FTP に置き換えてから、システムを更新します。

deb ftp://192.168.1.13/ubuntu trusty universe
deb ftp://192.168.1.13/ubuntu trusty main restricted
deb ftp://192.168.1.13/ubuntu trusty-updates main restricted
## Ad so on….

10. リポジトリを表示するには、実際にブラウザを開いて、FTP プロトコルを使用してドメイン名のサーバー IP アドレスを指定します。

同じシステムが Debian クライアントとサーバーにも適用されます。必要な変更はDebian ミラーソース リスト だけです。

また、新しいUbuntu または Debian システムをインストールする場合は、インストーラーがどのリポジトリを使用するかを尋ねたときに、ローカル ミラーに FTP プロトコルを手動で指定します。

独自のローカル ミラー リポジトリを持つことの利点は、常に最新の状態に保たれ、ローカル クライアントがアップデートやソフトウェアをインストールするためにインターネットに接続する必要がないことです。