如何在没有root访问权限的情况下安装软件包?

Modified on: Sat, 09 Jun 2018 00:09:53 +0800

我在这台机器上无root访问

我想知道我是否有办法可以下载Ubuntu软件包并将其安装为非root用户?

可能在我的~/bin~/usr/share或类似的东西?那会有用吗?

最佳答案

Apt不直接支持它,但有办法实现。

一种是使用schroot来创建非root chroot。这是一个有点参与过程,但您应该能够为尽可能多的开发人员找到社区帮助设置chroot环境以编译代码。

我知道的第二种方法是从.deb包安装。您可以从网站下载此文件,或者如果它位于您可以下载的Ubuntu存储库中。

apt-get download package

package替换为包的名称

一旦你的deb文件直接从命令行调用dpkg。以下示例将package.deb安装到您的主目录中。

dpkg -i package.deb --force-not-root --root=$HOME 

使用像这样的dpkg的缺点是错误消息可能是神秘的; dpkg不会自动解析依赖关系或创建它期望的目录结构。

最后,您可以使用apt-get source命令获取包的源并将其配置为在本地安装。通常这看起来像:

apt-get source package
cd package
./configure --prefix=$HOME
make
make install

这种方法的缺点是您需要可用于此方法的开发环境才能工作,您可能会发现自己正在编译许多软件包以解决所有依赖关系。

修改强>

由于dpkg -i不起作用(见评论),我建议这个替代方案:

dpkg -x package.deb dir

这会将.deb包解压缩到dir。然后,您可以导出二进制文件所在的PATH。只要安装了二进制文件的所有依赖项,它就应该正常运行。


相关问答

添加新评论