centos、linux离线搭建yum源,iso文件制作yum源,nginx搭建yum源

centos离线搭建yum源

  • 一、yum源简介及搭建流程
    • 1、什么情况需要搭建yum源
    • 2、搭建yum源流程
    • 3、指向yum源原理
  • 二、centos搭建离线epel源
    • 1、下载epel源,制成iso镜像文件
    • 2、配置本地yum源的三种方式
      • 1、下载的rpm包直接做yum源
      • 2、使用iso做yum源
      • 3、nginx配置yum源

一、yum源简介及搭建流程

1、什么情况需要搭建yum源

一般情况下,我们只会在内网环境下搭建yum源,因为连不上外网,每次安装包都依赖了其他的包,导致安装非常麻烦。

yum源就是把所有的安装包都下载放到内网环境下,对于在内网使用yum安装的同事来说,和在外网环境下没区别的。

2、搭建yum源流程

yum源有很多个库,每个库放的包都是不一样的,我们常用的是CentOS-7 - Base、epel、ubuntu等库。
外网使用这些库,我们只需要在/etc/yum.repos.d/目录下创建repo文件,在文件内写库对应的外网地址即可。
内网使用这些库,只需要把库对应的iso文件挂载到机器的某个目录下,然后在repo文件里写上对应的库路径。
举例来说,本文用的是epel库,我们需要把epel库里的所有包下载下来,然后在做成iso文件(当然也可以不做)。 而CentOS-7 - Base库下的包,我们直接使用Centos的iso镜像即可。

3、指向yum源原理

实际上,无论是通过mount挂载iso镜像,还是直接使用下载后的rpm源,最终都是指向如下图的目录。
自己解压iso文件,在repo文件中写入指向下图的目录,也是实现了搭建yum源。
所以说,在生产环境上,一般是用nginx或者ftp配置指向下图目录的地址,其他在同一网络的所有主机都可用使用该yum源。
在这里插入图片描述

二、centos搭建离线epel源

1、下载epel源,制成iso镜像文件

//查看可用使用的yum库
yum reponlist

//安装reposync和createrepo命令
yum install yum-utils   //reposync命令在该包下
yum install createrepo
//下载epel(RHEL7)的repo文件
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
//下载epel库的源到/data目录。如果下载所有库的话,把-r去掉
reposync -r epel -p /data/
//制作本地仓库,完成后epel下除了Packages目录,多一个repodata目录
createrepo -v /data/epel
//把下载的包制作成iso镜像文件
mkisofs -r -o /data/centos7-epel.iso /data/epel

常用命令

//查看所有已启用的yum库
yum reponlist
//查看该命令来自哪个安装包,位于哪个包下。
//比如yum provides reposync,查看reposync命令属于哪个安装包下的
yum provides 命令

2、配置本地yum源的三种方式

1、下载的rpm包直接做yum源

vi /etc/yum.repos.d/offline-epel.repo

[epel]
name=epel
baseurl=file:///root/epel
enabled=1
gpgcheck=0

2、使用iso做yum源

//创建挂载点
mkdir -p /media/cdrom
//挂载iso文件到挂载点
mount -o loop /data/centos7-epel.iso /media/cdrom
//查看挂载状态
df -h
//vi /etc/yum.repos.d/offline-epel.repo文件中添加下面内容,
[epeliso]
name=epeliso
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0

3、nginx配置yum源

//创建挂载点
mkdir -p /media/cdrom
//挂载iso文件到挂载点
mount -o loop /data/centos7-epel.iso /media/cdrom
//查看挂载状态
df -h

//nginx配置
server {
        listen 8888;
        server_name localhost;
        charset utf-8;                     #设置中文字符集

        location / {
        root  /media/cdrom;                                                                                                
             autoindex on;                     #打开目录浏览功能
             autoindex_exact_size off;         #关闭字节显示(会以MB的方式显示)
             autoindex_localtime on;           #打开会显示文件上传的本地的时间(默认格林威治时间-8h)
        }
    }

//vi /etc/yum.repos.d/offline-epel.repo文件中添加下面内容,
//baseurl,如果是其他服务器配置yum源,直接指向yum源IP就可以。
[epeliso]
name=epeliso
baseurl=http://127.0.0.1:8888
enabled=1
gpgcheck=0
//配好offline-epel.repo文件后,重新生成下yum缓存
yum clean all
yum makecache

你可能感兴趣的:(研究,centos,linux,服务器)