yum 将手动安装的软件包视为通过它安装的软件包

yum 将手动安装的软件包视为通过它安装的软件包

我已经构建了 Emacs 24 并将其安装在我的 FC-17 上,但是如果我尝试安装任何需要 Emacs 的软件包(例如 Pymacs、ECB 等),它们都会尝试安装 Emacs 23。

我认为我的问题是 yum 无法识别我的 Emacs 作为合适的替代品(或者根本不知道它的存在)。我怎样才能让 yum 知道这一点,并且在尝试安装 Emacs 模块时不安装旧版 Emacs?

$ yum list installed | grep "emacs"

没有给予emacs-common或任何与此相关的信息,这只能证实我的假设。

谢谢。

答案1

以下是两个可能的解决方案。

1)您需要下载要安装的包,并使用--nodeps选项通过rpm命令安装它们。

要下载 rpm,您首先应该确保已经安装了“yum-utils”包,因为它包含“yumdownloader”命令。

我不知道您要安装的软件包的名称,但假设软件包名称为“something-xyz”。以下是下载和安装该软件包的命令:

# Download the package
yumdownloader something-xyz

# Test whether emacs is the only dependency.
rpm -Uvh --test something-xyz-7.42-9.noarch.rpm

# If emacs is the only dependency, then install the package
rpm -Uvh --nodeps something-xyz-7.42-9.noarch.rpm

如果还有其他依赖项,您可以尝试通过 yum 安装(如果它们不依赖于 emacs)。否则,您需要执行与上述相同的过程来安装它们。

2) 如果以上方法均无法帮助您手动安装 emacs,那么最后的办法就是安装 yum 默认想要安装的 emacs 版本,但调用您自己的 emacs 版本,而不是 yum 安装的版本。

相关内容