用户本地包管理系统


10

我需要以SuSE中的非特权用户身份来部署,管理和运行软件(也就是说,根本没有root访问权限,不能使用系统的程序包管理等)。

我有什么选择?

我希望通过以某种方式设置单独的用户本地存储库来重用系统的程序包管理器(YaST)。第二好的选择是一个单独的程序包管理系统,它支持用户本地存储库。最好还支持推式更新(与拉式相反)。


我一直在寻找规范的问题,但直到我开始对此悬赏后才发现。- 非基础软件包管理员
Piotr Dobrogost 2013年

我认为除了已经说过的以外,没有太多要说的了。有多种可能的方法可以以非root用户身份安装软件,但是没有任何正式的系统,因此没有规范的答案。虽然这可能看起来像一个“非常有趣和重要”的问题,它可能只所以谁拥有这样的事情,在考虑了潜在的严重需要用户的小众巨大的头痛所涉及的工程量,并有助于解释为什么它没有发生。
goldilocks 2013年

Answers:


7

对于Gentoo来说,有一个Gentoo Prefix项目,它允许您将软件包安装到不同于/的地方。Gentoo的Package Manager Portage是用Python编写的,并且非常便于移植,因此您可以轻松地为该用户建立新树,该用户可以完全访问该树,而不会破坏任何内容。

我看到两个问题:

  1. 您可能必须编译很多东西或以这种方式为用户构建二进制包,并且可能必须安装两次东西,以便前缀事事正常工作(我认为很难事事建设)针对您已经安装的软件包的方式)

  2. 您没有推送服务。

我看到的另一种方法是提供一堆tar.gz文件,这些文件基本上只是从您的发行版中定制的软件包,使用不同的前缀对其进行了修补:假设您在每个用户dir中创建一个“ Library” dir并添加“〜 / Library / usr / bin”到每个用户的路径,可以启动一个简单的程序包管理器来进行安装(您也可以查看Arch Linux的pacman,因为它基本上只是.tar.gz文件和相关性。


1
但是他没有使用Gentoo,而是在SuSE上。那么这有什么帮助呢?
ire_and_curses

就像ire_and_curses所说的,这是给Gentoo的,而不是SuSE的。我会投票,但我只有123次
投票(投票

3
Gentoo前缀也可以安装在SUSE上。
zjhui

3
虽然这不是SuSE特定的答案,但是没有SuSE特定的答案,因此绝对必须拥有可以做到这一点的linux系统的人可能会对知道实际可用的东西感兴趣。“替代品”是几乎不相关或切线如果是这样,事实上,唯一的可能性。+1
金发姑娘

0

使用特权用户管理器[许可:(],您可以运行需要以普通用户身份超级用户访问权限的命令。


2
嗨!有人可以详细说明一下吗?用户是否可以在受限的网络环境中(即无权使用本地/远程代理设置等进行操作)正常使用Linux(获取软件包,安装,编译等)?
Nikos Alexandris

0

您可以在中允许所有zypper family command用户使用/etc/sudoers file


您能更精确一点吗?您如何做,必须采取什么预防措施以及任何风险?
vonbrand

zypper命令,例如debian或yumredhat-base发行版中的apt-get 。因此,您可以:youruser ALL = NOPASSWD: /usr/sbin/zypper,那么您不需要root特权和密码。
PersianGulf

指定命令时,您没有任何风险。
PersianGulf

1
当然可以,没有风险。并不是说任何可以安装/删除软件包的随机用户都可以皇家使用该系统。
vonbrand

否,因为系统本身使用锁定系统。
2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.