这可能是一个愚蠢的问题,但是我最近意识到我不知道为什么apt-get没有单用户功能。
我不想要的答案:
为什么apt-get需要sudo?
不总是。您可以使用完全apt-get
没有sudo
。在某些情况下,您根本不需要sudo
,例如使用apt-get download
,将软件包下载到当前目录,apt-get source
将debian源文件下载到当前目录,changelog
下载并打印给定软件包的变更日志,以及任何包含以下内容的命令:在--simulate
/ --dry-run
/ --no-act
(在的情况下install
,你也需要--no-download
)。
这是因为这些操作/命令不需要编写系统目录。
现在,为什么apt-get
需要sudo
?其实不是。您可以抛弃apt-get,从中下载软件包,wget
然后dpkg --extract
在您喜欢的任何目录中使用和提取该软件包。还有--instdir
一个应该只对二进制包有效。
现在,为什么这不是默认值?因为这很痛苦。要执行您想要的操作,我们需要将每个程序包重新包装两次,一次以正确的方式包装,另一次则按照您的要求进行包装。在构建时,二进制文件通常需要知道它们所需的文件和库在哪里(在某些情况下,这是在编译时进行硬编码的)。
现在,您能做什么呢?只需在virtualenv上更改一些环境,即可在其中无需root用户安装软件包。
总结,这不是使用apt-get的方式,而且我不知道另一个类似于apt-get的程序包管理器允许您执行此操作。归根结底,这apt-get
只是dpkg的前端,可以完成其中的一些工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句