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

このエントリーをはてなブックマークに追加

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

カテゴリ:OSSセットアップ | ソフトウェア:Linux | タグ:
最終更新日:2021/01/04 | 公開日:2013/03/20

目次

概要

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

構成

サーバ構成

OSバージョン

Red Hat Enterprise Linux 6.4 x86_64

環境構築

DVD-ROMを使って一時的にリポジトリを利用する場合

RHELのDVD-ROMのマウント

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

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

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 ・・・ 利用可能なパッケージ一覧を表示します。

ISOイメージを使って永続的にリポジトリを利用する場合

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

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

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

自動マウントの設定

 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

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を設定しておいても問題なしです。