2014-09-12 5 views
0

Vagrant와 VirtualBox를 사용하여 제품에 대한 재현 가능한 빌드 환경을 설정하고 있습니다. 우리는 RHEL7, Oracle7 및 Ubuntu 14를 목표로하고 있습니다. 몇 RPM 빌드 가이드를 읽었지 만 한 가지 확실하지 않습니다. 예를 들어, RHEL6을 사용하여 RHEL 6.4에서 rpm을 빌드했지만 6.0 이상과의 호환성을 유지하려고한다고 가정 해보십시오. 생성 된 RPM이 전체 RHEL 6 시리즈와 호환 될 수 있습니까? 아니면 6.0을 기반으로 빌드해야합니까?호환성을위한 RPM 빌드 환경

근본적으로 나는 Vagrant가 시스템을 최신 사소한 릴리스로 업데이트하고 rpm 빌드 환경에서 패키지를 업데이트해야하는지 결정하려고합니다.

답변

0

나는 호환성 보증이 어디에서든지 시리즈의 어느 곳에서나 시작되었다는 가정하에 항상 작동 했었지만 적어도 깨진 부분은 한 번 보았습니다 (우연인지는 알 수 없습니다) 또는 아닙니다).

안전을 위해 공식적으로 지원하고 싶은 시리즈 중 가장 오래된 버전을 사용하는 것이 좋습니다.

1

일반적으로 공용 인터페이스에만 의존하고있는 한 일반적입니다. 공용 인터페이스가 무엇인지 판단하는 것이 쉽지는 않습니다. 주요 릴리스의 수명주기 동안 Red Hat Enterprise Linux: Application Compatibility GUIDE

에서

는, Red Hat은 마이너 릴리스와 에라타 권고에 걸쳐 핵심 런타임 환경에 대한 바이너리 호환성을 유지하기 위해 상업적으로 합리적인 노력을합니다.

그렇게되면 얻을 수있는 최상의 보장입니다. 편집 : 참조 Red Hat Enterprise Linux Application Compatibility Policies

RHEL 5.x 및 6.x에서는 바이너리가 이전 마이너 릴리스 인 에서 실행 된 많은 프로젝트를 빌드했습니다. 아무런 문제가 없습니다. (이 응용 프로그램의 바이너리 인터페이스는 최소한이지만 libc/libstdC++ 및 기타 라이브러리 3-4 개와 파이썬 프로그램에만 국한됩니다.)

(커널 모듈을 빌드하는 경우 참고할 사항으로 커널은 ABI 보증 및 마이너 릴리스간에 변경 될 수 있습니다.)