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」を使用した場合の実行結果例です。

# 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
# 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

今日はこんな所で。