马伯庸 2025-11-21 16:25 采纳率: 97.9%
浏览 0
已采纳

centos-release-openstack-liberty 找不到源

在基于CentOS 7部署OpenStack Liberty版本时,用户常遇到`centos-release-openstack-liberty`无法找到源的问题。该问题通常源于Yum仓库配置错误或已启用的CentOS OpenStack SIG仓库不包含Liberty(因后续版本已被淘汰)。由于CentOS官方已于2018年停止对Liberty的支持,相关软件包已从主仓库移除,导致执行`yum install centos-release-openstack-liberty`时提示“No package available”。建议用户检查是否启用了正确的归档仓库,或手动配置CentOS Vault源以获取历史版本包。
  • 写回答

1条回答 默认 最新

  • 泰坦V 2025-11-21 16:26
    关注

    1. 问题背景与现象描述

    在基于CentOS 7部署OpenStack Liberty版本时,许多用户在初始化环境阶段执行命令 yum install centos-release-openstack-liberty 时会遭遇如下错误:

    No package centos-release-openstack-liberty available.
    Error: Nothing to do
    

    该现象表明Yum无法从当前配置的软件源中找到指定包。尽管OpenStack Liberty是曾经广泛使用的版本(发布于2015年),但由于其生命周期已于2018年终止,CentOS官方已将其从主OpenStack SIG仓库中移除。

    此问题并非由用户操作失误直接导致,而是源于开源社区对旧版本支持的自然淘汰机制。随着CentOS项目逐步推进至后续OpenStack版本(如Mitaka、Newton等),Liberty相关的元数据和RPM包已被归档处理。

    2. 根本原因分析

    • 仓库策略变更:CentOS OpenStack SIG仅维护最近几个活跃版本的仓库,历史版本被迁移至CentOS Vault归档区。
    • 默认仓库不包含过期内容:即使启用了centos-release-openstack基础包,也无法访问已下线的Liberty分支。
    • 网络镜像同步延迟或缺失:部分第三方镜像站点可能未完整保留历史版本路径。
    • 系统时间或SSL配置异常:虽少见,但过期证书或错误系统时间可能导致HTTPS仓库连接失败,误判为“无可用包”。

    上述因素共同作用,使得标准安装流程中断,必须通过手动干预恢复对历史版本的支持。

    3. 解决方案路径图

    graph TD A[执行yum install失败] --> B{检查当前启用仓库} B --> C[确认是否启用openstack-sig] C --> D{是否存在Liberty源?} D -- 否 --> E[配置CentOS Vault源] D -- 是 --> F[检查网络与DNS] E --> G[创建vault-liberty.repo] G --> H[导入GPG密钥] H --> I[清理缓存并重试安装] I --> J[成功获取centos-release-openstack-liberty]

    4. 具体解决步骤

    1. 确认当前已启用的仓库:
      yum repolist enabled | grep -i openstack
    2. 若无输出或仅显示新版本(如queens、rocky),则需添加归档源。
    3. 创建新的Yum仓库文件:
      /etc/yum.repos.d/centos-vault-openstack-liberty.repo
    4. 写入以下内容:
    [centos-vault-openstack-liberty]
    name=CentOS Vault OpenStack Liberty - Base
    baseurl=http://vault.centos.org/centos/7.9.2009/cloud/x86_64/openstack-liberty/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud
    enabled=1
    priority=20
    

    注意:URL中的7.9.2009应匹配你系统的实际CentOS 7子版本,可通过cat /etc/centos-release查看。

    5. GPG密钥与信任链配置

    文件路径用途说明获取方式
    /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Cloud验证OpenStack SIG包签名yum install centos-release-cr 或手动下载
    /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7基础系统包验证系统自带
    自定义密钥路径(可选)增强安全性审计离线导入可信密钥环

    确保密钥存在且未被篡改,否则将触发GPG验证错误。

    6. 验证与后续操作

    完成仓库配置后,执行以下命令刷新Yum元数据:

    yum clean all
    yum makecache
    yum install centos-release-openstack-liberty -y
    

    安装成功后,可通过yum-config-manager --list-repos | grep liberty确认源已激活。

    7. 替代方案与长期建议

    • 使用RDO Trunk或Stable分支构建本地仓库:适用于需要持续集成测试的团队。
    • 迁移到受支持的OpenStack版本:推荐升级至Rocky或更高级别,并配合CentOS 7较新更新集。
    • 构建私有镜像仓库:利用reposync工具拉取完整Liberty包集合,供内网部署使用。
    • 容器化部署替代传统Yum安装:采用Kolla或Docker镜像封装Liberty服务组件。

    对于仍需维护Legacy系统的组织,建议建立独立的软件供应链管理体系。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月22日
  • 创建了问题 11月21日