6장. RHEL 8의 새로운 기능
이 섹션에서는 Red Hat Enterprise Linux 7과 8 간의 RPM 패키지 변경 사항에 대해 설명합니다.
6.1. Weak 종속 항목 지원
약한 종속성
은 Requires
지시문의 변형입니다. 이러한 변형은 virtual Provides:
및 Epoch-Version-Release
범위 비교를 사용하여 패키지 이름과 일치합니다.
약한 종속성
에는 다음 표에 요약된 대로 두 가지 장단점(주요 및 힌트
)과 두 가지 방향(전
)이 있습니다.방향
및 이전
진행
방향은 Requires:
.와 유사합니다. 이전 종속성
시스템은 이전 종속성 시스템에 비유되어 있지 않습니다.
power/Direction | forward | Backward |
---|---|---|
약함 | 권장 사항: | 제품 이름: |
힌트 | 권장 사항: | 개선 사항: |
Weak 종속성
정책의 주요 장점은 다음과 같습니다.
- 기본 설치 기능을 다양하게 유지하면서 최소 설치를 줄일 수 있습니다.
- 패키지는 가상의 유연성을 유지하면서 특정 공급자에 대한 기본 설정을 지정할 수 있습니다.
6.1.1. Weak 종속 항목 소개
기본적으로 Weak 종속성
은 일반 Requires:
와 유사하게 처리됩니다. 일치하는 패키지는 YUM 트랜잭션에 포함되어 있습니다. 패키지를 추가하면 기본적으로 YUM 에서 종속성을 무시합니다. 따라서 사용자는 Weak 종속성
에서 추가한 패키지를 제외하거나 나중에 제거할 수 있습니다.
사용 조건
패키지가 종속성 없이 계속 작동하는 경우에만 Weak 종속성
을 사용할 수 있습니다.
약한 요구 사항을 추가하지 않고 기능이 매우 제한된 패키지를 만들 수 있습니다.
사용 사례
Weak 종속성
은 특히 패키지의 전체 기능 세트가 필요하지 않은 가상 머신 또는 컨테이너 빌드와 같은 적절한 사용 사례에 대한 설치를 최소화할 수 있는 경우 특히 사용합니다.
Weak 종속성
의 일반적인 사용 사례는 다음과 같습니다.
문서
- 누락된 경우 문서 뷰어가 정상적으로 처리됩니다.
- 예
플러그인 또는 애드온
- 파일 형식 지원
- 프로토콜 지원
6.1.2. 힌트의 강점
힌트는
YUM 에서 기본적으로 무시합니다. GUI 도구에서 기본적으로 설치되지 않은 애드온 패키지를 제공하는 데 사용할 수 있지만 설치된 패키지와 함께 유용할 수 있습니다.
패키지 의 주요 사용 사례의 요구 사항에 힌트
를 사용하지 마십시오. 대신 이러한 요구 사항을 강력하거나 Weak 종속성
에 포함합니다.
패키지 환경 설정
YUM 은 Weak 종속성
과 힌트
를 사용하여 여러 개의 동일한 유효한 패키지를 선택할지 여부를 결정합니다. 설치된 패키지 또는 설치된 패키지의 종속성에 의해 가리키는 패키지가 우선합니다.
참고: 종속성 확인의 일반적인 규칙은 이 기능의 영향을 받지 않습니다. 예를 들어 Weak 종속성
은 선택한 이전 버전의 패키지를 적용할 수 없습니다.
종속성에 대한 공급자가 여러 개인 경우 require 패키지에서 Suggests
를 추가하여 옵션이 우선하는 종속성 확인기에 힌트를 제공할 수 있습니다.
enhances:
기본 패키지와 기타 공급자가 필요한 패키지에 힌트를 추가하는 데 동의한 경우에만 사용됩니다.
예 6.1. Hints를 사용하여 한 패키지를 다른 패키지 선호
Package A: Requires: mysql Package mariadb: Provides: mysql Package community-mysql: Provides: mysql
community-mysql
패키지를 통해 mariadb
패키지를 선호하는 경우 다음을 사용합니다.
Suggests: mariadb to Package A.
6.1.3. forward 및 Backward 종속 항목
전달 종속성
은 설치 중인 패키지에 대해 평가되는 Requires
와 유사하게 입니다. 일치하는 최상의 패키지도 설치됩니다.
일반적으로 종속 항목을 선호하는 것이
좋습니다. 다른 패키지를 시스템에 추가할 때 패키지에 종속성을 추가합니다.
Backward 종속성
의 경우 일치하는 패키지가 설치된 경우 종속성을 포함하는 패키지가 설치됩니다.
이전 종속 항목은
주로 플러그인, 애드온 또는 확장을 배포 또는 타사 패키지에 연결할 수 있는 타사 벤더용으로 설계되었습니다.