shell编程挂载iso镜像文件并配置本地yum源
</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.4 echo "请输入iso镜像完整路径" read v_iso_path echo "请输入镜像要挂载的目录" read v_mount_dir v_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 update fi
输出结果
[root@localhost 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.bak Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This 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 --help Loaded plugins: product-id, refresh-packagekit, security, subscription-manager This 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 Process No Packages marked for Update [root@localhost 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配置文件中的格式。
配置文件中行首不能有空格等其他字符,不然会出现解析错误。刚开始为了脚本里面的美观,每行加入了一个空格,结果出现了错误。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。