yumリポジトリ設定

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

yumリポジトリ設定

yumとは「Yellowdog Updater Modified 」の略。LinuxのRPM互換パッケージ管理システムである。
CentOS等のRedHat系Linuxではアプリのインストールに「rpm(Red Hat Package Manager)」形式のバイナリファイルを使用できる。
 
rpmファイルはインストールが簡単でありrpmファイル同士の依存関係も明示してくれるため扱いやすい反面必要なファイルがまとまっていない為、規模が大きくなると集めるのが大変かつrpmファイルインストールの順番を考える必要があり、素人には扱いづらい一面もあった。
これらインストールに必要なファイルをネットを通じて収集し順番を考えてインストールしてくれる仕組みとしてyumは開発された。
 
今回は、

  • 環境1:インターネットにアクセス可能
  • 環境2:インターネットへのアクセス不可
  • 環境3:イントラ内にリポジトリサーバ有り

それぞれの環境でyumによるインストールが可能になるよう、リポジトリ登録を行う。


目的

CentOSのローカル環境でリポジトリを設定し、yumが利用できるようにする。

構築条件

構築機器

作成環境

OS    CentOS 6.5 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswd    hogehogepass

手順記入ルール

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

前準備

  1. CentOSインストール 実施


★以下サーバ環境にあわせて設定を実施

  • リポジトリ初期値
    種別ファイル名リポジトリ名enabled
    既存CentOS-Base.repo[base]1
    [updates]1
    [extras]1
    [centosplus]0
    [contrib]0
    CentOS-Debuginfo.repo[debug]0
    CentOS-Media.repo[c6-media]0

環境1:インターネットにアクセス可能

(1)yumリポジトリ動作を確認

【Telnet】

  • rootでログイン
$ su
パスワード:
  • 確認
# ls -l  /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo
-rw-r--r--. 1 root root  638 11月 27 20:53 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 11月 27 20:53 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo

※「enable=」の値が初期値と同じか確認。「enable=」が無い場合は「enable=1」となる。

  • リポジトリ初期値確認
# cat /etc/yum.repos.d/CentOS-Base.repo
# cat /etc/yum.repos.d/CentOS-Debuginfo.repo
# cat /etc/yum.repos.d/CentOS-Media.repo
# cat /etc/yum.repos.d/CentOS-Vault.repo
  • yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit
Cleaning repos: base extras updates
Cleaning up Everything
  • yum確認
# yum list all
 * base: centos.ustc.edu.cn   ←「base」   があることを確認
 * extras: mirrors.tuna.tsinghua.edu.cn  ←「extras」 があることを確認
 * updates: centosd6.centos.org ←「updates」があることを確認

   :

  • 終了
# exit
 exit
$

変更する場合、以下手順で活性化を実施

  • 活性化登録(例)
# vi /etc/yum.repos.d/CentOS-Base.repo
  • 以下リポジトリを「enable=1」に変更
    [base]
    enabled=1  ←「1」に変更
    #
    [updates]
    enabled=1  ←「1」に変更
    #
    [extras]
    enabled=1  ←「1」に変更
    #
    [centosplus]
    enabled=0  ←「0」に変更
    #
    [contrib]
    enabled=0  ←「1」に変更

環境2:インタネットへのアクセス不可

★インストールDVDをyumリポジトリとして登録

  • リポジトリ修正
    種別ファイル名リポジトリ名enabled
    初期値変更後
    既存CentOS-Base.repo[base]10
    [updates]10
    [extras]10
    上記以外0変更無
    CentOS-Debuginfo.repo全て0変更無
    CentOS-Media.repo[c6-media]01

(1)リポジトリ外部アクセスを停止

【Telnet】

  • rootでログイン
$ su
パスワード:
  • 確認
# ls -l  /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo
-rw-r--r--. 1 root root  638 11月 27 20:53 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 11月 27 20:53 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo
  • 不活性化登録
# vi /etc/yum.repos.d/CentOS-Base.repo
  • 以下リポジトリを「enable=0」に変更 (「enable=」が無い場合は行追加)
    [base]
    enabled=0  ←「0」に変更
    #
    [updates]
    enabled=0  ←「0」に変更
    #
    [extras]
    enabled=0  ←「0」に変更
    #
    [centosplus]
    enabled=0  ←「0」確認
    #
    [contrib]
    enabled=0  ←「0」確認

(2)リポジトリ内部アクセスを活性化

# vi /etc/yum.repos.d/CentOS-Media.repo
  • 以下リポジトリを「enable=1」に変更
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///media/CentOS/  ←確認(DVDインストール先)
            file:///media/cdrom/
            file:///media/cdrecorder/
    gpgcheck=1
    enabled=1  ←「1」に変更
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

(3)DVDをドライブにセット

インストールに使ったDVDメディアをドライブにセット

(4)リポジトリ登録

以下のどちらかを実行

方式1:DVDメディアを直接マウントしてリポジトリに指定する場合

  • フォルダ作成
# mkdir /media/CentOS/
  • 確認
# ls -l /media
drwxr-xr-x 2 root root 4096  1月 22 23:10 2014 CentOS
  • DVDドライブマウント
# mount /dev/dvd /media/CentOS/
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
  • yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit
Cleaning repos: c6-media
Cleaning up Everything
Cleaning up list of fastest mirrors
  • 確認
# yum list all
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors
 * c6-media: ←「c6-media」 があることを確認

★yum完了後

  • DVDドライブアンマウント
# umount /media/CentOS/

方式2:DVDメディアをHDDにコピーしてリポジトリに指定する場合

★HDD容量に余裕がありyum使用頻度が高いと予想される場合、
 HDD上にDVDメディアコピーを行う

  • DVDドライブマウント
# mount /dev/dvd /mnt
mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします
  • DVDメディアコピー
# cp -R /mnt/* /media/CentOS/

★もし「cp: target `/media/CentOS/' is not a directory」エラーが出た場合以下を実行

# mkdir /media/CentOS
  • DVDドライブアンマウント
# umount /mnt
  • 確認
# yum list all
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: ←「c6-media」 があることを確認

   :

★64bit版の場合DVDが2枚あるので、DVD入れ替え後「DVDドライブマウント」以降手順を繰り返す

  • 終了
# exit
 exit
$

環境3:イントラ内にリポジトリサーバ有り

  • リポジトリ修正
    種別ファイル名リポジトリ名enabled
    初期値変更後
    既存CentOS-Base.repo[base]10
    [updates]10
    [extras]10
    上記以外0変更無
    CentOS-Debuginfo.repo全て0変更無
    CentOS-Media.repo全て0変更無
    追加intra-repo.repo[intra-repo]-1
    [intra-repo-rpm]-1
    [intra-repo-extra]-1

前準備

  1. yumリポジトリサーバ を構築しておくこと

(1)リポジトリ外部アクセスを停止

【Telnet】

  • rootでログイン
$ su
パスワード:
  • 確認
# ls -l  /etc/yum.repos.d/
-rw-r--r--. 1 root root 1926 11月 27 20:53 2013 CentOS-Base.repo
-rw-r--r--. 1 root root  638 11月 27 20:53 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630 11月 27 20:53 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 11月 27 20:53 2013 CentOS-Vault.repo
  • 不活性化登録
# vi /etc/yum.repos.d/CentOS-Base.repo
  • 以下リポジトリを「enable=0」に変更 (「enable=」が無い場合は行追加)
    [base]
    enabled=0  ←「0」に変更
    #
    [updates]
    enabled=0  ←「0」に変更
    #
    [extras]
    enabled=0  ←「0」に変更
    #
    [centosplus]
    enabled=0  ←「0」確認
    #
    [contrib]
    enabled=0  ←「0」確認

(2)yumリポジトリ作成

★手順 yumリポジトリサーバ#intra にてyumリポジトリを作成


[今回実施手順]

  • yumリポジトリ新規作成
# vi /etc/yum.repos.d/intra-repo.repo
  • 全面追加
    [intra-repo]
    name=CentOS-6.5 - Intra repo
    baseurl=http://192.168.0.100/yum/$basearch/
    gpgcheck=0
    enabled=1
[intra-repo-rpm]
name=Intra repo rpm
baseurl=http://192.168.0.100/yum/rpm/
gpgcheck=0
enabled=1
[intra-repo-extra]
name=Intra repo extra
baseurl=http://192.168.0.100/yum/extra/
gpgcheck=0
enabled=0

(3)yum動作確認

  • yumキャッシュクリア
# yum clean all
Loaded plugins: fastestmirror, refresh-packagekit
Cleaning up Everything
Cleaning up list of fastest mirrors
  • yum確認
# yum list all
Loaded plugins: fastestmirror, refresh-packagekit
Determining fastest mirrors

   :

  • 終了
# exit
 exit
$

遭遇したトラブル

特になし

問題:

特になし
 

原因:

特になし

謝辞

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

http://d.hatena.ne.jp/kanonji/20110927/1317091172