Linux가 다른 Linux를 기반으로 하는 경우 이는 해당 프로그램과 호환된다는 의미입니까? [폐쇄]

Linux가 다른 Linux를 기반으로 하는 경우 이는 해당 프로그램과 호환된다는 의미입니까? [폐쇄]

보다 구체적인 예는 다음과 같습니다. Ubuntu 기반 Linux가 있다고 가정하면 Ubuntu용으로 만들어진 프로그램/드라이버가 해당 Linux에서 실행된다는 의미입니까?

답변1

우분투는분배하다, "Linux" 대신.

일반적으로 Linux용으로 작성된 모든 프로그램은 모든 배포판에서 실행됩니다. 그러나 소스에서 직접 컴파일해야 할 수도 있습니다.

배포판이 이 작업을 수행할 수 있습니다. 프로그램을 일종의 바이너리 패키지로 컴파일했기 때문에 배포판과 함께 제공되는 패키지 관리자를 사용하여 패키지를 설치하기만 하면 됩니다.

패키지는 종종 다른 패키지에 의존하기 때문에 다른 배포판의 패키지를 다른 배포판에서 완전히 작동하도록 만드는 것은 어려울 수 있습니다.

즉, 일부 배포판은 밀접하게 관련되어 있고, 동일한 패키지 관리자를 사용하며, 동일한 패키지가 많이 있는 경우가 많습니다(예: Ubuntu와 같은 Debian 기반 배포판). 그런 사람들에게는 효과가 있을 수 있습니다(그러나 항상 그런 것은 아닙니다).

따라서 일반적으로 말해서 프로그램이 배포판에 이미 사용 가능한지 확인하거나 직접 컴파일합니다.

답변2

패키지와 드라이버는 일반적으로 Ubuntu와 같은 Debian 기반 시스템에서 동일합니다. CentOS, Oracle Linux 등 Red Hat Linux 기반 Linux는 동일한 소프트웨어 패키지를 사용합니다. 이것에펠패키지는 둘 다 공통입니다. 하지만 설치나 컴파일 전에 확인해야 합니다.

답변3

드라이버는 일반적으로 특정 하드웨어 또는 장치와의 관계를 의미합니다. 따라서 Linux용으로 제작된 드라이버는 일반적으로 모든 배포판(예: Debian, LinuxMint, SUSE, Red Hat, Slack 등)에서 실행됩니다. 이제 이 섹션에서 발생할 수 있는 문제는 드라이버 제조업체가 드라이버를 배포하는 방법입니다. 특정 설치를 위해 배포판 드라이버를 릴리스한 다음 배포판 유지 관리 담당자나 개인에게 맡겨서 자체 패키지를 만들거나 수동 설치를 수행하는 것을 보는 것은 놀라운 일이 아닙니다.

프로그램에 관한 한, 하나의 Linux 배포판에서 실행되는 프로그램은 일반적으로 필요한 라이브러리, 컴파일러 및 기타 전제 조건이 올바른 한 다른 Linux 배포판에서도 실행됩니다. 프로그램 작성자가 특정 배포판(Ubuntu) 또는 해당 배포판의 특정 버전(Ubuntu 9.10)에 대해서만 설치 메커니즘을 패키징하는 방법에는 드라이버와 관련된 유사한 문제가 있습니다. super_program-ubuntu910.deb그런 것일 수도 있습니다 . 그러나 Ubuntu 9.10용으로 패키지되어 있으므로 Ubuntu 9.10에서 확실히 실행할 수 있습니다. 그러나 일반적으로 다른 Debian 기반 시스템(예: Debian, Linux Mint)에서 이 파일을 설치하고 실행할 수 있습니다. 그러나 RPM 기반 시스템(예: Red Hat, Fedora, SUSE)은 이를 인식하지 못합니다. 이렇게 하려면 소스 코드를 .rpm 패키지로 빌드해야 합니다. 또한 당시에는 일반적으로 패키지를 한 형식 에서 다른 형식으로 또는 그 반대로 alien변환할 수 있는 프로그램이 있었습니다. 그러나 나는 그것을 사용한 적이 없습니다. 아직도 존재하는지 확실하지 않습니다..deb.rpm

위의 내용 외에도 이제 프로그램을 플랫폼에 구애받지 않게 만들려는 몇 가지 방법이 있습니다. 나는 이것들과 그것들이 어떻게 깊이있게 작동하는지 잘 모르지만 Appimage, Snap 및 Flatpak을 살펴 보았지만 여기에 기사가 있습니다.https://medium.com/nitux/cross-distro-linux-applications-1169c3077136

이것이 질문에 대한 답변에 도움이 되기를 바랍니다.

관련 정보