news 2026/3/26 21:25:28

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在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仓库完成了,可以正常使用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/13 12:22:23

中间件哲学-简洁与强大的完美平衡

GitHub 主页 在我 40 年的编程生涯中,中间件系统的设计一直是我关注的焦点。一个好的中间件架构能够极大提升开发效率,但设计不当的中间件却会成为系统复杂性的源头。最近使用 hyperlane 框架的经历,让我对中间件设计有了全新的认识。 那是在…

作者头像 李华
网站建设 2026/3/14 1:14:27

大话存储(通俗解释版)(四)大话/详解七种RAID

目录 第4章 七星北斗——大话/详解七种RAID 开篇:单骑救主 vs 七星连珠 4.1 大话七种RAID武器 4.1.1 RAID 0阵式:生死与共的敢死队 生动比喻:七匹狼拉雪橇 现实应用场景: 性能公式: 4.1.2 RAID 1阵式&#xff1…

作者头像 李华
网站建设 2026/3/21 0:57:31

Linly-Talker项目license类型说明及商用授权路径

Linly-Talker项目license类型说明及商用授权路径 在AI技术加速渗透各行各业的今天,数字人已不再是科幻电影中的概念,而是逐渐成为企业服务、在线教育、智能客服等场景中的真实生产力工具。从虚拟主播24小时不间断直播,到医院导诊机器人提供精…

作者头像 李华
网站建设 2026/3/25 8:38:43

Linly-Talker在智慧城市运营中心的值班员替代试验

Linly-Talker在智慧城市运营中心的值班员替代试验 在一座现代化城市的“大脑”——智慧城市运营中心里,大屏闪烁、警报频发,交通拥堵、空气质量异常、公共设施故障等事件接连不断。传统上,这一切都依赖于轮班的人工值班员紧盯屏幕、接听电话、…

作者头像 李华
网站建设 2026/3/13 14:30:42

Linly-Talker生成视频的人物比例失真修正方法

Linly-Talker生成视频的人物比例失真修正方法 在当前AI驱动的数字人技术浪潮中,越来越多的应用开始尝试通过一张静态照片生成生动、自然的讲解视频。Linly-Talker 正是这一趋势下的代表性系统之一——它集成了大模型对话、语音合成、表情驱动与视频生成能力&#x…

作者头像 李华
网站建设 2026/3/17 23:04:28

推理过程的差异

在前面我们完整地讲解了训练过程的操作,建议可以先看看前文: 词嵌入和位置编码(超详细图解)https://blog.csdn.net/Drise_/article/details/155502880?fromshareblogdetail&sharetypeblogdetail&sharerId155502880&s…

作者头像 李华