yumリポジトリ設定(独自)
yumとは「Yellowdog Updater Modified 」の略。LinuxのRPM互換パッケージ管理システムである。
今回は、インターネットに接続できないサーバ環境にて独自に収集したrpmファイルをyumでインストールが可能になるよう、サーバ内に閉じたローカル環境に独自リポジトリを作成する。
目的
インターネット接続不可環境サーバでCentOSのローカル環境でリポジトリを作成し、独自に入手したrpmをyumにてインストールできるようにする。
以下条件を全て満たす場合に独自リポジトリを作成する
- インターネット接続不可である
- イントラネット内にリポジトリサーバが無い
- インストールDVDに含まれない独自rpmをインストールする
今回、通常rpm用および特別rpm用の二つのリポジトリフォルダを作成する。
構築条件
構築機器
- 仮想サーバ SUN VirtualBox 4.3 Hyper-V で構築
作成環境
OS | CentOS 6.5 64bit版 |
インターネット接続 | 不可 |
サーバ作成条件
サーバIP | 192.168.0.10/24 |
ホスト名 | hogehogeServer |
user | hogehoge |
userpasswd | hogehogepass |
独自yum作成ディレクトリ | /home/yum |
手順記入ルール
- コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
- コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。
前準備
- CentOSインストール 実施
- yumリポジトリ設定 実施
- FTPサーバ構築 実施
createrepoインストール
【Telnet】
- rootでログイン
$ su パスワード:
(1)createrepoインストール
リポジトリ作成ツール「createrepo」をインストール
- createrepoインストール
# yum install createrepo
================================================================================ Package Arch Version Repository Size ================================================================================ Installing: createrepo noarch 0.9.9-18.el6 c6-media 94 k Installing for dependencies: deltarpm x86_64 3.5-0.5.20090913git.el6 c6-media 71 k libxml2-python x86_64 2.7.6-14.el6 c6-media 321 k python-deltarpm x86_64 3.5-0.5.20090913git.el6 c6-media 27 k
yum独自リポジトリ作成
- リポジトリ作成
種別 ファイル名 リポジトリ名 enabled 初期値 変更後 追加 local-repo [local-rpm] - 1 [local-extra] - 1
(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月 16 11:20 2014 extra drwxr-xr-x 2 root root 4096 2月 16 11:20 2014 rpm
(2)yum独自リポジトリ作成
- yumリポジトリ用フォルダ作成
# vi /etc/yum.repos.d/local.repo
- 全面追加
[local-rpm] name=CentOS-6.5 - local rpm baseurl=file:///home//yum/rpm/ gpgcheck=0 enabled=1
[local-extra] name=CentOS-6.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月 16 11:23 2014 repodata
- 特別rpm確認
# ls -l /home/yum/extra/
drwxr-xr-x 2 root root 4096 2月 16 11:25 2014 repodata
- 終了
# exit exit $
通常rpm用リポジトリへのrpm登録
(1) ファイル転送
【FTP】
ftp にて、ユーザエリア「/home/hogehoge」に 「xxx.rpm」 をアップ
(2)html直下にコピー
【Telnet】
- ファイル確認
# ls -l
-rw-r--r-- 1 hogehoge hogehoge 2306596 2月 16 12:15 2014 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 2306596 2月 16 12:16 2014 xxx.rpm drwxr-xr-x 2 root root 4096 2月 16 12:17 2014 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 114488 2月 16 12:21 2014 xxx.rpm drwxr-xr-x 2 root root 4096 2月 16 12:21 2014 repodata
- yumキャッシュクリア
# yum clean all
- リポジトリ登録確認
# yum list | grep xxx
★表示されない
# yum list --enablerepo=local-extra | grep xxx
xxx xxx local-extra
遭遇したトラブル
特になし
問題:
特になし
原因:
特になし
謝辞
テキスト作成に当たり、以下サイトを参考にさせて頂きました。ありがとうございます。