OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2013/03/20
更新日: 2015/11/04

OSSでLinuxサーバ構築

RHELのDVD-ROMをyumのリポジトリとして登録

トップページOSSでLinuxサーバ構築 > RHELのDVD-ROMをyumのリポジトリとして登録
このエントリーをはてなブックマークに追加

概要

 インターネットに接続されていない環境の場合、RHELのyumリポジトリにアクセスできないため、 yumコマンドでのパッケージのインストールを行うことができません。 このような場合、rpmコマンドでRHELのDVD-ROMから個別にパッケージをインストールしますが、 依存する前提パッケージが多い場合、かなり手間がかかってしまいます。 そこで、DVD-ROMをyumリポジトリとしてyumコマンドを利用できるように設定すると便利です。 以下ではその設定方法を紹介します。

構成

サーバ構成

OSバージョン

Red Hat Enterprise Linux 6.4 x86_64

ソフトウェア・パッケージ一覧

yumが実行できればその他必要な追加パッケージはありません。

サーバ構築

(1) RHELのDVD-ROMをマウント

 DVDドライブにRHELのDVD-ROMを挿入して、マウントします。 マウントポイントはどこでも良いですが、マウントポイントに合わせて後述のyumリポジトリ設定ファイルの 記述内容を変更してください。

# mount /dev/cdrom /media/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only

(2) yumリポジトリ設定ファイルの作成

 yumリポジトリ設定ファイルを新規で作成します。

# cd /etc/yum.repos.d/
# vi rhel-dvd.repo
ファイル名:/etc/yum.repos.d/rhel-dvd.repo
[rhel-dvd]
name=Red Hat Enterprise Linux 6.4 - x86_64 - DVD
baseurl=file:///media/cdrom/
enabled=0
gpgcheck=1
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release

 name ・・・ 後から見たときに分かりやすい名前を付けます。
 baseurl ・・・ 『file://』に続けてリポジトリのパス(DVD-ROM内のrepodataディレクトリが存在するパス)を記入します。上記設定ファイルでftp:に続いて「/」が3つあるのは間違いではありません。
 enabled ・・・ このリポジトリは通常利用されないよう無効にしておきます。理由は後述します。
 gpgcheck ・・・ パッケージの署名を確認します。(必須ではありませんが)
 gpgkey ・・・ RHEL6.4のDVD-ROM内のGPG署名ファイルを『file://』に続けて記入します。

 このリポジトリを標準で有効化しておくと、DVD-ROMをマウントしていない時にyumを実行するとエラーになります。 標準では無効化しておき、使いたいときにコマンドのオプションで個別に有効化して使います。 ちなみにエラーになっても実害はありません。DVD-ROMをマウントしてyumを再実行するだけでも十分なので、 enabled=1と設定しておいても良いです。

 なお、設定後にリブートなどは必要ありません。yumを実行する都度リポジトリ設定ファイルが読み込まれます。

利用方法

 設定が終わったら、試しに利用可能なパッケージの一覧を表示してみます。 これでパッケージの一覧が表示されれば設定成功です。 利用する際にはDVD-ROMのマウントを忘れないように。 --disablerepoオプションを指定しているのは、複数のリポジトリが利用できる場合に、 明示的にDVD-ROMだけを指定してyumを実行するためです。

# yum --disablerepo=\* --enablerepo=rhel-dvd list
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhel-dvd                                                                                         | 3.9 kB     00:00 ... 
rhel-dvd/primary_db                                                                              | 3.1 MB     00:00 ... 
Installed Packages
ConsoleKit.x86_64                   0.4.1-3.el6                  @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
ConsoleKit-libs.x86_64              0.4.1-3.el6                  @anaconda-RedHatEnterpriseLinux-201301301459.x86_64/6.4
(以下省略)

 --disablerepo=\* ・・・ 全リポジトリを無効化します。
 --enablerepo=rhel-dvd ・・・ 今回作成した『rhel-dvd』のリポジトリを個別に有効化します。
 list ・・・ 利用可能なパッケージ一覧を表示します。

永続的にDVD-ROMのリポジトリを利用する場合の設定

 上記のようにyumを実行する度にDVD-ROMをマウントしたり、yumに--enablerepoのオプションを 付けて実行するのが面倒な場合は、永続的にDVD-ROMのリポジトリを利用できるようにできます。

(1) RHELのDVD-ROMイメージをファイルシステム上に配置

Red Hat社のサイトからダウンロードできるDVD-ROMイメージである 「rhel-server-6.4-x86_64-dvd.iso」ファイルをサーバ上に配置します。 ここでは以下のパスに配置することとします。

 /media/iso/rhel-server-6.4-x86_64-dvd.iso

(2) RHELのDVD-ROMイメージをマウント

 RHELのDVD-ROMイメージをループバックでマウントします。 マウントポイントはどこでも良いですが、マウントポイントに合わせて 後述のyumリポジトリ設定ファイルの記述内容を変更してください。 ここでは「/media/cdrom/」ディレクトリにマウントすることとします。

# mount -t iso9660 -o ro,loop /media/iso/rhel-server-6.4-x86_64-dvd.iso /media/cdrom

(3) 自動マウントの設定

 mountコマンドでマウントしただけだと、Linuxをリブートするとマウントが外れてしまうので、 リブート後もマウントされるようにfstabファイルに設定を記述します。

# cd /etc/
# vi fstab
ファイル名:/etc/fstab
※ファイルの末尾に追加※
/media/iso/rhel-server-6.4-x86_64-dvd.iso /media/cdrom  iso9660 ro,loop         0 0

(4) yumリポジトリ設定ファイルの作成

 yumリポジトリ設定ファイルには以下のように記述します。前述の設定との違いはenabledの値0が1に変わっていることだけです。

# cd /etc/yum.repos.d/
# vi rhel-dvd.repo
ファイル名:/etc/yum.repos.d/rhel-dvd.repo
[rhel-dvd]
name=Red Hat Enterprise Linux 6.4 - x86_64 - DVD
baseurl=file:///media/cdrom/
enabled=1 ←変えたのはここだけ
gpgcheck=1
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release

 これでyumを実行するときに、毎回--enablerepoのオプションを指定しなくても良くなります。 設定後に何かしらのリブートなどは必要ありません。

 なお、DVD-ROMをマウントしていなくてリポジトリを参照できない場合はエラーになると 書きましたが、エラーになっても特に実害はありません。 その後正しくDVD-ROMをマウントすれば良いだけなので、エラーを見てから DVD-ROMをマウントしても良いんですけどね。だからいずれの場合もrhel-dvd.repoファイルで enabled=1を設定しておいても問題なしです。

プロフィール

らのっち

損害保険会社のIT企画部に勤務するSEです。OSSを勉強中です。

<所属>
日本PostgreSQLユーザ会とくしまOSS普及協議会

■■■ 当サイトは Internet Explorer 11 と Mozilla Firefox 43 で動作確認済みです。 ■■■