Web*_*ide 176 software-installation
我在这台机器上没有 root 访问权限。
我想知道是否有办法下载 Ubuntu 软件包并将它们安装为非 root 用户?
可能在我的~/bin或~/usr/share类似的东西?那行得通吗?
jbo*_*tie 142
Apt 不直接支持它,但有办法做到这一点。
一种是用来schroot创建非root chroot。这是一个有点复杂的过程,但是您应该能够找到社区帮助,因为许多开发人员为编译代码设置了 chroot 环境。
我知道的第二种方法是从 .deb 包安装。您可以从网站下载它,或者如果它在您可以下载的 Ubuntu 存储库中。
apt-get download package
Run Code Online (Sandbox Code Playgroud)
替换package为包名
dpkg直接从命令行调用 deb 文件后。以下示例将 package.deb 安装到您的主目录中。
dpkg -i package.deb --force-not-root --root=$HOME
Run Code Online (Sandbox Code Playgroud)
像这样使用 dpkg 的缺点是错误消息可能很神秘;dpkg 不会自动解析依赖关系或创建它期望的目录结构。
最后,您可以使用该apt-get source命令获取包的源并将其配置为在本地安装。通常这看起来像:
apt-get source package
cd package
./configure --prefix=$HOME
make
make install
Run Code Online (Sandbox Code Playgroud)
这种方法的缺点是您完全需要可用于这种方法的开发环境,并且您可能会发现自己编译了几十个包以解决所有依赖关系。
编辑:
由于dpkg -i不起作用(请参阅评论),我建议使用此替代方法:
dpkg -x package.deb dir
Run Code Online (Sandbox Code Playgroud)
这会将 .deb 包解压缩到 dir。然后您可以导出二进制文件所在的 PATH。只要安装了二进制文件的所有依赖项,它就应该正常运行。
qbi*_*qbi 17
我假设您要安装jedit。首先,您必须找到该软件包并下载它。我只是从某个镜像中取出deb 文件并打开一个控制台/终端:
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 打开编辑器您可以将文件移动到主目录中的某个位置并从那里执行它们。
小智 13
我编写了一个名为JuNest的程序,它基本上允许在您的 $HOME/.junest 目录中有一个非常小的 Linux 发行版(仅包含包管理器)。
它允许您在主目录中通过 proot 访问您的自定义系统,因此,您可以在没有 root 权限的情况下安装任何软件包。它可以在所有主要的 Linux 发行版下正常运行,唯一的限制是 JuNest 可以在 Linux 内核上运行,最低推荐版本为 2.6.32。
例如,安装 JuNest 后,安装 jedit:
$>junest -f
(junest)$> pacman -S jedit
(junest)> jedit
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
285738 次 |
| 最近记录: |