Centos 7.2搭建局域网yum源

简介: Centos 7.2搭建局域网yum源

在某些企业中,由于出于安全的原因,服务器不能联网。这样我们就无法使用网络上公共的yum源进行软件的下载或者更新。这时就需要在内网中搭建私有的yum源。

部署部署

创建存放软件包的目录

在根目录创建名为yumdata的目录,然后,在yumdata目录下再创建名为centos7.2的目录,存放centos7.2的软件包。

[root@localhost /]# mdir -p /yumdata/centos7.2 #创建目录

挂载光盘,把软件包拷贝到对应的目录下

把安装光盘挂载到任意目录下,把光盘中Packers目录下的所有软件包拷贝到之前创建的centos7.2目录下。

[root@localhost /]# mount /dev/cdrom /mnt/  #挂载光盘
[root@localhost /]#cp mnt/Packages/*.rpm /yumdata/centos7.2/  #拷贝目录

创建repository

系统默认没有createrepo命令,可以采用rpm包方式安装。

[root@localhost yumdata]# createrepo /yumdata/centos7.2/
Spawning worker 0 with 1018 pkgs
Spawning worker 1 with 1018 pkgs
Spawning worker 2 with 1018 pkgs
Spawning worker 3 with 1017 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete

如果rpm包有增加,需要执行createrepo --update /yumdata/centos7.2/

docker启动nginx

本案例使用docker来启动nginx,你也可以启动方式启动nginx。确保系统已经安装好docker环境,并且有nginx镜像。

[root@localhost yumdata]# docker version
Client: Docker Engine - Community
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77
 Built:             Sat May  4 02:33:34 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 02:41:08 2019
  OS/Arch:          linux/amd64
  Experimental:     false

[root@localhost yumdata]# docker images
REPOSITORY                      TAG                 IMAGE ID            CREATED             SIZE
nginx                           1.18.0              b5390718bd8e        2 months ago        133MB

执行如下命令

[root@localhost repodata]# docker run -d --name=yum_server -p 80:80 -v /yumdata/centos7.2/:/home/centos7.2 nginx:1.18.0
173e8972efc26b5ecb0b10551babc9eac35026c74134297f4b6f5967659db0c0
[root@localhost /]# docker ps -a
CONTAINER ID        IMAGE                                  COMMAND                  CREATED             STATUS              PORTS                               NAMES
173e8972efc2        nginx:1.18.0                           "/docker-entrypoint.…"   22 minutes ago      Up 21 minutes       0.0.0.0:80->80/tcp                  yum_server

-p 宿主端:容器端口
-v 把宿主机的某个目录挂载到容器中
docker ps -a查看镜像的启动状态

修改nginx的配置文件

[root@localhost /]# docker cp 173:/etc/nginx/conf.d/default.conf .
#把容器的中的nginx配置文件拷贝到宿主机进行修改

修改后default.conf内容如下

server {
   
   
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
   
   
        root   /home/centos7.2;
        autoindex on;
        #index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
   
   
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
   
   
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
   
   
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
   
   
    #    deny  all;
    #}
}

root 配置的是软件包的目录,本案例的目录是/home/centos7.2
autoindex on ;提供目录浏览

修改完之后,在把配置文件拷贝到容器中,并重启容器,执行如下命令

[root@localhost home]# docker cp default.conf  173:/etc/nginx/conf.d/default.conf
[root@localhost home]# docker restart 173

173为容器的ID,每个容器都不一样的

使用web访问服务器IP

在这里插入图片描述出现以上界面,说明软件包目录能正常访问了。接下来,只需要创建repo文件即可。

客户端上配置repo文件

进入到/etc/yum.repos.d/,把此目录下的文件全部移到到临时目录下。然后重新创建一个新的Centos-Base.repo文件,内容如下

[Centos7.2]
name=didipuls
baseurl=http://10.91.74.200
gpgcheck=0
enabled=1

创建完之后,执行如下命令

[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: Centos7.2
Cleaning up everything
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
Centos7.2                                                                                                                                                                         | 2.9 kB  00:00:00
(1/3): Centos7.2/primary_db                                                                                                                                                       | 3.2 MB  00:00:00
(2/3): Centos7.2/filelists_db                                                                                                                                                     | 3.3 MB  00:00:00
(3/3): Centos7.2/other_db                                                                                                                                                         | 1.3 MB  00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]#

尝试利用yum安装一个ftp软件,执行如下命令

[root@localhost yum.repos.d]# yum install ftp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 ftp.x86_64.0.0.17-67.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=========================================================================================================================================================================================================
 Package                                     架构                                           版本                                                 源                                                 大小
=========================================================================================================================================================================================================
正在安装:
 ftp                                         x86_64                                         0.17-67.el7                                          Centos7.2                                          61 k

事务概要
=========================================================================================================================================================================================================
安装  1 软件包

总下载量:61 k
安装大小:96 k
Is this ok [y/d/N]:

当出现上述这样,证明yum源已经安装好了。

参考文章

目录
相关文章
|
1月前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
2822 8
|
3月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
850 0
在CentOS上使用yum安装与使用MySQL
|
2月前
|
Linux
centos使用阿里的yum源
centos使用阿里的yum源
|
3月前
|
缓存 Linux 网络安全
解决 CentOS 7 官方 yum 仓库无法使用的最佳实践
【8月更文挑战第18天】若 CentOS 7 的官方 YUM 仓库无法使用,可按以下步骤解决: 1. **检查网络连接**: - 确认服务器能正常上网,可通过访问外部网站或网络诊断测试。 - 检查防火墙设置,避免其阻挡 YUM 的网络访问。 2. **检查 YUM 配置**: - 核实 `/etc/yum.repos.d/` 下的 `CentOS-Base.repo` 文件中仓库地址正确无误。 - 确认配置文件内的 `enabled` 选项设为 `1` 以启用仓库。
1563 0
|
3月前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
336 0
|
3月前
|
安全 Java 应用服务中间件
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
如何通过 Yum 在 CentOS 7 上安装 Apache Tomcat 7
195 0
|
3月前
|
jenkins Java Devops
CentOS 7上安装 Jenkins 2.346 -- yum 方式
CentOS 7上安装 Jenkins 2.346 -- yum 方式
196 0
|
3月前
|
jenkins Linux 持续交付
CentOS 7上安装 Jenkins 2.227 -- yum 方式
CentOS 7上安装 Jenkins 2.227 -- yum 方式
176 0
|
9天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。