news 2026/3/23 17:01:40

在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/18 4:25:18

Agent的上下文和记忆

上下文包括消息列表之外的任何数据,这些数据可以影响代理行为或工具执行。1.运行时传入的信息,如 user_id 或 API 凭据。2.多步推理过程中更新的内部状态。3.来自先前交互的持久记忆或事实。LangGraph 提供了三种提供上下文的主要方式:类型描…

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

42、Windows 2000 软件部署与远程安装服务全解析

Windows 2000 软件部署与远程安装服务全解析 软件部署通过组策略的要点 在软件部署方面,通过组策略进行操作有许多关键的知识点。以下是对一些常见问题的解答: 1. 创建应用程序共享与定义可用应用 :若要避免自动安装应用程序,应先创建一个可用于安装程序的应用程序共享…

作者头像 李华
网站建设 2026/3/20 13:02:54

43、远程安装服务(RIS)的安装、配置与管理

远程安装服务(RIS)的安装、配置与管理 1. RIS 配置文件与授权 在配置 RIS 时,会涉及到一些关键的配置信息。以下是一个示例配置文件内容: [Networking] ProcessPageSections=Yes [Identification] JoinDomain = %MACHINEDOMAIN% CreateComputerAccountInDomain = No Do…

作者头像 李华
网站建设 2026/3/21 8:50:26

Linly-Talker在儿童绘本朗读中的语音童趣化处理

Linly-Talker在儿童绘本朗读中的语音童趣化处理 在幼儿园的阅读角,一个孩子抱着平板电脑,眼睛亮晶晶地看着屏幕里正在讲故事的“小熊老师”:“今天我们要去找会发光的蘑菇哦!”数字人眨了眨眼,嘴角上扬,声音…

作者头像 李华
网站建设 2026/3/20 4:54:27

构筑质量的基石:测试用例设计与编写最佳实践深度解析

在软件质量保障体系中,测试用例是测试工程师思想的具象化,是执行测试的蓝图,更是评估产品质量的标尺。一个精心设计的测试用例,能够像精准的探针一样,深入软件肌理,提前发现潜在缺陷。本文将结合业界经验&a…

作者头像 李华
网站建设 2026/3/16 2:13:47

Linly-Talker在博物馆夜间巡逻机器人中的警戒对话应用

Linly-Talker在博物馆夜间巡逻机器人中的警戒对话应用 在深夜的博物馆里,一束柔和的灯光扫过古画长廊,一个移动机器人缓缓停下。它面前站着一名静止不动的身影——是夜班馆员?还是未经授权的闯入者? 传统监控系统或许会标记这一行…

作者头像 李华