据我所知,Apt和DNF / Yum是Linux发行版中两种最受欢迎的软件包管理方案,它们仅支持系统范围的软件包安装:root拥有的文件,binary进入(/usr)?/s?bin
,setting进入/etc
等等。
但是,在有多个不具有root特权的个人用户的系统上,经常(即使不是总是)发生了用户想要安装一些可用于该发行版的应用程序或实用程序的情况。他/她可以使用个人安装的安装方式,这种安装方式对许多/所有用户而言并不常见。
现在,要使软件包在安装时具有不同的根目录或一组根目录,以使用户能够做到这一点,似乎并不是一个牵强的想法,甚至是难以置信的复杂想法。管理已安装软件包的用户特定注册表也不是什么问题(无论单个用户是否具有自己的软件包DB)。
那么,为什么没有将这些功能添加到那些常见的软件包管理系统/方案中,是什么原因呢?
注意:这是一个有用的问题,即我要询问的是人们对过去的了解,而不是人们对此功能的看法。
3
如果提供了它,那将节省我在没有超级用户特权的计算机上从源代码编译软件的大部分时间。我很想知道答案。
—
周
诚然,我对此知识不是很了解,但可以这样做是为了防止用户因自己安装的软件的依赖性而填满硬盘驱动器。如果apt没有以root身份运行,则它无法更新系统库,因此用户现在的系统版本比系统的更新。对每个用户和较旧的,较小的硬盘驱动器重复一遍,它们将很快充满。
—
Thegs
@Thegs:我怀疑这是考虑因素。很少有软件项目会因为诸如“如果这样做的人会填满磁盘驱动器”之类的考虑而避免使用重要功能。如果是某种安全风险,也许可以。同样,在多用户系统上,会有配额。而且很少有人会使用它。再加上所有这些都是猜测...
—
einpoklum-恢复莫妮卡
简而言之:弄乱用户数据不是系统软件包管理器的工作。〜/ bin,〜/ lib等来自系统的POV,是“用户数据”。
—
cas
我见过通过分散了几包
—
鲍勃,
pip
,npm
并且gopkg
-部分是因为他们的发行无关,部分是因为它们通常允许特定用户安装。