使用 yum 在 CentOS 6 上安装 Octave 依赖项

使用 yum 在 CentOS 6 上安装 Octave 依赖项

我正在尝试在 CentOS 6 集群上的主目录中本地安装 Octave 4.0.0(从源代码)。这是一个相当广泛的安装(请参阅列表的依赖关系)。

我有几个问题:

  1. 从文档中不清楚需要哪些版本的依赖项。这是一场噩梦,因为我发现 Octave 不太可能不依赖 20 多个依赖项的版本。有没有办法通过 yum 或其他来源获得这个?

  2. 我不是 root 用户,所以每当我尝试使用 yum 实用程序时下载安装它需要 root 访问权限的 rpm 文件。我想知道是否有一种方法可以让我利用yum-builddep(无需 root)来本地安装依赖项?

  3. 看来yum再也找不到八度了。我相当确定我yum search octave上周就找到了它。在哪里可以找到旧的 yum 存储库?

答案1

yum 似乎不再能找到 Octave。我相当确定上周我能够通过 yum search Octave 找到它。在哪里可以找到旧的 yum 存储库?

octave软件包可通过EPELCentOS 的存储库。最简单的设置方法是:

# yum install epel-release

但您也可以按照链接网页上的说明进行操作。一旦您拥有可用的 EPEL 存储库:

# yum info octave
Name        : octave
Arch        : x86_64
Epoch       : 6
Version     : 3.4.3
Release     : 1.el6
Size        : 9.1 M
Repo        : epel
Summary     : A high-level language for numerical computations
URL         : http://www.octave.org
License     : GPLv3+

很遗憾...

我不是 root 用户,因此每当我尝试使用 yum 实用程序下载并安装 rpm 文件时,它都需要 root 访问权限。我想知道是否有办法利用 yum-builddep (无需 root)来本地安装依赖项?

我想你在这里基本上会不走运。像这样的打包系统yum实际上并不是设计为由非特权用户运行时工作的。你也许可以:

repoquery --requires octave |
xargs -iDEP repoquery --whatprovides "DEP" |
sort -u |
grep x86_64 |
xargs yumdownloader

这将下载所有依赖项(其中一些命令来自yum-utils包,因此需要安装)。您将获得某些软件包的多个版本,因此您需要删除旧版本:

repomanage --keep=1 --old . | xargs rm

现在您拥有了所有依赖项。正如我所说,yum 没有任何以非特权用户身份“安装”这些的规定,但您可以使用以下命令将它们全部解压到本地目录树中rpm2cpio

for file in *.rpm; do rpm2cpio $file | cpio -id; done

..但是要使用它,您需要使用编译器标志,甚至可能是运行时配置,例如LD_LIBRARY_PATH.

相关内容