Linux 搭建私有yum源仓库

一、环境准备

IP系统版本作用
192.168.140.155CentOS 7.9.2009yum源仓库
192.168.140.153CentOS 7.9.2009测试

        准备两台服务器,一台作为yum源仓库,另一台作为测试使用。

二、搭建yum源服务器

(无法连接外网的情况,需要去官网下载镜像,拷贝到服务器)

1、下载CentOS 7.9.2009的完整版镜像

centos镜像_centos下载地址_centos安装教程-阿里巴巴开源镜像站阿里巴巴开源镜像站为您提供免费的centos下载地址及centos安装教程,centos镜像简介:CentOS,是基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本,是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,是一个免费的企业级计算平台;CentOS 定期发行及更新版本,以便支持新的硬件,从而建立一个安全、低维护、稳定、高预测性、高重复性的Linux环境。阿里巴巴开源镜像站,持续同步CentOS、CentOC-altarch等最新版镜像文件,为用户提供极致的下载体验。阿里巴巴开源镜像站icon-default.png?t=N7T8https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11XL26Tr注:下载everything版本

2、将下载的镜像上传到yum源仓库服务器

3、挂载镜像
# 1、查看磁盘空间是否足够(可用空间必须大于镜像大小)
[root@localhost final]# df -h# 2、创建目录,用于挂载镜像
[root@localhost final]# mkdir -p /mnt/centos7# 3、挂载镜像
# -t iso9660 挂载的文件系统类型为iso9660
# -o loop 使用回环设备的方式挂载文件,允许将文件当作块设备处理。因为iso是一个文件,不是物理设备
[root@localhost final]# mount -t iso9660 -o loop /home/final/CentOS-7-x86_64-Everything-2009.iso /mnt/centos7/# 4、设置开机自启动挂载
[root@localhost final]# vi /etc/fstab
# 添加下面行
/home/final/CentOS-7-x86_64-Everything-2009.iso /mnt/centos7                       iso9660     defaults,loop,ro        0 0
4、本地yum配置
# 1、进入yum配置文件目录
[root@localhost final]# cd /etc/yum.repo.d/# 2、创建备份目录
[root@localhost final]# mkdir repo_bak# 3、备份
[root@localhost final]# mv *.repo repo_bak/# 4、新建yum文件
[root@localhost final]# vi localyum.repo
[localyum]
name=localyum
baseurl=file:///mnt/centos7        # 镜像挂载路径
gpgcheck=0
enabled=1# 5、清除原有缓存,生成新缓存
[root@localhost final]# yum clean all
[root@localhost final]# yum makecache
# 查看当前使用的镜像列表
[root@localhost final]# yum repolist
5、安装工具
# 1、安装同步工具
[root@localhost final]# yum -y install yum-utils# 2、安装repo制作工具
[root@localhost final]# yum -y install createrepo
6、制作base仓库和other仓库

other仓库用来存放base仓库中缺少的rpm包,可以通过其它方式获取

# 1、创建base仓库目录
[root@localhost final]# mkdir -p /mnt/repo/centos/7/base/# 2、复制源文件到base目录下
[root@localhost final]# cp -rf /mnt/centos7/* /mnt/repo/centos/7/base/# 3、创建repo数据
[root@localhost final]# createrepo /mnt/repo/centos/7/base/# 4、创建other仓库目录
[root@localhost final]# mkdir -p /mnt/repo/centos/7/other/
7、搭建web服务器(这里选择Nginx)
7.1 下载nginx二进制安装包

http://nginx.org/download/nginx-1.18.0.tar.gzicon-default.png?t=N7T8http://nginx.org/download/nginx-1.18.0.tar.gz

7.2 上传安装包到服务器
7.3 编译安装
# 1、解压压缩包
[root@localhost final]# tar -zxvf nginx-1.18.0.tar.gz# 2、进入解压目录
[root@localhost final]# cd nginx-1.18.0# 3、使用默认配置
[root@localhost final]# ./configure# 4、编译安装
[root@localhost final]# make && make install# 5、查看
[root@localhost final]# whereis nginx
nginx: /usr/local/nginx
7.4 配置启动脚本
[root@localhost final]# vi /etc/init.d/nginx#! /bin/sh
# chkconfig: 2345 55 25
# Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
# run 'update-rc.d -f nginx defaults', or use the appropriate command on your
# distro. For CentOS/Redhat run: 'chkconfig --add nginx'### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO# Author:   licess
# website:  https://lnmp.orgNGINX_BIN='/usr/local/nginx/sbin/nginx'
CONFIG='/usr/local/nginx/conf/nginx.conf'case "$1" instart)echo -n "Starting nginx... "PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')if [ "$PID" != "" ]; thenecho "nginx (pid $PID) already running."exit 1fi$NGINX_BIN -c $CONFIGif [ "$?" != 0 ]; thenecho " failed"exit 1elseecho " done"fi;;stop)echo -n "Stoping nginx... "PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')if [ "$PID" = "" ]; thenecho "nginx is not running."exit 1fi$NGINX_BIN -s stopif [ "$?" != 0 ] ; thenecho " failed. Use force-quit"$0 force-quitelseecho " done"fi;;status)PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')if [ "$PID" != "" ]; thenecho "nginx (pid $PID) is running..."elseecho "nginx is stopped."exit 0fi;;force-quit|kill)echo -n "Terminating nginx... "PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')if [ "$PID" = "" ]; thenecho "nginx is is stopped."exit 1fikill $PIDif [ "$?" != 0 ]; thenecho " failed"exit 1elseecho " done"fi;;restart)$0 stopsleep 1$0 start;;reload)echo -n "Reload nginx... "PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')if [ "$PID" != "" ]; then$NGINX_BIN -s reloadecho " done"elseecho "nginx is not running, can't reload."exit 1fi;;configtest)echo -n "Test nginx configure files... "$NGINX_BIN -t;;*)echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"exit 1;;esac

修改文件权限

# 1、修改权限
chmod +x /etc/init.d/nginx# 2、启动
/etc/init.d/nginx start# 3、查看运行状态
/etc/init.d/nginx status# 4、设置开机自启动
chkconfig nginx on
7.5 访问测试

在测试服务器使用curl命令测试nginx服务

[root@localhost nginx]# curl http://192.168.140.155
8、修改Nginx配置
# 修改location模块
​[root@localhost nginx]# vi /usr/local/nginx/conf/nginx.conflocation / {
#            root   html;root   /mnt/repo;index  index.html index.htm;autoindex on;        自动列出目录文件,允许下载目录下文件}
9、重新启动Nginx
[root@localhost final]# /etc/init.d/nginx restart
10、访问nginx服务

三、测试服务器 私有YUM源配置

1、在测试服务器配置yum文件
# 1、进入yum配置文件目录
[root@localhost final]# cd /etc/yum.repos.d/# 2、创建备份目录
[root@localhost yum.repos.d]# mkdir repo_bak# 3、备份
[root@localhost yum.repos.d]# mv *.repo repo_bak/# 4、创建yum配置文件
[root@localhost yum.repos.d]# vi local.repo
# 添加如下内容
[base]
name=localbase
baseurl=http://192.168.140.155/centos/7/base
enables=1
gpgcheck=0[other]
name=localother
baseurl=http://192.168.140.155/centos/7/other
enables=1
gpgcheck=0# 5、清除原有缓存,生成新缓存
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
# 查看当前使用的镜像列表
[root@localhost yum.repos.d]# yum repolist
2、测试

在开源镜象网站下载nginx,放入other库中,在测试库安装,测试是否能安装成功(因为CentOS7中Base库默认没有Nginx,所以通过Nginx做测试)

# 在YUM源仓库所在服务器执行
# 1、下载
wget https://mirrors.aliyun.com/centos/7.9.2009/infra/x86_64/infra-common/Packages/n/nginx-mod-mail-1.12.2-2.el7.x86_64.rpm# 2、存放到other目录下
mv nginx-1.12.2-2.el7.x86_64.rpm /mnt/repo/centos/7/other# 3、更新repo数据
createrepo /mnt/repo/centos/7/other
# 在测试服务器执行
# 1、清理缓存
yum clean all# 2、生成新缓存
yum makecache# 3、查看是否存在上传的nginx
yum list | grep nginx
nginx.x86_64                          1:1.12.2-2.el7                   base# 3、安装nginx
yum -y install nginx

如果报以下错误,是因为缺少依赖,需要去官网下载指定的rpm包,跟据上面步骤放到other目录下

Error: Package: 1:nginx-1.12.2-2.el7.x86_64 (other)

四、rpm包获取方式

1、红帽官网

Red Hat Customer Portal - Access to 24x7 support and knowledgeAccess Red Hat's knowledge, guidance, and support through your subscription.icon-default.png?t=N7T8https://access.redhat.com

2、开源镜像网站

阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区阿里巴巴开源镜像站,免费提供Linux镜像下载服务,拥有Ubuntu、CentOS、Deepin、MongoDB、Apache、Maven、Composer等多种开源软件镜像源,此外还提供域名解析DNS、网络授时NTP等服务,致力于为互联网用户提供全面,高效和稳定的基础服务。icon-default.png?t=N7T8https://developer.aliyun.com/mirror

3、第三方下载网站

Rpmfind mirroricon-default.png?t=N7T8https://rpmfind.net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GoWeb框架初探————XORM篇】

1. XORM xorm 是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 1.1 特性 支持 Struct 和数据库表之间的灵活映射,并支持自动同步事务支持同时支持原始SQL语句和ORM操作的混合执行使用连写来简化调用支持使用ID, In, Where, Limit, Join, Havi…

记录 nginx 出现 403 forbidden 和 404 的解决经历

403 当我修改了 nginx 所展示的页面路径了以后,访问 nginx 所在的 8080 端口就出现了403 forbidden 的错误 首先通过以下查看进程的命令 ps -aux|grep nginx发现 worker process 对应的启动用户是 nobody 是错的 (图中是 root,是改正后的样子…

【uniapp踩坑记】——微信小程序转发保存图片

关于微信小程序转发&保存图片 微信小程序图片转发保存简单说明网络图片的转发保存base64流形式图片转发保存 已经好多年没写博客了,最近使用在用uniapp开发一个移动版管理后台,记录下自己踩过的一些坑 吃相别太难看,搞一堆下头僵尸号来点…

vite(vue3)配置内网ip访问的方法步骤

如果没有进行配置,运行项目之后,看到的访问地址是本地访问地址,其他人访问不了。 如下: 一、配置 “ vite.config.ts ” 文件 server: {host: 0.0.0.0 }, 如图所示: 添加 server 配置后保存 “ vite.config.ts ” 文…

深度学习发展中的继承和创新

深度学习是一步一步发展而来的,新的成就也是在原有的基础上,逐步取得突破,有一些东西是一点一点变化,突破发展而来的,也就是每一次小的突破和每一次小的突破累积起来,构成一个明显的进步。我们可以通过观察…

C语言 ─── 操作符详解

目录 1. 算术操作符 2. 移位操作符 2.1 左移操作符 2.2 右移操作符 3. 位操作符 4. 复合赋值符 5. 单目操作符 6. 逗号表达式 7. 隐式类型转换 7.1 整型提升的意义: 7.2 如何进行整体提升呢? 8. 算术转换 ★★★数组名 1. 算术操作符 -…

实现联系人前后端界面,实现分页查询04.15

实现联系人前后端界面,实现分页查询项目包-CSDN博客 项目结构 数据库中建立两个表: 完整的后端目录 建立联系人People表,分组Type表,实现对应实体类 根据需求在mapper中写对应的sql语句 查询所有,删除,添…

js BOM模型常用方法梳理

1、Bom定义 BOM是操作浏览器的模型,主要是对浏览器的一些操作。 2、获取浏览器窗口的尺寸 window.innerHeight:获取窗口的高度。 window.innerWidth:湖区窗口的宽度,只在window浏览器下使用。 3、弹出层 alert:弹出框。 confirm:确认框。返回值有true …

数据治理实战——元数据管理

一、元数据概述 1.1 定义 描述数据的数据,本质还是数据。数据本身带有的技术属性与其在业务运行中的业务属性,称其为元数据,例如:表数据量,占用空间,字段信息,业务描述,负责人&…

计算机视觉实验五——图像分割

计算机视觉实验五——图像分割 一、实验目标二、实验内容1.了解图割操作,实现用户交互式分割,通过在一幅图像上为前景和背景提供一些标记或利用边界框选择一个包含前景的区域,实现分割①图片准备②代码③运行结果④代码说明 2.采用聚类法实现…

单调队列(C/C++)

引言: 单调队列和单调栈都是一种数据结构,应用十分广泛,在蓝桥杯、ICPC、CCPC等著名编程赛事都是重点的算法,今天博主将自己对单调栈与单调队列的理解以及刷题的经验,用一篇博客分享给大家,希望对大家有所…

在线拍卖系统|基于Springboot的在线拍卖系统设计与实现(源码+数据库+文档)

在线拍卖系统目录 基于Springboot的在线拍卖系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、前台: 2、后台 用户功能模块 5.2用户功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a…

使用脚本部署openstack平台

两台虚拟机,compute和controller 建议两台虚拟机都配置,内存4G,硬盘60G,网络要在虚拟机设置这里添加一个网络适配器,第一个是主机模式192.168.10.0,第二个是NAT模192.168.20.0, 可以在此处了解一…

Unity Standalone File Browser,Unity打开文件选择器

Unity Standalone File Browser,Unity打开文件选择器 下载地址:GitHub链接: https://github.com/gkngkc/UnityStandaloneFileBrowser简单的示例代码 using SFB; using System; using System.IO; using UnityEngine; using UnityEngine.UI;…

从三大层次学习企业架构框架TOGAF

目录 前言 掌握TOGAF的三个层次 层次1:怎么学? 层次2:怎么用? 层次3:怎么思? 结束语 前言 对于一名架构师来讲,如果说编程语言是知识库层次中的入门石,那么企业架构框架则相当…

cesium加载倾斜影像数据(模拟雨、雪、雾、无人机飞行、测距、箭头标绘、电子围栏等)

实现效果如下: 功能菜单如下: 加载倾斜影像核心代码: var palaceTileset new Cesium.Cesium3DTileset({url: http://127.0.0.1:9002/tileset.json,//控制切片视角显示的数量,可调整性能maximumScreenSpaceError: 0.1,maximumNum…

python/pygame 挑战魂斗罗 笔记(三)

感觉最难的部分已经解决了,下面开始发射子弹。 一、建立ContraBullet.py文件,Bullit类: 1、设定子弹速度 Config.py中设定子弹移动速度为常量Constant.BULLET_SPEED 8。 2、载入子弹图片: 图片也是6张,子弹发出后…

OceanBase数据库日常运维快速上手

这里为大家汇总了从租户创建、连接数据库,到数据库的备份、归档、资源配置调整等,在OceanBase数据库日常运维中的操作指南。 创建租户 方法一:通过OCP 创建 确认可分配资源 想要了解具体可分配的内存量,可以通过【资源管理】功…

Unity 对APK签名

关键代码 PS D:\UnityProject\YueJie> jarsigner -verbose -keystore D:\UnityProject\YueJie\user.keystore -signedjar D:\UnityProject\YueJie\meizuemptyapk-release-signed.apk D:\UnityProject\YueJie\MeizuEmpty-release-unsigned.apk 1 示例 # jarsigner的命令格…

【C++从练气到飞升】08---模板

🎈个人主页:库库的里昂 ✨收录专栏:C从练气到飞升 🎉鸟欲高飞先振翅,人求上进先读书。 目录 一、泛型编程 什么是泛型编程: 二、函数模板 1. 函数模板概念 2. 函数模板格式 3. 函数模板的原理 4. 函数模板的实例…