是否可以将包/软件复制粘贴到 Linux 中的另一台机器?

是否可以将包/软件复制粘贴到 Linux 中的另一台机器?

以下是一个示例场景:

从新目录开始,例如 /myapps 。安装一个单独的(预编译或源)python 到 ./usr/bin (相对于安装目录而不是系统 /usr/bin)并将各种 eggs 安装到这个自定义 python 。这可以使用类似 buildout 的东西来完成。

现在,另一个拥有相同操作系统版本的用户只需 rsync 文件夹即可保持精确的文件夹结构,他是否能够像其他用户一样使用 python。他真的必须再次安装东西吗?

我认为大多数 Linux 软件包管理器的工作方式与 /myapps 类似,类似于 /usr,即文件保存位置的默认约定。除非您想像 gentoo 安装那样进行优化,否则编译不是强制性的。换句话说,我认为大多数软件包管理器所做的是:

1)需求检查

2)将预编译的内容复制/粘贴到标准位置,如 /usr/lib /usr/bin

3)更新菜单

第一台机器的一些先决条件:

安装此目录内的所有内容,而不是目录外的所有内容。它以普通用户身份运行,无需 sudo 。

在 Windows 中,我认为这将具有挑战性,因为注册表等我不确定是否像普通文件系统概念一样。但在 *nix 中,这应该如此简单吗?

答案1

这是完全可能的(但通常你通过创建虚拟环境并捆绑整个虚拟环境根目录可以实现相同的结果)。如果某些 python 包需要外部库而其他用户没有安装它们,你就会遇到麻烦(这就是为什么你通常使用虚拟环境和 pip bundle/pip freeze 来做到这一点)。

包管理器运行所谓的安装脚本。它们可以包含任何代码,但通常它们会添加所需的用户/组,编辑一些其他配置(因为您无法在配置中“安装”一行;将所有 *.conf 拆分为 *.conf.d 的举动有点帮助,但我们甚至还没有完成它),但对于大多数 python 包,您会没事的。

相关内容