使用包管理器将包安装到主目录

使用包管理器将包安装到主目录

我在远程 GNU+Linux 系统上有一个帐户,我通过 SSH 使用该帐户,但我没有该机器的 root 访问权限。有时我需要比系统管理员提供的更多的软件或更新的版本,因此目前我手动在 ~/opt 目录中安装我需要的所有内容,但随着安装的软件包数量的增加,维护起来越来越困难。是否有任何软件包管理器(如 apt、yum、portage)可以在我的主目录中而不是 root 目录中安装东西?

答案1

我最近在寻找类似的东西,并找到了这篇博客文章[1],其中提到使用gentoo前缀和nix前缀

[1]http://invalidmagic.wordpress.com/2011/01/21/running-the-nix-package-manager-in-a-prefix-as-the-home-directory/

答案2

是否有任何包管理器(如 apt、yum、portage)可以将东西安装在我的主目录而不是根目录中?

尽管 yum(和 rpm)和 apt 都能够安装到备用根目录中,但我怀疑它们仍然假定它们以 root 身份运行,如果您尝试以非 root 用户身份运行它们,它们可能会以有趣的方式失败并死亡。

您可以简单地将包中的文件提取到您的主目录中:

cd ~/mypackages
rpm2cpio /path/to/somefile.rpm | cpio -ivd

dpkg您可以通过适当使用ar和对文件执行相同的操作tar

有一些包管理器可以满足你的需要(例如,電子計算機),但您实际上找不到预先为您构建的软件包。如果您从源代码构建和安装,这些软件包非常适合管理您自己的软件集合。

我要补充的是,您的系统管理员可能会对此不以为然。如果您需要更新版本的软件,您可能应该与管理员合作以获取所需的资源,或者您应该考虑运行自己的开发环境。

相关内容