主要思路
在一般情况,即不使用脚本的情况下,部署仓库需要经过一下步骤
- 确认环境——即光盘是否链接
- 来到仓库的位置,编写仓库
- 将光盘挂载
但是在编写仓库的时候,我们要遵循非交互的原则,所以,不能使用vim,同时将所有的返回信息都丢入垃圾桶。
由此,就产生了以下操作
具体操作
#!/bin/bash
[ ! -d /etc/yum.repos.d/bak ] && mkdir /etc/yum.repos.d/bak
##通过判断符号,是否存在备份文件(当然,正常情况下都是不会存在的),如果不存在就创建一个备份文件。
#解释【】,test判断命令的简写,
#解释一下” !“,取反,
#来解释一下“&&”(逻辑并,只有前面判断都为true的情况下,才会执行后面的内容)
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
#将所有的系统自带的仓库移动到备份文件中
#解释一下” * “(通配符,可以表示任意字符或字符串,此处的作用就是来匹配所有的仓库)
cat > /etc/yum.repos.d/yum.repo << EOF
[yum]
name=centos
baseurl=file:///mnt/centos
enabled=1
gpgcheck=0
EOF
#开始编写仓库的内容,由于不能使用vim来进行编辑,所以我们就要使用cat以及重定向符号(“>”,“<”)来进行编写。当遇到EOF时自动终止编写
#需要注意的是:此处编写文件用到的是绝对路径,
[ ! -d /mnt/centos ] && mkdir /mnt/centos
#仓库编写完毕,进行下一步,创建挂载点,按照上面创建仓库的思路,判断是否存在挂载点
mount /dev/sr0 /mnt/centos &>>/dev/null
#将镜像进行挂载,挂载会产生返回结果,所以我们将其返回结果舍弃,丢入垃圾桶
#解释&>>/dev/null将返回结果重定向到/dev/null中,这个文件是一个无底洞,什么垃圾都可以往里面丢
cat >> /etc/fstab << EOF
/dev/sr0 /mnt/centos xfs defaults 0 0
EOF
#设置开机自动挂载,将要挂载的内容,追加重定向到/etc/fstab里面,设置开机自启
最终成品如下:
#!/bin/bash
[ ! -d /etc/yum.repos.d/bak ] && mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
cat > /etc/yum.repos.d/yum.repo << EOF
[yum]
name=centos
baseurl=file:///mnt/centos
enabled=1
gpgcheck=0
EOF
[ ! -d /mnt/centos ] && mkdir /mnt/centos
mount /dev/sr0 /mnt/centos &>>/dev/null
cat >> /etc/fstab << EOF
/dev/sr0 /mnt/centos xfs defaults 0 0
EOF