searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

yum源服务器搭建

2023-09-26 08:12:20
232
0

一、前言

企业内部项目存在大量linux服务器,在安装各类软件的时候需要安装大量的依赖包,项目部署的环境属于内网环境,与Internet网完全隔离,并且访问外网yum源信息安全性无法得到保障,直接在每台linux服务器上配置本地yum源也比较麻烦,而采用直接下载rpm包用rpm命令安装更是费时费力。所以在内网环境下采用配置局域网yum源,实现下载、安装、升级软件包有利于提高软件部署效率、保障软件版本一致性和信息安全性,并且能够解决互联网带宽占用问题、速度问题、不能访问的问题等等。接下来描述整个搭建过程。

二、要求

1、yum源服务器能够定期自动更新自身的包

2、拉取公网的yum源选择麒麟或统信的yum源(可根据需求修改)

3、客户端能够直接使用搭建的yum源,例如yum install cloud-init -y

三、思路

1、使用crontab制定定时任务,完成定期更新本地yum源

2、使用reposync同步公网yum源

3、客户端直接用yum源服务器,只需要修改客户端/etc/yum.repo.d/目录下repo文件。

注:crontab是linux系统自带的定时任务工具无需下载

四、搭建yum源服务器

1、首先关闭防火墙和selinux

systemctl disabled firewalld  #永久关闭防火墙

sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

2、安装Nginx、createrepo、reposync软件

# 安装nginx作为web服务器,提供http服务。除了nginx外,还可以选择apache。
# nginx相对于apache来说,内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用,是一个轻量级的web服务器。
yum install nginx -y         # yum install httpd -y
 
yum install createrepo -y    # yum源仓库的工具,可以用来建立yum仓库

yum install reposync -y

3、查看nginx配置文件

vim /etc/nginx/nginx.conf

注:root指定了文档根目录,对于一个http请求,nginx会查找文档根目录下的文件或文件夹

从以上nginx配置可以看出文档根目录为/usr/share/nginx/html

4、查看nginx服务状态,保证nginx服务正常

systemctl status nginx  # 查看服务器状态
systemctl start nginx   # 开启nginx服务
systemctl enable nginx  # 设置开机自启动

5、建立rpm包存放路径

mkdir -p /usr/share/nginx/html/kylin_repo

6、同步公网yum源

reposync -p /usr/share/nginx/html/kylin_repoc

此时,会将公网yum源的包同步到yum服务器上。(此过程耗时较长)

7、使用createrepo创建本地yum仓库

cd /usr/share/nginx/html/kylin_repo
createrepo ./
#/usr/share/nginx/html/kylin_repoc目录下文件的可读可执行权限需要进行修改,755避免nginx 403 forbidden。
chmod –R 755 /usr/share/nginx/html/

8、使用crontab设置定期更新yum源任务

crontab -e  #打开crontab任务编辑

# 计划任务定义的例子:
# .---------------- 分 (0 - 59)
# | .------------- 时 (0 - 23)
# | | .---------- 日 (1 - 31)
# | | | .------- 月 (1 - 12)
# | | | | .---- 星期 (0 - 7) (星期日可为0或7)
# | | | | |
# * * * * * 执行的命令


#-n表示仅下载最新的软件包,-p表示下载包的路径
0 7 * * 7 /usr/bin/reposync -np /usr/share/nginx/html/kylin_repo

 

到此,yum服务器已经搭建完成。

五、客户端配置

vim /etc/yum.repos.d/kylin.repo

[base]
name=Kylin_Base
baseurl=***.***.***.***/kylin_repo/ #***.***.***.***地址为yum server ip
enabled=1
gpgcheck=0
0条评论
0 / 1000
g****n
1文章数
0粉丝数
g****n
1 文章 | 0 粉丝