一文带你搭建本地YUM仓库

开始之前YUM(Yellow dog Updater Modified):前身是Yellow dog linux的yellow dog updater修改而来 , 看名字就知道是怎么回事了
YUM的作用:只要有相对应的yum仓库 , 理论上可以自动化安装任何软件 。
由于yum仓库很多都是互联网服务商提供的 , 例如国内的阿里镜像站 , 在下载软件时候需要访问互联网 , 但是针对没有互联网环境时 , 只能自己搭建yum仓库 。

一文带你搭建本地YUM仓库

文章插图
 
正文两种方案可以解决这种问题 , 第一种通过代理服务器的方式;第二种就是自建yum仓库 , 今天我们提到的就是第二种方案
其实整个搭建过程并不复杂 , 分为三种方式:
  • 挂载镜像到本地(不支持远程访问)
  • FTP方式(支持远程)
  • HTTP方式(支持远程)
挂载镜像到本地
我这里的环境为vmware workstation , 只需要在设置里将下图中的勾选即可 , 如果其他虚拟化环境也是如此 , 物理机需要插入光盘 。
一文带你搭建本地YUM仓库

文章插图
 
【一文带你搭建本地YUM仓库】挂载镜像文件至media文件夹(挂在一个空目录即可) , 如果对挂载命令不理解的人 , 请移步百度
mount /dev/cdrom /media
一文带你搭建本地YUM仓库

文章插图
挂载过程
将系统自带的yum仓库文件转移到备份文件夹里
cd /etc/yum.repos.d/mkdir bakmv centos*  bak/
一文带你搭建本地YUM仓库

文章插图
移动到bak文件夹里
创建本地yum文件 , 并指向挂载的目录
cat <<EOF > /etc/yum.repos.d/zabbix.repo[centos]name=CentOSbaseurl=file:///mediaenabled=1gpgcheck=0EOF测试是否正常
通过yum repolist查看是否OK , 再安装zip服务(由于我是精简版的 , 所以很多软件镜像里没有 , 只有zip)
一文带你搭建本地YUM仓库

文章插图
仓库正常

一文带你搭建本地YUM仓库

文章插图
碰到这个问题可以导入gpg文件

一文带你搭建本地YUM仓库

文章插图
这里就OK了
HTTP方式
第一种只适合本地化部署 , 如果需要远程访问就需要用HTTP方式 。
既然是http , 首先安装web服务(这里可以是Apache、可以是Nginx也可以是基于Python的web , 自行选择) , 其次安装yum-utils扩展模块及createrepo创建镜像仓库工具
yum -y install httpdyum -y install yum-utils createrepo
一文带你搭建本地YUM仓库

文章插图
安装http服务

一文带你搭建本地YUM仓库

文章插图
安装扩展工具
创建yum仓库的文件夹,文件夹自行创建
mkdir/kasar下载安装包到创建文件夹
yum -y install --downloadonly --downloaddir=/kasar vim
一文带你搭建本地YUM仓库

文章插图
因为加了参数 , 所以不安装

一文带你搭建本地YUM仓库

文章插图
已经下载下来
制作yum仓库 , 创建仓库元数据文件
createrepo /kasar
一文带你搭建本地YUM仓库

文章插图
 
修改http配置 , 将根目录设置为yum仓库目录 , 同时修改权限和所属者 , 以及将welcome的文件修改掉(不然访问首页就是默认测试页) , 并启动
vi /etc/httpd/conf/httpd.confcd /etc/httpd/conf.d/mv welcome.conf welcome.conf.bakchown apache:apache /kasar -Rchmod 755 /kasar -Rsystemctl start httpd && systemctl enable httpd
一文带你搭建本地YUM仓库

文章插图
 

一文带你搭建本地YUM仓库

文章插图
 

一文带你搭建本地YUM仓库

文章插图
修改welcome之前

一文带你搭建本地YUM仓库


推荐阅读