privateネットワークにyumリポジトリを構築
仕事でyumリポジトリを立てる場面がありせっかくなのでまとめようと思います。
対象環境は以下です。
OS: CentOS5 アーキテクチャ: 32bit
yumリポジトリサーバの設定
まっさらな状態のサーバにyumリポジトリを立てます。
まずyumリポジトリを立てるのに必要なパッケージから入れます。
$ yum install createrepo
次にhttp経由でパッケージを送るためとりあえずapacheを入れて起動しておきます。
$ yum install httpd $ /etc/init.d/httpd start
$ mkdir -p /var/www/html/centos/5/i386
テスト用にCentOS標準のmysqlクライアントではなく mysql オフィシャルのMySQL-client-community RPMをyumリポジトリの対象アーキテクチャディレクトリにダウンロードします。
$ cd /var/www/html/centos/5/i386 $ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/MySQL-client-community-5.1.51-1.rhel5.i386.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/
$ createrepo -v /var/www/html/centos/5/i386
上記コマンドを実行すると下記のファイルができます。
$ ls /var/www/html/centos/5/i386/repodata/ filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml
yumリポジトリを利用するクライアントの設定
次に上記で設定したyumリポジトリからRPMを取得するクライアントの設定をします。
まず上記yumリポジトリの指定を行います。
$ vi /etc/yum.repos/local.repo
[local] name=CentOS-$releasever - $basearch - Local Repository baseurl=http://192.168.1.12/centos/$releasever/$basearch/ enabled=1 gpgcheck=0
下記のコマンドで現在設定されているyumリポジトリの一覧が見れる。
$ yum repolist
repo id repo name status addons CentOS-5 - Addons enabled: 0 base CentOS-5 - Base enabled: 2,599 extras CentOS-5 - Extras enabled: 337 local CentOS-5 - i386 - Local Repository enabled: 2 updates CentOS-5 - Updates enabled: 688 repolist: 3,626
では実際にRPMがprivateネットワークのyumリポジトリから取得できるか確認する。
$ yum --disablerepo=* --enablerepo=local install MySQL-client-community
===================================================================================== Package Arch Version Repository Size ===================================================================================== Installing: MySQL-client-community i386 5.1.51-1.rhel5 local 7.3 M