使用 Gentoo portage 将程序安装到非 root 位置

1 gentoo

我在我的一台家用桌面上使用 Gentoo GNU/Linux 并想使用 portage(类似于 FreeBSD 端口系统)将所有自出现的程序安装到 /usr/local,但想知道:

  1. 官方支持吗?
  2. 从系统管理员的角度来看,它是否会产生任何实际问题?(因为我将自己管理这个系统)

cas*_*sey 6

您可以使用--prefixto的参数执行此操作emerge

emerge --prefix=/usr/local somepackage
Run Code Online (Sandbox Code Playgroud)

这相当于EPREFIX在调用之前设置环境变量emerge。如果您开始这样做,您需要确保/usr/local/bin在您的PATH.

除此之外,应该没有任何问题,从 portages 的角度来看,没有区别。您也不会在管理上有任何差异。取消合并包的工作方式仍然相同。

对此有一个警告——从您正在生成的包中引入的依赖项也将安装到新前缀中。如果你真的只希望你特别出现的包在 /usr/local 中,你需要记住这一点。

如果您的目标只是跟踪您特别要求安装的软件包,portage 会将其记录在您的世界文件中/var/lib/portage/world