実際の現場での作業は、セキュリティ確保のためインターネットとの接続を遮断されていることも多々あります。
また、昨今のサーバーは仮想化が進み、 データセンタへリモート接続を行いサーバーの構築を行うことが主流になっています。
ISOメディアをマウントしてYumを設定する。
リモート接続の場合、必ず問題になるのがメディアのマウントです。
昨今は、何処のベンダーもISOメディアをダウンロードすることが可能となっています。
この記事では、ダウンロードしたISOメディアをマウントして、yumの設定を自動で行うスクリプトをご紹介します。
yum設定シェル
#!/bin/sh
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
# ver.1.0.0 2020.03.24
#
# Usage:
# /root/scripts/bin/add_yum.sh
#
# Description:
#
#
# 設計書
#
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# --------------------------------------------------
# devider.
# --------------------------------------------------
# return N/A
# --------------------------------------------------
line (){
echo -e "\\n ------------"
echo -e " ▼ ${1}"
}
target=/etc/yum.repos.d/rhel-cdrom.repo
if [ -f ${target} ]; then
line "do backup"
cp -p ${target} ${target}.`date "+%Y%m%d"`
ls -l ${target%/*}
fi
line "add ${target}"
cat << EOS > ${target}
[rhel-cdrom-rhel7-server-iso]
name=rhel-cdrom-rhel7-server-iso
baseurl=file:///media/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
EOS
cat ${target}
line "Valid values with comments removed"
grep -v -e '^\s*#' -e '^\s*$' ${target}
if [ -f ${target}.`date "+%Y%m%d"` ]; then
line "diff ${target}"
diff ${target} ${target}.`date "+%Y%m%d"`
fi
exit $?
※ 上記のスクリプトは、「RHEL7」のISOメディアを想定しています。
対象のメディア毎に内容を書き換えてください。
シェル内容の説明
1行目:シェバン
2-15行目:コメント
17-25行目:出力時のデバイダー
26-31行目:yum設定ファイルが既にある場合、既存yum設定ファイルのバックアップします。
「ファイル名 + yyyymmdd」形式
34-42行目:yumの設定ファイルを作成しています。(ヒアドキュメント)
44-45行目:コメント(#)を除いて設定内容をコンソールへ出力しています。
47-50行目:バックアップファイルが存在する場合、作成した設定ファイルとバックアップファイルの中身を比較して表示します。
51行目:リターンコードを返却して処理を終了しています。
※ 本スクリプト利用により発生した利用者の損害全てに対し、いかなる責任をも負わないものとし、損害賠償をする一切の義務はないものとします。