1 linux rhel software-installation
我对一些专有软件有一个问题:它是很久以前创建的,需要 RHEL5 和一组库,如motive22、pcre v1、fortran等。它极大地限制了我需要遵循的操作系统的选择,因为 Centos/RHEL7 是我能够在野外找到所需的库集的最后一个。它们的数量很大(超过 200 个,并且有一些依赖性)。
现在,当我有升级的想法时,我有一个选择:是安装 RHEL/Centos 7 还是想办法将专有软件及其库隔离在其容器内。软件执行数学计算,与特殊硬件配合使用,并执行频繁但网络使用率低的操作。
虚拟机的想法不是一个好的选择,因为软件是安装它的工作站的唯一目的,所以我需要向软件提供它的全部计算能力。
这里最好的选择是什么?基本上我需要将旧的专有软件和旧的库集(即使是 i686 架构)安装到 x64 Linux 机器中,但它应该与系统库分开。我不需要任何其他东西来限制网络、CPU、GPU、RAM 或其他限制。只是安装问题。
我正在考虑flatpak设置的风格,但它需要彻底的理解和广泛的测试——由于缺乏时间,我现在无法承担这些。那么,您能建议我什么可以适用于该目的吗?
谢谢。
\n\n虚拟机的想法不是一个好的选择,因为软件是安装它的工作站的唯一目的,所以我需要向软件提供它的全部计算能力。
\n
这是一个谬论:现代虚拟化非常高效。(您会注意到,AWS/Google Cloud Services/Alibaba Cloud/Azure/Digital Ocean/Oracle Cloud/\xe2\x80\xa6 每年产生的 N\xc2\xb71000 亿美元收入是提高效率的强大财务激励.)
\n特别是如果它只是 i686,它就不会利用 CPU 必须使计算速度更快的现代指令集。该软件不利于使用您的 CPU 能力,并且不在虚拟机中运行它也不会带来任何明显的改善!
\n另外,如果它在运行 RHEL5 的系统上运行,损失几个百分点的性能(即使发生这种情况!)也没什么大不了的 \xe2\x80\x93 现代计算机必须比软件最初运行的计算机快得多。
\n所以,是的,虚拟机确实是一个非常好的方法。
\n您还可以尝试容器(阅读:podman或docker)在现代内核上运行旧用户区(Linux 发行版系统)。我会先尝试一下;它的工作量非常低(假设是 RHEL8/Centos/Fedora/Alma/Rocky Linux 或衍生版本):
sudo dnf install podman\npodman run -it --rm centos:centos5\nRun Code Online (Sandbox Code Playgroud)\n将为您提供一个系统,您可以在其中安装您想要的任何 centos5/RHEL5 依赖项。它作为您的用户在您的本机内核上运行,因此直接在主机操作系统上“正常”执行软件与在容器 \xe2\x80\x93 中运行软件之间实际上没有区别,容器只是看到不同的文件系统、用户和 IPC 设置(如果您需要的话)。
\n但老实说,RHEL5 太老了,当您需要处理实际硬件时,虚拟机可能是您唯一的机会)。
\n无论您做什么,您都应该考虑滚动一个可以部署在任何计算机上的标准化虚拟机映像。否则,有一天你醒来时会发现没有仍然有效的参考系统,即使你想做一些非虚拟机的事情!
\n从长远来看,您的软件正在遭受所谓的位腐烂。Motif22 清楚地表明,除了在几年内建立虚拟化 X 服务器 \xe2\x80\x93 之外,您别无选择。例如,对于显示硬件底层的假设现在对于许多现代系统来说已经不再有效了。如果这个东西主要做数学计算,找人记录一下UI(是的,这可能只是一堆截图\xe2\x80\x93我不知道这个东西有多复杂!)然后估计一下有多少将用户界面移植到现代的东西需要付出努力。您还需要挖掘实际数学例程的资源。你说它是 FORTRAN——那太好了!很可能相同的代码在现代编译器上编译得很好,而且运行速度更快。将 GUI + Core 移植到现代系统仍然需要付出一些努力(曾经做过),但这是值得的,\xe2\x80\x93 相对较少的努力就能获得很大的加速,并且可能是一个更好的用户经验就是你的奖励。(以及直接在现代环境中运行的可能性,即使容器和微型虚拟机现在已经不是什么大问题了。)
\n| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |