최근 Ubuntu 14.04에서 XFCE mint Linux로 마이그레이션하기로 결정했습니다. Ubuntu에 설치된 게임이 Mint에서 실행될 수 있습니까? 홈 폴더를 외장 하드 드라이브에 복사했는데, 제가 설치한 게임(War Thunder)을 설치하고 모든 파일을 메인 하드 드라이브 Mint에 복사하여 붙여넣은 후 Mint에서 실행되는지 궁금합니다. 그래픽 드라이버를 다시 설치해야 하는 것으로 알고 있습니다. 감사해요.
답변1
모든 Linux 배포판은 기본적으로 동일한 소프트웨어를 실행합니다. 배포판은 주로 설치 절차, 소프트웨어 설치 메커니즘, 특정 시스템 구성 요소(초기화 시스템, 네트워크 관리 등) 선택 및 특정 배포판에서 권장되거나 필수일 수 있는 패키지 소프트웨어가 다릅니다.
대부분의 경우 배포판 A에서 실행되는 소프트웨어는 필요한 구성 요소가 설치되어 있는 한 배포판 B에서도 실행됩니다. 대부분의 경우도서관. 데스크탑/서버 배포판은 대부분 동일한 라이브러리 세트를 제공합니다(내장형 배포판은 또 다른 이야기입니다). 그러나 배포 A의 특정 버전과 배포 B의 특정 버전에는 서로 다른 버전의 라이브러리가 포함될 수 있습니다.
배포판 간의 비호환성은 주로 라이브러리 버전이 다르기 때문에 발생합니다.
Linux Mint는 Ubuntu 또는 Debian(Ubuntu는 Debian 기반)을 기반으로 하지만 항상 동시에 출시되지는 않으므로 귀하가 보유하고 있는 Ubuntu 버전과 현재 보유하고 있는 Mint 버전에는 동일한 라이브러리가 포함되어 있지 않을 수 있습니다.
프로그램에 필요한 라이브러리를 확인하려면 실행 파일을 찾아 실행하십시오.ldd
그들에게 명령을 내리십시오. 다음과 같은 출력이 표시됩니다.
$ ldd /bin/ls
linux-vdso.so.1 => (0x00007fff0938a000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007ffbfb2c9000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007ffbfb0c1000)
libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007ffbfaeb7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffbfab2c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffbfa928000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffbfb525000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ffbfa70b000)
libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007ffbfa506000)
각 줄에는 해당 라이브러리가 포함된 파일의 경로와 함께 프로그램에 필요한 라이브러리가 나열됩니다. "찾을 수 없음"이 표시되면 해당 특정 라이브러리가 설치되어 있지 않음(또는 사용 중인 버전이 호환되지 않음)을 의미합니다. 일반적으로 libfoo.so.42
비슷한 이름의 패키지에 있지만 libfoo-42
때로는 라이브러리가 다르게 그룹화되어 라이브러리 파일과 라이브러리 패키지가 다른 번호를 가질 수 있습니다. 당신은 그것을 사용할 수 있습니다apt-file
이 명령은 특정 파일 이름이 포함된 패키지를 찾습니다.
때로는 올바른 버전의 라이브러리 A가 있지만 프로그램 P에는 라이브러리 B의 버전 1에 대해 컴파일된 라이브러리 A가 필요하며 배포판은 라이브러리 B의 버전 1과 버전 2를 모두 제공하지만 버전 2에 대해 컴파일된 라이브러리 A의 버전 2만 제공합니다. 이러한 문제는 진단하고 해결하기가 더 어려울 수 있습니다. 프로그램(소스 코드가 있는 경우)이나 라이브러리를 다시 컴파일하는 것이 한 가지 해결책이지만 항상 쉬운 것은 아닙니다.두 배포판(또는 배포판의 두 버전)을 병렬로 유지또 다른 솔루션이 될 수 있습니다(유지 관리 노력과 디스크 공간에 있어 0이 아니지만 큰 오버헤드는 아님).