일부 독점 소프트웨어에 대한 질문이 있습니다. 오래 전에 생성되었으며 RHEL5 및 유사한 라이브러리 세트가 필요합니다.모티브 22,PCRE v1, 포트란그런 것들. Centos/RHEL7은 야생에서 필요한 라이브러리 세트를 찾을 수 있는 마지막 운영체제이기 때문에 따라야 할 운영 체제 선택이 크게 제한됩니다. 그 수가 많습니다(200개 이상, 일부 종속성 포함).
이제 업그레이드 아이디어가 떠오르면 RHEL/Centos 7을 설치하거나 컨테이너 내에서 독점 소프트웨어와 해당 라이브러리를 격리하는 방법을 찾을 수 있습니다. 이 소프트웨어는 수학적 계산을 수행하고, 특수 하드웨어와 함께 작동하며, 자주 발생하지만 네트워크 사용량이 적은 작업을 수행합니다.
가상 머신 아이디어는 소프트웨어가 설치된 워크스테이션의 유일한 목적이기 때문에 좋은 옵션이 아니며 소프트웨어에 전체 컴퓨팅 성능을 제공해야 합니다.
여기서 가장 좋은 옵션은 무엇입니까? 기본적으로 이전 독점 소프트웨어와 이전 라이브러리 세트(i686 아키텍처의 경우에도)를 x64 Linux 시스템에 설치해야 하지만 이는 시스템 라이브러리와 분리되어야 합니다. 네트워크, CPU, GPU, RAM 또는 기타 제약 조건을 제한하기 위해 다른 것은 필요하지 않습니다. 그냥 설치 문제일 뿐입니다.
flatpak
설정 스타일을 고려 중이지만 철저한 이해와 광범위한 테스트가 필요합니다. 시간이 부족하여 지금은 감당할 수 없습니다. 그렇다면 이 목적에 적합한 것이 무엇인지 제안해 주실 수 있나요?
감사해요.
답변1
가상 머신 아이디어는 소프트웨어가 설치된 워크스테이션의 유일한 목적이기 때문에 좋은 옵션이 아니며 소프트웨어에 전체 컴퓨팅 성능을 제공해야 합니다.
이것은 오류입니다. 최신 가상화는 매우 효율적입니다. (AWS/Google Cloud Services/Alibaba Cloud/Azure/Digital Ocean/Oracle Cloud/...에서 창출되는 연간 수익 1,000억 달러는 효율성을 높이기 위한 강력한 재정적 인센티브라는 점에 유의하시기 바랍니다.)
특히 i686일 경우 CPU가 컴퓨팅 속도를 높이는 데 필요한 최신 명령어 세트를 활용하지 않습니다.이 소프트웨어는 CPU 성능을 사용하는 데 적합하지 않으며 가상 머신에서 실행하지 않으면 눈에 띄는 개선이 이루어지지 않습니다!
또한 RHEL5를 실행하는 시스템에서 실행 중인 경우 몇 퍼센트의 성능 손실(그런 일이 발생하더라도!)은 그다지 큰 문제가 되지 않습니다. 최신 컴퓨터는 소프트웨어가 원래 실행되었던 시스템보다 훨씬 빨라야 합니다.
그렇습니다. 가상 머신은 실제로 매우 좋은 접근 방식입니다.
당신은 또한 시도할 수 있습니다컨테이너(읽기: podman
또는 docker
) 최신 커널에서 이전 사용자 영역(Linux 배포 시스템)을 실행합니다. 나는 이것을 먼저 시도해 볼 것입니다. (RHEL8/Centos/Fedora/Alma/Rocky Linux 또는 파생물을 가정하면) 매우 적은 노력입니다.
sudo dnf install podman
podman run -it --rm centos:centos5
원하는 centos5/RHEL5 종속성을 설치할 수 있는 시스템이 제공됩니다. 이는 사용자로서 기본 커널에서 실행되므로 호스트 OS에서 직접 "일반적으로" 소프트웨어를 실행하는 것과 컨테이너에서 실행하는 것 사이에는 실제로 차이가 없습니다. 컨테이너는 단지 다른 파일 시스템, 사용자 및 IPC 설정만 볼 수 있습니다(원하는 경우). 저것).
그러나 솔직히 말해서 RHEL5는 너무 오래되었기 때문에 실제 하드웨어를 처리해야 할 때 가상 머신이 유일한 기회일 것입니다.
무엇을 하든 모든 컴퓨터에 배포할 수 있는 표준화된 가상 머신 이미지 롤링을 고려해야 합니다. 그렇지 않으면 어느 날 일어나서 VM이 아닌 작업을 하려는 경우에도 여전히 작동하는 참조 시스템이 없다는 것을 알게 될 것입니다!
장기적으로 귀하의 소프트웨어는 소위 말하는 문제로 어려움을 겪고 있습니다.비트 스핀. Motif22는 몇 년 안에 가상화된 X 서버를 구축할 수밖에 없다는 점을 분명히 합니다. 예를 들어 기본 디스플레이 하드웨어에 대한 가정은 오늘날 많은 최신 시스템에 더 이상 유효하지 않습니다. 이 작업이 주로 수학적인 작업인 경우 UI를 문서화할 사람을 찾고(예, 스크린샷이 잔뜩 필요할 수도 있습니다. 이 작업이 얼마나 복잡한지는 모르겠습니다!) UI를 이식하는 데 얼마나 많은 노력이 필요한지 추정해 보세요. 현대적인 것까지. 또한 실제 수학 루틴에 대한 리소스를 자세히 살펴보고 싶을 것입니다. FORTRAN이라고 하셨죠. 훌륭하네요! 동일한 코드가 최신 컴파일러에서 제대로 컴파일되고 더 빠르게 실행될 수도 있습니다. GUI+Core를 최신 시스템으로 포팅하려면 여전히 약간의 노력이 필요하지만(이미 완료되었습니다) 그만한 가치가 있습니다. 상대적으로 적은 노력으로 큰 속도 향상을 얻을 수 있으며 결과적으로 더 나은 사용자 경험을 얻을 수 있습니다. (그리고 요즘에는 컨테이너와 마이크로 VM이 덜 문제가 되지만 현대 환경에서 직접 실행할 가능성도 있습니다.)