首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux服务器搭建本地YUM源

Linux服务器搭建本地YUM源

作者头像
用户5921339
发布2025-05-20 17:04:21
发布2025-05-20 17:04:21
5460
举报

在工作中,企业内部生产服务器出于安全性考虑往往是不能直接连接到互联网,对于服务器软件的安装和更新是一件很麻烦的事情,当使用rpm安装包离线安装一些软件的时候,经常会出现缺少依赖因而不能顺利完成安装的情况,此时通用的做法是在公司内部DMZ区搭建本地yum源服务器,该服务器定时同步互联网上的资源,然后通过http或者https让内部其他服务器访问,即让内部服务器将yum源服务器作为安装更新yum。

本地yum源搭建步骤

1.安装Nginx软件

1.1安装编译所必须的软件

代码语言:javascript
复制
yum -y install gcc automake autoconf libtool make gcc-c++

1.2安装PCRE库

代码语言:javascript
复制
cd /usr/local/src
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.34
./configure
make
make install

1.3安装zlib库

代码语言:javascript
复制
cd /usr/local/src
wget http://zlib.net/zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install

1.4安装Nginx

代码语言:javascript
复制
cd /usr/local/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
cd nginx-1.12.2
yum -y install openssl openssl-devel
./configure --with-http_stub_status_module --with-http_ssl_module

2. 修改nginx配置文件

代码语言:javascript
复制
user  root;
worker_processes  2;
error_log  logs/error.log;

pid        logs/nginx.pid;

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    client_max_body_size 20m;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
            '$status $body_bytes_sent "$http_referer" '
            '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;

    sendfile        on;

    keepalive_timeout  65;

    #gzip  on;

        server {
        listen 443 ssl;
        server_name  repo.example.com;
        ssl on;

        ssl_certificate   cert/789615.pem;
        ssl_certificate_key  cert/789615.key;
        ssl_session_timeout 5m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        location / {
            root  /opt/repo;
            autoindex on;
            } 

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
            }

        }
    }

3.创建本地源目录

创建存放同步源的目录(以CentOS7为例)

代码语言:javascript
复制
mkdir -p /opt/repo/centos/7/os/x86_64/
mkdir -p /opt/repo/centos/7/extras/x86_64/
mkdir -p /opt/repo/centos/7/updates/x86_64/
mkdir -p /opt/repo/epel/7/x86_64/

4.同步源文件

使用rsync工具同步互联网上的源文件

代码语言:javascript
复制
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ /opt/repo/centos/7/os/x86_64/
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/ /opt/repo/centos/7/extras/x86_64/
rsync -av rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ /opt/repo/centos/7/updates/x86_64/
rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ /opt/repo/epel/7/x86_64/

5.创建repo文件

代码语言:javascript
复制
[base]
name=CentOS-$releasever - Base
baseurl=https://repo.example.com/centos/$releasever/os/$basearch/
enable=1
gpgcheck=0

[updates]
name=CentOS-$releasever - Updates
baseurl=https://repo.example.com/centos/$releasever/updates/$basearch/
enable=1
gpgcheck=0

[extras]
name=CentOS-$releasever - Extras
baseurl=https://repo.example.com/centos/$releasever/extras/$basearch/
enable=1
gpgcheck=0

[epel]
name=epel-$releasever
baseurl=https://repo.example.com/epel/$releasever/$basearch/
enable=1
gpgcheck=0

至此,本地yum源服务器搭建完成,内网中的其他服务器可以通过这台本地yum源服务器来安装部署和更新软件了,在考虑安全的前提下,极大地提升了我们的工作效率。今天的分享,你学会了吗?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-09-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本地yum源搭建步骤
  • 1.1安装编译所必须的软件
  • 1.2安装PCRE库
  • 1.3安装zlib库
  • 1.4安装Nginx
    • 2. 修改nginx配置文件
  • 4.同步源文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档