是否有一个 Linux 发行版具有非管理员可通过包管理器在本地安装的包?

是否有一个 Linux 发行版具有非管理员可通过包管理器在本地安装的包?

我正在寻找一个允许没有管理员权限(sudo 或其他)的用户在其主目录下本地安装软件包的发行版。基本上自制对于 Linux。或者,想象一下,如果apt-get install <foo>不管管理权限,都可以正常工作。

有理由不实施这样的系统,但如果有人发布了具有此类功能的发行版,我会很感兴趣。

澄清:我特别想问的是包管理器由发行版提供。这在我的问题的原始表述中并不清楚。我也不是在寻找困难的方式来做到这一点(例如 chroot),也不是手动方式(autotools),而是寻找一个将其作为内置用例提供的发行版。

答案1

我认为,只要付出足够的努力,几乎任何发行版都允许您这样做。例如创建 chroot 环境并安装您最喜欢的包管理器的实例。或者只是为包管理器提供正确的选项。

但为了使事情变得更容易,您至少应该能够作为普通用户访问常用的开发工具,例如 C 编译器、(自动)make、自动工具等。

事实上,可以使用“./configure --prefix=/home/example”将大多数可用软件包的源 tarball 版本安装在您的主目录中,独立于系统的其余部分。

例如,Debian 的 dpkg 工具有以下选项:

   --admindir=dir
          Change default administrative directory, which contains many files that give information about status of installed or uninstalled packages, etc.  (Defaults to /var/lib/dpkg)

   --instdir=dir
          Change  default  installation directory which refers to the directory where packages are to be installed. instdir is also the directory passed to chroot(2) before running package's installation scripts, which means that the scripts see instdir
          as a root directory.  (Defaults to /)

   --root=dir
          Changing root changes instdir to dir and admindir to dir/var/lib/dpkg.

Debian 的安装过程实际上使用了这样的机制,简而言之,它从 RAM 磁盘启动,然后创建某种 chroot 环境,并使用以下命令安装新环境中的软件包:

in-target apt-get update
in-target apt-get install example

您需要完成什么具体的事情吗?

答案2

那就是“全部”。我不知道有哪个发行版不允许用户在主目录中安装软件(如果他们愿意的话)。

相关内容