yumリポジトリ設定(独自)
yumとは「Yellowdog Updater Modified 」の略。LinuxのRPM互換パッケージ管理システムである。
今回は、インターネットに接続できないサーバ環境にて独自に収集したrpmファイルをyumでインストールが可能になるよう、サーバ内に閉じたローカル環境に独自リポジトリを作成する。
目的
インターネット接続不可環境サーバでCentOSのローカル環境でリポジトリを作成し、独自に入手したrpmをyumにてインストールできるようにする。
以下条件を全て満たす場合に独自リポジトリを作成する
- インターネット接続不可である
- イントラネット内にリポジトリサーバが無い
- インストールDVDに含まれない独自rpmをインストールする
今回、通常rpm用および特別rpm用の二つのリポジトリフォルダを作成する。
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.0 で構築
作成環境
OS | CentOS 5.5 64bit版 |
インターネット接続 | 不可 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
独自yum作成ディレクトリ | /home/yum |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
前準備
- CentOSインストール 実施
- 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