![用户本地包管理系统](https://linux22.com/image/41767/%E7%94%A8%E6%88%B7%E6%9C%AC%E5%9C%B0%E5%8C%85%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F.png)
我需要在 SuSE 中以非特权用户身份部署、管理和运行软件(即没有任何 root 访问权限,无法使用系统的包管理等)。
我有什么选择?
我更喜欢通过某种方式设置一个单独的用户本地存储库来重用系统的包管理器(YaST)。第二个最佳选择是支持用户本地存储库的单独的包管理系统。最好它还支持推送式更新(而不是拉式更新)。
答案1
对于 Gentoo 来说有Gentoo 前缀项目,它允许您将包安装到 / 以外的地方。 Gentoo 的包管理器 portage 是用 Python 编写的,非常便于移植,因此您可以轻松地为用户设置一个新树,该用户可以完全访问该树,而不会破坏任何内容。
我看到的两个问题:
您可能必须以这种方式编译很多东西或为用户构建二进制包,并且您可能必须安装很多东西两次才能使前缀 thingy 正常工作(我认为构建东西会很困难)反对你已经安装的软件包)
你不会有推送服务。
我看到的另一种方法是提供一些 tar.gz 文件,这些文件基本上只是来自您的发行版的定制软件包,修补后使用不同的前缀:假设您在每个用户目录中创建一个“Library”目录并添加“~” /Library/usr/bin”添加到每个用户的路径中,可以启动一个简单的包管理器来处理安装(您也可以查看 Arch Linux 的 pacman,因为它基本上只是 .tar.gz 文件和依赖项。
答案2
使用特权用户管理器 [ 许可 :( ],您可以像普通用户一样运行需要超级用户访问权限的命令。一切都会被跟踪和审核
答案3
您可以将所有权限授予zypper family command
您的用户/etc/sudoers file
。