当前位置: 首页 > news >正文

在Linux中搭建本地yum/dnf仓库

一分钟快速构建本地yum/dnf软件仓库——以OpenEuler服务器为例https://blog.csdn.net/xiaochenXIHUA/article/details/155276471

一、搭建本地yum/dnf仓库所需的HTTP服务

#使用Nginx作为【Http Server】 #1-下载nginx yum install nginx -y #2-修改Nginx的配置文件【nginx.conf】开启目录索引功能 cd /etc/nginx vi nginx.conf #主要在nginx.conf的server下开启目录索引功能 autoindex on; autoindex_exact_size on; autoindex_localtime on; #3-重启nginx并查看进程信息 systemctl restart nginx.service ps -ef | grep nginx

Nginx中的内置变量、指令、URL重写功能及其虚拟主机配置、负载均衡配置https://coffeemilk.blog.csdn.net/article/details/151138716

二、添加rpm文件到yum/dnf仓库中

#添加rpm文件到yum/dnf仓库中 #1-Nginx的存放内容目录是【/usr/share/nginx/html】 #2-在Nginx的存放内容目录创建soft目录,然后将需要将共享的各类软件rpm包,都复制到这个soft目录下或者在soft目录下创建子目录进行分类存储 cd /usr/share/nginx/html/ mkdir soft #3-获取rpm包的方法【注意:在配置这些rpm包的时候不能只是配置rpm包的主程序,还需要将主程序所涉及的依赖包也配置上才行】 #3.1-获取rpm包的方法一(直接从各个镜像地址 #【如:https://developer.aliyun.com/mirror】 #【如:https://mirrors.huaweicloud.com/home】 #找到对应版本下载对应系统版本的rpm文件后复制到soft指定系统版本的目录下)【适合rpm较少的情况】 #3.2-获取rpm包的方法二(使用yum/dnf命令只下载不安装rpm包【使用该命令的前提是,这个rpm包没有在本系统中安装过】) yum -y install --downloadonly --downloaddir=/tmp vsftpd #3.3-获取rpm包的方法三(从公网镜像同步已经存在的源到本地)【可从中科大、阿里云、华为云拉取】 #如centos源【中科大:rsync://rsync.mirrors.ustc.edu.cn/centos/】【阿里云:rsync://mirrors.aliyun.com/centos】【华为云:rsync://mirrors.huaweicloud.com/centos】 #如epel源【中科大:rsync://rsync.mirrors.ustc.edu.cn/epel/】【阿里云:rsync://mirrors.aliyun.com/epel/7/x86_64/】【华为云:rsync://mirrors.huaweicloud.com/epel/7/x86_64/】 #手动同步示例: mkdir -p /data/centos/8/AppStream/x86_64/os/Packages rsync -avrtP --delete --bwlimit=5000 --ignore-errors --timeout=600 --protocol=31 --log-file=/var/log/centos8_appstream_sync.log rsync://mirrors.ustc.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/ /data/centos/8/AppStream/x86_64/os/Packages/ #定时同步示例(每天凌晨3点执行同步任务): crontab -e 0 3 * * * /usr/bin/rsync -avrtP --delete --bwlimit=5000 --ignore-errors --timeout=600 --log-file=/var/log/centos8_appstream_sync.log rsync://mirrors.ustc.edu.cn/centos-vault/8.5.2111/AppStream/x86_64/os/Packages/ /data/centos/8/AppStream/x86_64/os/Packages/ >/dev/null 2>&1 mkdir -p /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os/Packages ln -s /data/centos/8/AppStream/x86_64/os/Packages /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os/Packages #3.4-获取rpm包的方法四(直接将对应系统的iso镜像文件挂载后找到对应的rpm包拷贝到我们本地的仓库目录中) #4-放开防火墙的80端口 firewall-cmd --list-port firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload firewall-cmd --list-port

三、生成索引库

3.1、生成索引库

已经指定了yum/dnf仓库的根目录是【/usr/share/nginx/html/soft】,但为了让yum/dnf能识别【/usr/share/nginx/html/soft】下的所有目录,因此需要创建yum/dnf存储库;而创建存储库需要【createrepo】命令,所以要先安装这个命令,然后再创建存储库。

#生成索引库 #1-安装【createrepo】 yum install createrepo -y #2-创建存储库【该命令可以多次执行(即只要该目录下的内容有变动,执行该命令,变动的部分才会被创建索引关联上)】 #2.1-(给【/usr/share/nginx/html/soft】目录下的所有目录内容创建存储库,会在该目录下自动生成一个名为【repodata】的目录) createrepo /usr/share/nginx/html/soft #2.2-(给【/usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os】目录下的所有目录内容创建存储库,会在该目录下自动生成一个名为【repodata】的目录) createrepo /usr/share/nginx/html/soft/centos/8/AppStream/x86_64/os

3.2、测试本地搭建的yum/dnf仓库

#测试本地搭建的yum/dnf仓库 #1-在另一台主机上创建本地搭建的yum/dnf仓库 vi /etc/yum.repos.d/local.repo #【/etc/yum.repos.d/local.repo】文件的内容如下 [localdnf] name=local_dnf baseurl=http://192.168.1.42/soft/ gpgcheck=1 enabled=1 #2-清空缓存、生成原数据和查看仓库信息 yum clean all yum makecache yum repolist #3-测试安装redis(如下图所示:仓库显示localdnf且可以获取对一个的内容下载安装则表示本地yum/dnf仓库配置成功) yum install redis -y #或【/etc/yum.repos.d/local.repo】文件的内容如下 [localcentos] name=local_centos baseurl=http://172.16.213.239/soft/centos/8/AppStream/x86_64/os gpgcheck=1 enabled=1 #清空缓存、生成原数据和查看仓库信息 yum clean all yum makecache yum repolist #测试安装nginx yum install nginx -y

到这里恭喜你测试搭建的本地yum/dnf仓库完成了,可以正常使用。

http://www.cnnetsun.cn/news/168498.html

相关文章:

  • 30、活动目录安全审计策略的实施与管理
  • Linly-Talker能否接入Unity引擎实现游戏内NPC对话?
  • Linly-Talker在智能家居控制中的视觉反馈机制
  • Linly-Talker能否实现AR眼镜端实时渲染?近眼显示优化
  • 力扣hot100:旋转排序数组中找目标值
  • Linly-Talker能否导出音频单独使用?资源复用建议
  • Linly-Talker如何保证用户上传肖像的安全性?
  • Linly-Talker如何处理专业术语发音准确性问题?
  • Linly-Talker如何平衡生成速度与画质清晰度?
  • 基于springboot+vue3的企业人事管理系统设计与实现
  • Linly-Talker支持实时摄像头推流吗?直播推流配置指南
  • Java之网络编程,新书小白入门教学,收藏这篇就够了
  • Linly-Talker能否识别方言输入?ASR模块能力测试
  • Linly-Talker在短视频平台的内容生产提效实证
  • +高校线上心理咨询室设计与实现pf信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
  • SpringBoot+Vue +疫情物资捐赠和分配系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】
  • 企业级+高校线上心理咨询室设计与实现pf管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】
  • 免费在线网盘解析:夸克文件高速下载
  • Git原理与使用
  • 神经网络如何学习:一种概率视角
  • 亲测10款降ai率工具:AI率80%怎么一键降低ai?(2025最新降AIGC避坑指南)
  • PySpark实战 - 2.1 利用Spark SQL实现词频统计
  • PerlinNoise Perlin噪声(PerlinNoise)隐式函数构建模型并渲染
  • Linly-Talker支持模型性能 profiling,精准定位瓶颈
  • Linly-Talker如何处理中英文混读?语音识别适配策略
  • LLM 的思考方式
  • 【虚拟同步机控制建模】三相虚拟同步发电机双环控制(Simulink仿真实现)
  • 万字长文!关于AI绘图,一篇超详细的总结发布
  • 数字人会议主持:Linly-Talker在远程会议中的创新应用
  • 【顶级EI完整复现】【DRCC】考虑N-1准则的分布鲁棒机会约束低碳经济调度(Matlab代码实现)