CD/DVDをドライブにセットしてから、以下のスクリプトをrootで実行します。
yum_media_setup.sh
#!/bin/sh
if [ ! -d /media/cdrom ]
then
mkdir /media/cdrom
if [ $? -ne 0 ]
then
echo "Couldn't create /media/cdrom ($?)".
exit 1
fi
fi
mountpoint -q /media/cdrom
if [ $? -ne 0 ]
then
mount -r /dev/cdrom /media/cdrom
if [ $? -ne 0 ]
then
echo "Couldn't mount /dev/cdrom ($?)."
exit 2
fi
fi
if [ ! -f /etc/yum.repos.d/Media-User.repo ]
then
touch /etc/yum.repos.d/Media-User.repo
chmod 0644 /etc/yum.repos.d/Media-User.repo
chown root:root /etc/yum.repos.d/Media-User.repo
echo "[c-media]">>/etc/yum.repos.d/Media-User.repo
echo "name=Linux-\$releasever - Media">>/etc/yum.repos.d/Media-User.repo
echo "baseurl=file:///media/cdrom/">>/etc/yum.repos.d/Media-User.repo
echo "gpgcheck=1">>/etc/yum.repos.d/Media-User.repo
echo "enabled=0">>/etc/yum.repos.d/Media-User.repo
if [ -f /etc/centos-release ]
then
RELEASE_VER=`cat /etc/redhat-release | awk '{print $4}' | awk -F. '{print $1}'`
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$RELEASE_VER">>/etc/yum.repos.d/Media-User.repo
else
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release">>/etc/yum.repos.d/Media-User.repo
fi
fi
yum clean all
exit 0
実際に使用するときの例は以下の通りです。(例:sambaをインストールする場合)
yum --disablerepo=¥* --enablerepo=c-media install samba
CentOSにはCentOS-Media.repo等のメディア用のyumファイルがもともと存在しますが、
バージョン(6と7)で名前が違ったり、Redhatと共通化したかったりするため、自前でrepoファイルを作っています。