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配置文件中的格式。

配置文件中行首不能有空格等其他字符,不然会出现解析错误。刚开始为了脚本里面的美观,每行加入了一个空格,结果出现了错误。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值