RedHat Enterprise Linux 5.0は、yumでパッケージのメンテナンスができますが、Debian/Ubuntuに比べて利用可能なパッケージが少ないです。
RPMパッケージとして個別に配布されているものやcheckinstallでtar ballからパッケージしたものをバラバラと入れていくと収集がつかなくなってしまいます。
yumのプライベートリポジトリは、比較的簡単に作れるようなので、これらのパッケージを必ずプライベートリポジトリに配置してインストールするようにすると良いです。
必要なものは、Webサーバとcreaterepoパッケージですが、いずれもRedHat Networkから入手できます。
createrepoパッケージのインストール
RedHat Networkに用意されているcreaterepoパッケージをインストールします。
$ sudo yum list | grep createrepo createrepo.noarch 0.4.11-3.el5 rhel-i386-server-5 $ sudo yum install createrepo Loaded plugins: rhnplugin, security Setting up Install Process Resolving Dependencies
-
- > Running transaction check
- > Package createrepo.noarch 0:0.4.11-3.el5 set to be updated
- > Finished Dependency Resolution
- > Running transaction check
プライベートリポジトリの作成
プライベートリポジトリで配布したいRPMファイルをWebサーバに配置します。
保管場所は任意ですが、RedHatでWebサーバのコンテンツを保管している/var/www/htmlにyumというディレクトリを作成しました。
この下に任意の分類名で下記のように整理していきます。
/var/www/html/yum/[分類]/RPMS
RPMSディレクトリにRPMファイルをコピーしたらcreaterepoコマンドでリポジトリを作成します。
これで、プライベートリポジトリの作成は、おしまいです。
$ sudo createrepo /var/www/html/yum/checkinstall/RPMS/ 2/2 - ruby-1.8.7-p160-1.i386.rpm Saving Primary metadata Saving file lists metadata Saving other metadata $
プライベートリポジトリを参照する設定
次に作成したプライベートリポジトリを参照する設定です。
/etc/yum.repos.dに任意のファイル名で設定を作成するだけです。
$ cat /etc/yum.repos.d/priv.repo [分類名1] name=Red Hat Enterprise Linux $releasever - $basearch build, [分類名1] baseurl=http://[サーバ名]/yum/[分類名1]/RPMS/ enabled=1 gpgcheck=0 [分類名2] name=Red Hat Enterprise Linux $releasever - $basearch build, [分類名2] baseurl=http://[サーバ名]/yum/[分類名2]/RPMS/ enabled=1 gpgcheck=0
確認
下記でプライベートリポジトリが参照できているか確認します。
これで、RPMファイルを探しまわらずに済みます。
$ sudo yum clean all Loaded plugins: rhnplugin, security Cleaning up Everything $ sudo yum update Loaded plugins: rhnplugin, security ...中略... Skipping security plugin, no data Setting up Update Process No Packages marked for Update $ sudo yum list available | grep 分類名 nxclient.i386 3.3.0-6 分類名1 nxnode.i386 3.3.0-22 分類名1 nxserver.i386 3.3.0-27 分類名1 ruby-1.8.7.i386 p160-1 分類名2 rubygems.i386 1.3.3-1 分類名2 $