Centos 7 利用nginx搭建本地yum源

时间:2021-2-27 作者:admin

1. 实验环境

服务器 IP地址
服务端 图形化安装 192.168.153.160
客户端 最小化安装 192.168.153.180

服务端和客户端均关闭防火墙和selinux

systemctl stop firewalld
setenforce 0

2. 服务端配置

2.1 创建工作目录

mkdir -p /media/CentOS7

2.2 挂载镜像文件

mount /dev/sr0 /mnt

查看挂载结果
Centos 7 利用nginx搭建本地yum源

2.3 复制文件并修改权限

cp -r /mnt/* /media/CentOS7
chmod -R 777 /media/CentOS7

2.4 修改CentOS-Media.repo文件

说明

CentOS-Base.repo 是yum 网络源的配置文件

CentOS-Media.repo 是yum 本地源的配置文件

修改CentOS-Media.repo

vim /etc/yum.repos.d/CentOS-Media.repo

修改之后内容如下:

[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS7/
gpgcheck=0
enabled=1
gpgkey=file:///media/CentOS7/RPM-GPG-KEY-CentOS-7

2.5 禁用默认的yum 网络源

vim /etc/yum.repos.d/CentOS-Base.repo

将enabled参数设为0

enabled=0

2.6 清空yum缓存目录

yum clean all

2.7 建立yum数据缓存

yum makecache

2.8 查看本机yum repo 仓库

[root@host-160 ~]# yum repolist
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
repo id                                              repo name                                                     status
c7-media                                             CentOS-7 - Media                                              9,911
repolist: 9,911

3. 服务端基于nginx方式配置yum发布源

3.1 源码安装nginx

参考文档:https://blog.csdn.net/m0_46674735/article/details/109709606

3.2 修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

43行到47行内容修改如下

 43         location / {
 44             autoindex  on;
 45             root   /media/CentOS7;
 46             index  index.html index.htm;
 47         }

3.3 开启nginx服务

/usr/local/nginx/sbin/nginx

3.4 浏览器输入服务端ip 192.168.153.160 访问,结果如图

Centos 7 利用nginx搭建本地yum源

4. 客户端配置本地yum源(http方式)

4.1 将系统自带的repo文件移动到bak目录下

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak

4.2 编辑local.repo文件

vim local.repo

local.repo文件内容如下

[local]
name=local
baseurl=http://192.168.153.160
gpgcheck=0
enabled=1

4.3 清空yum缓存目录

yum clean all

4.4 建立yum数据缓存

yum makecache

4.5 查看本机yum repo 仓库

[root@host-180 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                                        repo name                                                    status
local                                                          local                                                        9,911
repolist: 9,911

4.6 安装httpd测试

yum -y install httpd

安装成功
Centos 7 利用nginx搭建本地yum源

4.7 安装mysql测试

yum -y install mariadb-server

出现如图报错
Centos 7 利用nginx搭建本地yum源
查询本机安装的mariadb组件

[root@host-180 yum.repos.d]# rpm -qa|grep mariadb
mariadb-libs-5.5.64-1.el7.x86_64

使用以下命令卸载

rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps

再次安装mysql即可

yum -y install mariadb-server

安装成功!!!
Centos 7 利用nginx搭建本地yum源

5. yum源增加rpm包

5.1 安装createrepo

yum install createrepo -y

5.2 下载指定rpm包到指定目录下(以mariadb-server为例)

yum install mariadb-server --downloadonly --downloaddir=/media/CentOS7/Packages/

5.3 更新(每加入一个rpm包就要更新一下)

createrepo --update /media/CentOS7/Packages/  

5.4 重新建立yum缓存

服务端和客户端都要做下面的操作:

yum clean all 

yum makecache 

参考大佬博客:

https://blog.csdn.net/zhangshaohuas/article/details/109777538

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。