以非 root 用户身份在 Linux 中安装软件

以非 root 用户身份在 Linux 中安装软件

如果您没有 root 权限,在 Linux 机器上安装软件的最佳方法是什么。我知道我们可以使用一些变量(如 PKG_CONFIG_PATH)和开关(如 --prefix 和 configure)将软件安装在本地目录中,但有时当存在递归依赖关系时,我很难手动安装所有软件包。有没有更好的自动化方法?

更新:我所说的递归依赖关系的意思是:要安装包 A,我应该安装包 B,而这又需要安装包 C

答案1

显而易见的答案是从源代码安装,但这对于依赖关系根本没有帮助。

从 RPM 软件包存储库安装是不可能的,因为这些软件包会将文件安装到诸如 之类的“公共”目录中/usr/bin,而其他用户会认为只有 root 才能在那里安装。理论上,您需要的是一个软件包存储库,这些软件包被构建为安装到您有写权限或可重新定位到的地方,然后您将使用带有非标准数据目录的(可能已打补丁的)软件包管理器。但这样的存储库(可能)不存在。

底线是,这实际上不会合理地发挥作用。要管理 Linux 系统上的软件,您需要 root 访问权限,或者至少对 root 进行特殊安排,以便您可以统治自己的小领域,但即使这样也很难安全地做到这一点。

答案2

即使您不是 root 用户,也可以使用 rpm。我知道这是事实,因为我前段时间一直在寻找它参见此处的示例。但是,这并不值得,因为它实际上意味着几乎与一直使用 --prefix 的工作量相同。我建议,如果您需要的一些软件包非常基础,请让管理员获取这些软件包,然后自行安装其余软件包。

相关内容