CentOS5.5/yumリポジトリ設定(独自)

Last-modified: 2011-02-06 (日) 01:22:02
最終更新:2011-02-06 (日) 01:22:02
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

yumリポジトリ設定(独自)

yumとは「Yellowdog Updater Modified 」の略。LinuxのRPM互換パッケージ管理システムである。
 
今回は、インターネットに接続できないサーバ環境にて独自に収集したrpmファイルをyumでインストールが可能になるよう、サーバ内に閉じたローカル環境に独自リポジトリを作成する。


目的

インターネット接続不可環境サーバでCentOSのローカル環境でリポジトリを作成し、独自に入手したrpmをyumにてインストールできるようにする。


以下条件を全て満たす場合に独自リポジトリを作成する

  • インターネット接続不可である
  • イントラネット内にリポジトリサーバが無い
  • インストールDVDに含まれない独自rpmをインストールする


今回、通常rpm用および特別rpm用の二つのリポジトリフォルダを作成する。

構築条件

構築機器

作成環境

OS    CentOS 5.5 64bit版
インターネット接続不可

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass
独自yum作成ディレクトリ/home/yum

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施

createrepoインストール

【Telnet】

  • rootでログイン
$ su
パスワード:

(1)createrepoインストール

リポジトリ作成ツール「createrepo」をインストール

  • createrepoインストール
# yum install createrepo
Installing:
 createrepo           noarch           0.4.11-3.el5              c5-media            59 k

yum独自リポジトリ作成

(1)フォルダ作成

  • 通常rpm用フォルダ作成
# mkdir -p /home/yum/rpm/
  • 特別rpm用フォルダ作成
# mkdir -p /home/yum/extra/
  • 確認
# ls -l /home/yum/
drwxr-xr-x 2 root root 4096  2月  5 11:20 extra
drwxr-xr-x 2 root root 4096  2月  5 11:20 rpm

(2)yum独自リポジトリ作成

  • yumリポジトリ用フォルダ作成
# vi /etc/yum.repos.d/localorg.repo
  • 全面追加
    [local-rpm]
    name=CentOS-5.5 - local rpm
    baseurl=file:///home//yum/rpm/
    gpgcheck=0
    enabled=1
[local-extra]
name=CentOS-5.5 - local extra
baseurl=file:///home//yum/extra/
gpgcheck=0
enabled=0

★特別用リポジトリは「不活性」としておく。

(3)yum独自リポジトリデータベース作成

  • 通常rpm用リポジトリデータベース作成
# createrepo -v /home/yum/rpm/
Saving Primary metadata
Saving file lists metadata
Saving other metadata
  • 特別rpm用リポジトリデータベース作成
# createrepo -v /home/yum/extra/
Saving Primary metadata
Saving file lists metadata
Saving other metadata
  • 通常rpm確認
# ls -l /home/yum/rpm/
drwxr-xr-x 2 root root 4096  2月  5 11:36 repodata
  • 特別rpm確認
# ls -l /home/yum/extra/
drwxr-xr-x 2 root root 4096  2月  5 11:36 repodata
  • 終了
# exit
 exit
$

通常rpm用リポジトリへのrpm登録

(1) ファイル転送

【FTP】

ftp にて、ユーザエリア「/home/hogehoge」に 「xxx.rpm」 をアップ

(2)html直下にコピー

【Telnet】

  • ファイル確認
# ls -l
-rw-r--r-- 1 hogehoge hogehoge  2404508  2月  5 11:56 xxx.rpm
  • ファイルコピー
# cp xxx.rpm /home/yum/rpm/

(3)通常rpm用リポジトリデータベースを更新

  • 更新実行
# createrepo -v /home/yum/rpm/
Saving Primary metadata
Saving file lists metadata
Saving other metadata

(4)確認

  • フォルダ確認
# ls -l /home/yum/rpm/
-rw-r--r-- 1 root root 2404508  2月  5 12:18 xxx.rpm
drwxr-xr-x 2 root root    4096  2月  5 12:18 repodata
  • yumキャッシュクリア
# yum clean all
  • リポジトリ登録確認
# yum list | grep xxx
xxx                              xxx             local-rpm

特別rpm用リポジトリへのrpm登録

(1) ファイル転送

【FTP】

ftp にて、ユーザエリア「/home/hogehoge」に 「xxx.rpm」 をアップ

(2)html直下にコピー

【Telnet】

  • ファイルコピー
# cp xxx.rpm /home/yum/extra/

(3)特別rpm用リポジトリデータベースを更新

  • 更新実行
# createrepo -v /home/yum/extra/
Saving Primary metadata
Saving file lists metadata
Saving other metadata

(4)確認

  • フォルダ確認
# ls -l /home/yum/extra/
-rw-r--r-- 1 root root 2404508  2月  5 12:18 xxx.rpm
drwxr-xr-x 2 root root    4096  2月  5 12:18 repodata
  • yumキャッシュクリア
# yum clean all
  • リポジトリ登録確認
# yum list | grep xxx

 ★表示されない

# yum list --enablerepo=local-extra | grep xxx
xxx                              xxx             local-extra

遭遇したトラブル

特になし

問題:

特になし
 

原因:

特になし

謝辞

テキスト作成に当たり、以下サイトを参考にさせて頂きました。ありがとうございます。

http://www.proustcafe.com/2006/01/createrepoyum.html
http://blog.77jp.net/%E3%81%9D%E3%81%AE%E4%BB%96%E3%80%80linux/linux-dvd-%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%E3%81%AE%E3%83%9E%E3%82%A6%E3%83%B3%E3%83%88%E6%96%B9%E6%B3%95.html