オフライン環境で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