標籤:
</pre><p>寫了一個指令碼,主要做1、掛載本地iso鏡像檔案2、開機本地iso鏡像開機自動掛載3、用iso鏡像配置本地yum源</p><pre>
#!/bin/bash#author:wjf#date:2015/04/22#desc:establish a yum on local rhel6.4echo "請輸入iso鏡像完整路徑"read v_iso_pathecho "請輸入鏡像要掛載的目錄"read v_mount_dirv_curr_date=`date +%Y%m%d%H%M`mount -t iso9660 -o loop ${v_iso_path} ${v_mount_dir}v_is_mount=`df -h |grep ${v_iso_path}`if [ -z "${v_is_mount}" ] then echo "掛載未成功,請檢查掛載過程" else echo "掛載iso鏡像成功,開始配置yum……" echo "配置光碟片掛載開機自啟動" echo "備份/etc/fstab檔案至/etc/fstab.${v_curr_date}.bak" cp /etc/fstab /etc/fstab.${v_curr_date}.bak echo "${v_iso_path} ${v_mount_dir} iso9660 loop 0 0" >>/etc/fstab mount -a echo -ne "[base]\nname=base\nbaseurl=file://${v_mount_dir}\nenabled=1\ngpgcheck=0\n\n[Server]\nname=Server\nbaseurl=file://${v_mount_dir}/Server\nenabled=1\ngpgcheck=0\n" >/etc/yum.repos.d/local.repo yum clear all yum updatefi
輸出結果
[[email protected] wjf_scripts]# bash iso配置本地yum源.sh 請輸入iso鏡像完整路徑/mnt/rhel-server-6.4-x86_64-dvd.iso請輸入鏡像要掛載的目錄/mnt/yumiso 掛載iso鏡像成功,開始配置yum……配置光碟片掛載開機自啟動備份/etc/fstab檔案至/etc/fstab.201504231045.bakLoaded plugins: product-id, refresh-packagekit, security, subscription-managerThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.No such command: clear. Please use /usr/bin/yum --helpLoaded plugins: product-id, refresh-packagekit, security, subscription-managerThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.Server | 3.9 kB 00:00 ... base | 3.9 kB 00:00 ... Setting up Update ProcessNo Packages marked for Update[[email protected] wjf_scripts]#
總結下知識點
1、if [ ]
then
elif [ ]
else
fi
if語句的標準文法
”if “和判斷語句之間必須有空格。
必須以”fi“結尾,不然會報錯。
2、iso鏡像掛載語句
mount -t iso9660 -o loop /mnt/rhel6.4.iso /mnt/yumiso
光碟機掛載的語句為
mount -t iso9660 /dev/cdrom /mnt/testiso
可以看出掛載鏡像需要多一個loop的參數。
同樣,檔案系統掛載涉及的設定檔為/etc/fstab
根據其文法格式,iso鏡像的配置行為
/mnt/rhel6.4.iso /mnt/yumiso iso9660 loop 0 0
3、yum源配置
yum源自動載入/etc/yum.repos.d目錄下所有以.repo結尾的設定檔。
repo設定檔中的格式。
設定檔中行首不能有空格等其他字元,不然會出現解析錯誤。剛開始為了指令碼裡面的美觀,每行加入了一個空格,結果出現了錯誤。
shell編程掛載iso鏡像檔案並配置本地yum源