RHEL 8 安装postgresql15-server报错:依赖缺失求助
PostgreSQL 15服务器安装错误分析与解决
操作步骤
执行的安装命令:
cd ~ dnf install postgresql15-server
错误输出
更新订阅管理仓库。
此系统已在授权服务器注册,但未接收更新。您可使用subscription-manager分配订阅。
最后元数据过期检查:2023年6月18日星期日UTC时间08:17:28,距今0:04:52。
错误:
问题:软件包postgresql15-server-15.3-2PGDG.rhel8.x86_64要求postgresql15(x86-64) = 15.3-2PGDG.rhel8,但无可用提供者可安装
- 无法安装最佳候选包
- 无软件提供postgresql15-15.3-2PGDG.rhel8.x86_64所需的lz4
(尝试添加'--skip-broken'参数跳过无法安装的包,或添加'--nobest'参数不局限于最佳候选包)
错误含义
这个错误的核心是依赖链断裂:
- 安装
postgresql15-server必须匹配同版本的postgresql15核心包(版本15.3-2PGDG.rhel8),但该核心包无法正常安装。 - 根本原因是
postgresql15核心包依赖lz4压缩库,而当前系统的可用仓库中找不到lz4的安装源。 - 系统提示“未接收更新”是因为RHEL 8未分配有效订阅,导致官方标准仓库无法提供完整的软件包支持。
解决方法
方法1:激活RHEL官方订阅(有订阅权限时用)
如果拥有RHEL订阅权限,先完成订阅绑定,让系统能访问官方完整仓库:
subscription-manager register # 按提示输入账号密码完成注册 subscription-manager attach --auto # 刷新仓库并更新系统 dnf update -y
完成后重新执行安装命令:
dnf install postgresql15-server
方法2:添加EPEL仓库获取依赖(无订阅时用)
EPEL仓库提供RHEL系的免费额外软件包,包含所需的lz4库:
# 安装EPEL仓库配置包 dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm # 刷新仓库元数据 dnf makecache
之后重新安装PostgreSQL 15服务器:
dnf install postgresql15-server
方法3:手动安装lz4依赖包
如果上述方法无效,可手动下载兼容RHEL 8的lz4 RPM包(如CentOS 8发行版的对应架构包),然后本地安装:
# 假设下载的包文件名为lz4-1.8.3-3.el8.x86_64.rpm dnf install ./lz4-1.8.3-3.el8.x86_64.rpm
安装完成后再次执行PostgreSQL 15服务器的安装命令。
内容的提问来源于stack exchange,提问作者Jesaya Fernando Napitupulu
相关产品推荐
相关产品推荐

