将包安装到自定义目录

Jam*_*ess 6 server package-management 10.10

是否有任何选项可以将软件包安装到我的主目录(或 /foo)而不是系统范围内?我正在寻找使用 apt-get 或 dpkg 的选项。类似于源编译中的 --prefix 的东西。

我正在寻找不同版本的 openJDK 共存以进行测试。

Tak*_*kat 4

debian 软件包需要符合 FHS 它明确定义了在任何系统上放置数据的位置以及应用程序的安装位置。这种清晰的结构使管理变得容易,我们都应该坚持这一点。

在您的情况下,当涉及到测试应用程序时,可能需要安装到自定义目录。但是,无法告诉您的包管理器不要使用现有 DEB 包中的预定义文件位置。

如果您需要安装到另一个位置,您可能需要从源代码编译软件包,正如您已经指出的那样。或者,如果您需要使用 dpkg,则必须构建自己的私有 DEB,您可以在其中定义其他安装路径。但是,如果应用程序依赖于对位于符合 FHS 的路径上的文件的访问,则它可能不会按照开发人员预期的方式运行。

要安装应用程序的测试版本,您可以考虑chroot(或schroot)环境。最安全的测试解决方案(尽管可能有点过分)是在虚拟操作系统中安装应用程序(例如通过Virtual Box

  • --instdir 工作并将文件转储到我的目录中。但这在实践中并没有多大用处。这需要一个 chrooted 环境。如果我在此目录中有 chroot 设置,我可以使用“sudo chroot mydir”并使用它。 (2认同)