YUM(Yellow dog Updater, Modified)

  • yum(ヤム)とはYellow Dog Linux(Fedora Coreをベースとして開発されたPowerPCアーキテクチャ向けのLinuxディストリビューション)用に開発されたLinuxのRPM互換パッケージ管理システム
  • Fedora Core、CentOS、などのrpm系Linuxディストリビューションの標準のパッケージ管理システム

何をする物

  • ネットワーク、ローカルディスク上にあるyumリポジトリからRPMが取得できる
    • 新規インストールやバージョンアップなど可能

独自yumリポジトリの利点

  • インターネット接続が遅い/つながらない場合
  • LINUXマシンが複数ある場合/カスタマイズしたパッケージを複数マシンに配布する場合

作成方法

  • インターネット上の既存リポジトリを丸ごとコピー
  • CDの中身を丸ごと配置/必要なパッケージを配置しリポジトリを作成

既存リポジトリを使ってもあまり意味がないのでリポジトリを作成してみる

作成手順

リポジトリの作成

インターネット上の既存リポジトリが使えること
- リポジトリ作成コマンドであるcreaterepoをインストールする

yum install createrepo
  • リポジトリを以下のようなディレクトリ構成で作成する
    • ソースRPMとアーキテクチャ別のRPMを格納するディレクトリを作成
SRPMS/
      *.src.rpm
i386/
      *.i386.rpm
x86_64/
      *.x86_64.rpm
  • リポジトリを配置するディレクトリを作成する
mkdir -p /var/www/html/yum/repos/centos4/SRPMS
mkdir -p /var/www/html/yum/repos/centos4/i386
mkdir -p /var/www/html/yum/repos/centos4/x86_64
  • RPMファイルをそれぞれディレクトリに配置する
cp -p /usr/src/redhat/RPMS/i386/nagios-2.7-2.rf.ja.i386.rpm /var/www/html/yum/repos/centos4/i386/.
  • createrepoコマンドでリポジトリデータベースを作成する
    • RPMファイルを配置したディレクトリを指定してリポジトリを作成する
createrepo /var/www/html/yum/repos/centos4/i386
  • リポジトリ確認
ll /var/www/html/yum/repos/centos4/i386/repodata/

使ってみる

  • yumの設定ファイルに作成したリポジトリを無効状態で追加する
echo "[my repo]" > /etc/yum.repos.d/my.repo
echo "name=CentOS4 \\$releasever - \\$basearch - My Repository" >> /etc/yum.repos.d/my.repo
echo "baseurl=file:///var/www/html/yum/repos/centos\\$releasever/\\$basearch/" >> /etc/yum.repos.d/my.repo
echo "enabled=0" >> /etc/yum.repos.d/my.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/my.repo
  • インターネット上の既存リポジトリの見つかった場合を確認する
yum install nagios

  • 作成したリポジトリを有効にして確認する
vi /etc/yum.repos.d/my.repo
yum install nagios

インストールができればリポジトリの作成は完了。

※注:リポジトリ内のRPMを更新した場合,createrepoでリポジトリデータベースの更新が必要

  • このエントリーをはてなブックマークに追加
Feedforce Developer Blog

新しいブログへ移行しました!こちらもよろしくお願いします。