Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux上帮助管理多个版本的可执行文件集的工具?_Linux_Unix - Fatal编程技术网

在Linux上帮助管理多个版本的可执行文件集的工具?

在Linux上帮助管理多个版本的可执行文件集的工具?,linux,unix,Linux,Unix,我们在一个网络化的Linux环境中,我要寻找的是一种FOSS或通用系统级方法,用于管理每个会话使用的可执行文件和库的版本。可执行文件最好安装在网络上。可执行文件将是内部工具和商业软件包(如Houdini、Maya和Nuke)的安装 这样做的需要是,我们更愿意安装多个版本的软件,并为艺术家提供,但需要有一个简单的方法来选择使用哪个版本。另外一个好处是,我希望能够跟踪用于生成给定输出(作为元数据)的软件版本。我曾在成功地做到这一点的工作室工作过,但在如何实现这一点上,我并没有100%跟上进度。给定集

我们在一个网络化的Linux环境中,我要寻找的是一种FOSS或通用系统级方法,用于管理每个会话使用的可执行文件和库的版本。可执行文件最好安装在网络上。可执行文件将是内部工具和商业软件包(如Houdini、Maya和Nuke)的安装

这样做的需要是,我们更愿意安装多个版本的软件,并为艺术家提供,但需要有一个简单的方法来选择使用哪个版本。另外一个好处是,我希望能够跟踪用于生成给定输出(作为元数据)的软件版本。我曾在成功地做到这一点的工作室工作过,但在如何实现这一点上,我并没有100%跟上进度。给定集合中的每个可执行文件都为该集合分配了一个uber版本。这样,studio工具的“批准包”都被压缩成一个已知可以协同工作的工具包

由于安装方式的原因,一些程序可以轻松地进行设置(只需将安装目录添加到$PATH即可)。其他程序并没有让它变得那么容易。我特别担心如何处理程序可能安装的库。现在需要的是一个通用的访问方法,我可以使用它将所有内容包装到一个干净的前端

是否有人知道这样一个系统在野外可用,或者我必须从头开始实施它?谷歌在寻找解决方案方面没有太大帮助


谢谢

有。我只在funtoo(gentoo的后代)上使用过它,但它似乎在做你需要的事情。它也完全是用BASH编写的,所以应该很有可能移植到其他发行版。

有。我只在funtoo(gentoo的后代)上使用过它,但它似乎在做你需要的事情。它也完全是用BASH编写的,所以应该可以移植到其他发行版;它在HPC中的应用相当广泛。

请查看以下“模块”系统:;它在HPC中的应用相当广泛。

查看
chroot
手册页,如果这是一个解决方案的话。chroot是一个比我想象中更重的工具。使用chroot,我将无法访问大部分操作系统和系统,我需要在监狱中重新实现它才能使用它。我考虑的更多的是一组符号链接或shell脚本来设置选择软件版本“set”的环境变量。我正在寻找的是任何现有的工具集来帮助实现和管理这样一个系统。那么,在启动程序之前,最好将PATH和LD_LIBRARY_PATH的组合设置为正确的值。如果这是一个解决方案,请查看
chroot
手册页。chroot比我想象的更为繁重。使用chroot,我将无法访问大部分操作系统和系统,我需要在监狱中重新实现它才能使用它。我考虑的更多的是一组符号链接或shell脚本来设置选择软件版本“set”的环境变量。我想要的是任何现有的工具集来帮助实现和管理这样一个系统。那么,在启动程序之前,最好将PATH和LD_LIBRARY_PATH设置为正确的值。