linux没有root权限如何安装软件,我如何安装没有root权限的软件包?

问题描述

我在这台机器上没有root权限。

我想知道是否有办法下载Ubuntu软件包并将它们安装为non-root?

可能在我的~/bin或~/usr/share或类似的东西?这会起作用吗?

最佳解决办法

Apt不直接支持它,但有办法做到这一点。

一种是使用schroot创建non-root chroot。这是一个有点involved process,但你应该能够找到社区帮助为许多开发人员设置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

这种方法的缺点是你需要这种方法可用的开发环境才能工作,并且你可能会发现自己编译了数十个包来解决所有的依赖关系。

次佳解决办法

我假设你想安装jedit。首先你必须找到包并下载它。我拿着deb file from some mirror并打开一个控制台/终端:

mkdir /tmp/jedit && cd /tmp/jedit – 在tmp中创建了一个新的方向,并进行了更改。

wget http://mirrors.kernel.org/ubuntu/pool/universe/j/jedit/jedit_4.3.1.dfsg-0ubuntu1_all.deb – 下载包

ar x jedit_4.3.1.dfsg-0ubuntu1_all.deb或易于输入的ar x *.deb – 提取文件内容

tar xvzf data.tar.gz – 文件data.tar.gz具有执行软件所需的所有东西

usr/bin/jedit打开编辑器

完成:-)

您可以将文件移动到主目录中的某个位置,然后从那里执行它们。

第三种解决办法

我写了一个名为JuJu的程序,它基本上允许在你的$ HOME /.juju目录中有一个非常小的Linux发行版(只包含软件包管理器)。

它允许您的自定义系统通过proot访问主目录,因此,您可以安装任何没有root权限的软件包。它可以正常运行到所有主要的Linux发行版,唯一的限制是JuJu可以在最低推荐版本2.6.32的Linux内核上运行。

例如,安装JuJu安装jedit之后:

$>juju -f

(juju)$> pacman -S jedit

(juju)> jedit

参考资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值