質問: CentOSを使っています。 リポジトリを登録するのですが、よくリポジトリが無くなったり変更されたりします。 そのためリポジトリをコピーして、削除されても使えるようにしたいと思っています。 そこで質問ですが、 (1) リポジトリをコピーする方法(1つずつrpmをダウンロードするしかないのか?) (2) コピーしたリポジトリをhttpdサーバに配置すれば、リポジトリの向き先を変えるだけで使えるのか。 (3) そもそも(1)(2)のようなことしなくても、ローカルにリポジトリ領域を保存できるなど便利な方法があるか。 をご存知の方、ご教示お願いします。
回答: 公開リポジトリからパッケージを一括でダウンロードするには、`rsync`や`lftp`などでミラーリングする方法もありますが、yumリポジトリのミラーリングを目的とした`reposync`というコマンドがCentOS/RHELには用意されています。 `reposync`コマンドは`yum-utils`パッケージに含まれています。また、独自のリポジトリを作成するには`createrepo`コマンドも必要になるのでそれぞれインストールしておいてください。 ``` $ sudo yum install yum-utils createrepo -y ``` パッケージのミラーリングと(createrepoで)メタデータの作成を済ませたら、httpdを含め適当な方法でリポジトリを参照可能な状態にしてやればOKです。 なお、リポジトリの参照先として`/etc/yum.repo.d/`以下の`*.repo`ファイルに記述する必要がありますが、既存のファイルとは別に用意した方が管理しやすいと思います。 参考: 独自/ミラー yum リポジトリを作ろう CentOSのローカルyumリポジトリの作り方