【shell】centos搭建本地yum源

493 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

创建本地yum源配置文件

yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。这里简单给出本地yum源的搭建过程,适用于虚拟机安装centos后管理本地的包。

本地yum源的搭建过程步骤如下

  • 通过参数指定光盘挂载点
  • 挂载点如果不存在需要创建
  • 备份/etc/yum.repos.d/目录下的其它配置文件
  • 最后提示创建成功
#!/bin/bash

#搭建本地yum
#挂载光盘到/mount_dir(自动创建)
#备份/etc/yum.repos.d/*.repo到./bak/目录中
#搭建环境
#yum is ok ,正确与错误信息重定向到 /dev/null(不输出多余信息)
#mount /dev/sr0 /mount_dir || mkdir /mount_dir && mount /dev/sr0 /mount_dir

#挂载光盘到/mount_dir
mount_device=$1
mount_dir=$1
read -p "请输入你想挂载的系统设备与挂载路径:" mount_device mount_dir
mount ${mount_device} ${mount_dir} > /dev/null 2>&1 || mkdir -p ${mount_dir} && mount ${mount_device} ${mount_dir} > /dev/null 2>&1 

#服务端
#1.创建仓库
#yum_source=$3
read -p "请输入你想创建仓库的绝对路径:" ${yum_source}
mkdir -p ${yum_source} > /dev/null 2>&1
echo ${yum_source}
#2.复制rpm包到仓库中
find ${mount_dir} -name "*.rpm" | xargs -I {} cp {} ${yum_source}  > /dev/null 2>&1

#3.更新仓库配置文件

#rpm -q createrepo > /dev/null 2>&1 || createrepo_name=$(ls ${yum_source} | grep "createrepo") && rpm -i ${createrepo_name} && rpm -q createrepo > /dev/null 2>&1
#createrepo ${yum_source}
createrepo ${yum_source}
echo ${yum_source}
#客户端
#配置文件

#1.备份源配置文件到一个目录
bak_dir=$4
read -p "请输入你想将源配置文件备份的目录:" ${bak_dir}
echo ${bak_dir}
mv /etc/yum.repos.d/*.repo ${bak_dir} > /dev/null 2>&1 || mkdir -p ${bak_dir} > /dev/null 2>&1 && cp /etc/yum.repos.d/*.repo ${bak_dir} > /dev/null 2>&1

#创建配置文件
touch /etc/yum.repos.d/new_yum.repo 
cat << end > /etc/yum.repos.d/new_yum.repo 
[new_yum]
name=new_yum
baseurl=file:///yum_source
enabled=1
gpgcheck=0
end

echo "yum is ok!"