オフライン環境でyumを使用したいとき。レポジトリにISOイメージを指定する。

最近仕事では、AWSの構築作業をしている。勉強しながらなので、全然捗らないけど。しかし、今日はその話ではなく、知人に質問された件。

知人の悩みは次のようなもの。

Linux環境を構築しており、必要なソフトウェアを1つずつインストールしているとのこと。
しかし、インターネットからは隔離された環境で、yumリポジトリがインターネット上のサーバに指定されたままではyumが使い物にならなくて困っている。

この質問に対して、メールで次のように回答した。

yumのレポジトリにLinuxのインストールメディアを指定し、インストールメディアから必要なパッケージをyumを使用してインストールすればよい。

ただ、これだけでは具体的な手順が分からなかったようで、別途次のように回答。
VMWare使っているようで、しかも、VSphere Clientツールでしかアクセスできないという事情もあったらしい。

〜〜〜〜〜〜〜〜〜〜〜 以下、回答した内容 〜〜〜〜〜〜〜〜〜〜〜
1.VSphere Clientツールを使用して、Linuxのインストールイメージファイル(ISOファイル)に接続する
2.ISOファイルに接続しただけでは、マウントされていないので、/dev/cdromを/media/CentOSにマウントする

#mount /dev/cdrom /media/CentOS

/media/CentOSにマウントする理由は後に述べる。

3./etc/yum.repos.d/CentOS-Media.repoファイルのbaseUrlを確認する
 baseUrlに、デフォルトで/media/CentOSが記載されているはず。そのため、2で/media/CentOSに/dev/cdromをマウントする。マウントフォルダは任意の場所でよく、その場合は逆に、/etc/yum.repos.d/CentOS-Media.repoファイルのbaseUrlに、マウントしたディレクトリを指定すれば良い。

4./etc/yum.repos.d/CentOS-Media.repoファイルを編集してレポジトリを有効にする
 enabled=0となっているので、enabled=1とする。

5.ISOイメージからyumでパッケージをインストールする

#yum --disablerepo=\* --enablerepo=c5-media install [パッケージ名]

例えば、gccをインストールする場合は、次のようにする。

#yum --disablerepo=\* --enablerepo=c5-media install gcc