将包安装到自定义目录

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

我正在寻找用于测试目的的不同版本的openJDK共存。

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

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

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

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