如何在centos6中将软件包安装到自定义位置

如何在centos6中将软件包安装到自定义位置

这是我为一所大学所做的一项设置,旨在促进 Linux 在其实验室中的使用。

我有一个共享位置,让我称呼它/tp;我想将所有库和软件包安装在这个位置,就像默认安装一样。这样做的原因是:我希望网络中连接到该服务器的所有用户将他们的程序链接到这个特定位置以获取该程序的库。

我最接近的是使用 (例如) yum install boost --installroot=/tp/。这不起作用,因为 yum 开始在此位置寻找镜像列表。我希望在该位置完成安装/tp/

答案1

installroot 工具对于将软件包安装到 chroot 环境等情况非常有用。尝试将所有 yum 配置和存储库文件安装到 中/tp,保留它们各自的路径,并且您的自定义软件包安装将起作用。 (例如/tp/etc/yum.conf:)。

在这种情况下,/tp将被添加到 yum 读取或写入的任何文件之前。其中包括配置文件、yum 日志文件、存储库信息等。

答案2

rpm手册页:

   --prefix NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start  with  the  installation  prefix in the package relocation
          hint(s) to NEWPATH.

   --relocate OLDPATH=NEWPATH
          For relocatable binary packages, translate all file  paths  that
          start with OLDPATH in the package relocation hint(s) to NEWPATH.
          This option can be used repeatedly if several OLDPATH's  in  the
          package are to be relocated.

答案3

您只需chroot /tp/将根目录更改为该位置即可。然后重新尝试yum安装。

这对于 LIVEOS 来说很常见,例如需要安装大型软件包的原型/测试运行,而预先设计的 RAMDISK 在该特定位置分配得较小。

相关内容