使用程序包管理器 Apper 或软件中心更改程序包的安装目录?

使用程序包管理器 Apper 或软件中心更改程序包的安装目录?

是否可以使用 Apper 或 Software Center 等包管理器更改特定包的安装目录及其依赖项?

除了在哈希验证后修改 .deb 文件或创建符号链接之外,还需要设置适当的权限(或使用 GUI 提示用户进行配置),并在更新包(包括显示对话框)时考虑不同的包位置当其他包具有不驻留在默认位置的依赖项时。

由于缺乏沙箱功能,似乎需要安装到单独的位置。

如果不通过包管理器,人们通常如何做到这一点?

答案1

这并不是包管理器真正支持的东西 - 他们将所有内容定位在/并且包可以从那里将文件放置在文件系统上的任何位置 - 除了包维护者所接受的范围外,没有真正的强制执行(通常通过坚持以下标准)应放置文件)。

您有几个选项 - 自己编译软件包,然后通常可以选择通常指定的安装位置PREFIXDESTDIR但这完全取决于您要安装的内容及其构建方式。

另一种选择是使用 chroot 和一个最小的系统,您可以将其放置在您喜欢的任何地方。这个缺点是,这基本上是主系统中的一个单独的系统,必须单独管理(即,您必须拥有 apt/yum 或在 chroot 内部安装的内容,并从 chroot 内部更新应用程序。

现在,根据您实际想做的事情,您还有其他一些选择。

  1. 码头工人- 如果您的应用程序是基于 cli 的,您可以使用 docker 在隔离环境中运行它 - 那么您可以同时运行多个不同版本的应用程序,并且彼此隔离。

  2. 像这样的捆绑系统扁平包装或者折断它的工作原理是将应用程序打包成具有所有依赖项的捆绑包,允许您同时安装多个版本的东西(有点像 OS X 处理应用程序的方式)。

这两个基本上都是沙盒解决方案,听起来更像您所追求的。

相关内容