Tak*_*kat 36 software-center deb software-installation
当通过软件中心或 DEB 文件安装应用程序时,它们通常会在系统范围内为所有用户安装。
有没有办法只为单个用户安装应用程序?
Oli*_*Oli 11
Welldpkg
不会帮助你,因为这不是它的设计目标。它希望成为系统上安装的软件包的根拥有的唯一普查。
唯一能想到的就是解压缩包并尝试将文件手动放置在主目录中。
然而,这只适用于某些事情。大量的包被分成块(可执行文件或脚本/usr/bin
,库文件/lib
和其他 garb in/usr/share
等),这些位置由构建脚本硬编码。因此,如果你尝试将这样的东西拉入~
,它就会破裂。你可以花几个小时来解除依赖,但你可以用你的时间做一些有用的事情,比如找到治愈癌症的方法或吸收世界上的一些美丽。
从编写软件的人那里获取非打包版本会更好。几乎所有的免费软件都以某种形式的压缩档案作为源提供,所以抓住它并构建它。你不做这make install
一步。您的应用程序已构建,只需将其放在您想要的位置即可。
我对这个主题不太了解,但从其他答案看来,您可以使用参数将包安装到另一个目录而不是/
with dpkg
,--root
然后chroot
对包所在的目录执行 a安装”(当然可以是用户主目录中的目录)。
要为 以外的用户安装软件包,root
可以使用上述过程fakechroot
代替chroot
。
免责声明:我没有尝试这一点,并没有在写作的时候多少经验dpkg
或chroot
,但是从我不知道这些工具,这个过程只可能工作。
包含可能对想要达到chroot
无root
能力效果的人有用的信息的链接:
chroot
fakechroot
)我现在已经做了一些涉及这个主题的事情,并发现了更多......
片段(本地环境构建块):
chroot(1)
完整(完整的本地环境提供者):
chroot(1)
,mount --bind
,binfmt_misc
,和使用运行与其他架构的二进制文件的qemu-用户空间简介: 通过在本地模拟或实际拥有 root 权限,可以为本地环境安装 DEB 包。
根据您想要完成的工作,可能有不同的方法来完成这项工作(或者至少给您想要的功能提供一个看似简单的外观)。
以多种方式安装软件归结为使资源可用,或允许访问系统上已经存在的东西。
无论您是在谈论授予对打印机的访问权限,还是允许用户在某个目录中执行程序,都有一些方法可以实现这一点,尽管它们可能是 Ubuntu 原生的,但这些类型的解决方案通常(当然)在 .deb 安装之后添加。
以下是可以添加的两种通用安装后控制类别。请注意,考虑到正确的环境,例如,当严格控制的组策略到位时,一旦您拥有基本系统,这可能会更容易。这些权限甚至可以绑定到 LDAP 或类似的系统,该系统可以为每个用户或组提供身份验证和授权。
可见性控制
我自己可能也遇到过类似的情况,但就我而言,用户还不是(还)非常老练(他们都在 7 岁以下)。对我来说,只需隐藏 Gnome 菜单和/或删除桌面启动器即可。
从目录中删除可执行位消除了进程搜索或遍历它们的能力。它可以有效地使它们不可见,并且用户明智地使它们不可用。例如,如果您有一个基于文件访问创建菜单的默认系统策略,您可以使用这种装饰性解决方案,然后只需很少的额外工作即可使其用于后续安装。
执行控制
资源的控制可以通过 Unix 权限、apparmor 配置文件、SELinux 权限等来完成。可能还有其他级别的控制过滤,这取决于应用程序。在没有更有针对性的解决方案的情况下,您可能必须围绕某些程序编写包装器来控制用户或进程访问。
归档时间: |
|
查看次数: |
9823 次 |
最近记录: |