在我的工作场所,我在RedHat和Suse机器上有一个常规用户帐户。 我没有root权限。
我如何安装我从互联网下载的软件(来源或二进制文件)?
例如,现在我想安装Geany IDE供我自己使用。 我试图下载源代码并进行编译,而且我试图安装RPM,但是这些工作都不行,因为它需要根目录。
您可以将软件安装到您自己的主目录中。 如果您可以从源代码编译,而且软件包使用automake,则可以在configure上使用以下选项:
--prefix=$HOME/install
pipe他呢。 同样,rpm也有一个前缀选项。 但是,这只有在rpm被构build为可重定位时才有效。
我使用JuJu ,它基本上允许在你的$ HOME / .juju目录中有一个非常小的Linux发行版(只包含软件包pipe理器)。
它允许您的自定义系统通过proot访问主目录,因此,您可以安装任何没有root权限的软件包。 它可以正常运行在所有主要的linux发行版上,唯一的限制是JuJu可以在Linux内核上运行,最小的版本为2.6.32。
例如,安装好JuJu后安装pip只需键入如下内容:
$>juju -f (juju)$> pacman -S python-pip (juju)> pip
大多数情况下,您可以通过PREFIX进行configuration,将其安装到您的主目录中:
./configure --prefix=/home/ioks/bin
这可能会解决权限问题。
下面是一个非常好的文档,解释RPM的非root用法:
“你被告知使用RPMs需要系统pipe理员权限?你被误导了。
如果你想把它安装在标准的位置(/ usr / bin等),简单的回答是,除非系统pipe理员设置了一些特殊的东西来允许你这么做,否则你不会这样做。
如果您是从源代码编译,大多数软件包都有一个–prefix选项,允许您设置非标准的安装目标。 这使您可以在主目录中安装东西,包括可以用于其他软件包的库。
嗯。 这并不是说这可能是用户可以做的事情,但是我想知道,是否有覆盖“标准”系统安装目录的每用户“覆盖”文件系统(union-fs等)是合理的,没有特权的用户在“正常”的地方安装软件。
你也可以使用一个全局的union-fs文件系统来从分发包中分离pipe理员安装的非标准SW(通常在很多系统上的/ usr / local / *中)。 (也许也分开更新,甚至允许“回滚”XPA系统还原)。
嗯
我和你有同样的问题 我还没有尝试过,但似乎Linuxbrew可以在这个问题上得心应手。