Red Hat 및/또는 Fedora(및/또는 다른 배포판?)의 RPM에 대해 약간 혼란스럽습니다. 64비트 RPM이 필요한 64비트 OS와 32비트 RPM이 필요한 32비트 OS는 괜찮습니다. 하지만... OpenOffice.org용 RPM이 있다면 어떤 방식으로든 해당 RPM이 허용됩니까? RPM은 모든 운영 체제에서 작동합니까, 아니면 사용 중인 운영 체제에 맞게 특별히 맞춤화된 RPM을 찾아야 합니까?
답변1
평소와 같이 대답은 다릅니다. RPM(또는 기본적으로 특정 바이너리 패키지)에는 실행 가능한 코드가 포함되어 있습니다. 대부분의 경우 코드는 일부 라이브러리나 프로그램에 의존하며 패키지는 libA
버전 >= 1.0의 라이브러리에 의존한다고 지정합니다.
이제 RPM 패키징 형식을 사용하는 두 가지 배포판이 있습니다. 누군가 libA-1.0 패키지를 호출하여 RPM이 libA에 종속되도록 지정했다고 가정해 보겠습니다. 두 번째 바이너리 배포판은 다른 naimg 체계를 가지며 패키지 앞에 접두사를 붙이므로 language
이름이 입니다 language-libA
. 두 libA 패키지의 내용이 동일하더라도 패키지 관리자는 이를 알 수 없습니다. 물론 종속성을 확인하지 않고 RPM이 패키지를 설치하도록 강제할 수도 있지만 이는 일반적으로 요구되는 페널티일 뿐입니다.
두 배포판이 서로 관련되어 있거나 서로 종속되어 있으면 문제는 덜 심각합니다. 예를 들어 Ubuntu는 debian을 기반으로 하므로 많은 명명 규칙과 패키지를 공유하므로 패키지 빌드를 debian에서 Ubuntu 시스템으로 전송할 수 있습니다.
또한 패키지가 작성된 언어에 따라 많이 달라집니다. 패키지가 기본적으로 텍스트 파일 묶음인 Python과 같은 해석이 있는 경우 다양한 배포판에 대한 패키지를 얻는 것은 일반적으로 처리하기 쉽지만 Python으로 작성된 경우 Python 및 C++에 종속되며 두 배포판 모두 서로 다른 버전의 핵심 라이브러리 또는 컴파일러를 사용하므로 기본적으로 운이 좋지 않습니다.
답변2
또한탄트의 대답. 이는 기본적으로 메타데이터가 포함된 zip 파일인 바이너리 콘텐츠가 올바르게 링크되었는지 여부에 따라 달라집니다. 그렇지 않으면 다시 링크해야 하며 그렇지 않으면 작동하지 않습니다. 일부 RPMS에는 연결할 필요가 없는 Perl 모듈과 같은 항목만 포함될 수 있으므로 올바른 위치에 있는 한 제대로 작동합니다. 그러나 IIRC에는 RPM 형식이 두 개 이상 있으며 OpenSuse의 RPM 형식이 Red Hat의 RPM 형식과 약간 다르기 때문에 Fedora에서는 작동하지 않을 것이라고 생각합니다. 라이브러리 버전이 매우 다르고 링크가 다운될 것이기 때문에 Fedora 패키지는 Red Hat에서 실행될 가능성이 거의 없습니다.
요컨대, 아니요, 작동하지 않습니다. 애쓰지 마세요. 플래시, oracle(oracle을 다시 연결해야 함을 알 수 있음), avg 등에 대해 제공된 것과 같은 일반 RPM만 다른 곳에서는 작동할 수 있습니다.