我需要在运行 Scientific Linux 6(基于 RHEL 6)的计算机中安装大量软件包,但我没有 root 访问权限。
经过大量修改和互联网搜索后,我找到了这个答案:https://stackoverflow.com/questions/36651091/how-to-install-packages-in-linux-centos-without-root-user-with-automatic-depen?newreg=471e1d62101f49198e06af008be75e6e
这几乎解决了我的问题:它使我能够下载 .rpm 软件包并在本地安装它们。它使用了yumdownloader
我相信会采用包名称的命令,例如,gcc
在我启用的存储库中找到最新版本(在我的例子中是 4.4.7)并下载 rpm 文件。
我可以按照链接上的说明成功安装此文件(我下载所有 rpm 文件,然后~/rpm
运行cd ~/centos && for file in ~/rpm/*.rpm; do rpm2cpio $file | cpio -id; done
并将此目录添加到我的目录中PATH
并LD_LIBRARY_PATH
完成此操作。
然而,我使用的 Linux 版本有一些非常旧的(对于我的目的)软件包,所以我需要安装这些软件包的更新版本。我以前从未使用过 CentOS/RHEL Linux 机器,所以我对包管理器有点迷失,但我相信如果我添加一个更新的存储库,这个问题就会得到解决,但由于我不是 root,所以我不能这样做。
有没有什么方法可以调用yumdownloader
,以便它使用我选择的存储库来解析包并下载更新的版本?对于我的问题,建议的解决方案是什么?我知道我可以以某种方式找到我的软件包所需的版本,并从网上单独下载正确的 .rpm 文件,但这会非常耗时,我想知道是否有更简单的方法。
谢谢。