我正在尝试在 CentOS 6 集群上的主目录中本地安装 Octave 4.0.0(从源代码)。这是一个相当广泛的安装(请参阅列表的依赖关系)。
我有几个问题:
答案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
.