Linux createrepo 命令详解:一键搭建本地 YUM/DNF 私有仓库

发布时间:2026/9/23 13:52:49

Linux createrepo 命令详解:一键搭建本地 YUM/DNF 私有仓库 Linux 学习资料 https://pan.baidu.com/s/1A6qqBk2ViE_Le2cQjSowkQ?pwd7uz81. 命令简介createrepo 是一个用于创建 YUMYellowdog Updater, Modified软件仓库的命令行工具。它通过扫描指定目录中的 RPM 包生成必要的元数据文件存储于 repodata 目录从而使该目录能够被 YUM、DNF 等包管理器识别并作为软件源使用。它是搭建本地或私有 RPM 软件仓库的基础工具。2. 语法格式bash运行createrepo [选项] 目录参数说明[选项]用于控制 createrepo 行为的各种参数。 目录 包含 RPM 软件包的目录路径。createrepo 将在此目录下或指定位置生成 repodata 文件夹。3. 常用选项及说明核心选项表格短选项长选项说明-u url--baseurl url指定仓库的基准 URL。生成的元数据中会包含此 URL供客户端定位软件包。-o path--outputdir path指定生成的元数据repodata的输出目录。默认为 目录 参数指定的路径。-g file--groupfile file指定用于定义软件包分组的 XML 文件通常为 comps.xml。该文件需与 RPM 包位于同一目录或指定完整路径。--update增量更新模式。 如果目标目录已存在元数据则仅扫描并更新发生变化的 RPM 包信息大幅提升重建速度。-c path--cachedir path指定缓存目录用于存储已处理 RPM 包的校验和信息。在重复为同一仓库生成元数据时可显著提升性能。-v--verbose启用详细输出模式显示处理过程中的详细信息。-q--quiet启用安静模式抑制大部分输出信息。-d--database生成 SQLite 格式的元数据数据库默认启用。--no-database不生成 SQLite 数据库。-s type--checksum type指定用于元数据和软件包的校验和算法。默认为 sha256其他可选值如 sha1、md5 等。-p--pretty生成格式整齐、易于阅读的 XML 文件。高级与筛选选项表格短选项长选项说明-x pattern--excludes pattern排除符合指定模式支持通配符的 RPM 包不将其纳入仓库元数据。-i file--pkglist file指定一个文件其中每行列出一个 RPM 包的路径相对或绝对。createrepo 仅处理列表中指定的包。-n path/url--includepkg path/url通过命令行直接指定要包含的单个 RPM 包路径或 URL。可多次使用该选项添加多个包。--skip-stat与 --update 联用时跳过文件状态检查假设文件名相同的文件内容也相同。警告仅在高度信任文件未更改时使用。--compress-type type指定元数据文件的压缩格式。可选compat默认兼容旧客户端、gz、bz2、xz需支持。--unique-md-filenames在元数据文件名中包含其内容的校验和默认有助于 HTTP 缓存。--simple-md-filenames使用简单的固定文件名如 repomd.xml不包含校验和。--retain-old-md N保留旧元数据的最新 N 个副本便于旧客户端访问。默认为 0不保留。-h--help显示帮助信息。--version显示 createrepo 的版本信息。4. 示例用法示例 1创建基础仓库为 /opt/my_repo 目录下的所有 RPM 包生成元数据。bash运行createrepo /opt/my_repo示例 2创建带分组信息的仓库使用 comps.xml 文件定义软件包分组。bash运行# comps.xml 在 RPM 目录内 createrepo -g comps.xml /path/to/rpms # 或指定 comps.xml 的完整路径 createrepo -g /path/to/comps.xml /path/to/rpms示例 3增量更新仓库当仓库中只有部分 RPM 包发生变化时使用 --update 选项快速更新元数据无需重新处理所有包。bash运行createrepo --update /path/to/rpms示例 4指定输出目录和基准 URL将生成的 repodata 输出到 /var/www/html/repo/并设置仓库的基准 URL。bash运行createrepo -o /var/www/html/repo/ -u http://myserver.com/repo/ /path/to/rpms示例 5使用缓存提升性能为仓库指定一个缓存目录后续运行时将利用缓存信息加速。bash运行createrepo -c /var/cache/createrepo/my_repo /opt/my_repo示例 6排除特定包排除所有以debuginfo和devel命名的 RPM 包。bash运行createrepo -x *debuginfo* -x *devel* /path/to/rpms5. 注意事项目录权限运行 createrepo 的用户必须对目标 目录 具有读写权限因为工具需要在该目录下创建 repodata 子目录和文件。组文件位置使用 -g 选项时如果未指定完整路径createrepo 默认在 RPM 包所在目录下寻找组文件如 comps.xml。请确保文件位置正确。增量更新--update 模式通过比较文件大小和修改时间来判断文件是否更改。如果 RPM 包内容改变但时间戳未更新例如被复制的包可能导致更新失败。此时需要强制重新生成整个仓库不使用 --update。兼容性生成的元数据格式与 createrepo 版本相关。确保用于更新仓库的 createrepo 版本与最初创建时一致或兼容以避免潜在问题。
延伸阅读

更多相关文章

2026/9/19 23:17:20

Linux continue 命令详解:Shell 循环跳过本轮,流程控制必备

1. 命令简介continue 是 Bash shell 的一个内建命令,用于在循环结构中跳过当前迭代剩余的代码,并立即开始下一次循环迭代。它主要应用于 for、while 和 until 循环中,用于控制循环的执行流程,提高脚本的灵活性和处理效率。其核心作…

2026/9/19 23:17:21

从ChatML到工具调用:LFM2.5-2.6B对话模板深度解析

从ChatML到工具调用:LFM2.5-2.6B对话模板深度解析 【免费下载链接】LFM2.5-2.6B 项目地址: https://ai.gitcode.com/hf_mirrors/LiquidAI/LFM2.5-2.6B LFM2.5-2.6B是一款功能强大的对话模型,其对话模板设计融合了ChatML格式与工具调用能力&#…

2026/9/23 13:48:56

基于SparkStreaming的实时音乐推荐系统源码解析与实战

简介:这是一套基于Spark Streaming的实时音乐推荐系统完整源码,面向具备一定Spark与大数据基础、希望深入理解实时推荐链路的中高级开发者。项目围绕微批处理模型展开,涵盖Kafka等数据源接入、用户行为数据清洗与预处理、协同过滤与基于内容的…

2026/9/23 13:48:56

Java人脸识别签到系统实战:从摄像头到考勤记录完整链路

简介:这是一份面向Java开发者与人工智能入门者的「人脸识别签到系统」完整项目源码,围绕无接触身份验证与签到流程展开,适合希望将人脸识别API落地到实际业务中的中初级开发者学习参考。压缩包共225个文件,约15.29MB,以…

2026/9/23 13:48:56

3天搞定死歌手写实现一文搞懂避坑指南

3天搞定死歌手写实现一文搞懂避坑指南 刚接手那个遗留项目,我对着屏幕发呆了整整五分钟。手里拿着从网上复制下来的“死歌”特效代码,双击运行,报错信息像雪花一样飘满终端。那种“复制来的代码跑不通不知道怎么调”的无力感,相信做过前端开发的都懂。很…

2026/9/23 13:48:56

游泳溺水检测实战:从YOLO数据清洗到NVR端部署

简介:本资源是面向计算机视觉初学者与算法工程师的溺水行为检测专用数据集,聚焦YOLO系列目标检测模型训练与验证,适用于游泳场馆智能监控、水域安全预警等实际场景。数据集共2000个文件,包含874张带标注的JPEG图像、874份YOLO格式…

2026/9/23 13:43:55

3个坑让你少走弯路:微信公众号制作平台避坑指南

3个坑让你少走弯路:微信公众号制作平台避坑指南 配置环境就卡半天,改个参数报错半天,这是不少刚接触公众号开发的兄弟的通病。别急,这份避坑指南直接给你干货。很多技术博主吹得天花乱坠,但落地时全是坑。今天咱们不整虚的,直接拆解微信公众号制作平台…

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码