首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Linux上安装没有root权限的软件

问在Linux上安装没有root权限的软件
EN

Server Fault用户
提问于 2010-08-30 10:58:14
回答 8查看 10.3K关注 0票数 6

我发现在Linux机器上安装软件是非常困难的,因为它是一个普通用户。我在这台机器上没有根权限,所以我不能使用任何包管理器系统。

例如,我试图安装一个简单的IRC客户端,但是从源代码安装所有东西都很麻烦,因为我必须手动下载并安装树上的每个依赖项(irssi->glib->ncurses等等)。等等)。

所以我下载了ircii,这似乎是我能找到的最简约的客户端,它仍然需要一些名为lex的程序,但我找不到。

对于这个麻烦的任务,有什么简单的解决办法吗?为什么人们不直接交付包含我所需要的二进制文件(有点像.exes)?

EN

回答 8

Server Fault用户

发布于 2010-08-30 11:28:32

您可能想看看Nix包管理器。它的整个包管理方法不仅非常有趣,而且该网站还声称它在每个Linux发行版上都能工作,并且允许非特权用户使用它安装软件。您可以在http://nixos.org/nix/上找到更多信息以及所有可用包(约2500)的完整列表。

票数 2
EN

Server Fault用户

发布于 2010-08-30 14:06:52

您可能会认为,更多的人会记住多用户系统,以及在您的主目录下运行软件是如何被接受的。尽管如此,你还是应该确认你的主人不介意。

如果系统没有从源代码编译的依赖项,而且管理员也不会安装它们,那么最好的选项如下:

  • 找到为机器编译的包并提取二进制文件。(如果没有依赖项,这可能仍然会失败。)
  • 找到系统静态编译的二进制文件。包裹或其他东西。
  • 在类似的机器上静态编译并复制
票数 2
EN

Server Fault用户

发布于 2010-08-30 11:14:56

代码语言:javascript
复制
Any easy solutions for this hassling task? Why don't people just deliver binaries that have all I need included in them (sort of like .exes)?

冒着发出咆哮的危险,做这件事的方法是

  1. 获取根特权
  2. 让你的系统管理员按你的要求打电话

我假设你正在使用的机器不是你的,否则#1是可以实现的。根据这个假设,如果这是我的机器,我不希望你在任何时候都能安装新的软件包和库,除非我真的信任你,否则我想让你来找我。这就是linux发行版和linux管理应该如何工作的方式。

所以..。为什么人们不提供二进制文件?这很可能是因为linux (库)本质上是更多的模块,而更多的是零碎的。没有一个像win32这样庞大的核心api,开发人员可以保证它会出现在那里。它们必须依赖于它们需要的显式库和这些库的特定版本,以便在编译时和运行时都可用,这样才能成功地分发其软件。这几乎是普遍正确的。AFAIK,Windows除了最简单的依赖于核心Windows库的exes之外,还存在同样的问题--您必须运行一个具有管理员权限的安装程序来修改注册表和安装库。MacOSX是您正在讨论的最著名的3种操作系统中唯一一种涵盖用例的操作系统,因为所有的.app文件都是完全独立的,并且可以安装在用户的$HOME中,并且工作正常。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/176035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档