모든 Linux 기반 운영 체제에서 실행되어야 하는 Python 스크립트를 작성하려고 합니다. Python 스크립트는 내가 컴파일하고 스크립트에 포함시킨 일부 기존 도구(예: pathload 및 iperf)의 실행 파일을 호출합니다.
이렇게 하려면 모든 Linux 운영 체제 및 아키텍처에서 실행되는 실행 파일을 컴파일해야 합니다. 현재 32비트 및 64비트 Ubuntu용으로 컴파일했지만 Redhat 시스템에서는 실행되지 않습니다(종속성 문제). 실행 파일을 컴파일할 수 있도록 널리 사용되는 모든 OS 유형(debian 기반, redhat 기반, archlinux 기반 및 기타)에 대해 무엇이 존재하는지 말해 줄 수 있습니까?
또한 이 작업을 수행하는 더 좋은 방법이 있습니까?
질문을 바꿔야 할 경우 알려 주시기 바랍니다.
답변1
Also, is there any better way of achieving this task?
예, 저는 적어도 두 가지 접근 방식을 생각했습니다.
- 소스코드를 배포할 수 있습니다. "Unix"는 소스 코드에서 "포팅"하는 오랜 전통을 가지고 있습니다. iperf와 pathload는 모두 소스별로 할당되며 둘 다
autoconf
이식성을 "부여"하는 데 사용됩니다(이것은 우연이 아닙니다). 응용 프로그램 설치 프로그램 프로세스 중에 컴파일을 "만" 자동화해야 합니다. - 애플리케이션이 Linux에서만 실행되는 경우 다음과 같은 도구를 사용할 수 있습니다.openSUSE 빌드 서비스그럴 수 있습니다
used for development of the openSUSE distribution and to offer packages from same source for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions
. 구성 파일만 작성하면 OBS가 다양한 UNIX 배포판에 대해 응용 프로그램을 컴파일하고 패키지합니다.
분명히 두 솔루션 모두 구현하는 데 시간과 노력이 필요합니다.
답변2
Linux 커널은 많은 아키텍처에서 실행되며 arch
소스 코드의 디렉토리에는 32개가 나열되어 있습니다(일부는 실제로 x86 및 x86_64와 같이 여러 개가 있으며 arm은 그야말로 동물원입니다). 총합은 아마 50에 가까울 겁니다.