温馨提示×

CentOS镜像中缺少哪些关键文件

小樊
50
2026-01-10 23:12:17
栏目: 智能运维

常见缺失的关键文件与目录

  • 仓库元数据缺失:安装介质的 /repodata/repomd.xml 不存在或为空,导致 YUM/DNF 报 “Cannot retrieve repository metadata (repomd.xml)” 或 “file:///…/repodata/repomd.xml: [Errno 14]”。常见于只挂载了 DVD2、使用了错误的 ISO、或 ISO 本身未包含元数据;另外,某些第三方或自制仓库(如 docker-ce 目录)也可能缺失部分校验文件(如 primary.xml.gz、filelists.xml.gz、other.xml.gz 及其 .sqlite.bz2 校验文件)。正确完整的仓库应在对应架构目录下包含 repodata/repomd.xml 及一组元数据文件。

  • 安装介质识别文件缺失:缺少 .discinfo.treeinfo,安装器可能无法识别介质或找不到安装树结构,出现 “disc not found/无法识别安装介质” 等提示。定制或拷贝 ISO 内容时容易遗漏这些隐藏文件。

  • 引导相关文件缺失:用于光盘/UEFI 引导的关键文件缺失会导致无法启动或引导异常,例如 isolinux/isolinux.bin、isolinux.cfg、grub.cfg、EFI/BOOT/BOOTX64.EFI、efiboot.img、pxeboot/vmlinuz、pxeboot/initrd.img 等。这些文件位于安装介质的 isolinux/、EFI/、images/pxeboot/ 等目录中。

  • 校验与清单文件缺失:ISO 根目录缺少 SHA256SUM(或 MD5SUM)等校验文件,或下载后未校验,可能导致镜像损坏未被发现。标准发布目录和 ISO 通常提供相应的校验文件以便验证完整性。

快速自检清单

  • 挂载 ISO 后检查是否存在:/repodata/repomd.xml;若用于本地 YUM 源,baseurl 应指向包含 repodata 的根目录(如 file:///mnt)。
  • 检查安装介质识别:ls -a | grep -E ‘^.(discinfo|.treeinfo)’
  • 检查引导文件:ls isolinux/ isolinux.cfg EFI/BOOT/ BOOTX64.EFI images/pxeboot/
  • 校验镜像完整性:对照 ISO 同目录下的 SHA256SUM/MD5SUM 文件执行校验。
  • 若使用多盘安装介质(如 DVD1/DVD2),确认挂载的是包含 Packages/repodata/ 的那一张(通常为 DVD1)。

修复与规避建议

  • 本地 YUM 源:仅使用带仓库元数据的镜像(如 DVD1),在 /etc/yum.repos.d/ 中临时禁用其他在线源,配置 baseurl 指向本地挂载点并确保 /repodata/repomd.xml 可读。
  • 元数据损坏或缺失:重新下载标准 ISO,或使用工具(如 createrepo)基于现有 Packages/ 重新生成 repodata/(定制 ISO 场景)。
  • 引导失败:确认 ISO 包含完整的 isolinux/EFI/images/pxeboot/ 目录与文件;必要时重新制作或换用官方镜像。
  • 校验:下载后使用 sha256sum -c SHA256SUM 校验,确保镜像未损坏。

0