다른 Linux 시스템으로의 실행 파일 이식성

다른 Linux 시스템으로의 실행 파일 이식성

저는 하나의 Linux 시스템(M1)에 Motion 프로그램을 설치했고 다른 Linux 시스템(M2)에도 동일한 프로그램을 설치하고 싶습니다.

이 프로그램에는 다양한 빌드가 있는데 어떤 것을 사용했는지 잊어버렸습니다. M1에서 user/bin/motion 파일을 직접 복사하여 M2의 user/bin/motion에 배치할 수 있습니까?

구성 파일이 어디에 있는지 알고 있으므로 이를 다른 곳으로 옮기겠습니다. 하지만 모션의 작업 버전이 M2에서 어떤 비디오 드라이버를 사용하는지 잘 모르겠습니다. 알아낼 방법이 있나요?

종속성을 확인할 수 있는 방법이 있나요?

답변1

한 프로그램을 다른 컴퓨터로 이동하려면 다음을 이동해야 합니다.

1) 실행 파일
명령 경로를 찾는 간단한 방법은 type명령입니다.

예를 들어:type cal

cal은 /usr/bin/cal입니다.

2) 라이브러리 의존성
명령을 사용하여 라이브러리 종속성을 찾을 수 있지만 ldd소스에서 프로그램을 컴파일한 경우 두 서버의 CPU 아키텍처가 동일해야 한다는 점을 기억하십시오.

예를 들어:ldd date

linux-vdso.so.1 => (0x00007fff83dff000)
librt.so.1 => /lib64/librt.so.1 (0x0000003784e00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003783e00000)
libpthread. so.0 => /lib64/libpthread.so.0 (0x0000003784200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003783a00000)

3) 구성 파일
새 서버에서는 해당 구성 파일이 이전 서버에 속하므로 구성 파일을 다시 생성하도록 프로그램에 지시해야 할 수도 있습니다.

4) 하드웨어 종속성 확인
이를 확인하려면 해당 프로그램의 홈페이지에서 지원하는 하드웨어를 확인하거나 새로운 환경에서 프로그램을 테스트해 보아야 할 것 같습니다.

관련 정보