RHELのDVD-ROMをyumのリポジトリとして登録
目次
概要
インターネットに接続されていない環境の場合、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
[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
※ファイルの末尾に追加※
/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
[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を設定しておいても問題なしです。