목차로 이동페이지 탐색으로 이동: 이전 페이지 [액세스 키 p]/다음 페이지 [액세스 키 n]
documentation.suse.com / SUSE Linux Enterprise Server 설명서 / 배포 가이드 / SUSE Linux Enterprise 업데이트 및 업그레이드 / 소스 코드 백포팅
다음에 적용 SUSE Linux Enterprise Server 12 SP5

22 소스 코드 백포팅

SUSE에서는 백포트를 광범위하게 사용합니다(예: 현재 소프트웨어 수정 및 기능을 릴리스된 SUSE Linux Enterprise 패키지로 마이그레이션). 이 장의 정보는 SUSE Linux Enterprise 소프트웨어 패키지의 보안 및 기능을 확인하기 위해 버전 번호를 비교하는 것이 왜 문제가 되는지 설명합니다. 또한 이 장에서는 SUSE Linux Enterprise 제품을 기반으로 응용 프로그램 소프트웨어의 호환성을 유지하면서 시스템 소프트웨어를 최신 상태로 안전하게 유지하는 방법을 설명합니다. 또한 SUSE Linux Enterprise 시스템 소프트웨어에서 실제로 해결되는 공개 보안 문제와 소프트웨어의 현재 상태를 확인하는 방법을 알 수 있습니다.

22.1 백포트 사용 이유

업스트림 개발자는 기본적으로 자신이 개발하는 소프트웨어의 개선에 관심을 갖고 있습니다. 종종 아직 광범위한 테스트를 받지 않았고 새로운 버그를 적용할 수 있는 새로운 기능을 버그 수정과 결합합니다.

배포 개발자의 경우 다음을 구분하는 것이 중요합니다.

  • 기능 중단 가능성이 제한적으로 있는 버그 수정 및

  • 기존 기능을 방해할 수 있는 변경사항.

대개 배포 개발자는 패키지가 릴리스된 배포에 포함되면 모든 업스트림 변경사항을 적용하지 않습니다. 일반적으로 처음 릴리스한 업스트림 버전을 사용하고 업스트림 변경사항을 기반으로 한 패치를 작성하여 버그를 수정합니다. 이러한 방식을 백포팅이라고 합니다.

일반적으로 배포 관리자는 다음 두 가지 경우에만 최신 버전의 소프트웨어를 사용합니다.

  • 패키지와 업스트림 버전의 변경사항이 너무 많아서 더 이상 백포팅을 실행할 수 없는 경우

  • 맬웨어 방지 소프트웨어처럼 시간이 지남에 따라 성능이 저하될 수밖에 없는 소프트웨어의 경우

SUSE에서는 엔터프라이즈 소프트웨어의 여러 관심 항목 간에 적절한 균형을 찾는 동안 광범위하게 백포트를 사용합니다. 이 중에서 가장 중요한 것은 다음과 같습니다.

  • SUSE의 엔터프라이즈 제품에서 사용하기 위해 제품을 빌드할 때 소프트웨어 벤더가 사용할 수 있는 안정적인 인터페이스(API)를 보유하고 있어야 합니다.

  • SUSE의 엔터프라이즈 제품 릴리스에서 사용된 패키지가 최고의 기능을 제공하고 자체 또는 전체 엔터프라이즈 제품의 일부로 모두 철저한 테스트를 거쳐야 합니다.

  • Oracle 또는 SAP 제품용 인증과 같이 다른 벤더의 다양한 SUSE 엔터프라이즈 제품 인증을 유지해야 합니다.

  • SUSE 개발자가 다양한 범위의 릴리스에 모두 초점을 맞추기보다는 가능한 최고의 성능을 제공하는 한 제품의 다음 버전을 만드는 데 집중할 수 있어야 합니다.

  • SUSE 지원에서는 특정 엔터프라이즈 릴리스를 정확하게 파악하여 관련 정보를 정확하고 시기적절하게 제공할 수 있습니다.

22.2 백포트 반대 이유

당사 엔터프라이즈 제품에 새로운 업스트림 버전의 패키지를 사용하지 않는 것이 일반적인 정책 규칙입니다. 그러나 이 규칙이 절대적인 것은 아닙니다. 특정 유형의 패키지의 경우 특히 바이러스 백신 소프트웨어에서는 품질 보증 관점에서 선호하는 보수적인 방식보다 보안이 더 중요합니다. 해당 클래스에 해당되는 패키지의 경우 가끔 최신 버전이 릴리스된 버전의 엔터프라이즈 제품군에 사용될 수 있습니다.

다른 유형의 패키지인 경우에도 백포트 대신 새로운 버전을 사용할 수 있습니다. 백포트를 제작하는 것이 경제적이지 않거나 최신 버전을 사용해야 하는 기술적 이유가 있는 경우에는 새로운 버전을 사용합니다.

22.3 버전 번호 해석에 대한 백포트의 영향

백포트의 사용 방식 때문에 단순히 버전 번호를 비교하여 SUSE 패키지에 특정 문제에 대한 수정사항이 포함되어 있거나 특정 기능이 추가되어 있는 지는 알 수 없습니다. 백포트를 사용할 경우 SUSE 패키지 버전 번호의 업스트림 부분은 단순히 SUSE 패키지의 기반이 되는 업스트림 버전을 나타냅니다. 여기에는 해당 업스트림 릴리스에 없지만 SUSE 패키지에 백포팅된 버그 수정사항과 기능이 포함될 수 있습니다.

백포팅이 관련된 경우 제한된 버전 번호 값으로 인해 문제가 발생할 수 있는 특정 영역 중 하나가 보안 검색 도구입니다. 일부 보안 취약성 검색 도구(또는 해당 도구의 특정 테스트)는 버전 정보에서만 실행됩니다. 따라서 이러한 도구 및 테스트는 백포트 포함 시 양성 오류를 생성하기 쉽습니다(일부 소프트웨어가 취약하다고 잘못 식별된 경우). 보안 검색 도구에서 보고서를 평가할 때 항목이 버전 번호 또는 실제 취약성 테스트를 기반으로 하는지 항상 확인하십시오.

22.4 수정된 버그와 백포팅되고 사용 가능한 기능을 확인하는 방법

백포팅된 버그 수정 및 기능과 관련된 정보가 저장되는 여러 위치는 다음과 같습니다.

  • 패키지의 변경 로그

    rpm -q --changelog name-of-installed-package
    rpm -qp --changelog packagefile.rpm

    출력에서 패키지의 변경 이력을 간단하게 설명합니다.

  • 패키지 변경 로그에는 SUSE Bugzilla 추적 시스템의 버그 또는 다른 버그 추적 시스템에 대한 링크를 가리키는 bsc#1234(Bugzilla Suse.Com) 같은 항목이 포함될 수 있습니다. 기밀 유지 정책 때문에 일부 정보에만 액세스할 수 있습니다.

  • SUSE 패키지에 대한 구체적인 세부 정보와 일반적인 내용이 포함된 /usr/share/doc/PACKAGENAME/README.SUSE 파일이 패키지에 포함될 수 있습니다.

  • 소스 코드를 읽는 데 익숙할 경우 해석할 수 있는 별도 파일로 일반 바이너리 RPM을 빌드하는 중에 적용된 패치가 RPM 소스 패키지에 포함되어 있습니다. SUSE Linux Enterprise 소프트웨어 원본을 설치하려면 Section 6.1.2.5, “Installing or Downloading Source Packages” 항목을 참조하십시오. SUSE Linux Enterprise에서 패키지를 빌드하려면 Section 6.2.5, “Installing and Compiling Source Packages” 항목을 참조하십시오. SUSE Linux Enterprise 소프트웨어 패키지 빌드의 내부 작업에 대해서는 최소 RPM 설명서를 참조하십시오.

  • 보안 버그 수정의 경우 SUSE 보안 알림을 참조하십시오. 이들 알림에서는 종종 CVE(Common Vulnerabilities and Exposures) 프로젝트에서 유지보수되는 CAN-2005-2495와 같은 표준화된 이름을 통해 버그를 참조합니다.