news 2026/8/8 10:15:33

在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/8/7 20:08:49

30、活动目录安全审计策略的实施与管理

活动目录安全审计策略的实施与管理 1. 审计策略概述 在网络环境中,控制安全的一个重要方面是确保只有授权用户能够访问特定资源。尽管系统管理员通常会花费大量时间管理安全权限,但安全问题仍可能出现。有时,发现潜在安全漏洞的最佳方法是记录特定用户的操作。当发生安全漏…

作者头像 李华
网站建设 2026/8/7 20:36:57

Linly-Talker能否接入Unity引擎实现游戏内NPC对话?

Linly-Talker能否接入Unity引擎实现游戏内NPC对话? 在开放世界游戏中,你是否曾对某个NPC说出一句“今天过得怎么样?”,却只得到一句冷冰冰的预设台词:“欢迎来到我的商店。”这种割裂感正是传统脚本式交互的局限。而如…

作者头像 李华
网站建设 2026/8/7 12:32:08

Linly-Talker在智能家居控制中的视觉反馈机制

Linly-Talker在智能家居控制中的视觉反馈机制 在智能音箱和语音助手早已进入千家万户的今天,我们是否还满足于“听得到回应却看不见表情”的交互方式?当用户说“我有点冷”,设备能自动调高暖气固然聪明,但如果那个声音来自一个面带…

作者头像 李华
网站建设 2026/8/7 17:53:05

Linly-Talker能否实现AR眼镜端实时渲染?近眼显示优化

Linly-Talker能否实现AR眼镜端实时渲染?近眼显示优化 在消费级AR眼镜逐步走入日常生活的今天,一个核心问题浮出水面:我们是否能在一副轻巧的眼镜上,运行一个会听、会说、会“表情达意”的数字人?这不仅是技术的挑战&am…

作者头像 李华
网站建设 2026/8/7 23:39:02

力扣hot100:旋转排序数组中找目标值

题目描述: 思路分析: 本题前置题目:寻找旋转排序数组中的最小值,解析链接如下 https://mp.csdn.net/mp_blog/creation/editor/156110328 本题是在此题的基础上查找目标值,数组经过旋转之后被分成两个部分&#xff0…

作者头像 李华
网站建设 2026/8/7 15:59:39

Linly-Talker能否导出音频单独使用?资源复用建议

Linly-Talker能否导出音频单独使用?资源复用建议 在虚拟内容生产日益智能化的今天,越来越多的企业和创作者开始关注一个问题:我们花时间生成的AI语音内容,能不能不止用于数字人视频,还能拿来当播客、有声书甚至智能助手…

作者头像 李华