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

Last-modified: 2014-02-16 (日) 18:17:25
最終更新:2014-02-16 (日) 18:17:25
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

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

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


目的

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


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

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


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

構築条件

構築機器

作成環境

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

サーバ作成条件

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

手順記入ルール

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

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施
  3. 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

遭遇したトラブル

特になし

問題:

特になし
 

原因:

特になし

謝辞

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

http://darutk-oboegaki.blogspot.jp/2012/11/yum.html