有没有办法让 APT 将软件包安装到我的主目录?

47 linux apt

有没有办法让APT将软件包安装到我的主目录?

我不想在系统范围内进行更改。

或者,是否有任何基于主目录的 linux 包管理器?

Dav*_*ley 19

dpkg 没有 RPM 具有的 --relocate 功能。不过值得考虑有多少 RPM 包支持该功能。基本上是做不到的。

如果你想在系统上全局安装之前测试某些东西,你可以做的是使用 chroot。为此,您需要能够访问 root。首先要做的是创建一个基本的 chroot:

# debootstrap lenny lenny-chroot

这会在lenny-chroot目录中创建一个 Lenny chroot 。

现在我们可以进入chroot:

# chroot lenny-chroot
Run Code Online (Sandbox Code Playgroud)

现在我们可以做任何我们想做的事情并安装任何东西而不会弄乱系统的其余部分。完成后,只需键入 exit 或按 ctrl-D


Tim*_*ith 10

Linuxbrew是 Linux 的另一个非 root 包管理器(基于流行的 OS X 的 Homebrew 包管理系统),它从源代码编译并将二进制文件保存在您的主目录中。

引用文档,Linuxbrew 的功能是:

  • 可以将软件安装到主目录,因此不需要 sudo
  • 安装未由本机发行版打包的软件
  • 当本机发行版较旧时安装最新版本的软件
  • 使用同一个包管理器来管理你的 Mac 和 Linux 机器


hay*_*lci 7

Gentoo 前缀完全符合您的要求。

它将所有软件包安装到指定目录中。不需要root访问权限。如果你想摆脱它,只需删除基本目录。

PS:这不适用于 Ubuntu >= 11.04 或任何其他带有 Multiarch 的 Debian 衍生产品。


小智 1

不,我认为你不能。

我现在能想到的最好的办法就是使用apt-get source和编译你的包。也许您可以以某种方式调整程序(或多或少是自动化的)来在家里安装软件包。

另一种方法是将dpkg -X其解压到您选择的目录中。