前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用腾讯云如何搭建公司内网yum仓库?

使用腾讯云如何搭建公司内网yum仓库?

原创
作者头像
用户8639654
修改2021-08-06 10:27:24
3.9K0
修改2021-08-06 10:27:24
举报
文章被收录于专栏:云计算运维云计算运维

何为Yum?

Yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包。

为何需要搭建Yum?

在不需要访问互联网的前提下,也可在内网运维大量Linux服务器,快速安装升级,降本增效。其次,减轻运维工作量。应用开发人员在其业务服务器上直接添加Yum配置文件即可直接安装所需要的资源包...再一次当个"甩手运维"。(Ps:还是给自己多留点运维开发的时间吧...)

如何搭建内网Yum仓库?

有2个事情需要解决:服务端搭建与客户端配置。

本例以Centod7.6系统为例,服务端IP地址为A,客户端IP地址为B。

一、在服务端上:需要创建Yum仓库,通过配置WEB服务器或FTP服务器来把Yum仓库分享给局域网内其它Linux机器使用。

(1)环境准备

代码语言:javascript
复制
1. 关闭selinux
   sestatus
   vi /etc/selinus/config #SELINUX 修改为 disabled, 需重启机器才生效
2. 关闭防火墙
   firewall-cmd --state
   systemctl stop firewalld #停止firewall
   systemctl disable firewalld #禁用 firewall 开机启动

(2)导入rpm包,生成索引文件。

代码语言:javascript
复制
在本例中,以镜像包的方式导入rpm包。
1. 挂载磁盘镜像/epel镜像
   mkdir -p /media/cdrom
   mkdir -p /media/cdrom-epel
   mount -o loop -t iso9660 /home/bk_offline_repo-7.5.1804.iso  /media/cdrom-epel
   mount -o loop -t iso9660 /home/CentOS-7-x86_64-DVD-1810.iso  /media/cdrom
2. 复制rpm包至/xtkyum/Packages
   cd /media/cdrom
   cp -R Packages/ /xtkyum/
   unalias cp
   cd /media/cdrom-epel
   cp -rf *.rpm /xtkyum/Packages/
   alias cp='cp -i'
3. 按照先后顺序执行以下命令,不然会报错缺少依赖包。
   rpm -ivh  deltarpm-3.6-3.el7.x86_64.rpm
   rpm -ivh python-deltarpm-3.6-3.el7.x86_64.rpm 
   rpm -ivh libxml2-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
   rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm #createrepo主要是为后续生成仓库数据使用
4. 创建仓库数据,建立索引 
   createrepo -v /xtkyum  #运行完成后会生成repodata文件夹
5. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak
   vi /etc/yum.repos.d/local.repo
   [localrepo] #注意,该地方不能有空格,不然后续执行 yum repolist all时会报错repolist:0   
   name=local-yum  
   baseurl=file:///xtkyum # file://告诉yum为本地仓库,/xtkyum为绝对路径
   enabled=1
   gpgcheck=0 #关闭rpm包的gpg校验功能;个人环境,建议关闭,参数值为0;生产环境,建议打开,参数值为1。
   保存退出。
6. yum clean all #清理缓存
   yum repolist all #检查仓库列表,在列表中能看到localrepo
7. 测试能否成功安装。
   yum -y install gcc
   yum -y install ntp

(3)配置web或http分享yum仓库。

代码语言:javascript
复制
>>>使用ftp服务器(vsftpd)分享yum仓库
1. yum -y install vsftpd  
2. 把yum仓库下的文件拷贝到vsftpd的默认根目录 /var/ftp/pub,包括repodate
   cd /xtkyum
   cp -R Packages /var/ftp/pub
   cp -R repodate /var/ftp/pub
   chmod 755 -R /var/ftp/pub
3. systemctl restart vsftpd
   systemctl status vsftpd
     
>>>使用web服务器(apache)分享yum仓库
1. yum -y install httpd 
2. 把yum仓库下的文件拷贝到默认根目录 /var/www/html/,包括repodate
   cd /xtkyum
   cp -R Packages /var/www/html
   cp -R repodate /var/www/html
   chmod 755 -R /var/www/html
3. systemctl restart httpd
   systemctl status httpd

二、在客户端上:创建repo配置文件,测试yum仓库是否能正常使用。

代码语言:javascript
复制
1. 在/etc/yum.repos.d/目录下创建一个名为 local.repo文件,其中包含所有的yum信息
   原目录下的文件备份至其它位置,如yum.repos.d.bak
2. vi local.repo (ftp)
[localrepo]
name=localyum
baseurl=ftp://服务器ip地址A/pub/
enabled=1
gpgcheck=0
保存后退出
>>>如果是web服务器,baseurl修改成:baseurl=http://服务器IP地址A

写在最后

也是在实际工作中发现的现有运维痛点,才尝试搭建局域网yum仓库。当然了,yum仓库里的rpm包就准备在后续工作中不断的更新迭代啦。注:每更新一次rpm包,就需要重新生成repodata索引文件,执行yum install的时候才会自动解决依赖包关系。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 何为Yum?
  • 为何需要搭建Yum?
  • 如何搭建内网Yum仓库?
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档