rpm -Uvh 和 yum 安装

rpm -Uvh 和 yum 安装

我是 Linux 新手,想了解使用某些命令的原因。我尝试按照说明在 CentOs 上安装 PostgreSQL这里

首先,我们执行rpm -ivh pgdg-centos91-9.1-4.noarch.rpm将 rpm 包安装到系统中的操作。但是,yum install postgresql91-server既然我们已经rpm -ivh安装过该包,为什么它又要求我们执行(我假设是安装 postgresql)?

exclude=postgresql*另外,在和/etc/yum.repos.d/CentOS-Base.repo下添加这些行的原因是什么。为什么我们要排除 yum 访问这些软件包,然后使用 yum 来安装?[base][updates]postgresql91-server

答案1

yum与与您的 CentOS 版本相关的在线存储库进行交互。

rpm是针对 Red Hat/CentOS 平台开发的应用程序的软件包管理器和打包格式。您的rpm命令正在安装已下载的软件包,该软件包不是 yum 存储库的一部分。

在 Windows 世界中,这就像 Windows 更新(yum)与下载软件并双击安装程序(rpm)之间的区别。

似乎您使用的 postgresql 版本比通过常规 CentOS 渠道(“基本”和“更新”)提供的版本要新。您列出的 yum 命令安装的软件包来自不同的第三方软件存储库

看起来您正在使用 PostgreSQL 直接提供的 postgres 数据库包,而不是通过 CentOS 提供的包。详细说明和推理如下

因此,您被要求使用exclude=您列出的语句来阻止安装随 CentOS 分发的版本。这是一项预防措施,以避免 CentOS 的旧版 postgresql 与您正在安装的新版 postgresql 发生冲突。

相关内容