yumでローカルメディアを指定する
yumコマンドって便利だと思います。
通常インターネット上のリポジトリを指定して、
インターネット経由でパッケージをダウンロードしてインストールすることが多いと思います。
インターネットに直接繋げない環境で、
パッケージをインストールすることになったとき、
RPMの依存関係で悲惨な状態になるかも知れません。
そんなときにもyumを使うために、今回はローカルメディアを指定したyumの使用例です。
「CentOS-Base.repo」と「CentOS-Media.repo」
大体、以下のrepo設定ファイルが配置されていると思います。
yumコマンドを使用すると、普段は「CentOS-Base.repo」の設定に基づき、
リポジトリにアクセスをするかと思います。
「CentOS-Media.repo」ですが、中を見てみると
ローカルメディアを利用するための設定がされています。
ということは、こいつを使えばOK。
[c5-media] name=CentOS-$releasever - Media baseurl=file:///media/CentOS/ file:///media/cdrom/ file:///media/cdrecorder/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
使ってみる
# mount /dev/cdrom /media/CentOS/
または
# mount -o loop -t iso9660 /foo/bar/CentOS-5.5-i386-bin-DVD.iso /media/CentOS/
のようにマウントしておきます。
後は、
# yum --disablerepo=\* --enablerepo=c5-media install [PKG-NAME]
のように指定すれば、依存関係も解消しつつ
ローカルメディアからRPMパッケージをインストールしてくるはず。
ちなみに以下は「CentOS-Base.repo」を使用した場合と
「CentOS-Media.repo」を使用した場合の実行結果例です。
- 「CentOS-Base.repo」
# yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: rsync.atworks.co.jp * base: rsync.atworks.co.jp * epel: ftp.kddilabs.jp * extras: rsync.atworks.co.jp * updates: rsync.atworks.co.jp Setting up Update Process No Packages marked for Update
- 「CentOS-Media.repo」
# mkdir -p /media/CentOS # mount -o loop -t iso9660 /foo/bar/CentOS-5.5-i386-bin-DVD.iso /media/CentOS/ # yum --disablerepo=\* --enablerepo=c5-media updateLoaded plugins: fastestmirror Loading mirror speeds from cached hostfile * c5-media: c5-media | 1.1 kB 00:00 c5-media/primary | 920 kB 00:00 c5-media 2599/2599 Setting up Update Process No Packages marked for Update
今日はこんな所で。