9.2 릴리스 노트

Red Hat Enterprise Linux 9.2

Red Hat Enterprise Linux 9.2 릴리스 정보

Red Hat Customer Content Services

초록

릴리스 노트에서는 Red Hat Enterprise Linux 9.2에서 구현된 개선 사항 및 추가 사항에 대한 고급 정보와 이 릴리스의 알려진 문제, 주요 버그 수정, 기술 프리뷰, 사용되지 않는 기능 및 기타 세부 사항을 설명합니다.
Red Hat Enterprise Linux 설치에 대한 자세한 내용은 3.1절. “설치” 을 참조하십시오.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.

Red Hat 문서에 관한 피드백 제공

문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.

Jira를 통해 피드백 제출 (등록 필요)

  1. Jira 웹 사이트에 로그인합니다.
  2. 상단 탐색 모음에서 생성 을 클릭합니다.
  3. 요약 필드에 설명 제목을 입력합니다.
  4. 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
  5. 대화 상자 하단에서 생성 을 클릭합니다.

1장. 개요

1.1. RHEL 9.2의 주요 변경 사항

설치 프로그램 및 이미지 생성

이미지 빌더의 주요 주요 주요 내용:

  • 이미지 빌더는 이제 이미지 빌더 웹 콘솔에서 청사진 및 이미지를 생성할 수 있는 새롭고 향상된 방법을 제공합니다.
  • 이제 /etc 디렉터리에 사용자 지정 파일 및 디렉터리를 생성할 수 있습니다.
  • 이제 이미지 빌더 웹 콘솔에서 RHEL for Edge Simplified Installer 이미지 유형을 사용할 수 있습니다.

자세한 내용은 새로운 기능 - 설치 관리자 및 이미지 생성을 참조하십시오.

엣지용 RHEL

에지용 RHEL의 주요 주요 주요 주요 내용:

  • 이제 simplified-installer 이미지에 대한 사용자 지정이 지원됩니다.
  • 이제 Edge Simplified 이미지에 대해 RHEL에서 Ignition 프로비저닝 유틸리티가 지원됩니다.
  • 간소화된 설치 관리자 이미지는 이제 청사진의 FDO 사용자 지정 섹션 없이 구성할 수 있습니다.

자세한 내용은 새로운 기능 - 엣지용 RHEL을 참조하십시오.

보안

주요 보안 관련 주요 강조 사항:

  • OpenSSL 보안 통신 라이브러리가 버전 3.0.7로 변경되었습니다.
  • SELinux 사용자 공간 패키지가 버전 3.5로 업데이트되었습니다.
  • Keylime 은 버전 6.5.2로 변경되었습니다.
  • OpenSCAP 은 버전 1.3.7로 변경되었습니다.
  • SCAP 보안 가이드가 0.1.66 버전으로 변경되었습니다.
  • 유휴 세션 종료에 대한 새로운 규칙이 SCAP 보안 가이드에 추가되었습니다.
  • Clevis 에서 외부 토큰을 허용합니다.
  • rsyslog TLS 암호화 로깅은 이제 여러 CA 파일을 지원합니다.
  • rsyslog 권한은 보안 노출을 최소화하기 위해 제한됩니다.
  • 이제 fapolicyd 프레임워크에서 RPM 데이터베이스 필터링을 제공합니다.

자세한 내용은 새로운 기능 - 보안을 참조하십시오.

동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버

다음 Application Streams의 이후 버전을 사용할 수 있습니다.

  • Python 3.11
  • nginx 1.22
  • PostgreSQL 15

다음 구성 요소가 업그레이드되었습니다.

  • git 버전 2.39.1
  • Git LFS 버전 3.2.0

자세한 내용은 새로운 기능 - 동적 프로그래밍 언어, 웹 및 데이터베이스 서버를 참조하십시오.

컴파일러 및 개발 도구

업데이트된 시스템 툴체인

다음 시스템 툴체인 구성 요소가 RHEL 9.2에서 업데이트되었습니다.

  • GCC 11.3.1
  • glibc 2.34
  • binutils 2.35.2
업데이트된 성능 도구 및 디버거

다음 성능 도구 및 디버거가 RHEL 9.2에서 업데이트되었습니다.

  • GDB 10.2
  • Valgrind 3.19
  • SystemTap 4.8
  • Dyninst 12.1.0
  • elfutils 0.188
업데이트된 성능 모니터링 툴

다음 성능 모니터링 도구가 RHEL 9.2에서 업데이트되었습니다.

  • PCP 6.0.1
  • Grafana 9.0.9
업데이트된 컴파일러 툴셋

RHEL 9.2에서 다음과 같은 컴파일러 도구 세트가 업데이트되었습니다.

  • GCC Toolset 12
  • LLVM Toolset 15.0.7
  • Rust Toolset 1.66
  • Go Toolset 1.19.6

자세한 내용은 새로운 기능 - 컴파일러 및 개발 도구를 참조하십시오.

RHEL 9의 Java 구현

RHEL 9 AppStream 리포지토리에는 다음이 포함됩니다.

  • OpenJDK 17 Java Runtime Environment 및 OpenJDK 17 Java Software Development Kit를 제공하는 java-17-openjdk 패키지.
  • OpenJDK 11 Java 런타임 환경과 OpenJDK 11 Java 소프트웨어 개발 키트를 제공하는 java-11-openjdk 패키지.
  • OpenJDK 8 Java 런타임 환경과 OpenJDK 8 Java 소프트웨어 개발 키트를 제공하는 java-1.8.0-openjdk 패키지.

Red Hat build of OpenJDK 패키지는 이식 가능한 Linux 릴리스와 RHEL 9.2 이후 릴리스 사이에 단일 바이너리 세트를 공유합니다. 이번 업데이트를 통해 소스 RPM에서 RHEL에서 OpenJDK 패키지를 다시 빌드하는 프로세스가 변경되었습니다. 새로운 재구축 프로세스에 대한 자세한 내용은 OpenJDK의 Red Hat 빌드의 SRPM 패키지에서 사용할 수 있으며 /usr/share/doc 트리 아래의 java-*-openjdk-headless 패키지에서도 설치하는 README.md 파일을 참조하십시오.

자세한 내용은 OpenJDK 문서를 참조하십시오.

웹 콘솔

RHEL 웹 콘솔은 이제 LUKS 암호화 루트 볼륨을 CloudEvent 배포에 바인딩하기 위한 추가 단계를 수행합니다.

이제 그래픽 인터페이스를 통해 다음 암호화 하위 정책을 적용할 수 있습니다. DEFAULT:SHA1,LEGACY:AD-SUPPORTFIPS:OSPP.

자세한 내용은 새로운 기능 - 웹 콘솔 을 참조하십시오.

컨테이너

주요 변경 사항은 다음과 같습니다.

  • podman RHEL 시스템 역할을 사용할 수 있습니다.
  • Fulcio 및 Rekor를 사용한 시그 저장소 서명용 클라이언트를 사용할 수 있습니다.
  • Skopeo에서 sigstore 키 쌍 생성을 지원합니다.
  • Podman에서 감사 이벤트를 지원합니다.
  • 컨테이너 도구 패키지가 업데이트되었습니다.
  • Aardvark 및 Netavark 네트워크 스택에서 이제 사용자 정의 DNS 서버 선택을 지원합니다.
  • 이제 Toolbox를 사용할 수 있습니다.
  • 이제 podman Quadlet을 기술 프리뷰로 사용할 수 있습니다.
  • CNI 네트워크 스택이 더 이상 사용되지 않습니다.

자세한 내용은 새로운 기능 - 컨테이너를 참조하십시오.

1.2. 인플레이스 업그레이드

RHEL 8에서 RHEL 9로 인플레이스 업그레이드

현재 지원되는 인플레이스 업그레이드 경로는 다음과 같습니다.

  • RHEL 8.6에서 RHEL 9.0 및 RHEL 8.8에서 RHEL 9.2로 다음 아키텍처의 경우 다음을 수행합니다.

    • 64비트 Intel
    • 64비트 AMD
    • 64비트 ARM
    • IBM POWER 9 (little endian)
    • IBM Z 아키텍처, z13 제외
  • SAP HANA가 있는 시스템에서 RHEL 8.6에서 RHEL 9.0 및 RHEL 8.8로 RHEL 9.2로

자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.

인플레이스 업그레이드를 수행하는 방법에 대한 자세한 내용은 RHEL 8에서 RHEL 9로 업그레이드를 참조하십시오.

SAP HANA로 RHEL 9.2로 업그레이드하는 경우 업그레이드하기 전에 시스템이 SAP에 대해 인증되었는지 확인하십시오. SAP 환경에서 시스템에서 인플레이스 업그레이드를 수행하는 방법에 대한 자세한 내용은 RHEL 8에서 RHEL 9로 SAP 환경을 인플레이스 업그레이드하는 방법을 참조하십시오.

주요 개선 사항은 다음과 같습니다.

  • RHEL 업그레이드 경로 전략이 변경되었습니다. 자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.
  • RHEL 9.2가 릴리스되면서 RHEL 8에서 RHEL 9로 인플레이스 업그레이드에 여러 가지 업그레이드 경로를 사용할 수 있습니다. 현재 릴리스에서는 RHEL 8.8에서 RHEL 9.2 또는 RHEL 8.6에서 RHEL 9.0로 인플레이스 업그레이드를 수행할 수 있습니다. 사용 가능한 업그레이드 경로는 SAP HANA를 사용하여 표준 RHEL 시스템과 RHEL 시스템 간에 다를 수 있습니다.
  • leapp-upgrade-el8toel9 패키지의 최신 릴리스에는 필요한 모든 leapp 데이터 파일이 포함됩니다. 고객은 더 이상 이러한 데이터 파일을 수동으로 다운로드할 필요가 없습니다.
  • FIPS 모드에서 RHEL 8.8 시스템의 인플레이스 업그레이드가 지원됩니다.
  • 이제 대상 버전이 포함된 ISO 이미지를 사용하여 인플레이스 업그레이드를 수행할 수 있습니다.
  • 이제 RPM 서명이 인플레이스 업그레이드 중에 자동으로 확인됩니다. 자동 검사를 비활성화하려면 업그레이드를 수행할 때 --nogpgcheck 옵션을 사용합니다.
  • RHSM에 가입된 시스템은 이제 Red Hat Insights에 자동으로 등록됩니다. 자동 등록을 비활성화하려면 LEAPP_NO_INSIGHTS_REGISTER 환경 변수를 1 로 설정합니다.
  • Red Hat은 이제 업그레이드 시작 및 종료 시간 및 유틸리티 사용 분석을 위해 업그레이드 성공 여부와 같은 업그레이드 관련 데이터를 수집합니다. 데이터 수집을 비활성화하려면 LEAPP_NO_RHSM_FACTS 환경 변수를 1 로 설정합니다.

RHEL 7에서 RHEL 9로 인플레이스 업그레이드

RHEL 7에서 RHEL 9로 직접 인플레이스 업그레이드를 수행할 수 없습니다. 그러나 RHEL 7에서 RHEL 8으로 인플레이스 업그레이드를 수행한 다음 RHEL 9로 두 번째 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 내용은 RHEL 7에서 RHEL 8로 업그레이드에서 참조하십시오.

1.3. Red Hat Customer Portal 랩

Red Hat Customer Portal 랩https://access.redhat.com/labs/ 에서 사용할 수 있는 고객 포털의 섹션에 있는 툴 집합입니다. Red Hat 고객 포털 랩의 애플리케이션은 성능 향상, 신속한 문제 해결, 보안 문제 식별, 복잡한 애플리케이션 배포 및 구성을 지원합니다. 가장 인기있는 애플리케이션 중 일부는 다음과 같습니다.

1.4. 추가 리소스

기타 시스템 버전과 비교하여 Red Hat Enterprise Linux 9의 기능 및 제한사항 은 지식베이스 문서 Red Hat Enterprise Linux 기술 기능 및 제한 에서 확인할 수 있습니다.

Red Hat Enterprise Linux 라이프 사이클에 대한 정보는 Red Hat Enterprise Linux 라이프 사이클 문서를 참조하십시오.

패키지 매니페스트 문서에서는 라이센스 및 애플리케이션 호환성 수준을 포함하여 RHEL 9의 패키지 목록을 제공합니다.

애플리케이션 호환성 수준은 Red Hat Enterprise Linux 9: 애플리케이션 호환성 가이드 문서에 설명되어 있습니다.

제거된 기능을 포함하여 RHEL 8과 RHEL 9의 주요 차이점은 RHEL 9 채택 고려 사항에 설명되어 있습니다.

RHEL 8 에서 RHEL 9로 인플레이스 업그레이드를 수행하는 방법에 대한 지침은 RHEL 8 에서 RHEL 9 로 업그레이드 문서를 통해 제공됩니다.

알려진 기술 문제를 사전에 식별, 검토 및 해결할 수 있는 Red Hat Insights 서비스는 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. Red Hat Insights 클라이언트를 설치하고 서비스에 시스템을 등록하는 방법에 대한 자세한 내용은 Red Hat Insights 시작하기 페이지를 참조하십시오.

2장. 아키텍처

Red Hat Enterprise Linux 9.2는 최소 필수 버전에서 다음 아키텍처를 지원하는 커널 버전 5.14.0-284.11.1과 함께 배포됩니다.

  • AMD 및 Intel 64비트 아키텍처(x86-64-v2)
  • 64비트 ARM 아키텍처(ARMv8.0-A)
  • IBM Power Systems, Little Endian (POWER9)
  • 64비트 IBM Z(z14)

각 아키텍처에 적합한 서브스크립션을 구매해야 합니다. 자세한 내용은 Get Started with Red Hat Enterprise Linux - 추가 아키텍처.

3장. RHEL 9의 콘텐츠 배포

3.1. 설치

Red Hat Enterprise Linux 9는 ISO 이미지를 사용하여 설치합니다. AMD64, Intel 64비트, 64비트 ARM, IBM Power Systems, IBM Z 아키텍처에서는 두 가지 유형의 ISO 이미지를 사용할 수 있습니다.

  • 설치 ISO: BaseOS 및 AppStream 리포지토리가 포함된 전체 설치 이미지로, 추가 리포지토리 없이 설치를 완료할 수 있습니다. 제품 다운로드 페이지에서 설치 ISO바이너리 DVD 라고 합니다.

    참고

    설치 ISO 이미지는 여러 GB 크기이며, 결과적으로 광 미디어 형식에 맞지 않을 수 있습니다. 설치 ISO 이미지를 사용하여 부팅 가능한 설치 미디어를 생성하는 경우 USB 키 또는 USB 하드 드라이브를 사용하는 것이 좋습니다. Image Builder 툴을 사용하여 사용자 지정된 RHEL 이미지를 생성할 수도 있습니다. 이미지 빌더에 대한 자세한 내용은 사용자 지정 RHEL 시스템 이미지 구성 문서를 참조하십시오.

  • 부트 ISO: 설치 프로그램으로 부팅하는 데 사용하는 최소 부트 ISO 이미지입니다. 리포지토리는 설치 ISO 이미지의 일부입니다. 설치 중에 Red Hat CDN 또는 Satellite에 등록하여 Red Hat CDN 또는 Satellite의 최신 BaseOS 및 AppStream 콘텐츠를 사용할 수도 있습니다.

ISO 이미지 다운로드, 설치 미디어 생성 및 RHEL 설치 완료에 대한 자세한 내용은 표준 RHEL 9 설치 문서를 참조하십시오. 자동화된 Kickstart 설치 및 기타 고급 주제는 고급 RHEL 9 설치 문서를 참조하십시오.

3.2. 리포지토리

Red Hat Enterprise Linux 9는 다음 두 가지 주요 리포지토리를 통해 배포됩니다.

  • BaseOS
  • AppStream

두 리포지토리 모두 기본 RHEL 설치에 필요하며 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다.

BaseOS 리포지토리의 콘텐츠는 모든 설치의 기반이 되는 기본 OS 기능의 코어 세트를 제공하는 데 사용됩니다. 이 콘텐츠는 RPM 형식으로 사용 가능하며 이전 RHEL 릴리스와 비슷한 지원 조건이 적용됩니다. 자세한 내용은 적용 범위 세부 정보 문서를 참조하십시오.

AppStream 리포지토리의 콘텐츠에는 다양한 워크로드 및 사용 사례를 지원하는 추가 사용자 공간 애플리케이션, 런타임 언어 및 데이터베이스가 포함되어 있습니다.

또한 CodeReady Linux Builder 리포지토리는 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. 이는 개발자가 사용할 수 있는 추가 패키지를 제공합니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.

RHEL 9 리포지토리 및 제공하는 패키지에 대한 자세한 내용은 패키지 매니페스트 를 참조하십시오.

3.3. Application Streams

여러 버전의 사용자 공간 구성 요소가 Application Streams로 제공되며 코어 운영 체제 패키지보다 더 자주 업데이트됩니다. 따라서 플랫폼 또는 특정 배포의 기본 안정성에 영향을 주지 않고 RHEL을 사용자 지정할 수 있는 유연성이 향상됩니다.

Application Streams는 친숙한 RPM 형식으로, 모듈이라는 RPM 형식, 소프트웨어 컬렉션으로 또는 Flatpaks로 사용할 수 있습니다.

각 Application Stream 구성 요소에는 RHEL 9 이상과 동일한 라이프 사이클이 있습니다. RHEL 라이프 사이클 정보는 Red Hat Enterprise Linux 라이프 사이클을 참조하십시오.

RHEL 9는 기존 dnf install 명령을 사용하여 RPM 패키지로 설치할 수 있는 초기 Application Stream 버전을 제공하여 Application Streams 환경을 향상시킵니다.

참고

RPM 형식의 특정 초기 Application Streams는 Red Hat Enterprise Linux 9보다 라이프 사이클이 짧습니다.

일부 추가 Application Stream 버전은 향후 RHEL 9 릴리스에서 더 짧은 라이프 사이클로 모듈로 배포됩니다. 모듈은 논리 단위, 애플리케이션, 언어 스택, 데이터베이스 또는 툴 세트를 나타내는 패키지 컬렉션입니다. 이러한 패키지는 함께 빌드, 테스트, 릴리스됩니다.

항상 설치하려는 Application Stream 버전을 확인하고 Red Hat Enterprise Linux Application Stream Lifecycle 을 먼저 검토하십시오.

대체 컴파일러 및 컨테이너 툴과 같은 빠른 업데이트가 필요한 콘텐츠는 롤링 스트림에서 동시에 대체 버전을 제공하지 않습니다. 롤링 스트림은 RPM 또는 모듈로 패키징할 수 있습니다.

RHEL 9에서 사용 가능한 Application Streams 및 애플리케이션 호환성 수준에 대한 자세한 내용은 패키지 매니페스트 를 참조하십시오. 애플리케이션 호환성 수준은 Red Hat Enterprise Linux 9: 애플리케이션 호환성 가이드 문서에 설명되어 있습니다.

3.4. YUM/DNF를 사용한 패키지 관리

Red Hat Enterprise Linux 9에서 소프트웨어 설치는 DNF 에서 보장합니다. Red Hat은 이전 RHEL 주요 버전과의 일관성을 위해 yum 용어 사용을 계속 지원합니다. yum.f 대신 dnf 를 입력하면 두 명령이 모두 호환성을 위한 별칭이므로 예상대로 작동합니다.

RHEL 8 및 RHEL 9는 DNF 를 기반으로 하지만 RHEL 7에서 사용되는 YUM 과 호환됩니다.

자세한 내용은 DNF 툴을 사용한 소프트웨어 관리를 참조하십시오.

4장. 새로운 기능

이 부분에서는 Red Hat Enterprise Linux 9.2에 도입된 새로운 기능 및 주요 개선 사항에 대해 설명합니다.

4.1. 설치 프로그램 및 이미지 생성

이미지 빌더 웹 콘솔에서 developers 및 이미지를 생성하는 새롭고 향상된 방법

이번 개선된 기능을 통해 이미지 빌더 툴의 통합 버전에 액세스하고 사용자 환경이 크게 개선되었습니다.

이미지 빌더 대시보드 GUI의 주요 개선 사항은 다음과 같습니다.

  • 이제 커널, 파일 시스템, 방화벽, 로케일 및 기타 사용자 정의와 같이 이전에 지원되었던 모든 사용자 정의를 사용하여 청사진을 사용자 지정할 수 있습니다.
  • .JSON 또는 .TOML 형식으로 청사진을 업로드하거나 드래그하여 가져온 청사진에서 이미지를 생성하여 청사진을 가져올 수 있습니다.
  • 또한 .JSON 또는 .TOML 형식으로 청사진을 내보내거나 저장할 수도 있습니다.
  • 정렬, 필터링, 대/소문자를 구분합니다.
  • 이미지 빌더 대시보드를 사용하면 다음 탭을 탐색하여 청사진, 이미지 및 소스에 액세스할 수 있습니다.

    • 청사진 - 청사진 탭에서는 이제 청사진을 가져오거나 내보내거나 삭제할 수 있습니다.
    • 이미지 - 이미지 탭 아래 다음을 수행할 수 있습니다.

      • 이미지를 다운로드합니다.
      • 이미지 로그를 다운로드합니다.
      • 이미지를 삭제합니다.
    • 소스 - 소스 탭의 경우 다음을 수행할 수 있습니다.

      • 이미지를 다운로드합니다.
      • 이미지 로그를 다운로드합니다.
      • 이미지 소스를 생성합니다.
      • 이미지를 삭제합니다.

Jira:RHELPLAN-139448

/etc 디렉토리에 사용자 정의 파일 및 디렉터리 생성 기능

이번 개선된 기능을 통해 두 개의 새로운 청사진 사용자 지정을 사용할 수 있습니다. [[customizations.files]]][customizations.directories]] 를 사용하면 이미지의 /etc 디렉터리에 사용자 지정 파일 및 디렉터리를 생성할 수 있습니다. 현재는 /etc 디렉토리에서만 이러한 사용자 지정을 사용할 수 있습니다.

[customizations.directories]를 사용하면 다음을 수행할 수 있습니다.

  • 새 디렉터리 생성
  • 디렉터리에 대한 사용자 및 그룹 소유권 설정
  • 8진수 형식으로 모드 권한 설정

[customizations.files]] 청사진 사용자 정의를 사용하면 다음을 수행할 수 있습니다.

  • 상위 / 디렉터리에 새 파일 만들기
  • 기존 파일 수정 - 기존 콘텐츠가 재정의됨
  • 생성 중인 파일의 사용자 및 그룹 소유권 설정
  • 8진수 형식으로 모드 권한 설정
참고

새로운 Blueprint 사용자 지정은 edge-container,edge-commit 과 같은 모든 이미지 유형에서 지원됩니다. Edge-raw-image,edge-installeredge-simplified-installer 와 같은 설치 관리자 이미지를 생성하는 데 사용되는 청사진에서 지원되지 않는 사용자 정의

Jira:RHELPLAN-147428

간소화된 설치 프로그램 이미지를 위한 CloudEvent에서 사용자를 지정할 수 있는 기능

이전에는 간소화된 설치 프로그램 이미지에 대한 청사진을 생성할 때 사용자 지정이 사용되지 않고 삭제되었기 때문에 사용자 지정에서 사용자를 지정할 수 없었습니다. 이번 업데이트를 통해 청사진에서 이미지를 생성할 때 이 청사진은 설치 시 /usr/lib/passwd 디렉터리에 사용자와 암호를 /usr/etc/shadow 디렉터리에 생성합니다. 사용자 이름과 청사진을 위해 작성한 암호를 사용하여 장치에 로그인할 수 있습니다. 시스템에 액세스한 후 useradd 명령을 사용하여 사용자를 생성해야 합니다.

Jira:RHELPLAN-149091

이미지 빌더로 빌드된 .vhd 이미지에 64비트 ARM 지원

이전에는 이미지 빌더 도구로 생성된 Microsoft Azure .vhd 이미지가 64비트 ARM 아키텍처에서 지원되지 않았습니다. 이번 업데이트에서는 64비트 ARM Microsoft Azure .vhd 이미지에 대한 지원이 추가되어 이제 이미지 빌더를 사용하여 .vhd 이미지를 빌드하고 Microsoft Azure 클라우드에 업로드할 수 있습니다.

Jira:RHELPLAN-139424

최소 RHEL 설치에서 s390utils-core 패키지만 설치합니다.

RHEL 8.4 이상에서는 s390utils-base 패키지가 s390utils-core 패키지 및 s390utils-base 패키지로 나뉩니다. 결과적으로 RHEL 설치를 minimal-environment 로 설정하면 s390utils-base 패키지가 아닌 필요한 s390utils-core 패키지만 설치됩니다. 최소한의 RHEL 설치와 함께 s390utils-base 패키지를 사용하려면 RHEL 설치를 완료한 후 패키지를 수동으로 설치하거나 kickstart 파일을 사용하여 s390utils-base 를 명시적으로 설치해야 합니다.

Bugzilla:1932480

4.2. 엣지용 RHEL

RHEL에서 Edge Simplified 이미지에 대한 Ignition 지원

이번 개선된 기능을 통해 청사진을 사용자 정의하여 간소화된 설치 관리자 이미지에 Ignition 파일을 추가할 수 있습니다. GUI와 CLI 모두 Ignition 사용자 지정을 지원합니다. RHEL for Edge는 Ignition 프로비저닝 유틸리티를 사용하여 부팅 프로세스의 초기 단계에 있는 이미지에 사용자 구성을 삽입합니다. 첫 번째 부팅 시 Ignition은 간단한 설치 관리자 이미지에 포함된 원격 URL 또는 파일에서 구성을 읽고 해당 구성을 이미지에 적용합니다.

Jira:RHELPLAN-139659

간소화된 설치 관리자 이미지는 이제 청사진의 FDO 사용자 지정 섹션 없이 구성할 수 있습니다.

이전에는 Edge Simplified Installer 이미지를 위해 RHEL을 빌드하려면 FIDO 장치 온보딩(FDO) 사용자 지정 섹션에 세부 정보를 추가해야 했습니다. 그렇지 않으면 이미지 빌드가 실패합니다. 이번 업데이트를 통해 이제 청사진의 FDO 사용자 지정이 선택 사항이며 오류 없이 Edge Simplified Installer 이미지에 대해 RHEL을 빌드할 수 있습니다.

Jira:RHELPLAN-139655

Red Hat build of MicroShift Support for RHEL for Edge images

이번 개선된 기능을 통해 RHEL for Edge 시스템에서 Red Hat build of MicroShift 서비스를 활성화할 수 있습니다. [[customizations.firewalld.zones]] 사용자 지정을 사용하면 attributes 사용자 지정에서 firewalld 소스에 대한 지원을 추가할 수 있습니다. 이를 위해 영역의 이름과 해당 특정 영역의 소스 목록을 지정합니다. 소스는 source[/mask]|MAC|ipset:ipset 형식일 수 있습니다.

다음은 RHEL for Edge 시스템에서 Red Hat 빌드에 대한 Red Hat 빌드에 대한 지원을 구성하고 사용자 지정하는 방법에 대한 예제입니다.

[[packages]]
name = "microshift"
version = "*"
[customizations.services]
enabled = ["microshift"]
[[customizations.firewall.zones]]
name = "trusted"
sources = ["10.42.0.0/16", "169.254.169.1"]

Red Hat build of MicroShift 설치 요구 사항(예: 방화벽 정책, MicroShift RPM, systemd 서비스)을 통해 최소 필드 배포 엣지 장치 및 기본 LVM 장치 매퍼 활성화로 워크로드 이식성을 실현할 수 있는 배포를 생성할 수 있습니다.

Jira:RHELPLAN-136489

4.3. 소프트웨어 관리

RHEL에서 오프라인 업데이트를 위한 새로운 dnf offline-upgrade 명령

이번 개선된 기능을 통해 DNF system-upgrade 플러그인의 새로운 dnf offline-upgrade 명령을 사용하여 RHEL에 오프라인 업데이트를 적용할 수 있습니다.

중요

system-upgrade 플러그인에 포함된 dnf system-upgrade 명령은 RHEL에서 지원되지 않습니다.

Bugzilla:2131288

dnf 오프라인 업그레이드에 권고 보안 필터 적용 지원

이번 개선된 기능을 통해 권고 필터링의 새로운 기능이 추가되었습니다. 결과적으로 권고 보안 필터 (--advisory,--security,--bugfix, 기타 필터)와 함께 dnf offline-upgrade 명령을 사용하여 지정된 권고에서만 패키지와 해당 종속성을 다운로드할 수 있습니다.

Bugzilla:2139326

DNF API에서 unload_plugins 기능을 사용할 수 있습니다.

이번 개선된 기능을 통해 새로운 언로드_plugins 기능이 DNF API에 추가되어 플러그인을 언로드할 수 있습니다.

중요

먼저 init_plugins 함수를 실행한 다음 unload_plugins 함수를 실행해야 합니다.

Bugzilla:2121662

rpm2archive의 새로운 --nocompression 옵션

이번 개선된 기능을 통해 rpm2archive 유틸리티에 --nocompression 옵션이 추가되었습니다. RPM 패키지의 압축을 직접 해제할 때 이 옵션을 사용하면 압축을 방지할 수 있습니다.

Bugzilla:2150804

4.4. 쉘 및 명령행 툴

Rear는 64비트 IBM Z 아키텍처에서도 완전 지원됩니다.

이전에는 64비트 IBM Z 아키텍처에서 기술 프리뷰로 사용할 수 있는 Relax 및 Recover(ReaR) 기능은 리어 패키지 버전 2.6-17.el9 이상에서 완전하게 지원됩니다. IBM Z 아키텍처에서는 z/VM 환경에서만 ReaR 복구 이미지를 생성할 수 있습니다. LPAR(Logical partitions) 백업 및 복구는 현재 지원되지 않습니다. Rear는 ECKD(Extended Count Key Data) 다이렉트 액세스 스토리지 장치(DASD)에서만 디스크 레이아웃 저장 및 복원을 지원합니다. FBA(Fibt Block Access) DASD 및FCP(Fibre Channel Protocol)를 통해 연결된 SCSI 디스크는 이러한 목적으로 지원되지 않습니다. 현재 사용 가능한 유일한 출력 방법은 커널 및 zIPL 부트 로더와 호환되는 초기 램디스크(initrd)를 생성하는 Initial Program Load(IPL)입니다.

자세한 내용은 64비트 IBM Z 아키텍처에서 ReaR 복구 이미지 사용을 참조하십시오.

Bugzilla:2046653

systemd 를 버전 252로 재기반

systemd 패키지가 버전 252로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.

  • system.confuser.conf 파일에서 DefaultDeviceTimeoutSec= 옵션을 사용하여 장치 단위가 활성화되기를 기다리는 경우 기본 타임아웃을 지정할 수 있습니다.
  • 시스템 종료 시 systemd 는 이제 파일 시스템의 마운트를 해제하는 프로세스를 기록합니다.
  • 이제 일시적인 유닛에도 드롭인을 사용할 수 있습니다.
  • ConditionMemory= 옵션에서 K, M, G, T 등과 같은 크기 접미사를 사용할 수 있습니다.
  • systemctl list-automounts 명령을 사용하여 points를 나열할 수 있습니다.
  • systemd-logind 유틸리티를 사용하여 StopIdleSessionSec= 옵션을 사용하여 사전 구성된 타임아웃 후 유휴 세션을 중지할 수 있습니다.
  • systemd-udev 유틸리티는 Infiniband 동사 장치에 대한 infiniband by-pathinfiniband by-ibdev 링크를 생성합니다.
  • 이제 systemd-tmpfiles 유틸리티는 C 복사의 absent 소스를 정상적으로 처리합니다.
  • systemd-repart 유틸리티는 서명을 포함하여 dm-verity 파티션을 생성합니다.

Bugzilla:2217931

업데이트된 systemd-udevd 는 InfiniBand 인터페이스에 일관된 네트워크 장치 이름을 할당합니다.

RHEL 9에 도입된 systemd 패키지의 새 버전에는 업데이트된 systemd-udevd 장치 관리자가 포함되어 있습니다. 장치 관리자는 InfiniBand 인터페이스의 기본 이름을 systemd-udevd 에서 선택한 일관된 이름으로 변경합니다.

IPoIB 장치 Renaming IPoIB 장치 절차에 따라 InfiniBand 인터페이스 이름에 대한 사용자 정의 이름 지정 규칙을 정의할 수 있습니다.

이름 지정 체계에 대한 자세한 내용은 systemd.net-naming-scheme(7) 매뉴얼 페이지를 참조하십시오.

Bugzilla:2136937

4.5. 인프라 서비스

chrony 는 버전 4.3으로 재기반

chrony 제품군이 버전 4.3으로 업데이트되었습니다. 버전 4.2 이상의 주요 개선 사항은 다음과 같습니다.

  • NTP(Network Time Protocol) 측정의 장기 정량 기반 필터링이 추가되었습니다. ,server 또는 peer 지시문에 maxdelayquant 옵션을 추가하여 이 기능을 활성화할 수 있습니다.
  • 선택 로그를 추가하여 chronyd 소스 선택에 대한 자세한 정보를 제공합니다. 선택 로그를 log 지시문에 추가하여 활성화할 수 있습니다.
  • 하드웨어 타임스탬프 및 Pulse-Per-Second Hardware Clock(PHC) 참조 시계를 사용할 때 동기화 안정성이 향상되었습니다.
  • 무료 실행 안정 시계(Temperature Compensated hieradata Oscillator), Oven-Controlledanchor Oscillator (OCXO) 또는 원자 시계와 같은 시스템 클럭에 대한 지원이 추가되었습니다.
  • 최대 폴링 속도를 초당 128개의 메시지로 늘립니다.

Bugzilla:2133754

FR R 버전 8.3.1로 업데이트

동적 라우팅 스택을 관리하기 위한 frr 패키지가 버전 8.3.1로 업데이트되었습니다. 버전 8.2.2의 주요 변경 사항은 다음과 같습니다.

  • BGP(Border Gateway Protocol)와 상호 작용할 수 있는 새로운 명령 세트를 추가했습니다.

    • set as-path 명령은 BGP 경로의 Autonomous System(AS) 경로 속성을 새 값으로 대체합니다.
    • BGP 경로 맵을 구성할 때 특정 BGP 피어 또는 그룹과 일치하는 match 피어 명령입니다.
    • ead-es-frag evi-limit 명령은 Eknative에서 주어진 기간 내에 보낼 수 있는 Ethernet A-D 조각 수에 제한을 설정합니다.
    • match evpn route-type 명령은 route-target, route-distinguisher 또는 MAC/IP 경로와 같은 특정 유형의 E#177 경로에 대한 특정 작업을 수행합니다.
  • FRR 데몬과 상호 작용하기 위해 VTYSH 명령줄 인터페이스에 show thread timer 명령을 추가했습니다.
  • show ip ospf reachable-routers 명령을 추가하여 현재 OSPF 프로토콜을 통해 연결할 수 있는 라우터 목록을 표시합니다.
  • PIM( Protocol>-< Multicast) 데몬과 상호 작용할 수 있는 새 명령이 추가되었습니다.

    • debug igmp trace detail 명령은 자세한 추적으로 IGMP(Internet Group Management Protocol) 메시지 디버깅을 활성화합니다.
    • 인터페이스를 수동적으로 구성하는 ip pim passive 명령은 PIM 메시지를 전송하지 않고 수동적으로 설정합니다.
  • show zebra 명령에 ECMP, EECDHE, MPLS 상태와 같은 새로운 출력이 추가되었습니다.
  • 커널의 mroute 테이블에서 멀티 캐스트 관련 정보를 표시하기 위해 show ip nht mrib 명령을 ZEBRA 구성 요소에 추가했습니다.

Bugzilla:2129731

version 3.0.5로 다시 기반

Very Secure FTP Daemon(Forwarded)은 호스트 간에 파일을 전송하는 안전한 방법을 제공합니다. ScanSetting 패키지가 버전 3.0.5로 업데이트되었습니다. 주요 변경 사항 및 개선 사항에는 다음과 같은 SSL 현대화가 포함됩니다.

  • 기본적으로 CloudEvent 유틸리티 에는 보안 연결을 위해 TLS 버전 1.2 이상을 사용해야 합니다.
  • 이제 ScanSetting 유틸리티가 최신 FileZ 대개 클라이언트와 호환됩니다.

Bugzilla:2018284

frr 패키지에 대상 SELinux 정책 포함

동적 라우팅 스택을 관리하기 위한 frr 패키지의 빠른 개발로 인해 새로운 기능 및 AVC(Access Vector cache)가 자주 발생합니다. 이번 개선된 기능을 통해 이제 SELinux 규칙이 FRR과 함께 패키징되어 모든 문제를 보다 신속하게 해결할 수 있습니다. SELinux는 필수 액세스 제어 정책을 적용하여 패키지에 추가 수준의 보호를 추가합니다.

Bugzilla:2129743

PowerTOP rebased to 버전 2.15

에너지 효율성을 개선하기 위한 전원 데스크탑 패키지가 버전 2.15로 업데이트되었습니다. 주요 변경 사항 및 개선 사항은 다음과 같습니다.

  • 여러 개의 Valgrind 오류 및 가능한 버퍼 오버런이 전원 장치 안정성을 개선하기 위해 수정되었습니다.
  • Rytripleo 프로세서 및 Kaby Lake 플랫폼과의 호환성 개선
  • enabled Lake Field, Alder Lake N 및 Raptor Lake 플랫폼을 지원합니다.
  • Ice Lake NNPI 및 Meteor Lake 모바일 및 데스크탑 지원 활성화

Bugzilla:2044132

systemd-sysusers 유틸리티는 chrony,dhcp,ra ECDHE , squid 패키지에서 사용할 수 있습니다.

systemd-sysusers 유틸리티는 패키지 설치 중에 시스템 사용자 및 그룹을 생성하고 패키지를 제거하는 동안 제거합니다. 이번 개선된 기능을 통해 다음 패키지에는 스크립트릿에 systemd-sysusers 유틸리티가 포함되어 있습니다.

  • chrony,
  • dhcp,
  • radvd,
  • squid.

Jira:RHELPLAN-136485

빈도 동기화를 위한 새로운 synce4l 패키지 사용 가능

SyncE(Synchronous Ethernet)는 PTP 클럭이 물리 계층에서 빈도를 정확하게 동기화할 수 있도록 하는 하드웨어 기능입니다. SyncE는 특정 NIC(네트워크 인터페이스 카드) 및 네트워크 스위치에서 지원됩니다.

이번 개선된 기능을 통해 이제 SyncE를 지원하는 새로운 synce4l 패키지를 사용할 수 있습니다. 그 결과 RAN(Telco radio Access Network) 애플리케이션이 보다 정확한 시간 동기화로 인해 보다 효율적인 통신을 수행할 수 있게 되었습니다.

Bugzilla:2143264

버전 2.20.0에 따라 조정

애플리케이션 및 워크로드의 성능을 최적화하는 TuneD 유틸리티가 버전 2.20.0으로 업데이트되었습니다. 버전 2.19.0에 대한 주요 변경 사항 및 개선 사항은 다음과 같습니다.

  • API 확장을 사용하면 런타임에 플러그인 인스턴스 간에 장치를 이동할 수 있습니다.
  • CPU 관련 성능 설정을 세밀하게 조정하는 plugin_cpu 모듈에는 다음과 같은 향상된 기능이 도입되었습니다.

    • pm_qos_resume_latency_us 기능을 사용하면 각 CPU가 유휴 상태에서 활성 상태로 전환되는 데 허용되는 최대 시간을 제한할 수 있습니다.
    • tuned는 다양한 사용 시나리오를 기반으로 시스템의 전원 관리를 조정하는 확장 알고리즘을 제공하는 intel_pstate 스케일링 드라이버를 지원합니다.
  • Unix 도메인 소켓을 통해 TuneD를 제어하는 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 자세한 내용은 기술 프리뷰로 사용 가능한 TuneD의 소켓 API 를 참조하십시오.

Bugzilla:2133815, Bugzilla:2113925, Bugzilla:2118786, Bugzilla:2095829

4.6. 보안

libreswan은 4.9로 다시 설정

libreswan 패키지가 4.9 버전으로 업그레이드되었습니다. 이전 버전의 주요 변경 사항은 다음과 같습니다.

  • addconnwhack 유틸리티에 대한 {left,right}pubkey= 옵션을 지원
  • KDF 자체 테스트
  • 호스트의 인증 키 표시(showhostkey).

    • ECDSA 공개 키 지원
    • PEM 인코딩 공개 키를 출력하는 새로운 --pem 옵션
  • 인터넷 키 교환 프로토콜 버전 2 (IKEv2):

    • 확장 가능한 인증 프로토콜 - 전송 계층 보안 (EAP-TLS) 지원
    • EAP 전용 인증 지원
  • pluto IKE 데몬:

    • maxbytesmaxpacket 카운터 지원

Bugzilla:2128669

OpenSSL이 3.0.7로 다시 시작

OpenSSL 패키지는 다양한 버그 수정 및 개선 사항이 포함된 버전 3.0.7로 변경되었습니다. 특히 기본 공급자에는 이제 RIPEMD160 해시 기능이 포함됩니다.

Bugzilla:2129063

libssh 에서 스마트 카드 지원

이제 PKI(Public-Key Cryptography Standard) #11 URI(Uniform Resource Identifier)를 통해 스마트 카드를 사용할 수 있습니다. 결과적으로 libssh SSH 라이브러리와 libssh 를 사용하는 애플리케이션에서 스마트 카드를 사용할 수 있습니다.

Bugzilla:2026449

libssh rebased to 0.10.4

시스템 간 보안 원격 액세스 및 파일 전송을 위해 SSH 프로토콜을 구현하는 libssh 라이브러리가 버전 0.10.4로 업데이트되었습니다.

새로운 기능:

  • OpenSSL 3.0 지원이 추가되었습니다.
  • 스마트 카드에 대한 지원이 추가되었습니다.
  • IdentityAgentModuliFile 두 가지 새로운 구성 옵션이 추가되었습니다.

기타 주요 변경 사항은 다음과 같습니다.

  • 1.0.1 이전 버전 OpenSSL은 더 이상 지원되지 않습니다.
  • 기본적으로 DSL(Digital Signature Algorithm) 지원은 빌드 시 비활성화되었습니다.
  • SCP API는 더 이상 사용되지 않습니다.
  • catalog keyprivatekey API는 더 이상 사용되지 않습니다.

Bugzilla:2068475

3.5로 업데이트 된 SELinux 사용자 공간 패키지

SELinux 사용자 공간 패키지 libselinux,libse manage,checkpolicy,mcstrans, policycoreutils, sepolicy 유틸리티를 포함하는 버전 3.5로 업데이트되었습니다. 주요 개선 사항 및 버그 수정 사항은 다음과 같습니다.

  • sepolicy 유틸리티:

    • man 페이지에 누락된 부울 추가
    • 여러 Python 및 GTK 업데이트
  • PCRE2 라이브러리의 힙 메모리 사용량을 줄이는 libselinux 에 해결방법이 추가되었습니다.
  • libsepol 패키지:

    • 커널 정책에 대한 type AV 규칙의 속성 거부
    • 더 이상 간단한 왕복 테스트를 허용하는 빈 클래스 정의를 작성하지 않습니다.
    • 엄격한 정책 검증
  • fixfiles 스크립트는 SIGINT 신호에 임시 바인드 마운트를 마운트 해제합니다.
  • 많은 코드 및 맞춤법 버그가 수정됨
  • 더 이상 사용되지 않는 Python 모듈 distutils 및 PIP를 사용한 설치에 대한 종속성 제거
  • semodule 옵션 --rebuild-if-modules-changed 의 이름이 --refresh로 변경됨
  • 생성된 설명을 위해 번역 업데이트 및 지원되지 않는 언어의 처리 개선
  • 많은 정적 코드 분석 버그, 퍼저 문제 및 컴파일러 경고가 수정됨

Bugzilla:2145224,Bugzilla:2145228,Bugzilla:2145229,Bugzilla:2145226,Bugzilla:2145230,Bugzilla:2145231

OpenSCAP이 1.3.7로 재기반

OpenSCAP 패키지는 업스트림 버전 1.3.7로 변경되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.

  • OVAL 필터를 처리할 때 발생한 오류 수정 (RHBZ#2126882)
  • InstallPlan이 일치하지 않는 경우 OpenSCAP에서 잘못된 빈 xmlfilecontent 항목을 더 이상 내보내지 않습니다(RHBZ#2139060).
  • 사용 가능한 메모리 오류 (RHBZ#2111040)를확인하지 못했습니다.

Bugzilla:2159286

SCAP 보안 가이드 0.1.66으로 업데이트

SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.66으로 변경되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다.

  • 새로운 CIS RHEL9 프로필
  • account_passwords_pam_faillock_audit 규칙 사용 중단: accounts_passwords_pam_faillock_audit

Bugzilla:2158405

유휴 세션 종료를 위한 새로운 SCAP 규칙

새로운 SCAP 규칙 logind_session_timeout 이 강화 및 높은 수준의 ANSSI-BP-028 프로파일의 scap-security-guide 패키지에 추가되었습니다. 이 규칙은 systemd 서비스 관리자의 새로운 기능을 사용하고 특정 시간 후에 유휴 사용자 세션을 종료합니다. 이 규칙은 여러 보안 정책에 필요한 강력한 유휴 세션 종료 메커니즘의 자동 구성을 제공합니다. 결과적으로 OpenSCAP은 유휴 사용자 세션 종료와 관련된 보안 요구 사항을 자동으로 확인하고 필요한 경우 문제를 해결할 수 있습니다.

Bugzilla:2122325

Rsyslog 로그 파일에 대한 SCAP -security-guide 규칙은 RainerScript 로그와 호환됩니다.

Rsyslog 로그 파일의 소유권 확인 및 수정, 그룹 소유권 및 권한에 대한 scap-security-guide 의 규칙도 이제 RainerScript 구문과 호환됩니다. 최신 시스템에서는 Rsyslog 구성 파일에서 RainerScript 구문을 이미 사용하고 있으며 해당 규칙은 이 구문을 인식하지 못했습니다. 결과적으로 scap-security-guide 규칙은 이제 사용 가능한 두 구문에서 소유권, 그룹 소유권 및 권한을 확인하고 수정할 수 있습니다.

Bugzilla:2169414

Keylime re based to 6.5.2

keylime 패키지는 업스트림 버전인 keylime-6.5.2-5.el9로 변경되었습니다. 이 버전에는 다양한 개선 사항 및 버그 수정이 포함되어 있으며 특히 다음과 같습니다.

  • 해결된 취약점 CVE-2022-3500
  • 다른 RHBZ#2138167이후 하나의 스크립트가 빠르게 실행되면 Keylime 에이전트가 더 이상 IMA 검사에 실패하지 않습니다.
  • /usr/share/keylime/create_mb_refstate 스크립트 RHBZ#2140670의 분할 오류 수정
  • require_ek_cert 옵션이 활성화되면 EK 검증 중에 Registrar가 더 이상 충돌하지 않습니다 RHBZ#2142009

Bugzilla:2150830

Clevis에서 외부 토큰 허용

Clevis 자동 암호화 툴에 도입된 새로운 -e 옵션을 사용하면 cryptsetup 중에 암호를 입력하지 않도록 외부 토큰 ID를 제공할 수 있습니다. 이 기능을 사용하면 구성 프로세스를 보다 자동화하고 편리하게 수행할 수 있으며 Clevis를 사용하는 stratis 과 같은 패키지에 특히 유용합니다.

Bugzilla:2126533

rsyslog TLS 암호화 로깅이 여러 CA 파일 지원

새로운 NetstreamDriverCaExtraFiles 지시문을 사용하면 TLS 암호화 원격 로깅을 위한 추가 CA(인증 기관) 파일 목록을 지정할 수 있습니다. 새 지시문은 ossl (OpenSSL) Rsyslog 네트워크 스트림 드라이버에서만 사용할 수 있습니다.

Bugzilla:2124849

rsyslog 권한은 제한됩니다.

이제 Rsyslog 로그 처리 시스템의 권한은 Rsyslog에 명시적으로 필요한 권한으로만 제한됩니다. 이렇게 하면 입력 리소스 오류(예: 네트워킹 플러그인)의 경우 보안 노출이 최소화됩니다. 그 결과 Rsyslog는 동일한 기능을 가지지만 불필요한 권한은 없습니다.

Bugzilla:2127404

SELinux 정책을 통해 Rsyslog는 시작 시 권한을 삭제할 수 있습니다.

Rsyslog 로그 처리 시스템의 권한이 보안 노출 최소화로 제한되기 때문에 (RH#2127404) SELinux 정책이 업데이트되어 rsyslog 서비스가 시작 시 권한을 삭제할 수 있습니다.

Bugzilla:2151841

Tang에서 systemd-sysusers사용

Tang 네트워크 존재 서버는 이제 useradd 명령을 포함하는 쉘 스크립트 대신 systemd-sysusers 서비스를 통해 시스템 사용자 및 그룹을 추가합니다. 이를 통해 시스템 사용자 목록을 쉽게 확인할 수 있으며, sysuser.d 파일을 더 높은 우선 순위로 제공하여 시스템 사용자 정의도 재정의할 수 있습니다.

Bugzilla:2095474

Opencryptoki rebased to 3.19.0

opencryptoki 패키지는 많은 개선 사항 및 버그 수정을 제공하는 3.19.0 버전으로 변경되었습니다. 특히 opencryptoki 는 다음과 같은 기능을 지원합니다.

  • IBM 특정 dilithium 키
  • 듀얼 기능 암호화 함수
  • PKCS #11 cryptographic Token Interface Base Specification v3.0에 설명된 대로 새로운 C_SessionCancel 함수를 사용하여 활성 세션 기반 작업 취소
  • CKM_IBM_ECDSA_OTHER 메커니즘을 통해 Schnorr 서명
  • CKM_IBM_B Cortex_DERIVE 메커니즘을 통한 NetworkPolicy 키 파생
  • IBM z16 시스템의 EP11 토큰

Bugzilla:2110314

이제 SELinux가 CloudEvent tcpdudftools를 제한합니다.

selinux-policy 패키지가 업데이트되면 SELinux는 다음 서비스를 제한합니다.

  • mptcpd
  • udftools

Bugzilla:1972222

fapolicyd에서 RPM 데이터베이스 필터링 제공

새 구성 파일 /etc/fapolicyd/rpm-filter.conf 를 사용하면 fapolicyd 소프트웨어 프레임워크가 trust 데이터베이스에 저장하는 RPM-database 파일 목록을 사용자 지정할 수 있습니다. 이렇게 하면 RPM으로 설치된 특정 애플리케이션을 차단하거나 기본 구성 필터로 거부된 애플리케이션을 허용할 수 있습니다.

Jira:RHEL-192

GnuTLS는 암호 해독 및 암호화 중에 패딩을 추가 및 제거할 수 있습니다.

특정 프로토콜을 구현하려면 암호 해독 및 암호화 중에 PKCS#7 패딩이 필요합니다. gnutls_cipher_encrypt3gnutls_cipher_decrypt3 블록 암호화 기능이 GnuTLS에 추가되었습니다. 결과적으로 GNUTLS_CIPHER_PADDING_PKCS7 플래그와 함께 이러한 함수를 사용하여 원래 일반 텍스트의 길이가 블록 크기 중 다수가 아닌 경우 패딩을 자동으로 추가하거나 제거할 수 있습니다.

Bugzilla:2084161

NSS는 1023비트보다 짧은 RSA 키를 더 이상 지원하지 않음

NSS(Network Security Services) 라이브러리 업데이트에서는 모든 RSA 작업의 최소 키 크기를 128비트에서 1023비트로 변경합니다. 즉 NSS가 다음 기능을 더 이상 수행하지 않습니다.

  • 1023비트보다 짧은 RSA 키를 생성합니다.
  • 1023비트보다 짧은 RSA 키를 사용하여 RSA 서명을 서명하거나 확인합니다.
  • 1023비트보다 짧은 RSA 키를 사용하여 값을 암호화하거나 해독합니다.

Bugzilla:2091905

EUS ( Extended Master Secret TLS Extension)가 FIPS 지원 시스템에서 적용됩니다.

RHSA-2023:3722 권고가 릴리스되면서 TLS 확장 마스터 시크릿 (ECDSA) 확장(RFC 7627)은 FIPS 지원 RHEL 9 시스템에서 TLS 1.2 연결에 필요합니다. 이는 FIPS-140-3 요구 사항에 따라 수행됩니다. TLS 1.3은 영향을 받지 않습니다.

ECDSA 또는 TLS 1.3을 지원하지 않는 레거시 클라이언트는 이제 RHEL 9에서 실행되는 FIPS 서버에 연결할 수 없습니다. 마찬가지로 FIPS 모드의 RHEL 9 클라이언트는 ECDSA 없이 TLS 1.2만 지원하는 서버에 연결할 수 없습니다. 실제로 이러한 클라이언트는 RHEL 6, RHEL 7 및 비 RHEL 레거시 운영 체제의 서버에 연결할 수 없습니다. 이는 OpenSSL의 기존 1.0.x 버전이 ECDSA 또는 TLS 1.3을 지원하지 않기 때문입니다.

또한 FIPS 지원 RHEL 클라이언트에서 VMWare ESX와 같은 하이퍼바이저에 연결하는 것은 이제 하이퍼바이저에서 TLS 1.2 없이 TLS 1.2를 사용하는 경우 공급자 루틴::ems not enabled 오류와 함께 실패합니다. 이 문제를 해결하려면 ECDSA 확장을 사용하여 TLS 1.3 또는 TLS 1.2를 지원하도록 하이퍼바이저를 업데이트합니다. VMWare vSphere의 경우 이는 버전 8.0 이상을 의미합니다.

자세한 내용은 Red Hat Enterprise Linux 9.2에서 적용된 TLS 확장 "확장 마스터 시크릿" 을 참조하십시오.

Bugzilla:2188046, Bugzilla:2218721

4.7. 네트워킹

NetworkManager가 버전 1.42.2로 다시 설정

NetworkManager 패키지가 업스트림 버전 1.42.2로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다.

  • 이더넷 본딩은 소스 로드 밸런싱을 지원합니다.
  • NetworkManager는 루프백 장치에서 연결을 관리할 수 있습니다.
  • IPv4 ECMP(Equal-cost multi-path) 경로 지원이 추가되었습니다.
  • VLAN(Virtual Local Area Networks) 연결에서 802.1ad 태그 지정 기능이 추가되었습니다.
  • nmtui 애플리케이션은 Wi-FiECDHE-Enterprise, 802.1X 인증이 포함된 이더넷 및 MACsec 연결 프로필을 지원합니다.
  • NetworkManager는 모든 주소가 IPv6 중복 주소 탐지(DAD)에 실패하는 경우 DHCPv6 리스를 거부합니다.

주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.

Bugzilla:2134897

NetworkManager를 사용한 ECMP 라우팅의 weight 속성 소개

이번 업데이트를 통해 RHEL 9는 IPv4 Equal-Cost Multi-Path(ECMP) 경로를 정의할 때 새 속성 가중치 를 지원합니다. NetworkManager를 사용하여 다중 경로 라우팅을 구성하여 네트워크 트래픽을 로드 밸런싱하고 안정화할 수 있습니다. 이를 통해 두 노드 간 데이터 전송에 여러 경로를 사용할 수 있으므로 네트워크 효율성을 개선하고 링크 실패 시 중복성을 제공합니다. weight 속성을 사용하는 조건은 다음과 같습니다.

  • 유효한 값은 1-256입니다.
  • weight 속성을 사용하여 단일 홉 경로로 여러 개의 next-hop 경로를 정의합니다.
  • weight 를 설정하지 않으면 NetworkManager는 경로를 ECMP 경로로 병합할 수 없습니다.

Bugzilla:2081302

NetworkManager 업데이트: 여러 네트워크에서 DNS 구성에 대한 유연성 향상

이번 업데이트를 통해 /etc/Networkmanager/NetworkManager.conf 파일에서 기존 [global-dns] 섹션을 사용하여 [global-dns-domain-*] 섹션에 nameserver 값을 지정하지 않고 DNS 옵션을 구성할 수 있습니다. 이를 통해 실제 DNS 확인을 위해 네트워크 연결에 의해 제공되는 DNS 서버를 계속 사용하는 동안 /etc/resolv.conf 파일에서 DNS 옵션을 구성할 수 있습니다. 결과적으로 이 기능을 사용하면 다른 DNS 서버를 사용하여 다른 네트워크에 연결할 때 DNS 설정을 보다 쉽고 유연하게 관리할 수 있습니다. 특히 /etc/resolv.conf 파일을 사용하여 DNS 옵션을 구성할 때 더욱 그러합니다.

Bugzilla:2019306

NetworkManager에서 새로운 vlan.protocol 속성 지원

이번 업데이트를 통해 vlan 인터페이스 유형이 이제 새 프로토콜 속성을 허용합니다. 속성 유형은 string입니다. 허용되는 값은 802.1Q (기본값) 또는 802.1ad 입니다. new 속성은 캡슐화의 태그 식별자를 제어하는 VLAN 프로토콜을 지정합니다.

Bugzilla:2128809

NetworkManager에서 관리되지 않는 인터페이스를 통한 VLAN 설정 허용

이 향상된 기능을 통해 NetworkManager를 사용하여 VLAN(가상 LAN)을 구성할 때 관리되지 않는 네트워킹 인터페이스를 기본 인터페이스로 사용할 수 있습니다. 결과적으로 nmcli 장치 set enp1s0 managed true 명령 또는 NetworkManager의 기타 API를 통해 명시적으로 변경되지 않는 한 VLAN 기본 인터페이스는 그대로 유지됩니다.

Bugzilla:2110307

NetworkManager를 사용하여 Multipath TCP 구성을 완전히 지원

이번 업데이트를 통해 NetworkManager 유틸리티는 MPTCP(Multipath TCP) 기능을 제공합니다. nmcli 명령을 사용하여 MPTCP를 제어하고 설정을 영구적으로 만들 수 있습니다.

자세한 내용은 다음을 참조하십시오.

Bugzilla:2029636

NetworkManager 유틸리티에서 루프백 인터페이스에서 연결 활성화 지원

관리자는 다음과 같이 루프백 인터페이스를 관리할 수 있습니다.

  • 루프백 인터페이스에 IP 주소 추가
  • DNS 구성 정의
  • 인터페이스에 바인딩되지 않는 특수 경로 정의
  • 인터페이스와 관련이 없는 경로 규칙을 정의합니다.
  • 루프백 인터페이스의 최대 전송 단위(MTU) 크기 변경

Bugzilla:2073512

balance-slb bonding 모드 지원

새로운 balance-slb bonding 모드 소스 로드 밸런싱에는 스위치 구성이 필요하지 않습니다. balance-slbxmit_hash_policy=vlan+srcmac 을 사용하여 소스 이더넷 주소에서 트래픽을 나누고 NetworkManager는 트래픽 필터링에 필요한 nftables 규칙을 추가합니다. 그 결과 NetworkManager를 사용하여 balance-slb 옵션을 활성화한 본딩 프로필을 생성할 수 있습니다.

Bugzilla:2128216

firewalld 버전 1.2로 재기반

firewalld 패키지가 여러 개선 사항을 제공하는 버전 1.2로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.

  • 새로운 서비스 지원 (예: netdata, IPFS)
  • 시스템이 보호되고 firewalld 서비스가 시작 중에 오류가 발생하면 네트워크 통신이 중단되지 않도록 하기 위한 장애 조치 모드
  • 일부 firewalld 정책 명령에 대한 CLI(명령줄)의 Tab-completion

Bugzilla:2125371

firewalld 에서 시작 failsafe 메커니즘 지원

이번 개선된 기능을 통해 시작 실패 시 firewalld 가 failsafe 기본값으로 대체됩니다. 이 기능은 잘못된 구성 또는 기타 시작 문제가 발생한 경우 호스트를 보호합니다. 결과적으로 사용자 구성이 유효하지 않더라도 firewalld 를 실행하는 호스트가 이제 failsafe 상태로 시작됩니다.

Bugzilla:2077512

conntrack-tools 는 버전 1.4.7로 변경되었습니다.

conntrack-tools 패키지가 버전 1.4.7로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 주요 변경 사항은 다음과 같습니다.

  • 하드웨어에 conntrack 항목의 오프로드를 지정하는 IPS_HW_OFFLOAD 플래그를 추가합니다.
  • clash_resolvechaintoolong 통계 카운터 추가
  • IP 주소 제품군별 이벤트 필터링 지원
  • conntrackd.conf 파일에서 설정 또는 해제로 yes 또는 no를 허용합니다.
  • 데몬 시작 시 사용자 공간 도우미 자동 로드를 지원합니다. 사용자는 nfct add 도우미 명령을 수동으로 실행할 필요가 없습니다.
  • -o userspace 명령 옵션을 제거하고 항상 사용자 공간을 트리거한 이벤트를 태그합니다.
  • 외부 삽입 문제를 경고로만 기록
  • 이전 항목을 교체할 수 있도록 캐시 항목을 찾을 때 conntrack ID를 무시합니다.
  • ssdp cthelper 모듈에서 IPv6 M- SDiscoveryCH 요청의 손상된 구문 분석 수정
  • nfct 라이브러리에서 지연 바인딩 기술이 필요하지 않음
  • 프로토콜 값 구문 분석, 잘못된 값 검색

Bugzilla:2132398

nmstate API에서 IPv6 링크 로컬 주소를 DNS 서버로 지원

이번 개선된 기능을 통해 nmstate API를 사용하여 IPv6 링크 로컬 주소를 DNS 서버로 설정할 수 있습니다. < link-local_address>%<interface > 형식을 사용합니다. 예를 들면 다음과 같습니다.

dns-resolver:
  config:
    server:
    - fe80::deef:1%enp1s0

Bugzilla:2095207

nmstate API에서 MPTCP 플래그 지원

이번 업데이트에서는MPTCP(MultiPath TCP) 플래그를 지원하여 nmstate API를 향상시킵니다. 결과적으로 nmstate 를 사용하여 고정 또는 동적 IP 주소가 있는 인터페이스에서 MPTCP 주소 플래그를 설정할 수 있습니다.

Bugzilla:2120473

모든 인터페이스의 MTU에 추가된 min-mtumax-mtu 속성

이전에는 지원되는 MTU 범위를 이해하기에 충분한 예외 메시지가 명확하지 않았습니다. 이번 업데이트에서는 min-mtumax-mtu 속성이 모든 인터페이스에 도입되었습니다. 그 결과, nmstate 는 원하는 MTU가 범위를 벗어나는 경우 지원되는 MTU 범위를 나타냅니다.

Bugzilla:2044150

NetworkManager에서 관리되지 않는 인터페이스를 통한 VLAN 설정 허용

이 향상된 기능을 통해 NetworkManager를 사용하여 VLAN(가상 LAN)을 구성할 때 관리되지 않는 네트워킹 인터페이스를 기본 인터페이스로 사용할 수 있습니다. 결과적으로 nmcli 장치 set enp1s0 managed true 명령 또는 NetworkManager의 기타 API를 통해 명시적으로 변경되지 않는 한 VLAN 기본 인터페이스는 그대로 유지됩니다.

Bugzilla:2058292

balance-slb bonding 모드 지원

새로운 balance-slb bonding 모드 소스 로드 밸런싱에는 스위치 구성이 필요하지 않습니다. balance-slbxmit_hash_policy=vlan+srcmac 을 사용하여 소스 이더넷 주소에서 트래픽을 나누고 NetworkManager는 트래픽 필터링에 필요한 nftables 규칙을 추가합니다. 그 결과 NetworkManager를 사용하여 balance-slb 옵션을 활성화한 본딩 프로필을 생성할 수 있습니다.

Bugzilla:2130240

Nmstate의 새로운 weight 속성

이번 업데이트에서는 Nmstate API 및 툴 모음에 weight 속성이 도입되었습니다. Equal Cost Multi-Path routes (ECMP) 그룹에서 각 경로의 상대적 가중치를 지정하려면 weight 를 사용할 수 있습니다. 가중치는 1에서 256 사이의 숫자입니다. 결과적으로 Nmstate의 weight 속성은 ECMP 그룹의 트래픽 분배에 대한 유연성을 향상시키고 제어할 수 있습니다.

Bugzilla:2162401

X DP-tools rebased to version 1.3.1

xdp-tools 패키지가 업스트림 버전 1.3.1로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다.

  • 다음 유틸리티가 추가되었습니다.

    • X DP-bench: 수신에서 XDP 벤치마크를 수행합니다.
    • X DP-monitor: 커널 추적 포인트를 사용하여 XDP 오류 및 통계를 모니터링합니다.
    • X DP-trafficgen: XDP 드라이버 후크를 통해 트래픽을 생성하고 보냅니다.
  • 다음 기능이 libxdp 라이브러리에 추가되었습니다.

    • xdp_multiprog_xdp_frags_support(), xdp_program_xdp_frags_support() 함수 및 xdp_program__xdp_frags_support() 함수가 XDP frags 지원으로 알려진 로딩 프로그램을 지원하기 위해 추가되었습니다.
    • 라이브러리는 AF_XDP 소켓에 프로그램을 연결할 때 적절한 참조 계산을 수행합니다. 따라서 소켓을 사용할 때 애플리케이션에서 더 이상 XDP 프로그램을 수동으로 분리할 필요가 없습니다. libxdp 라이브러리는 프로그램이 더 이상 사용되지 않을 때 이제 자동으로 프로그램을 분리합니다.
    • 다음 함수가 라이브러리에 추가되었습니다.

      • xdp_ program 오브젝트를 생성하기 위한 xdp_program__create()
      • xdp_ program 참조를 복제하기 위한 xdp_program__clone()
      • BPF _PROG_TEST_RUN 커널 API를 통해 XDP 프로그램을 실행하기 위한 Xdp_program__test_run()
    • LIBXDP_BPFFS_AUTOMOUNT 환경 변수가 설정되면 libxdp 라이브러리에서 존재하지 않는 경우 bpffs 가상 파일 시스템의 자동 마운트를 지원합니다. 이제 bpffs 가 마운트되지 않은 경우 라이브러리 기능의 하위 집합도 작동할 수 있습니다.

이 버전은 네트워크 장치에 로드 중인 XDP 디스패치 프로그램의 버전 번호도 변경합니다. 즉, 이전 버전과 새 버전의 libxdpxdp-tools 를 동시에 사용할 수 없습니다. libxdp 1.3 라이브러리는 디스패처의 이전 버전을 표시하지만 자동으로 업그레이드하지는 않습니다. 또한 libxdp 1.3으로 프로그램을 로드한 후에는 이전 버전이 최신 버전과 상호 운용되지 않습니다.

Bugzilla:2160066

iproute 는 버전 6.1.0으로 재기반

iproute 패키지가 여러 버그 수정 및 개선 사항을 제공하는 버전 6.1.0으로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.

  • vdpa 장치 통계 읽기 지원

    • 1 인덱스에서 virtqueue 데이터 구조에 대한 통계 읽기의 설명

      # vdpa dev vstats show vdpa-a qidx 1
      vdpa-a:
      vdpa-a: queue_type tx received_desc 321812 completed_desc 321812
    • 인덱스 16에서 virtqueue 데이터 구조에 대한 통계 읽기의 설명을 표시합니다.

      # vdpa dev vstats show vdpa-a qidx 16
      vdpa-a: queue_type control_vq received_desc 17 completed_desc 17
  • 해당 도움말 페이지 업데이트

Bugzilla:2155604

커널은 이제 SYN 플러드 메시지에 수신 대기 주소를 기록합니다.

이번 개선된 기능에는 수신 대기 IP 주소가 SYN 플러드 메시지에 추가됩니다.

Possible SYN flooding on port <ip_address>:<port>.

결과적으로 많은 프로세스가 다른 IP 주소의 동일한 포트에 바인딩되면 이제 관리자가 영향을 받는 소켓을 명확하게 확인할 수 있습니다.

Bugzilla:2143850

4.8. 커널

RHEL 9.2의 커널 버전

Red Hat Enterprise Linux 9.2는 커널 버전 5.14.0-284.11.1과 함께 배포됩니다.

Bugzilla:2177782

64k 페이지 크기 커널 사용 가능

Red Hat은 4k 페이지를 지원하는 RHEL 9 for ARM 커널 외에도 64k 페이지 ( kernel-64k )를 지원하는 선택적 커널 패키지를 제공합니다.

64k 페이지 크기 커널은 ARM 플랫폼의 대규모sets에 유용한 옵션입니다. 이는 일부 유형의 메모리 및 CPU 집약적 작업에 대해 더 나은 성능을 제공합니다.

설치 시 64비트 ARM 아키텍처 시스템에서 페이지 크기를 선택해야 합니다. Kickstart 파일의 패키지 목록에 kernel-64k 패키지를 추가하여 Kickstart를 통해서만 kernel-64k 를 설치할 수 있습니다.

kernel-64k 설치에 대한 자세한 내용은 고급 RHEL 9 설치 수행을 참조하십시오.

Bugzilla:2153073

kexec-tools 활성화에 대한 virtiofs 지원

이번 개선된 기능에서는 새로운 옵션인 virtiofs myfs 를 도입하여 kexec-tools 의 virtiofs 기능을 추가합니다. 여기서 myfsqemu 명령줄에 설정할 변수 태그 이름입니다(예: -device vhost-user-fs-pci,tag=myfs).

virtiofs 파일 시스템은 게스트가 호스트에서 내보낸 디렉터리를 마운트할 수 있는 드라이버를 구현합니다. 이 향상된 기능을 사용하면 가상 머신의 vmcore 덤프 파일을 다음에 저장할 수 있습니다.

  • virtiofs 공유 디렉터리입니다.
  • 루트 파일 시스템이 virtiofs 공유 디렉토리인 경우 /var/crash 와 같은 하위 디렉터리입니다.
  • 가상 머신의 루트 파일 시스템이 virtiofs 공유 디렉토리인 경우 다른 virtiofs 공유 디렉터리입니다.

Bugzilla:2085347

kexec-tools 패키지에서 원격 kdump 대상에 대한 개선 사항 추가

이번 개선된 기능을 통해 kexec-tools 패키지는 중요한 버그 수정 및 개선 사항을 추가합니다. 주요 변경 사항은 다음과 같습니다.

  • 필요한 네트워크 인터페이스만 활성화하여 kdump 용 메모리 사용을 최적화합니다.
  • 연결 시간 초과 오류 발생 시 kdump 의 네트워크 효율성 향상.

    네트워크가 설정될 때까지 기본 대기 시간은 최대 10분입니다. 이렇게 하면 통신 업체를 식별하기 위한 해결 방법으로 rd.net.timeout.carrier 또는 rd.net.timeout.dhcp 와 같은 dracut 매개변수를 전달할 필요가 없습니다.

Bugzilla:2076416

BPF 버전 6.0으로 재기반

BPF(Berkeley Packet Filter) 기능은 Linux 커널 버전 6.0으로 변경되었습니다. 이번 업데이트에서는 커널 모듈에 BPF 유형 형식(BTF)에 의존하는 모든 BPF 기능을 활성화합니다. 이러한 기능에는 추적을 위한 BPF trampolines 사용, Compile Once - Run Everywhere(CO-RE) 메커니즘 및 여러 네트워킹 관련 기능이 포함됩니다. 또한 커널 모듈에 디버깅 정보가 포함되어 있으므로 실행 중인 모듈을 검사하기 위해 더 이상 debuginfo 패키지를 설치할 필요가 없습니다.

실행 중인 커널에서 사용 가능한 BPF 기능 전체 목록에 대한 자세한 내용은 bpftool 기능 명령을 사용합니다.

Jira:RHELPLAN-133650

rtla meta-tool은 추적 기능 개선을 위해 osnoisetimerlat 추적기를 추가합니다.

Real-Time Linux Analysis(rtla)는 Linux의 실시간 속성을 분석하는 명령 집합이 포함된 meta-tool입니다. rtla 는 커널 추적 기능을 활용하여 예기치 않은 시스템 결과의 속성 및 근본 원인에 대한 정확한 정보를 제공합니다. rtla 는 현재 osnoisetimerlat tracer 명령에 대한 지원을 추가합니다.

  • osnoise tracer는 운영 체제의 노이즈에 대한 정보를 보고합니다.
  • timerlat 추적기는 타이머 IRQ 처리기 및 스레드 처리기에서 타이머 대기 시간을 주기적으로 출력합니다.

rtlatimerlat 기능을 사용하려면 sysctl -w kernel.sched_rt_runtime_us=-1 스크립트를 사용하여 승인 제어를 비활성화해야 합니다.

Bugzilla:2075216

Tuna의 argparse 모듈에서 CPU 소켓 구성을 지원합니다.

이번 개선된 기능을 통해 CPU 소켓이 여러 개 있는 경우 특정 CPU 소켓을 지정할 수 있습니다. 하위 명령에 -h 를 사용하여 도움말 사용을 볼 수 있습니다(예: tuna show_threads -h ).

특정 CPU 소켓을 구성하려면 CPU 소켓을 사용해야 하는 각 tuna 명령으로 -S 옵션을 지정합니다.

tuna <command> [-S CPU_SOCKET_LIST]

예를 들어, tuna show_threads -S 2,3 를 사용하여 스레드를 보거나 tuna show_irqs -S 2,3 을 사용하여 연결된 인터럽트 요청(IRQ)을 확인합니다.

결과적으로 이러한 개선 사항으로 인해 각 CPU를 개별적으로 지정할 필요 없이 CPU 소켓을 기반으로 CPU 사용량이 용이해집니다.

Bugzilla:2122781

더 나은 가독성을 제공하기 위해 cgroup 및 Tuna 의 irq의 출력 형식이 개선되었습니다.

이번 개선된 기능을 통해 cgroup 유틸리티의 tuna show_threads 명령 출력이 터미널 크기에 따라 구성됩니다. new -z 또는 --spaced 옵션을 show_threads 명령에 추가하여 cgroups 출력에 추가 간격을 구성할 수도 있습니다.

결과적으로 cgroups 출력에는 터미널 크기에 맞게 조정할 수 있는 읽기 쉬운 형식이 향상되었습니다.

Bugzilla:2121517

새로운 명령행 인터페이스가 실시간으로 tuna 툴에 추가되었습니다.

이번 개선된 기능에는 argparse 구문 분석 모듈을 기반으로 하는 tuna 툴에 새 명령줄 인터페이스가 추가되었습니다. 이번 업데이트를 통해 다음 작업을 수행할 수 있습니다.

  • 애플리케이션 및 커널 스레드의 속성을 변경합니다.
  • 이름 또는 번호로 인터럽트 요청(IRQ)에서 작동합니다.
  • 프로세스 식별자를 사용하여 작업 또는 스레드에서 작동합니다.
  • CPU 또는 소켓 번호를 사용하여 CPU 및 CPU 세트를 지정합니다.

tuna -h 명령을 사용하면 명령줄 인수와 해당 옵션을 출력할 수 있습니다. 각 명령에는 tuna <command> -h 명령으로 볼 수 있는 선택적 인수가 있습니다.

결과적으로 tuna 는 이제 명령행 인터페이스보다 사용 및 유지 관리가 용이한 명령 및 옵션의 표준화된 메뉴를 제공하는 인터페이스를 제공합니다.

Bugzilla:2062865

이제 rteval 명령 출력에 프로그램 로드 및 측정 스레드 정보가 포함됩니다.

이제 rteval 명령에서는 프로그램 로드 수, 측정 스레드 및 이러한 스레드를 실행한 해당 CPU의 수와 함께 보고서 요약을 표시합니다. 이 정보는 특정 하드웨어 플랫폼에서 로드되는 실시간 커널의 성능을 평가하는 데 도움이 됩니다.

rteval 보고서는 시스템의 부팅 로그와 함께 XML 파일에 기록되어 rteval-<date>-N-tar.bz2 압축 파일에 저장됩니다. 날짜는 보고서 생성 날짜를 지정하고 N th 실행에 대한 카운터입니다.

rteval 보고서를 생성하려면 다음 명령을 입력합니다.

# rteval --summarize rteval-<date>-N.tar.bz2

Bugzilla:2081325

대기 시간을 측정하기 위해 -W--bucket-width 옵션이 oslat 프로그램에 추가되었습니다.

이번 개선된 기능을 통해 나노초 정확도로 단일 버킷에 대기 시간 범위를 지정할 수 있습니다. 1000 나노초의 다중이 아닌 너비는 나노초 정확도를 나타냅니다. 새로운 옵션인 -W 또는 --bucket-width 를 사용하면 버킷 간 대기 시간 간격을 수정하여 하위 마이크로초 지연 시간 내에 대기 시간을 측정할 수 있습니다.

예를 들어 1-4의 CPU 범위에서 실행하기 위해 10초 동안 32 버킷에 대해 대기 시간 버킷 너비를 설정하고 버킷 크기가 0개를 생략하려면 다음 명령을 실행합니다.

# oslat -b 32 -D 10s -W 100 -z -c 1-4

옵션을 사용하기 전에 오류 측정과 관련하여 중요한 정확도 수준을 결정해야합니다.

Bugzilla:2041637

kdump 스토리지 대상으로 활성화된 NVMe/FC 전송 프로토콜

kdump 메커니즘은 이제 덤프 대상으로 파이버 채널(NVMe/FC)을 통한 NVMe(Nonvolatile Memory Express) 프로토콜을 지원합니다. 이번 업데이트를 통해 NVMe/FC 스토리지 대상에 커널 크래시 덤프 파일을 저장하도록 kdump 를 구성할 수 있습니다.

결과적으로 kdump시간 초과 또는 재연결 오류 없이 커널 충돌 시 NVMe/FCvmcore 파일을 캡처하고 저장할 수 있습니다.

NVMe/FC 구성에 대한 자세한 내용은 스토리지 장치 관리를참조하십시오.

Bugzilla:2080110

crash-utility 툴이 버전 8.0.2로 변경되었습니다.

크래시 활용도는 활성 시스템 상태 또는 커널 충돌 후 버전 8.0.2로 다시 사용되었습니다. 주요 변경 사항에는 다중 큐(blk-mq) 장치에 대한 지원이 추가되었습니다. dev -d 또는 dev -D 명령을 사용하면 다중 큐(blk-mq) 장치에 대한 디스크 I/O 통계를 표시할 수 있습니다.

Bugzilla:2119685

OpenSSL-ibmca 버전 2.3.1로 업데이트

64비트 IBM Z 아키텍처의 IBMCA용 동적 OpenSSL 엔진 및 공급자는 업스트림 버전 2.3.1로 변경되었습니다. RHEL 9 사용자는 OpenSSL 공급자를 사용하여 향후 OpenSSL 업데이트와 호환되는 것이 좋습니다. 엔진 기능은 OpenSSL 버전 3에서 더 이상 사용되지 않습니다.

Bugzilla:2110378

고객 키로 실행 게스트 덤프 암호화 보안

이 새로운 기능을 통해 Secure Execution 게스트의 하이퍼바이저 시작 덤프가 kdump 유틸리티가 작동하지 않는 시나리오에서 KVM에서 커널 충돌 정보를 수집할 수 있습니다. 보안 실행을 위한 하이퍼바이저 시작 덤프는 IBM Z Series z16 및 LinuxONE emperor 4 하드웨어용으로 설계되었습니다.

Bugzilla:2044204

실시간 TSN 프로토콜이 ADL-S 플랫폼에서 활성화되어 있습니다.

이 향상된 기능을 통해 IEEE Time S(TSN) 사양은 Intel Alder Lake S(ADL-S) 플랫폼의 네트워크를 통해 실시간 워크로드의 시간 동기화 및 결정적 처리를 가능하게 합니다. 다음과 같은 네트워크 장치를 지원합니다.

  • TSN을 지원하는 개별 2.5GbE MAC-PHY 콤보: Intel® i225/i226
  • 1GbE 및 2.5Gbe 속도를 다루는 Marvell, Maxlinear 및 2.5Gbe 속도를 다루는 타사 PHY 칩을 포함한 3rd party PHY 칩이 포함된 2.5GbE MAC은 일부 skus 및ECDHEs에서 사용할 수 있습니다.

TSN 프로토콜을 사용하면 임베디드 구현에서 결정적 애플리케이션 스케줄링, 선점 및 정확한 시간 동기화 유형 워크로드를 관리할 수 있습니다. 이러한 구현에는 전용, 특수 및 독점 네트워크가 필요한 반면 워크로드는 표준 이더넷, Wi-Fi 및 5G 네트워크에서 실행됩니다.

결과적으로 TSN은 다음을 위한 개선된 기능을 제공합니다.

  • 하드웨어: IoT에서 실시간 워크로드를 구현하는 데 사용되는 Intel 기반 시스템
  • 결정적 및 시간에 민감한 애플리케이션

Bugzilla:2100606

Intel impossible driver 가 버전 6.0.0으로 다시 설정

Intel 아이러니 드라이버 가 업스트림 버전 6.0.0으로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다. 주요 개선 사항은 다음과 같습니다.

  • 이더넷을 통한 point-to-point Protocol over Ethernet (ECDHEoE) 프로토콜 하드웨어 오프로드
  • Inter-Integrated Circuit (I2C) 프로토콜 쓰기 명령
  • 이더넷 스위치 장치 드라이버 모델의TPID(VLAN Tag Protocol Identifier)필터
  • switchdev에서 VLAN 태그 지정 두 배

Bugzilla:2104468

gnss 모듈에 대한 데이터를 쓰는 옵션 사용 가능

이 업데이트는 gnss 수신자에 데이터를 쓰는 옵션을 제공합니다. 이전에는 gnss 를 완전히 구성할 수 없었습니다. 이번 개선된 기능을 통해 모든 G nss 기능을 사용할 수 있습니다.

Bugzilla:2111048

IBM zSystems용 Secure Boot 인증서 호스팅

IBM z16 A02/AGZ 및 LinuxONE Rockhopper 4 LA2/AGL부터 HMC(Hardware Management Console)에서 Secure Boot가 활성화된 시스템을 시작할 때 Linux 커널을 확인하는 데 사용되는 인증서를 관리할 수 있습니다. 특히 다음과 같습니다.

  • HMC에서 액세스할 수 있는 FTP 서버에서 DPM의 HMC 및 클래식 모드를 사용하여 시스템 인증서 저장소의 인증서를 로드할 수 있습니다. HMC에 연결된 USB 장치에서 인증서를 로드할 수도 있습니다.
  • 인증서 저장소에 저장된 인증서를 LPAR 파티션과 연결할 수 있습니다. 여러 인증서를 파티션과 연결할 수 있으며 인증서를 여러 파티션과 연결할 수 있습니다.
  • HMC 인터페이스를 사용하여 파티션의 인증서 저장소의 인증서를 연결할 수 있습니다.
  • 인증서 저장소에서 인증서를 제거할 수 있습니다.
  • 최대 20개의 인증서를 파티션에 연결할 수 있습니다.

기본 제공 펌웨어 인증서는 계속 사용할 수 있습니다. 특히 사용자 관리 인증서 저장소를 사용하는 즉시 기본 제공 인증서를 더 이상 사용할 수 없습니다.

인증서 저장소에 로드된 인증서 파일은 다음 요구 사항을 충족해야 합니다.

  • PEM 또는 DER로 인코딩된 X.509v3 형식과 다음 파일 이름 확장 중 하나( .pem,.cer,.crt 또는 .der )가 있습니다.
  • 만료되지 않습니다.
  • 키 사용 속성은 디지털 서명 이어야 합니다.
  • 확장된 키 사용 속성에는 코드 서명이 포함되어야 합니다.

펌웨어 인터페이스를 사용하면 논리 파티션에서 실행되는 Linux 커널이 이 파티션과 연결된 인증서를 로드할 수 있습니다. IBM Z의 Linux는 이러한 인증서를 .platform 인증 키에 저장하므로 Linux 커널은 kexec 커널 및 타사 커널 모듈을 해당 파티션과 연결된 인증서를 사용하여 확인할 수 있습니다.

Operator는 확인된 인증서만 업로드하고 취소된 인증서만 제거해야 합니다.

참고

HMC에 로드해야 하는 Red Hat Secureboot 302 인증서는 제품 서명 키 에서 사용할 수 있습니다.

Bugzilla:2190123

64비트 IBM Z에서 Secure Boot IPL 및 덤프에 대한 zipl 지원

이번 업데이트를 통해 zipl 유틸리티는 64비트 IBM Z 아키텍처의 ECKD(Extended Count Key Data) Direct Access Storage Devices(DASD)에서 List-Directed IPL 및 List-Directed 덤프를 지원합니다. 결과적으로 IBM Z의 RHEL 용 Secure Boot는 ECKD 유형 DASD에서도 작동합니다.

Bugzilla:2044200

4.9. 파일 시스템 및 스토리지

NVMe-cli 버전 2.2.1로 업데이트

nvme-cli 패키지가 버전 2.2.1로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 주요 변경 사항은 다음과 같습니다.

  • 모든 NVMe 하위 시스템의 토폴로지를 표시하는 새로운 nvme show-topology 명령을 추가했습니다.
  • libuuid 종속성을 삭제했습니다.
  • uint128 데이터 필드가 올바르게 표시됩니다.
  • libnvme 종속성을 버전 1.2로 업데이트했습니다.

Bugzilla:2139753

libnvme 버전 1.2 기반

libnvme 패키지가 버전 1.2로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 가장 주목할 만한 변경은 libuuid 라이브러리의 삭제된 종속성입니다.

Bugzilla:2139752

Stratis가 풀에 일관된 블록 크기를 적용

Stratis는 이제 풀에서 일관된 블록 크기를 적용하여 풀에 혼합된 블록 크기 장치가 있을 때 발생할 수 있는 잠재적인 에지 케이스 문제를 해결합니다. 이 향상된 기능을 통해 사용자는 더 이상 풀을 생성하거나 풀의 기존 장치와 다른 블록 크기를 갖는 새 장치를 추가할 수 없습니다. 이로 인해 풀 실패 위험이 줄어듭니다.

Bugzilla:2039957

Stratis 풀 내의 기존 디스크 증가 지원

이전에는 사용자가 RAID 배열에 새 디스크를 추가할 때 일반적으로 RAID 배열의 크기가 증가했습니다. 그러나 모든 경우에 Stratis는 크기 증가를 무시하고 풀에 처음 추가할 때 RAID 배열에서 사용 가능한 공간만 계속 사용합니다. 이로 인해 Stratis가 새 장치를 확인할 수 없어 사용자가 풀 크기를 늘릴 수 없었습니다.

이 향상된 기능을 통해 Stratis는 이제 크기가 확장된 모든 풀 장치 멤버를 식별합니다. 결과적으로 사용자는 요구 사항에 따라 명령을 실행하여 풀을 확장할 수 있습니다.

Stratis는 이제 새 디스크를 추가하여 풀을 확장하는 기존 기능 외에도 풀 내에서 기존 디스크의 확장을 지원합니다.

Bugzilla:2039955

lvreduce 명령의 기능 개선

이번 개선된 기능을 통해 논리 볼륨(LV)이 활성 상태이면 lvreduce 명령을 실행하면 LV 크기를 줄이는 경우 파일 시스템이 손상되는지 확인합니다. LV의 파일 시스템에 축소가 필요하고 lvreduce resizefs 옵션이 활성화되지 않은 경우 LV를 줄일 수 없습니다.

또한 이제 LV를 줄이는 동안 파일 시스템 처리를 제어하는 새로운 옵션을 사용할 수 있습니다. 이러한 옵션을 사용하면 lvreduce 명령을 사용할 때 유연성 및 제어가 향상됩니다.

Bugzilla:1878893

statx 에 대한 직접 I/O 정렬 정보가 추가되었습니다.

이번 업데이트에서는 statx(2) 호출에 "STATX_DIOALIGN" 라는 새로운 마스크 값을 도입합니다. 이 값은 stx_mask 필드에 설정되면 각각 이 파일의 직접 I/O(O_DIRECT)에 대한 사용자 메모리 버퍼 및 파일 오프셋에 필요한 정렬(바이트 단위)과 I/O 세그먼트 길이를 나타내는 stx_dio_mem_alignstx_dio_offset_align 값을 요청합니다. 파일에서 직접 I/O가 지원되지 않으면 두 값이 모두 0이 됩니다. 이 인터페이스는 RHEL9의 xfs 및 ext4 파일 시스템에 있는 파일뿐만 아니라 블록 장치에 대해 구현됩니다.

Bugzilla:2150284

NFSv4.1 세션 트렁크 검색

이번 업데이트를 통해 클라이언트는 동일한 서버 및 세션에 대한 여러 연결을 사용하여 데이터를 더 빠르게 전송할 수 있습니다. NFS 클라이언트가 다른 IP 주소로 다중 홈 NFS 서버를 마운트하는 경우 기본적으로 나머지는 무시해도 하나의 연결만 사용됩니다. 성능을 개선하기 위해 이 업데이트에서는 트렁크discoverymax_connect 마운트 옵션에 대한 지원이 추가되어 클라이언트가 각 연결을 테스트하고 동일한 NFSv4.1+ 서버 및 세션과 여러 연결을 연결할 수 있습니다.

Bugzilla:2066372

NFS IO 크기는 TCP 및 RDMA의 경우 PAGE_SIZE의 다중 값으로 설정할 수 있습니다.

이번 업데이트를 통해 사용자는 TCP 및 RDMA 연결에 대해 NFS IO 크기를 다수의 PAGE_SIZE 로 설정할 수 있습니다. 따라서 일부 아키텍처에서 NFS 성능을 최적화할 때 유연성이 향상됩니다.

Bugzilla:2107347

RHEL 9에 nfsrahead 추가

nfsrahead 툴이 도입되면 이를 사용하여 NFS 마운트의 readahead 값을 수정하여 NFS 읽기 성능에 영향을 미칠 수 있습니다.

Bugzilla:2143747

4.10. 고가용성 및 클러스터

새로운 enable-authfile Booth 구성 옵션

클러스터 구성에서 Booth 티켓 관리자를 사용하기 위해 Booth 구성을 생성하면 pcs booth setup 명령으로 기본적으로 새로운 enable-authfile Booth 구성 옵션을 활성화합니다. pcs booth enable-authfile 명령을 사용하여 기존 클러스터에서 이 옵션을 활성화할 수 있습니다. 또한 pcs statuspcs booth status 명령으로 가능한 enable-authfile 잘못된 구성을 탐지할 때 경고가 표시됩니다.

Bugzilla:2116295

pcs 는 이제 리소스 및 stonith 에이전트의 validate-all 작업을 실행할 수 있습니다.

리소스 또는 STONITH 장치를 생성하거나 업데이트할 때 --agent-validation 옵션을 지정할 수 있습니다. 이 옵션을 사용하면 pcs 는 에이전트의 메타 데이터에 따라 pcs 에서 수행한 유효성 검사 외에도 에이전트의 validate-all 작업을 사용합니다.

Bugzilla:2112270, Bugzilla:2159454

4.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버

RHEL 9에서 사용 가능한 Python 3.11

RHEL 9.2에는 새로운 패키지 python3.11 에서 제공하는 Python 3.11과 ubi9/python-311 컨테이너 이미지용으로 빌드된 패키지 제품군이 도입되었습니다.

이전에 릴리스된 Python 3.9에 비해 주요 개선 사항은 다음과 같습니다.

  • 성능이 크게 향상되었습니다.
  • 구조 패턴 새로운 match 키워드를 사용하여 일치 (다른 언어로 전환 하는 것과 유사).
  • 예를 들어 닫히지 않은 대괄호 또는 대괄호를 나타내는 오류 메시지가 개선되었습니다.
  • 디버깅 및 기타 사용 사례를 위한 정확한 라인 번호입니다.
  • 정의를 요약하여 여러 줄에 컨텍스트 관리자를 정의하도록 지원합니다.
  • 새로운 X | Y type union 연산자, variadic generic 및 새로운 Self 유형과 같은 type hints 및 typing 모듈과 관련된 다양한 새로운 기능입니다.
  • 역추적에서 오류를 발생시킨 표현식을 가리키는 정확한 오류 위치입니다.
  • TOML 구문 분석을 지원하는 새로운 tomllib 표준 라이브러리 모듈입니다.
  • 예외 그룹 및 새로운 except* 구문을 사용하여 여러 관련이 없는 예외를 동시에 작성하고 처리하는 기능.

Python 3.11 및 이를 위해 빌드된 패키지는 동일한 시스템에서 Python 3.9와 병렬로 설치할 수 있습니다.

python3.11 스택에서 패키지를 설치하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.

# dnf install python3.11
# dnf install python3.11-pip

인터프리터를 실행하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.

$ python3.11
$ python3.11 -m pip --help

자세한 내용은 Python 설치 및 사용을 참조하십시오.

Python 3.11은 RHEL 9의 기본 Python 구현인 Python 3.9보다 라이프 사이클이 짧습니다. Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.

Bugzilla:2127923

nodejs:18 rebased to version 18.14 with npm rebased to version 9

업데이트된 Node.js 18.14 에는 버전 8에서 버전 9로 npm 의 SemVer 주요 업그레이드가 포함되어 있습니다. 이 업데이트는 유지 관리 이유로 필요했으며 npm 구성을 조정해야 할 수 있습니다.

특히 특정 레지스트리에 범위가 지정되지 않은 인증 관련 설정은 더 이상 지원되지 않습니다. 이러한 변경은 보안상의 이유로 변경되었습니다. 범위가 지정되지 않은 인증 구성을 사용하면 제공된 토큰이 .npmrc 파일에 나열된 모든 레지스트리로 전송되었습니다.

범위가 지정되지 않은 인증 토큰을 사용하는 경우 .npmrc 파일에서 레지스트리 범위 토큰을 생성하고 제공합니다.

.npmrc 파일의 //registry.npmjs.org/: _auth 와 같이 _auth를 사용하는 구성 행이 있는 경우 해당 행을 //registry.npmjs.org/:_auth Token=${NPM_TOKEN} 로 바꾸고 생성한 범위가 지정된 토큰을 제공합니다.

전체 변경 사항 목록은 업스트림 변경 로그를 참조하십시오.

Bugzilla:2178088

Git 버전 2.39.1로 업데이트

Git 버전 관리 시스템이 버전 2.39.1로 업데이트되어 이전에 릴리스된 버전 2.31에 대한 버그 수정, 개선 사항 및 성능 개선 사항을 제공합니다.

주요 개선 사항은 다음과 같습니다.

  • git log 명령에서 git describe 출력의 형식 자리 표시자 지원: git log --format=%(describe)
  • 이제 git commit 명령에서 --fixup<commit > 옵션을 지원하여 로그 메시지를 변경하지 않고 커밋 내용을 수정할 수 있습니다. 이번 업데이트를 통해 다음을 사용할 수도 있습니다.

    • 메시지와 콘텐츠를 모두 변경하는 --fixup=amend:<commit > 옵션입니다.
    • 커밋 메시지만 업데이트하는 --fixup=reword:& lt;commit> 옵션입니다.
  • 새로운 --reject-shallow 옵션을 git clone 명령과 함께 사용하여 단순 리포지토리에서 복제를 비활성화할 수 있습니다.
  • git branch 명령에서 --recurse-submodules 옵션을 지원합니다.
  • 이제 git merge-tree 명령을 사용하여 다음을 수행할 수 있습니다.

    • 두 개의 분기가 병합될 수 있는지 테스트합니다.
    • 분기가 병합되면 병합 커밋이 발생하는 트리를 계산합니다.
  • 새로운 safe.bareRepository 구성 변수를 사용하여 베어 리포지토리를 필터링할 수 있습니다.

Bugzilla:2139379

git-lfs 버전 3.2.0으로 업데이트

Git LFS(Large File Storage) 확장이 버전 3.2.0으로 업데이트되어 이전에 릴리스된 버전 2.13에 대한 버그 수정, 개선 사항 및 성능이 향상되었습니다.

주요 변경 사항은 다음과 같습니다.

  • Git LFS 에는 순수한 SSH 기반 전송 프로토콜이 도입되었습니다.
  • Git LFS 는 이제 병합 드라이버를 제공합니다.
  • 이제 git lfs fsck 유틸리티에서 포인터가 정식이고 예상되는 LFS 파일의 형식이 올바른지 추가로 확인합니다.
  • NTLM(NT LAN Manager) 인증 프로토콜 지원이 제거되었습니다. 대신 Kerberos 또는 기본 인증을 사용합니다.

Bugzilla:2139383

새 모듈 스트림: nginx:1.22

이제 nginx 1.22 웹 및 프록시 서버를 nginx:1.22 모듈 스트림으로 사용할 수 있습니다. 이번 업데이트에서는 이전에 출시된 버전 1.20에 비해 여러 버그 수정, 보안 수정, 새로운 기능 및 개선 사항을 제공합니다.

새로운 기능:

  • Nginx는 이제 다음을 지원합니다.

    • OpenSSL 3.0을 사용할 때 OpenSSL 3.0 및 SSL_sendfile() 함수입니다.
    • PCRE2 라이브러리입니다.
    • 메일 프록시 모듈에서 POP3 및 CloudEvent 파이프 개요
  • Nginx 는 이제 Auth-SSL-ProtocolAuth-SSL-Cipher 헤더 행을 메일 프록시 인증 서버에 전달합니다.

향상된 지시문:

  • 이제 ssl_conf_commandssl_reject_handshake 와 같은 여러 개의 새 지시문을 사용할 수 있습니다.
  • proxy_cookie_flags 지시문에서 이제 변수를 지원합니다.
  • Nginx는 이제 proxy_ssl_certificate , proxy_ssl_certificate _key ,grpc_ssl_certificate _key,grpc_ssl_certificate_key,uwsgi_ssl_certificate, uwsgi_ssl_certificate_key 등의 지시문을 지원합니다.
  • stream 모듈의 listen 지시문은 이제 수신 대기 소켓에 TCP Fast Open 모드를 활성화하는 새로운 fastopen 매개 변수를 지원합니다.
  • 새로운 max_errors 지시문이 mail 프록시 모듈에 추가되었습니다.

다른 변경 사항:

  • Nginx 는 다음과 같은 경우 항상 오류를 반환합니다.

    • CONNECT 방법이 사용됩니다.
    • Content-LengthTransfer-Encoding 헤더는 요청에 지정됩니다.
    • 요청 헤더 이름에는 공백 또는 제어 문자가 포함되어 있습니다.
    • Host 요청 헤더 줄에는 공백 또는 제어 문자가 포함되어 있습니다.
  • Nginx 는 이제 Transfer-Encoding 헤더를 포함하는 모든 HTTP/1.0 요청을 차단합니다.
  • Nginx 는 이제 ALPN(Application Layer Protocol Negotiation)을 사용하여 HTTP/2 연결을 설정하고 NPN(Next Protocol Negotiation) 프로토콜을 더 이상 지원하지 않습니다.

nginx:1.22 스트림을 설치하려면 다음을 사용합니다.

# dnf module install nginx:1.22

자세한 내용은 NGINX 설정 및 구성을 참조하십시오.

nginx 모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.

Bugzilla:2096174

mod_security 는 버전 2.9.6로 재기반

Apache HTTP Server의 mod_security 모듈이 2.9.6 버전으로 업데이트되어 이전에 사용 가능한 버전 2.9.3에 새로운 기능, 버그 수정, 보안 수정 사항을 제공합니다.

주요 개선 사항은 다음과 같습니다.

  • modsecurity.conf-recommended 파일에서 조정된 구문 분석기 활성화 규칙입니다.
  • mod_security 가 HTTP 다중 파트 요청을 구문 분석하는 방식 개선
  • 새로운 MULTIPART_PART_HEADERS 컬렉션을 추가했습니다.
  • 포맷된 로그 타임 스탬프에 마이크로초 타임스탬프 확인이 추가되었습니다.
  • 누락된 지오국가가 추가되었습니다.

Bugzilla:2143211

새 패키지: tomcat

RHEL 9.2에는 Apache Tomcat 서버 버전 9가 도입되었습니다. Tomcat은 Java Servlet 및 JavaServer Pages 기술을 위한 공식 참조 구현에 사용되는 서블릿 컨테이너입니다. Java Servlet 및 JavaServer Pages 사양은 Sun에서 Java Community Process에 따라 개발했습니다. Tomcat은 공개 및 참여 환경에서 개발되었으며 Apache Software License 버전 2.0에 따라 출시되었습니다.

Bugzilla:2160511

새 모듈 스트림: postgresql:15

RHEL 9.2에는 PostgreSQL 15postgresql:15 모듈 스트림으로 도입되었습니다. PostgreSQL 15 는 버전 13에 비해 여러 가지 새로운 기능과 향상된 기능을 제공합니다. 주요 변경 사항은 다음과 같습니다.

  • 이제 하위 스크립트를 사용하여 PostgreSQL JSON 데이터에 액세스할 수 있습니다. 예제 쿼리:

    SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
  • PostgreSQL 은 이제 다중 범위 데이터 유형을 지원하고 range_agg 함수를 확장하여 다중 범위 데이터 유형을 집계합니다.
  • PostgreSQL 은 모니터링 및 관찰 기능을 향상시킵니다.

    • 이제 COPY 명령 및 WAL(Write-ahead-log) 활동 진행 상황을 추적할 수 있습니다.
    • PostgreSQL 은 이제 복제 슬롯에 대한 통계를 제공합니다.
    • compute_query_id 매개변수를 활성화하면 pg_stat_activity 또는 EXPLAIN VERBOSE 를 포함한 여러 PostgreSQL 기능을 통해 쿼리를 고유하게 추적할 수 있습니다.
  • PostgreSQL 에서는 다음을 통해 쿼리 병렬 처리 지원이 향상되었습니다.

    • 병렬 순차적 검사의 성능이 향상되었습니다.
    • RETURN QUERY 명령을 사용할 때 병렬 쿼리를 실행할 수 있는 SQL Procedural Language(PL/pgSQL)의 기능입니다.
    • REFRESH MATERIALIZED VIEW 명령에서 병렬 활성화.
  • PostgreSQL 에는 이제 SQL 표준 MERGE 명령이 포함됩니다. MERGE 를 사용하여 단일 문에ECDHE ,UPDATE, DELETE 작업을 포함할 수 있는 조건부 SQL 문을 작성할 수 있습니다.
  • PostgreSQL 은 정규식을 사용하여 문자열을 검사하는 데 필요한 다음과 같은 새로운 함수를 제공합니다. regexp_count (), regexp_instr(), regexp_like()regexp_substr().
  • PostgreSQL 에는 view creator가 아닌 view caller의 권한으로 데이터를 쿼리하는 데 사용할 수 있는 security_invoker 매개변수가 추가되었습니다. 이렇게 하면 뷰 호출자에게 기본 데이터 작업에 대한 올바른 권한이 있는지 확인할 수 있습니다.
  • PostgreSQL 은 아카이브 및 백업 기능의 성능을 향상시킵니다.
  • PostgreSQLLZ4Zstandard (zstd) 무해한 압축 알고리즘에 대한 지원을 추가합니다.
  • PostgreSQL 은 메모리 내 및 디스크상의 정렬 알고리즘을 개선합니다.
  • 업데이트된 postgresql.service systemd 장치 파일은 이제 네트워크가 가동된 후 postgresql 서비스가 시작되도록 합니다.

다음 변경 사항은 이전 버전과 호환되지 않습니다.

  • 공용 스키마의 기본 권한이 수정되었습니다. 새로 생성된 사용자는 GRANT ALL ON SCHEMA public TO myuser; 명령을 사용하여 권한을 명시적으로 부여해야 합니다. 예를 들면 다음과 같습니다.

    postgres=# CREATE USER mydbuser;
    postgres=# GRANT ALL ON SCHEMA public TO mydbuser;
    postgres=# \c postgres mydbuser
    postgres=$ CREATE TABLE mytable (id int);
  • libpq PQsendQuery() 기능은 더 이상 파이프라인 모드에서 지원되지 않습니다. 대신 PQsendQueryParams() 함수를 사용하도록 영향을 받는 애플리케이션을 수정합니다.

PostgreSQL 사용을 참조하십시오.

postgresql:15 스트림을 설치하려면 다음을 사용합니다.

# dnf module install postgresql:15

RHEL 9 내의 이전 postgresql 스트림에서 업그레이드하려면 RHEL 9 버전의 PostgreSQL 으로 마이그레이션에 설명된 대로 PostgreSQL 데이터를 마이그레이션합니다.

postgresql 모듈 스트림의 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.

Bugzilla:2128410

4.12. 컴파일러 및 개발 도구

Openblas 버전 0.3.21에 기반

OpenBLAS 라이브러리가 0.3.21 버전으로 업데이트되었습니다. 이번 업데이트에는 IBM POWER10 플랫폼의 성능 최적화 패치가 포함되어 있습니다.

Bugzilla:2112099

새 모듈 스트림: swig:4.1

RHEL 9.2에는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있는 swig:4.1 모듈 스트림으로 SWIG(Simplified Wrapper and Interface Generator) 버전 4.1이 도입되었습니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.

RHEL 9.0, SWIG 4.1 에 출시된 SWIG 4.0 과 비교:

  • Node.js 버전 12에서 18까지의 지원을 추가하고 6 개 미만의 Node.js 버전을 지원하지 않습니다.
  • PHP 8 에 대한 지원을 추가합니다.
  • PHP 래핑은 PHP C API를 통해 전적으로 처리되며 더 이상 기본적으로 .php 래퍼를 생성하지 않습니다.
  • Perl 5.8.0 이상 버전만 지원합니다.
  • Python 버전 3.9에 대한 지원이 3.11에 추가되었습니다.
  • Python 3.3 이상 Python 3 버전 및 Python 2.7 만 지원합니다.
  • Python의 다양한 메모리 누수에 대한 수정 사항을 제공합니다 - 생성된 코드.
  • C99, C++11, C++14 및 C++17 표준에 대한 지원을 개선하고 C++20 표준 구현을 시작합니다.
  • C++ std::unique_ptr 포인터 클래스에 대한 지원을 추가합니다.
  • C++ 템플릿 처리 시 몇 가지 개선 사항이 포함되어 있습니다.
  • 다양한 경우 C++ 선언 사용을 수정합니다.

swig:4.1 모듈 스트림을 설치하려면 다음을 수행합니다.

  1. CodeReady Linux Builder(CRB) 리포지토리를 활성화합니다.
  2. 모듈 스트림을 설치합니다.

    # dnf module install swig:4.1

Bugzilla:2139101

새 패키지: CRB 리포지토리의 jmc

RHEL 9.2에는 AMD 및 Intel 64비트 아키텍처용 CodeReady Linux Builder(CRB) 리포지토리에서 jmc 패키지로 사용 가능한 HotSpot JVM 버전 8.2.0용 JDK Mission Control(JMC) 프로파일 프로그램이 도입되었습니다.

JMC를 설치하려면 먼저 CodeReady Linux Builder (CRB) 리포지토리를 활성화해야 합니다.

CRB 리포지토리에 포함된 패키지는 지원되지 않습니다.

Bugzilla:2122401

FIPS 모드에서 OpenJDK 서비스 속성 사용 가능

이전에는 FIPS 모드에서 OpenJDK에 사용 가능한 암호화 서비스 및 알고리즘이 너무 엄격하게 필터링되어 서비스 속성을 사용할 수 없었습니다. 이번 개선된 기능을 통해 이제 FIPS 모드에서 이러한 서비스 속성을 사용할 수 있습니다.

Bugzilla:2186803

Performance Co-Pilot의 버전 6.0을 기반으로 재조정

PCP( Performance Co-Pilot )가 버전 6.0으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  1. 버전 3 PCP 아카이브 지원:

    여기에는 인스턴스 도메인 change-deltas, Y2038 안전 타임스탬프, 나노초-지정 타임스탬프, 임의의 시간대 지원, 대규모 2GB의 개별 볼륨에 사용되는 64비트 파일 오프셋 지원이 포함됩니다.

    이 기능은 현재 /etc/pcp.conf 파일의 PCP_ARCHIVE_VERSION 설정을 통해 옵트인합니다.

    버전 2 아카이브는 그대로 유지됩니다.

  2. PCP 전체에서 OpenSSL만 사용됩니다. Mozilla NSS/NSPR 사용이 중단되었습니다.

    이는 libpcp,PMAPI 클라이언트 및 PMCD 암호화 사용에 영향을 미칩니다. 이러한 요소는 이제 이미 OpenSSL을 사용하고 있는 pmproxy HTTPS 지원 및 redis-server 와 함께 설정 및 사용됩니다.

  3. 새로운 나노초 전체 타임스탬프 PMAPI 는 타임스탬프를 사용하는 PCP 라이브러리 인터페이스에 대한 호출입니다.

    이는 모두 선택 사항이며 기존 툴에는 전체 이전 버전과의 호환성이 유지됩니다.

  4. 다음 툴과 서비스가 업데이트되었습니다.

    pcp2elasticsearch
    인증 지원을 구현합니다.
    pcp-dstat
    최상위 플러그인에 대한 지원을 구현합니다.
    pcp-htop
    안정적인 최신 업스트림 릴리스로 업데이트되었습니다.
    PMseries
    합계,avg,stdev,nth_percentile,max_inst,max_sample,min_instmin_sample 함수가 추가되었습니다.
    pmdabpf
    추가 CO-RE (Compile Once - Run Everywhere) 모듈 및 AMD64, Intel 64 비트, 64 비트 ARM 및 IBM Power Systems에 대한 지원
    pmdabpftrace
    예제 자동 시작 스크립트를 /usr/share 디렉터리로 이동했습니다.
    pmdadenki
    여러 활성 건전지에 대한 지원이 추가되었습니다.
    pmdalinux
    최신 /proc/net/netstat 변경 사항 업데이트
    pmdaopenvswitch
    추가 인터페이스 및 범위 통계가 추가되었습니다.
    pmproxy
    요청 매개변수는 이제 요청 본문으로 보낼 수 있습니다.
    pmieconf
    Open vSwitch 메트릭에 대한 몇 가지 pmie 규칙이 추가되었습니다.
    pmlogger_farm
    ball loggers에 대한 기본 구성 파일이 추가되었습니다.
    pmlogger_daily_report
    몇 가지 주요 효율성 개선.

    Bugzilla:2117074

Grafana 버전 9.0.9로 재기반

grafana 패키지는 버전 9.0.9로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.

  • 시계열 패널이 기본 시각화 옵션으로, 그래프 패널을 대체
  • 새로운 heatmap 패널
  • 새 Prometheus 및 CloudEvent 쿼리 빌더
  • 업데이트된 Grafana 경고
  • 다중 UI/Forwarded 및 성능 개선 사항
  • 라이센스가 Apache 2.0에서 GNU Affero General Public License (AGPL)로 변경되었습니다.

다음은 옵트인 실험 기능으로 제공됩니다.

  • 새로운 막대형 차트 패널
  • 새로운 상태 타임라인 패널
  • 새로운 상태 기록 패널
  • 새로운 히스토그램 패널

자세한 내용은 Grafana v9.0의 새로운 기능 및 Grafana v 8.0의 새로운 기능을 참조하십시오.

Bugzilla:2116847

Grafana-pcp 버전 5.1.1 기반 다시 시작

grafana-pcp 패키지는 버전 5.1.1으로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.

쿼리 편집기
속도 변환 및 시간 사용률 변환을 비활성화하는 버튼이 추가되었습니다.
Redis
더 이상 사용되지 않는 label_values(metric, label) 함수를 제거했습니다.
Redis
많은 시리즈를 사용하여 지표의 네트워크 오류를 수정했습니다(Performance Co-Pilot v6+ 필요).
Redis
pmproxy API 타임아웃을 1분으로 설정합니다.

Bugzilla:2116848

GCC Toolset 12 업데이트

GCC Toolset 12는 최신 버전의 개발 도구를 제공하는 컴파일러 도구 세트입니다. AppStream 리포지토리에서 소프트웨어 컬렉션 형태로 애플리케이션 스트림으로 사용할 수 있습니다.

RHEL 9.2에 도입된 주요 변경 사항은 다음과 같습니다.

  • GCC 컴파일러가 12.2.1 버전으로 업데이트되었으며 업스트림 GCC에서 사용할 수 있는 많은 버그 수정 및 개선 사항을 제공합니다.
  • Annobin 이 버전 11.08로 업데이트되었습니다.

다음 툴 및 버전은 GCC Toolset 12에서 제공합니다.

버전

GCC

12.2.1

GDB

11.2

binutils

2.38

dwz

0.14

annobin

11.08

GCC Toolset 12를 설치하려면 root로 다음 명령을 실행합니다.

# dnf install gcc-toolset-12

GCC Toolset 12에서 도구를 실행하려면 다음을 수행하십시오.

$ scl enable gcc-toolset-12 tool

GCC Toolset 12의 툴 버전이 다음 툴의 시스템 버전을 재정의하는 쉘 세션을 실행하려면 다음을 수행하십시오.

$ scl enable gcc-toolset-12 bash

자세한 내용은 GCC Toolset 12 를 참조하십시오.

Bugzilla:2110583

RHEL 9.2에서 업데이트된 GCC 컴파일러를 사용할 수 있습니다.

시스템 GCC 컴파일러 버전 11.3.1은 업스트림 GCC에서 사용할 수 있는 다양한 버그 수정 및 개선 사항을 포함하도록 업데이트되었습니다.

GNU 컴파일러 컬렉션(GCC)은 C, C++ 및 Fortran 프로그래밍 언어를 사용하여 애플리케이션을 개발하기 위한 도구를 제공합니다.

자세한 내용은 RHEL 9에서 C 및 C++ 애플리케이션 개발을 참조하십시오.

Bugzilla:2117632

LLVM Toolset 버전 15.0.7로 업데이트

LLVM Toolset이 15.0.7 버전으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

  • -Wimplicit-function-declaration-Wimplicit-int 경고는 기본적으로 C99 이상에서 활성화됩니다. 이러한 경고는 Clang 16 이상에서 기본적으로 오류가 발생합니다.

Bugzilla:2118567

rust Toolset 버전 1.66.1로 다시 시작

Rust Toolset이 1.66.1 버전으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

  • thread::scope API는 새로 생성된 스레드에서 로컬 변수를 안전하게 임대할 수 있는 어휘 범위를 생성하며, 해당 스레드는 범위가 종료되기 전에 모두 종료되도록 합니다.
  • hint::black_box API는 컴파일러 최적화에 장벽을 추가하여, 그렇지 않으면 최적화될 수 있는 벤치마크에서 동작을 유지하는 데 유용합니다.
  • 이제 .await 키워드는 IntoFuture 특성을 사용한 변환을 수행하며, 이는 IntoIterator 간의 관계와 유사합니다.
  • GAT(Generic associated types)를 사용하면 일반 매개변수로 형식 별칭을 포함할 수 있으므로 유형과 수명 모두에서 새로운 추상화를 사용할 수 있습니다.
  • 새로운 let-else 문을 사용하면 조건부 패턴 일치를 사용하여 로컬 변수를 바인딩하고, 패턴이 일치하지 않을 때 디버지 다른 블록을 실행할 수 있습니다.
  • 레이블 블록에서는 break 문을 사용하여 선택적으로 표현식 값을 포함하여 블록의 끝으로 이동할 수 있습니다.
  • rust-analyzer 는 많은 편집기에서 Rust 지원을 가능하게 하는 새로운 언어 서버 프로토콜 구현입니다. 이렇게 하면 이전 rls 패키지가 교체되지만 rust-analyzer 로 마이그레이션하도록 편집기 구성을 조정해야 할 수 있습니다.
  • grarb .toml 에서 종속성을 제거하기 위한 새로운 10.0.0.1 remove 하위 명령이 있습니다.

Bugzilla:2123900

Go Toolset rebased to 버전 1.19.6

Go Toolset이 버전 1.19.6으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

  • 다음 패키지에 대한 보안 수정:

    • crypto/tls
    • MIME/multipart
    • net/http
    • path/filepath
  • 다음의 버그 수정:

    • Go 명령
    • 링커
    • 런타임
    • crypto/x509 패키지
    • net/http 패키지
    • 시간 패키지

Bugzilla:2175173

이제 tzdata 패키지에 /usr/share/zoneinfo/leap-seconds.list 파일이 포함됩니다.

이전에는 tzdata 패키지에서 /usr/share/zoneinfo/leapseconds 파일만 제공했습니다. 일부 애플리케이션은 /usr/share/zoneinfo/leap-seconds.list 파일에서 제공하는 대체 형식에 의존하여 결과적으로 오류가 발생합니다.

이번 업데이트를 통해 이제 tzdata 패키지에 두 형식의 형식을 사용하는 애플리케이션을 지원하는 두 파일이 모두 포함되어 있습니다.

Bugzilla:2157982

4.13. IdM (Identity Management)

홈 디렉터리를 소문자로 변환하는 SSSD 지원

이번 개선된 기능을 통해 사용자 홈 디렉터리를 소문자로 변환하도록 SSSD를 구성할 수 있습니다. 이렇게 하면 RHEL 환경의 대/소문자를 구분하지 않는 특성과 보다 효과적으로 통합할 수 있습니다. /etc/sssd/sssd.conf 파일의 [nss] 섹션에 있는 override_homedir 옵션이 %h 템플릿 값을 인식합니다. override_homedir 정의의 일부로 %h 를 사용하는 경우 SSSD는 %h 를 소문자로 사용자의 홈 디렉터리로 대체합니다.

Jira:RHELPLAN-139430

SSSD에서 섀도우 암호 정책을 사용하여 LDAP 사용자 암호 변경 지원

이번 개선된 기능을 통해 /etc/sssd/sssd.conf 파일에서 ldap_pwd_policyshadow 로 설정하면 LDAP 사용자가 LDAP에 저장된 암호를 변경할 수 있습니다. 이전 버전에서는 ldap_pwd_policy 해당 섀도우 LDAP 속성이 업데이트되었는지 명확하지 않기 때문에 암호 변경 사항이 거부되었습니다.

또한 LDAP 서버가 섀도우 속성을 자동으로 업데이트할 수 없는 경우, /etc/sssd/sssd.conf 파일에서 ldap_chpass_update_last_change 옵션을 True 로 설정하여 특성을 업데이트합니다.

Bugzilla:1507035

IdM에서 min_lifetime 매개변수 지원

이번 개선된 기능을 통해 min_lifetime 매개변수가 /etc/gssproxy/*.conf 파일에 추가되었습니다. min_lifetime 매개변수는 남은 수명이 이 값보다 낮은 경우 서비스 티켓의 갱신을 트리거합니다.

기본값은 15초입니다. NFS와 같은 네트워크 볼륨 클라이언트의 경우 access를 일시적으로 사용할 수 없는 경우 액세스 손실 위험을 줄이려면 이 값을 60초로 설정합니다.

Bugzilla:2184333

ipapwpolicy ansible-freeipa 모듈에서 새로운 암호 정책 옵션 지원

이번 업데이트를 통해 ansible-freeipa 패키지에 포함된 ipapwpolicy 모듈은 추가 libpwquality 라이브러리 옵션을 지원합니다.

maxrepkind
동일한 문자의 최대 문자 수를 순서대로 지정합니다.
maxsequence
최대 단조 문자 시퀀스(abcd)의 최대 길이를 지정합니다.
dictcheck
암호가 사전 단어인지 확인합니다.
usercheck
암호에 사용자 이름이 포함되어 있는지 확인합니다.

새 암호 정책 옵션이 설정되어 있는 경우 최소 암호 길이는 6자입니다. 새 암호 정책 설정은 새 암호에만 적용됩니다.

RHEL 7 및 RHEL 8 서버와 혼합된 환경에서 새 암호 정책 설정은 RHEL 8.4 이상에서 실행되는 서버에만 적용됩니다. 사용자가 IdM 클라이언트에 로그인하고 IdM 클라이언트가 RHEL 8.3 이하에서 실행되는 IdM 서버와 통신하는 경우, 시스템 관리자가 설정한 새 암호 정책 요구 사항은 적용되지 않습니다. 일관된 동작을 보장하기 위해 모든 서버를 RHEL 8.4 이상으로 업그레이드하십시오.

Jira:RHELPLAN-137416

IdM에서 ipanetgroup Ansible 관리 모듈 지원

IdM(Identity Management) 시스템 관리자는 IdM을 NIS 도메인 및 넷그룹과 통합할 수 있습니다. ipanetgroup ansible-freeipa 모듈을 사용하면 다음을 수행할 수 있습니다.

  • 기존 IdM netgroup에 특정 IdM 사용자, 그룹, 호스트 및 호스트 그룹 및 중첩된 IdM netgroup이 포함되어 있는지 확인할 수 있습니다.
  • 특정 IdM 사용자, 그룹, 호스트 그룹 및 호스트 그룹 및 중첩된 IdM netgroup이 기존 IdM netgroup에 없는지 확인할 수 있습니다.
  • IdM에 특정 netgroup이 있거나 없는지 확인할 수 있습니다.

Jira:RHELPLAN-137411

새로운 ipaclient_configure_dns_resolveripaclient_dns_servers Ansible ipaclient 역할 변수를 사용하여 클라이언트의 DNS 확인자를 지정합니다.  

이전에는 ansible-freeipa ipaclient 역할을 사용하여 IdM(Identity Management) 클라이언트를 설치할 때 설치 프로세스 중에 DNS 확인자를 지정할 수 없었습니다. 설치하기 전에 DNS 확인 프로그램을 구성해야 했습니다.   

이번 개선된 기능을 통해 ipaclient 역할을 사용하여 ipaclient_configure_dns_resolveripaclient_dns_servers 변수가 있는 IdM 클라이언트를 설치할 때 DNS 확인자를 지정할 수 있습니다. 결과적으로 ipaclient 역할은 resolv.conf 파일과 NetworkManagersystemd 확인 유틸리티를 수정하여 ansible- freeipa ipaserver 역할이 IdM 서버에서 수행하는 것과 유사한 방식으로 클라이언트에 DNS 확인 프로그램을 구성합니다. 결과적으로 IdM 클라이언트를 설치하기 위해 ipaclient 역할을 사용할 때 DNS를 구성하는 것이 더 효율적입니다.

참고

ipa-client-install 명령줄 설치 프로그램을 사용하여 IdM 클라이언트를 설치하려면 먼저 DNS 확인 프로그램을 구성해야 합니다.

Jira:RHELPLAN-137406

ipaclient 역할을 사용하여 OTP로 IdM 클라이언트를 설치할 때 Ansible 컨트롤러를 사전 수정할 필요가 없습니다.

이전에는 Ansible 컨트롤러의 kinit 명령이 IdM(Identity Management) 클라이언트 배포를 위한 OTP(한시 암호)를 가져오기 위한 사전 요구 사항이었습니다. 컨트롤러의 OTP를 취득해야 할 필요성은 Red Hat AAP(Ansible Automation Platform)의 문제였습니다. 이 패키지는 기본적으로 설치되지 않았습니다.

이번 업데이트를 통해 이제 관리자의 TGT 요청이 처음 지정되거나 검색된 IdM 서버에 위임됩니다. 결과적으로 OTP를 사용하여 Ansible 컨트롤러를 추가로 수정하지 않고 IdM 클라이언트 설치를 인증할 수 있습니다. 이렇게 하면 AAP와 ipaclient 역할을 간단하게 사용할 수 있습니다.

Jira:RHELPLAN-137403

IdM은 이제 Kerberos 티켓에 MS-PAC 구조를 적용합니다.

RHEL 9.2부터 보안을 높이기 위해 IdM(Identity Management) 및 MIT Kerberos는 이제 RHEL IdM Kerberos Distribution Center(KDC)에서 발행한 Kerberos 티켓에 MS-PAC(Privilege Attribute Certificate) 구조를 적용합니다.

2022년 11월 CVE-2022-37967에 대한 응답으로 Microsoft는 서버 체크섬이 아닌 전체 MS-PAC 구조를 통해 계산된 확장된 서명을 도입했습니다. RHEL 9.2부터 IdM KDC에서 발행한 Kerberos 티켓에도 확장된 서명이 포함되어 있습니다.

참고

IdM에서 확장된 서명이 아직 적용되지 않습니다.

Jira:RHELPLAN-159146

FIPS 140-3 호환 키 암호화를 활성화한 VMDK용 새로운 영역 구성 템플릿

이 업데이트에서는 /var/kerberos/krb5kdc/kdc.conf 파일에 새로운 EXAMPLE.COM.COM 영역 구성 예를 제공합니다. 두 가지 변경 사항을 제공합니다.

  • FIPS 140-3 호환 AES HMAC SHA-2 제품군이 키 암호화를 위해 지원되는 유형 목록에 추가됩니다.
  • iPXE 마스터 키의 암호화 유형은 AES 256 HMAC SHA-1 에서 AES 256 HMAC SHA-384 로 전환됩니다.
주의

이 업데이트는 독립 실행형 MIT 영역에 관한 것입니다. RHEL Identity Management에서 KDC(Kerberos Distribution Center) 구성을 변경하지 마십시오.

새 영역에는 이 구성 템플릿을 사용하는 것이 좋습니다. 템플릿은 이미 배포된 영역에는 영향을 미치지 않습니다. 템플릿에 따라 영역 구성을 업그레이드하려는 경우 다음 사항을 고려하십시오.

마스터 키를 업그레이드하는 경우 CloudEvent 구성의 설정을 변경하는 것만으로는 충분하지 않습니다. MIT Kerberos 설명서에 설명된 프로세스를 따르십시오. https://web.mit.edu/kerberos/krb5-1.20/doc/admin/database.html#updating-the-master-key

키 암호화에 대해 지원되는 유형에 AES HMAC SHA-2 제품군을 추가하는 것은 CloudEvent의 기존 항목에 영향을 미치지 않기 때문에 어느 시점에서도 안전합니다. 키는 새 주체를 생성하거나 자격 증명을 갱신할 때만 생성됩니다. 이 새 유형의 키는 기존 키를 기반으로 생성할 수 없습니다. 특정 주체에 이러한 새로운 암호화 유형을 사용할 수 있도록 하려면 인증 정보를 갱신해야 합니다. 즉, 서비스 주체에 대한 키탭도 갱신해야 합니다.

보안 주체에 AES HMAC SHA-2 키가 포함되어 있지 않아야 하는 유일한 경우는 Active Directory (AD) cross-realm ticket-granting ticket (TGT)입니다. AD는 RFC8009를 구현하지 않기 때문에 AES HMAC SHA-2 암호화 유형 제품군을 사용하지 않습니다. 따라서 cross-realm TGS-REQ using an AES HMAC SHA-2-encrypted cross-realm TGT를 사용하는 경우 오류가 발생했습니다. MIT Kerberos 클라이언트가 AD에 대해 AES HMAC SHA-2 를 사용하지 못하도록 하는 가장 좋은 방법은 AD 교차 영역에 AES HMAC SHA-2 키를 제공하지 않는 것입니다. 이렇게 하려면 AD에서 지원하는 모든 키 암호화 유형의 명시적 목록을 사용하여 교차 영역 TGT 항목을 생성해야 합니다.

  kadmin.local <<EOF
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[MIT realm]@[AD realm]
  add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[AD realm]@[MIT realm]
  EOF

MIT IKEvrboros 클라이언트가 AES HMAC SHA-2 암호화 유형을 사용하도록 하려면 클라이언트 및 CloudEvent 구성 모두에서 허용되는 암호화 유형도 설정해야 합니다. RHEL에서 이 설정은 crypto-policy 시스템에서 관리합니다. 예를 들어 RHEL 9에서는 DEFAULT 암호화 정책을 사용하는 호스트에서는 AES HMAC SHA-2AES HMAC SHA-1 암호화 티켓을 허용하는 반면, FIPS 암호화 정책을 사용하는 호스트는 AES HMAC SHA-2 만 허용합니다.

Bugzilla:2068535

구성 파일을 사용하여 gRPC_pwhistory 구성

이번 업데이트를 통해 /etc/security/ pwhistory.conf 구성 파일에 CloudEvent_ pwhistory 모듈을 구성할 수 있습니다. gRPC _pwhistory 모듈은 암호 변경 기록을 관리하기 위해 각 사용자에 대한 마지막 암호를 저장합니다. CHAP _pwhistory 모듈을 PAM 스택에 추가할 수 있는 authselect 에도 지원이 추가되었습니다.

Bugzilla:2126640, Bugzilla:2142805

IdM에서 새 Active Directory 인증서 매핑 템플릿 지원

AD(Active Directory) 도메인 관리자는 altSecurityIdentities 특성을 사용하여 AD의 사용자에게 인증서를 수동으로 매핑할 수 있습니다. 이 속성에 지원되는 6개의 값이 이제 3개의 매핑이 안전하지 않은 것으로 간주됩니다. 2022 보안 업데이트 5월 10 일의 일부로 이 업데이트가 도메인 컨트롤러에 설치되면 모든 장치가 호환성 모드가 됩니다. 인증서가 사용자에게 약한 경우 인증이 예상대로 수행되지만 전체 적용 모드와 호환되지 않는 인증서를 식별하는 경고 메시지가 기록됩니다. 2023년 11월 14일 이후부터 모든 장치가 완전히 적용 모드로 업데이트되고 인증서가 강력한 매핑 기준에 실패하면 인증이 거부됩니다.

IdM은 이제 새 매핑 템플릿을 지원하므로 AD 관리자가 새 규칙을 더 쉽게 사용할 수 있으며 둘 다 유지 관리하지 않습니다. IdM에서 다음과 같은 새 매핑 템플릿을 지원합니다.

  • 일련 번호: LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
  • 제목 키 ID: LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
  • 사용자 SID: LDAPU1:(objectsid={sid})

새 SID 확장으로 인증서를 다시 게시하지 않으려면 AD의 사용자 altSecurityIdentities 속성에 적절한 매핑 문자열을 추가하여 수동 매핑을 만들 수 있습니다.

Bugzilla:2087247

Samba 버전 4.17.5로 업데이트

samba 패키지가 업스트림 버전 4.17.5로 업그레이드되어 이전 버전에 대한 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항:

  • 이전 릴리스의 보안을 개선하면 메타 데이터 워크로드가 많은 경우 SMB(Server Message Block) 서버의 성능에 영향을 미쳤습니다. 이번 업데이트에서는 이 시나리오에서 성능이 향상되었습니다.
  • JSON 옵션이 JSON 형식으로 세부 상태 정보를 표시하도록 CloudEventstatus 유틸리티에 추가되었습니다.
  • samba.ECDHE.confsamba.ECDHE3.conf 모듈이>-< conf Python API에 추가되었습니다. Python 프로그램에서 이를 사용하여 기본적으로 Samba 구성을 읽고 작성할 수 있습니다.

서버 메시지 블록 버전 1(SMB1)은 Samba 4.11 이후 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

Samba를 시작하기 전에 데이터베이스 파일을 백업하십시오. > - <d ,nmbd, winbind 서비스가 시작되면 Samba는 tdb 데이터베이스 파일을 자동으로 업데이트합니다. Red Hat은 downgrading tdb 데이터베이스 파일을 지원하지 않습니다.

Samba를 업데이트한 후 testparm 유틸리티를 사용하여 /etc/ECDHE/ECDHE.conf 파일을 확인합니다.

주요 변경 사항에 대한 자세한 내용은 업데이트하기 전에 업스트림 릴리스 노트를 참조하십시오.

Bugzilla:2131993

ipa-client-install 에서 PKINIT를 통한 인증 지원

이전에는 ipa-client-install 에서 암호 기반 인증만 지원했습니다. 이번 업데이트에서는 PKINIT에서의 인증을 위해 ipa-client-install 을 지원합니다.

예를 들면 다음과 같습니다.

ipa-client-install --pkinit-identity=FILE:/path/to/cert.pem,/path/to/key.pem --pkinit-anchor=FILE:/path/to/cacerts.pem

PKINIT 인증을 사용하려면 IdM과 PKINIT 인증서의 CA 체인 사이에 신뢰를 설정해야 합니다. 자세한 내용은 ipa-cacert-manage(1) 매뉴얼 페이지를 참조하십시오. 또한 인증서 ID 매핑 규칙은 호스트의 PKINIT 인증서를 호스트 레코드를 추가 또는 수정할 수 있는 권한이 있는 보안 주체에 매핑해야 합니다. 자세한 내용은 ipa certmaprule-add man 페이지를 참조하십시오.

Bugzilla:2143224

Red Hat IdM 및 인증서 시스템에서 EST 프로토콜 지원

보안 전송(EST)에 등록하는 것은 RFC 7030에 지정된 새로운 인증서 시스템 하위 시스템 기능이며 CA(인증 기관)에서 인증서를 프로비저닝하는 데 사용됩니다. EST는 작업의 서버 측(예: /getcacerts,/simpleenroll, /simplereenroll )을 구현합니다.

Red Hat은 인증서 시스템에서 EST 및 원래SCEP(Simple Certificate Enrollment Protocol)를 모두 지원합니다.

Bugzilla:1849834

부정 캐시 사용 개선

이번 업데이트에서는 SID(Security Identifier)를 통한 조회에 대한 SSSD 성능이 향상되었습니다. 이제 개별 도메인의 경우 음수 캐시에 존재하지 않는ovns를 저장하고 CloudEvent가 속한 도메인을 요청합니다.

Bugzilla:1766490

디렉터리 서버는 TLS를 위한 ECDSA 개인 키 지원

이전에는 RSA보다 강력한 암호화 알고리즘을 사용하여 Directory Server 연결을 보호할 수 없었습니다. 이 향상된 기능을 통해 Directory Server는 이제 ECDSA 및 RSA 키를 모두 지원합니다.

Bugzilla:2096795

Directory Server에서 검색 작업의 확장된 로깅 지원

이전에는 액세스 로그의 레코드에 일부 검색 작업에 매우 큰 etime 값이 있는 이유가 표시되지 않았습니다. 이번 릴리스에서는 여러 인덱스 조회(데이터베이스 읽기 작업) 및 각 검색 작업당 전체 인덱스 조회 기간과 같은 통계의 로깅을 활성화할 수 있습니다. 이러한 통계 레코드는 etime 값이 리소스 비용이 너무 많이 드는 이유를 분석하는 데 도움이 될 수 있습니다.

Bugzilla:1859271

NUNC_STANS 오류 로깅 수준은 새로운 1048576 로깅 수준으로 대체되었습니다.

이전에는 암호 정책 문제를 쉽게 디버깅할 수 없었습니다. 오류 로그에 대한 새로운 1048576 로깅 수준을 사용하면 다음과 같은 암호 정책 정보를 확인할 수 있습니다.

  • 다음 중 암호 업데이트를 거부하거나 허용하는 로컬 정책은 무엇입니까.
  • 정확한 구문 위반입니다.

Bugzilla:2057070

Directory Server에서 보안 로그 도입

시간이 지남에 따라 문제를 올바르게 추적하기 위해 Directory Server에는 보안 데이터를 유지 관리하는 특수 로그가 있습니다. 보안 로그는 빠르게 순환되지 않고 모든 정보가 포함된 액세스 로그와 비교하여 디스크 리소스를 적게 소비하지만 보안 데이터를 얻으려면 비용이 많이 드는 구문 분석이 필요합니다.

새 서버 로그는 인증 이벤트, 권한 부여 문제, DoS/TCP 공격 및 기타 이벤트와 같은 보안 이벤트를 기록합니다.

Directory Server는 다른 로그 파일과 함께 /var/log/dirsrv/slapd-instance_name/ 디렉터리에 보안 로그를 저장합니다.

Bugzilla:2093981

Directory Server에서 아카이브된 로그 파일을 압축할 수 있음

이전에는 보관된 로그 파일이 압축되지 않았습니다. 이번 릴리스에서는 액세스, 오류, 감사 실패 로그, 보안 로그 파일 압축을 활성화하여 디스크 공간을 절약할 수 있습니다. 보안 로그 파일 압축만 기본적으로 활성화되어 있습니다.

cn=config 항목에서 다음 새 구성 속성을 사용하여 압축을 관리합니다.

  • 액세스 로그의 nsslapd-accesslog-compress
  • 오류 로그의 nsslapd-errorlog-compress
  • 감사 로그의 경우 nsslapd-auditlog-compress
  • 감사 실패 로그의 nsslapd-auditfaillog-compress
  • 보안 로그의 경우 nsslapd-securelog-compress

Bugzilla:1132524

Directory Server 감사 로그의 새로운 nsslapd-auditlog-display-attrs 구성 매개변수

이전에는 항목의 고유 이름(DN)에 명확한 식별 정보가 포함되지 않은 경우 항목을 변경한 사람을 확인하기 어려웠습니다. 새로운 nsslapd-auditlog-display-attrs 매개변수를 사용하면 감사 로그에 디렉터리 서버가 표시되는 추가 속성을 설정하여 수정된 항목에 대한 세부 정보를 제공할 수 있습니다.

예를 들어 nsslapd-auditlog-display-attrs 매개변수를 cn 으로 설정하면 감사 로그에 출력에 cn 속성이 표시됩니다.

time: 20221014125914
dn: uid=73747737483,ou=people,dc=example,dc=com
result: 0
*#cn: John Smith*
changetype: modify
replace: displayName
displayName: jsmith
-
replace: modifiersname
modifiersname: cn=dm
-
replace: modifytimestamp
modifytimestamp: 20221014165914Z

감사 로그에 수정된 항목의 모든 속성을 포함하는 경우 별표(*)를 매개변수 값으로 사용할 수 있습니다.

Bugzilla:2136610

새로운 gRPC ModuleIsThread>-& lt; 구성 옵션을 사용할 수 있습니다.

PAM 모듈이 스레드로부터 안전한 경우, 새 CHAP ModuleIsThread >-< 구성 옵션을 yes 로 설정하여 특정 모듈의 PAM 인증 처리량 및 응답 시간을 개선할 수 있습니다.

pamModuleIsThreadSafe: yes

이 구성은 PAM 모듈 구성 항목( Auth,cn=plugins,cn=config )에 따라 cn=PAM 패스 패스에 적용됩니다.

dse.ldif 구성 파일 또는 ldapmodify 명령에서 CloudEvent ModuleIsThread >-< 옵션을 사용합니다. ldapmodify 명령을 사용하려면 서버를 다시 시작해야 합니다.

Bugzilla:2142639

Directory Server에서 인증서 번들을 가져올 수 있음

이전 버전에서는 dsconf 또는 dsctl 유틸리티를 사용하여 인증서 번들을 추가하려고 하면 프로시저가 오류와 함께 실패했으며 인증서 번들을 가져오지 않았습니다. 이러한 동작은 한 번에 하나의 인증서만 가져올 수 있는 certutil 유틸리티로 인해 발생했습니다. 이번 업데이트를 통해 Directory Server는 certutil 문제를 중심으로 작동하며 인증서 번들이 성공적으로 추가됩니다.

Bugzilla:1878808

기본 동작 변경: Directory Server에서 데이터베이스에 추가된 것과 정확히 동일한 순서로 DN을 반환합니다.

새로운 nsslapd- return-original-entrydn 매개 변수를 cn=config 항목 아래에 사용하면 Directory Server에서 검색 작업 중에 항목의 고유 이름(DN)을 반환하는 방법을 관리할 수 있습니다.

기본적으로 nsslapd- return-original-entrydn 매개변수는 on 으로 설정되고 Directory Server는 원래 데이터베이스에 추가된 DN을 반환합니다. 예를 들어 uid=User,ou=PEople,dc=ExaMPlE,DC=COM 및 설정을 사용하여 Directory Server는 uid=User,ou=PEople,dc=ExaMPlE,DC=COM.

nsslapd- return-original-entrydn 매개변수가 off 로 설정된 경우 Directory Server는 항목의 RDN(Relative DN)과 cn=userroot,cn=plugins,cn=plugins,cn=config 아래의 데이터베이스 접미사 구성에 저장된 기본 DN을 결합하여 항목 DN을 생성합니다. 기본 DN을 ou=people,dc=example,dc=com 으로 설정하고 nsslapd- return-original-entry d 설정을 off 로 설정하면 Directory Server에서 uid=User,ou=people,dc=example,dc=com 을 데이터베이스에 추가할 때 DN의 철자가 표시되지 않습니다.

Bugzilla:2075017

MIT Kerberos는 티켓 및 확장 KDC MS-PAC 서명을 지원

이번 업데이트를 통해 Red Hat에서 사용하는 MIT Kerberos는 최근 CVE에 대한 응답으로 Microsoft에서 도입한 두 가지 유형의 PAC(Privilege Attribute Certificate) 서명을 지원합니다. 특히 다음 서명이 지원됩니다.

RHSA-2023:2570krb5-1.20.1-6.el9 도 참조하십시오.

Bugzilla:2165827

4.14. 데스크탑

swipe를 비활성화하여 작업 공간을 전환

이전에는 세 개의 발판으로 위 또는 아래로 스와이핑하면 항상 화면의 작업 공간을 전환했습니다. 이번 릴리스에서는 작업 공간 전환을 비활성화할 수 있습니다.

자세한 내용은 Disabling swipe to switch workspaces 에서 참조하십시오.

Bugzilla:2154358

Aspeed GPU에서 Wayland 사용 가능

이전에는 Aspeed GPU 드라이버가 Wayland 세션을 실행하기에 충분히 제대로 작동하지 않았습니다. 이 문제를 해결하기 위해 Aspeed GPU에 Wayland 세션이 비활성화되었습니다.

이번 릴리스에서는 드라이버 성능이 크게 개선되었으며 이제 Wayland 세션의 응답성이 향상되었습니다. 결과적으로 이제 Wayland 세션이 Aspeed GPU에서 기본적으로 활성화됩니다.

Bugzilla:2131203

데스크탑에서 사용자 정의 오른쪽 클릭 메뉴

이제 데스크탑 배경을 마우스 오른쪽 버튼으로 클릭할 때 열리는 메뉴를 사용자 지정할 수 있습니다. 임의의 명령을 실행하는 메뉴에서 사용자 지정 항목을 생성할 수 있습니다.

메뉴를 사용자 지정하려면 데스크탑의 오른쪽 클릭 메뉴 사용자 지정을 참조하십시오.

Bugzilla:2160553

4.15. 웹 콘솔

웹 콘솔에서 특정 암호화 하위 정책을 사용할 수 있습니다.

이번 RHEL 웹 콘솔 업데이트에서는 암호화 정책 변경 대화 상자에서 옵션을 확장합니다. 시스템 전체 암호화 정책 4개 외에도 이제 그래픽 인터페이스를 통해 다음 하위 정책을 적용할 수 있습니다.

  • DEFAULT:SHA1SHA-1 알고리즘이 활성화된 DEFAULT 정책입니다.
  • LEGACY:AD-SUPPORT 는 Active Directory 서비스의 상호 운용성을 개선하는 보안 설정을 제외한 LEGACY 정책입니다.
  • FIPS:OSPP 는 정보 기술 보안 rate 표준에 대한 CommonMetric의 영향을 받는 추가 제한 사항이 있는 FIPS 정책입니다.

Jira:RHELPLAN-137505

웹 콘솔에서 LUKS 암호화 루트 볼륨을 10.0.0.1에 바인딩하기 위한 추가 단계를 수행합니다.

이번 업데이트를 통해 RHEL 웹 콘솔은 LUKS 암호화 루트 볼륨을NBDE(Network-Bound Disk Encryption) 배포에 바인딩하는 데 필요한 추가 단계를 수행합니다. 암호화된 루트 파일 시스템과 Tang 서버를 선택한 후 rd.neednet=1 매개변수 추가를 커널 명령줄로 건너뛰고 clevis-dracut 패키지를 설치한 후 초기 램디스크(initrd)를 다시 생성할 수 있습니다. 루트가 아닌 파일 시스템의 경우 웹 콘솔에서 remote-cryptsetup.targetclevis-luks-akspass.path systemd 장치를 활성화하고, clevis-systemd 패키지를 설치하고, _netdev 매개변수를 fstabcrypttab 구성 파일에 추가합니다. 결과적으로 LUKS 암호화 루트 볼륨의 자동 잠금을 해제하기 위해 CloudEvent 배포를 생성할 때 모든 Clevis-client 구성 단계에 그래픽 인터페이스를 사용할 수 있습니다.

Jira:RHELPLAN-139125

4.16. Red Hat Enterprise Linux System Roles

라우팅 규칙은 이름으로 라우팅 테이블을 조회할 수 있습니다.

이번 업데이트를 통해 rhel-system-roles.network RHEL 시스템 역할은 라우팅 규칙을 정의할 때 이름별로 경로 테이블을 조회할 수 있도록 지원합니다. 이 기능을 사용하면 서로 다른 네트워크 세그먼트에 대한 다른 라우팅 규칙이 필요한 복잡한 네트워크 구성을 빠르게 탐색할 수 있습니다.

Bugzilla:2131293

네트워크 시스템 역할에서 DNS 우선순위 값 설정을 지원

이번 개선된 기능에는 RHEL 네트워크 시스템 역할에 dns_priority 매개변수가 추가되었습니다. 이 매개변수를 -2147483648 에서 2147483647 의 값으로 설정할 수 있습니다. 기본값은 0입니다. 낮은 값은 우선 순위가 높습니다. 음수 값으로 인해 System Role은 더 큰 숫자 우선 순위 값이 있는 다른 구성을 제외합니다. 결과적으로, 하나 이상의 음수 우선순위 값이 있는 경우 System Role은 우선순위가 가장 낮은 연결 프로필의 DNS 서버만 사용합니다.

따라서 네트워크 시스템 역할을 사용하여 다양한 연결 프로필의 DNS 서버 순서를 정의할 수 있습니다.

Bugzilla:2133858

vpn RHEL 시스템 역할에 대한 새로운 IPsec 사용자 지정 매개변수

특정 네트워크 장치가 제대로 작동하려면 IPsec 사용자 지정이 필요하므로 vpn RHEL 시스템 역할에 다음 매개변수가 추가되었습니다.

중요

고급 지식 없이 다음 매개 변수를 변경하지 마십시오. 대부분의 시나리오에는 사용자 정의가 필요하지 않습니다.

또한 보안상의 이유로 Ansible Vault를 사용하여 shared_key_content 매개 변수 값을 암호화합니다.

  • 터널 매개변수:

    • shared_key_content
    • ike
    • esp
    • ikelifetime
    • salifetime
    • retransmit_timeout
    • dpddelay
    • dpdtimeout
    • dpdaction
    • leftupdown
  • 호스트별 매개변수:

    • leftid
    • rightid

결과적으로 vpn 역할을 사용하여 광범위한 네트워크 장치에 IPsec 연결을 구성할 수 있습니다.

Bugzilla:2119102

selinux RHEL System Role에서 로컬 매개변수 지원

이번 selinux RHEL 시스템 역할 업데이트에서는 로컬 매개 변수를 지원합니다. 이 매개변수를 사용하면 로컬 정책 수정 사항만 제거하고 기본 제공된 SELinux 정책을 유지할 수 있습니다.

Bugzilla:2128843

ha_cluster 시스템 역할은 이제 방화벽,selinux, 인증서 시스템 역할의 자동 실행 지원

ha_cluster RHEL 시스템 역할은 이제 다음 기능을 지원합니다.

방화벽selinux 시스템 역할을 사용하여 포트 액세스 관리
firewalldselinux 서비스를 실행하도록 클러스터의 포트를 구성하려면 새 역할 변수 ha_cluster_manage_firewallha_cluster_manage_selinuxtrue 로 설정할 수 있습니다. 이렇게 하면 클러스터가 방화벽selinux 시스템 역할을 사용하고, ha_cluster 시스템 역할 내에서 이러한 작업을 자동화 및 수행합니다. 이러한 변수가 기본값 false 로 설정되면 역할이 수행되지 않습니다. 이번 릴리스에서는 ha_cluster_manage_firewalltrue 로 설정된 경우에만 방화벽이 기본적으로 구성되지 않습니다.
인증서 시스템 역할을 사용하여 pcsd 개인 키 및 인증서 쌍 생성
ha_cluster 시스템 역할은 이제 ha_cluster_pcsd_certificates 역할 변수를 지원합니다. 이 변수를 설정하면 해당 값이 인증서 시스템 역할의 certificate_requests 변수로 전달됩니다. 이를 통해 pcsd 에 대한 개인 키 및 인증서 쌍을 생성하는 대체 방법이 제공됩니다.

Bugzilla:2130010

postfix RHEL 시스템 역할은 방화벽selinux RHEL 시스템 역할을 사용하여 포트 액세스를 관리할 수 있습니다.

이번 개선된 기능을 통해 새 역할 변수 postfix_manage_firewallpostfix_manage_selinux 를 사용하여 포트 액세스 관리를 자동화할 수 있습니다.

  • true 로 설정하면 각 역할이 포트 액세스를 관리하는 데 사용됩니다.
  • false 로 설정된 경우 기본값은 역할입니다.

Bugzilla:2130329

vpn RHEL 시스템 역할은 이제 방화벽selinux 역할을 사용하여 포트 액세스를 관리할 수 있습니다.

이번 개선된 기능을 통해 vpn RHEL 시스템 역할에서 방화벽selinux 역할을 통해 포트 액세스 관리를 자동화할 수 있습니다. 새 역할 변수 vpn_manage_firewallvpn_manage_selinuxtrue 로 설정하면 역할은 포트 액세스를 관리합니다.

Bugzilla:2130344

로깅 RHEL 시스템 역할에서 포트 액세스 및 인증서 생성 지원

이번 개선된 기능을 통해 로깅 역할을 사용하여 포트 액세스를 관리하고 새 역할 변수로 인증서를 생성할 수 있습니다. 새 역할 변수 logging_manage_firewalllogging_manage_selinuxtrue 로 설정하면 역할은 포트 액세스를 관리합니다. 인증서를 생성하기 위한 새 역할 변수는 logging_certificates 입니다. 유형 및 사용은 인증서 역할 certificate _requests 와 동일합니다. 이제 logging 역할을 사용하여 이러한 작업을 직접 자동화할 수 있습니다.

Bugzilla:2130357

이제 지표 RHEL 시스템 역할에서 방화벽 역할 및 selinux 역할을 사용하여 포트 액세스를 관리할 수 있습니다.

이번 개선된 기능을 통해 포트에 대한 액세스를 제어할 수 있습니다. 새 역할 변수 metrics_manage_firewallmetrics_manage_firewalltrue 로 설정하면 역할은 포트 액세스를 관리합니다. 이제 metrics 역할을 사용하여 이러한 작업을 직접 자동화하고 수행할 수 있습니다.

Bugzilla:2133528

nbde_server RHEL 시스템 역할에서 방화벽selinux 역할을 사용하여 포트 액세스를 관리할 수 있습니다.

이번 개선된 기능을 통해 방화벽selinux 역할을 사용하여 포트 액세스를 관리할 수 있습니다. 새 역할 변수 nbde_server_manage_firewallnbde_server_manage_selinuxtrue 로 설정하면 역할에서 포트 액세스를 관리합니다. 이제 nbde_server 역할을 사용하여 이러한 작업을 직접 자동화할 수 있습니다.

Bugzilla:2133930

initscripts 네트워크 공급자는 기본 게이트웨이의 경로 메트릭 구성을 지원합니다.

이번 업데이트를 통해 rhel-system-roles.network RHEL 시스템 역할에 있는 initscripts 네트워크 공급자를 사용하여 기본 게이트웨이의 경로 지표를 구성할 수 있습니다.

이러한 설정 이유는 다음과 같습니다.

  • 다른 경로에 트래픽 로드 배포
  • 기본 경로 및 백업 경로 지정
  • 라우팅 정책을 활용하여 특정 경로를 통해 특정 대상으로 트래픽을 보냅니다.

Bugzilla:2134202

방화벽,selinux, 인증서 역할과 cockpit RHEL 시스템 역할 통합

이번 개선된 기능을 통해 cockpit 역할을 firewall 역할과 통합하고 selinux 역할을 사용하여 포트 액세스 및 인증서 역할을 관리하여 인증서를 생성할 수 있습니다.

포트 액세스를 제어하려면 새 cockpit_manage_firewallcockpit_manage_selinux 변수를 사용합니다. 두 변수는 모두 기본적으로 false 로 설정되며 실행되지 않습니다. 방화벽selinux 역할이 RHEL 웹 콘솔 서비스 포트 액세스를 관리할 수 있도록 하려면 true 로 설정합니다. 그러면 cockpit 역할 내에서 작업이 실행됩니다.

방화벽 및 SELinux에 대한 포트 액세스 관리를 담당합니다.

인증서를 생성하려면 새 cockpit_certificates 변수를 사용합니다. 변수는 기본적으로 false 로 설정되며 실행되지 않습니다. 인증서 역할에서 certificate _request 변수를 사용하는 것과 동일한 방식으로 이 변수를 사용할 수 있습니다. 그런 다음 cockpit 역할은 인증서 역할을 사용하여 RHEL 웹 콘솔 인증서를 관리합니다.

Bugzilla:2137663

Active Directory와 직접 통합을 위한 새로운 RHEL 시스템 역할

새로운 rhel-system-roles.ad_integration RHEL 시스템 역할이 rhel-system-roles 패키지에 추가되었습니다. 결과적으로 관리자는 이제 Active Directory 도메인과 RHEL 시스템 직접 통합을 자동화할 수 있습니다.

Bugzilla:2140795

Red Hat Insights 및 서브스크립션 관리를 위한 새로운 Ansible 역할

rhel-system-roles 패키지에는 이제 원격 호스트 구성(rhc) 시스템 역할이 포함됩니다. 관리자는 이 역할을 통해 RHEL 시스템을 RHSM(Red Hat Subscription Management) 및 Satellite 서버에 쉽게 등록할 수 있습니다. 기본적으로 rhc 시스템 역할을 사용하여 시스템을 등록할 때 시스템은 Red Hat Insights에 연결됩니다. 관리자는 새로운 rhc 시스템 역할을 통해 이제 관리형 노드에서 다음 작업을 자동화할 수 있습니다.

  • 시스템의 자동 업데이트, 수정 및 태그를 포함하여 Red Hat Insights에 대한 연결을 구성합니다.
  • 리포지토리를 활성화 및 비활성화합니다.
  • 연결에 사용할 프록시를 구성합니다.
  • 시스템 릴리스를 설정합니다.

이러한 작업을 자동화하는 방법에 대한 자세한 내용은 RHC 시스템 역할을 사용하여 시스템 등록을 참조하십시오.

Bugzilla:2141330

복제된 MAC 주소에 대한 지원 추가

복제된 MAC 주소는 시스템의 MAC 주소와 동일한 device 10.0.0.1 포트의 MAC 주소입니다. 이번 업데이트를 통해 사용자는 MAC 주소를 사용하여 본딩 또는 브리지 인터페이스를 지정하거나 임의의 전략을 유지하거나 본딩 또는 브리지 인터페이스의 기본 MAC 주소를 가져올 수 있습니다.

Bugzilla:2143768

Microsoft SQL Server Ansible 역할은 비동기 고가용성 복제본 지원

이전에는 Microsoft SQL Server Ansible 역할이 기본, 동기 및 가용성 복제본만 지원했습니다. 이제 mssql_ha_replica_type 변수를 비동기식 으로 설정하여 새 복제본 또는 기존 복제본에 대한 비동기 복제본 유형으로 구성할 수 있습니다.

Bugzilla:2151282

Microsoft SQL Server Ansible 역할은 읽기-scale 클러스터 유형을 지원합니다.

이전에는 Microsoft SQL Ansible 역할이 외부 클러스터 유형만 지원했습니다. 이제 새 변수 mssql_ha_ag_cluster_type 을 사용하여 역할을 구성할 수 있습니다. 기본값은 external 이며 이를 사용하여 Pacemaker로 클러스터를 구성합니다. Pacemaker 없이 클러스터를 구성하려면 해당 변수에 값 none 을 사용합니다.

Bugzilla:2151283

Microsoft SQL Server Ansible 역할은 TLS 인증서를 생성할 수 있습니다.

이전에는 Microsoft SQL Ansible 역할을 구성하기 전에 노드에서 TLS 인증서와 개인 키를 수동으로 생성해야 했습니다. 이번 업데이트를 통해 Microsoft SQL Server Ansible 역할은 이를 위해 redhat.rhel_system_roles.certificate 역할을 사용할 수 있습니다. 이제 인증서 역할의 certificate_requests 변수 형식으로 mssql_tls_certificates 변수를 설정하여 노드에서 TLS 인증서 및 개인 키를 생성할 수 있습니다.

Bugzilla:2151284

Microsoft SQL Server Ansible 역할은 SQL Server 버전 2022 구성을 지원합니다.

이전에는 Microsoft SQL Ansible 역할이 SQL Server 버전 2017 및 버전 2019만 구성하는 것을 지원했습니다. 이 업데이트는 Microsoft SQL Ansible 역할에 대한 SQL Server 버전 2022에 대한 지원을 제공합니다. 이제 새 SQL Server 2022를 구성하거나 SQL Server 2019 버전에서 2022 버전으로 SQL Server를 업그레이드하는 경우 mssql_version 값을 2022로 설정할 수 있습니다. SQL Server를 버전 2017에서 버전 2022로 업그레이드할 수 없습니다.

Bugzilla:2153428

Microsoft SQL Server Ansible 역할은 Active Directory 인증 구성을 지원합니다.

이번 업데이트를 통해 Microsoft SQL Ansible 역할은 SQL Server에 대한 Active Directory 인증 구성을 지원합니다. 이제 mssql_ad_ 접두사로 변수를 설정하여 Active Directory 인증을 구성할 수 있습니다.

Bugzilla:2163709

journald RHEL 시스템 역할 사용 가능

journald 서비스는 로그 데이터를 수집하여 중앙 집중식 데이터베이스에 저장합니다. 이번 개선된 기능을 통해 journald 시스템 역할 변수를 사용하여 systemd 저널 구성을 자동화하고 Red Hat Ansible Automation Platform을 사용하여 영구 로깅을 구성할 수 있습니다.

Bugzilla:2165175

ha_cluster 시스템 역할에서 쿼럼 장치 구성 지원

쿼럼 장치는 클러스터에 대한 타사 중재 장치 역할을 합니다. 쿼럼 장치는 노드가 짝수인 클러스터에 권장됩니다. 2-노드 클러스터에서 쿼럼 장치를 사용하면 분할된 상황에서 유지되는 노드를 더 잘 확인할 수 있습니다. 이제 ha_cluster System Role(클러스터의 qdevice )과 중재 노드에 대해 qnetd 를 사용하여 쿼럼 장치를 구성할 수 있습니다.

Bugzilla:2140804

4.17. 가상화

하드웨어 암호화 장치를 자동으로 핫플러그할 수 있음

이전에는 중재 장치를 시작하기 전에 호스트에 존재하는 경우에만 패스스루(passthrough)에 대한 암호화 장치를 정의할 수 있었습니다. 이제 VM(가상 머신)에 전달하려는 모든 암호화 장치를 나열하는 중재 장치 매트릭스를 정의할 수 있습니다. 결과적으로 지정된 암호화 장치는 나중에 사용할 수 있게 되면 실행 중인 VM에 자동으로 전달됩니다. 또한 장치를 사용할 수 없게 되면 VM에서 제거되지만 게스트 운영 체제는 정상적으로 실행됩니다.

Bugzilla:1871126

IBM Z에서 PCI 패스스루 장치의 성능 향상

이번 업데이트를 통해 I/O 처리 기능이 여러 가지 개선되어 IBM Z 하드웨어의 PCI 패스스루 구현이 향상되었습니다. 결과적으로 IBM Z 호스트의 KVM 가상 머신(VM)에 전달되는 PCI 장치는 이제 성능이 크게 향상되었습니다.

또한 이제 IBM Z 호스트의 VM에 ISM 장치를 할당할 수 있습니다.

Bugzilla:1871143

새로운 패키지: passt

이번 업데이트에서는 passt 패키지가 추가되어 가상 머신에 대해 passt 사용자 모드 네트워킹 백엔드를 사용할 수 있습니다.

passt 사용에 대한 자세한 내용은 passt 사용자 공간 연결 구성을 참조하십시오.

Bugzilla:2131015

z PCI 장치 할당

이제 IBM Z 하드웨어에서 실행되는 RHEL에서 호스팅되는 VM(가상 머신)에 패스스루 장치로 z PCI 장치를 연결할 수 있습니다. 예를 들어, VM에서 NVMe Flash 드라이브를 사용할 수 있습니다.

Jira:RHELPLAN-59528

새로운 패키지: python-virt-firmware

이번 업데이트에서는 OCI(Open Virtual Machine Firmware) 펌웨어 이미지를 처리하는 도구가 포함된 python-virt-firmware 패키지가 추가되었습니다. 예를 들어 다음 툴을 사용할 수 있습니다.

  • 펌웨어 이미지의 콘텐츠 인쇄
  • edk2 변수 저장소 업데이트
  • QEMU에서 가상 머신을 부팅하지 않고 보안 부팅 키 등록 처리

결과적으로 OVMF 이미지를 더 쉽게 빌드할 수 있습니다.

Bugzilla:2089785

4.18. 지원 관련 기능

sos 유틸리티는 4 주 간의 업데이트 주기로 전환

RHEL 마이너 릴리스를 통해 업데이트를 릴리스하는 대신 sos 유틸리티 릴리스 주기는 6개월에서 4주로 변경되고 있습니다. 4주마다 RPM 변경 로그에서 sos 패키지의 업데이트에 대한 세부 정보를 참조하거나 6개월마다 RHEL 릴리스 노트에서 sos 업데이트에 대한 요약을 읽을 수 있습니다.

Bugzilla:2164987

sos clean 명령은 이제 IPv6 주소를 난독 처리

이전에는 sos clean 명령에서 IPv6 주소를 난독화하지 않아 일부 고객 민감한 데이터를 수집된 sos 보고서에 남겨 두었습니다. 이번 업데이트를 통해 clean 에서 IPv6 주소를 예상대로 탐지하고 난독화합니다.

Bugzilla:2134906

4.19. 컨테이너

새로운 podman RHEL System Role 사용 가능

Podman 4.2부터 podman System Role을 사용하여 Podman 컨테이너를 실행하는 Podman 구성, 컨테이너 및 systemd 서비스를 관리할 수 있습니다.

Jira:RHELPLAN-118705

Podman에서 감사 이벤트 지원

Podman v4.4부터 단일 이벤트 및 journald 항목에서 컨테이너에 대한 모든 관련 정보를 직접 수집할 수 있습니다. Podman 감사를 활성화하려면 container.conf 구성 파일을 수정하고 events_container_create_inspect_data=true 옵션을 [engine] 섹션에 추가합니다. 데이터는 podman container inspect 명령과 동일하게 JSON 형식입니다. 자세한 내용은 Podman 4.4의 새 컨테이너 이벤트 및 감사 기능을 사용하는 방법을 참조하십시오.

Jira:RHELPLAN-136602

container-tools meta-package가 업데이트됨

Podman, Buildah, Skopeo, crun 및 runc 툴이 포함된 container-tools RPM meta-package를 사용할 수 있습니다. 이번 업데이트에서는 이전 버전에 비해 일련의 버그 수정 및 개선 사항을 적용합니다.

Podman v4.4의 주요 변경 사항은 다음과 같습니다.

  • Podman을 사용하여 systemd 서비스를 쉽게 생성하고 유지 관리하는 새로운 systemd 생성기인 Quadlet을 소개합니다.
  • 컨테이너 및 포드의 네트워크를 업데이트하는 새로운 명령 podman network update 가 추가되었습니다.
  • buildah 버전을 표시하는 새 명령 podman buildx 버전 이 추가되었습니다.
  • 컨테이너는 이제 시작 상태 점검을 통해 일반 상태 점검을 활성화하기 전에 컨테이너를 완전히 시작하기 위해 명령을 실행할 수 있습니다.
  • podman --dns 명령을 사용하여 사용자 지정 DNS 서버 선택을 지원합니다.
  • Fulcio 및 Rekor를 사용하여 sigstore 서명을 생성 및 확인할 수 있습니다.
  • Docker와의 호환성 개선(새 옵션 및 별칭).
  • Podman의 Kubernetes 통합 개선 - podman kube generatepodman kube play 명령을 사용할 수 있으며 podman generate kubepodman play kube 명령을 교체합니다. podman generate kubepodman play kube 명령을 계속 사용할 수 있지만 새로운 podman kube 명령을 사용하는 것이 좋습니다.
  • podman kube play 명령으로 생성된 systemd 관리 포드가 이제 io.containers.sdnotify 주석(또는 특정 컨테이너의 io.containers.sdnotify /$name )을 사용하여 sd-notify와 통합됩니다.
  • podman kube 플레이에서 생성한 systemd 관리 포드는 이제 io.containers.auto-update 주석(또는 특정 컨테이너의 io.containers.auto-update/$name )을 사용하여 자동 업데이트할 수 있습니다.

주목할 만한 변경 사항에 대한 자세한 내용은 podman이 버전 4.4로 업그레이드되어 업스트림 릴리스 노트를 참조하십시오.

Jira:RHELPLAN-136607

Aardvark 및 Netavark가 사용자 정의 DNS 서버 선택을 지원

Aardvark 및 Netavark 네트워크 스택은 이제 호스트의 기본 DNS 서버가 아닌 컨테이너에 대한 사용자 정의 DNS 서버 선택을 지원합니다. 사용자 정의 DNS 서버를 지정하는 두 가지 옵션이 있습니다.

  • containers.conf 구성 파일에 dns_servers 필드를 추가합니다.
  • 새로운 --dns Podman 옵션을 사용하여 DNS 서버의 IP 주소를 지정합니다.

--dns 옵션은 container.conf 파일의 값을 덮어씁니다.

Jira:RHELPLAN-138024

Skopeo에서 sigstore 키 쌍 생성을 지원

skopeo generate-sigstore-key 명령을 사용하여 sigstore 공용/개인 키 쌍을 생성할 수 있습니다. 자세한 내용은 skopeo-generate-sigstore-key man 페이지를 참조하십시오.

Jira:RHELPLAN-151481

Toolbox를 사용할 수 있음

toolbox 유틸리티를 사용하면 시스템에 직접 문제 해결 툴을 설치하지 않고도 컨테이너화된 명령줄 환경을 사용할 수 있습니다. Toolbox는 OCI의 Podman 및 기타 표준 컨테이너 기술을 기반으로 합니다. 자세한 내용은 toolbx 를 참조하십시오.

Jira:RHELPLAN-150266

컨테이너 이미지에 두 자리 태그가 있음

RHEL 9.0 및 RHEL 9.1에서는 컨테이너 이미지에 세 자리 태그가 있었습니다. RHEL 9.2부터 컨테이너 이미지에 두 자리 태그가 있습니다.

Jira:RHELPLAN-147982

이미지에 서명하기 위한 신뢰할 수 있는 여러 GPG 키의 기능을 사용할 수 있습니다.

/etc/containers/policy.json 파일은 신뢰할 수 있는 키가 포함된 파일 목록을 수락하는 새로운 keyPaths 필드를 지원합니다. 이로 인해 Red Hat의 일반 가용성 및 베타 GPG 키로 서명된 컨테이너 이미지가 이제 기본 구성에서 허용됩니다.

예를 들면 다음과 같습니다.

"registry.redhat.io": [
        {
            "type": "signedBy",
            "keyType": "GPGKeys",
            "keyPaths": ["/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release", "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta"]
        }
]

Jira:RHELPLAN-129327

Podman에서 pre-execution 후크 지원

/usr/libexec/podman/pre-exec-hooks/etc/containers/pre-exec-hooks 디렉터리에 있는 root-owned 플러그인 스크립트는 특히 인증되지 않은 작업을 차단하여 컨테이너 작업에 대한 세부 제어를 정의합니다.

/etc/containers/podman_preexec_hooks.txt 파일은 관리자가 생성해야 하며 비어 있을 수 있습니다. /etc/containers/podman_preexec_hooks.txt 가 없으면 플러그인 스크립트가 실행되지 않습니다. 플러그인 스크립트에서 0 값을 반환하면 podman 명령이 실행됩니다. 그러지 않으면 podman 명령이 상속된 종료 코드로 종료됩니다.

Red Hat은 다음 이름 지정 규칙을 사용하여 스크립트를 올바른 순서로 실행하는 것이 좋습니다. DDD-plugin_name.lang (예: 010-check-group.py ). 플러그인 스크립트는 생성 시 유효합니다. 플러그인 스크립트 이전에 생성된 컨테이너는 영향을 받지 않습니다.

Bugzilla:2119200

sigstore 서명 사용 가능

Podman 4.2부터 컨테이너 이미지 서명의 sigstore 형식을 사용할 수 있습니다. sigstore 서명은 이미지 서명을 저장하기 위해 별도의 서명 서버가 없어도 컨테이너 이미지와 함께 컨테이너 레지스트리에 저장됩니다.

Jira:RHELPLAN-74672

Toolbox는 RHEL 9 컨테이너를 생성할 수 있습니다.

이전에는 Toolbox 유틸리티에서 RHEL UBI 8 이미지만 지원했습니다. 이번 릴리스에서 Toolbox는 RHEL UBI 9도 지원합니다. 결과적으로 RHEL 8 또는 9를 기반으로 Toolbox 컨테이너를 생성할 수 있습니다.

다음 명령은 호스트 시스템과 동일한 RHEL 릴리스를 기반으로 RHEL 컨테이너를 생성합니다.

$ toolbox create

또는 특정 RHEL 릴리스를 사용하여 컨테이너를 만들 수도 있습니다. 예를 들어 RHEL 9.2를 기반으로 컨테이너를 생성하려면 다음 명령을 사용합니다.

$ toolbox create --distro rhel --release 9.2

Bugzilla:2163752

새로운 패키지: passt

이번 업데이트에서는 컨테이너에 pasta rootless 네트워킹 백엔드를 사용할 수 있는 passt 패키지가 추가되었습니다.

Podman의 권한이 없는 네트워킹에 현재 사용되는 Slirp 연결과 비교하여 pasta 는 다음과 같은 향상된 기능을 제공합니다.

  • NDP(neighbor Discovery Protocol) 및 DHCPv6에 대한 지원이 포함된 처리량 향상 및 IPv6 지원 개선
  • IPv6에서 TCP 및 UDP 포트의 포트 전달을 구성하는 기능

pasta 를 사용하여 Podman 컨테이너를 연결하려면 --network pasta 명령줄 옵션을 사용합니다.

Bugzilla:2209419

5장. 외부 커널 매개변수에 대한 중요한 변경 사항

이 장에서는 Red Hat Enterprise Linux 9.2에 배포된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 예를 들어 추가 또는 업데이트된 proc 항목, sysctlsysfs 기본 값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함될 수 있습니다.

새 커널 매개변수

nomodeset

이 커널 매개변수를 사용하면 커널 모드 설정을 비활성화할 수 있습니다. gRPC 드라이버는 표시 모드 변경 또는 빠른 렌더링을 수행하지 않습니다. 펌웨어 또는 부트 로더에 의해 설정된 경우에만 시스템 프레임 버퍼를 사용할 수 있습니다.

nomodeset 은 폴백으로 유용하거나 테스트 및 디버깅에 유용합니다.

printk.console_no_auto_verbose

이 커널 매개변수를 사용하면 oops, panic 또는 lockdep-detected 문제에서 콘솔 로그 수준 발생을 비활성화할 수 있습니다(lock debug가 있는 경우에만). 직렬 콘솔에서 낮은 baudrate로 설정하는 것을 제외하고 이 매개변수를 0 으로 설정하여 더 많은 디버그 정보를 제공합니다.

  • 형식: &lt ;bool>
  • 기본값은 0 입니다(자동_verbose 가 활성화됨)
rcupdate.rcu_exp_cpu_stall_timeout=[KNL]

이 커널 매개변수를 사용하면 신속한 RECDHE CPU stall 경고 메시지에 대한 타임아웃을 설정할 수 있습니다. 값은 밀리초 단위이며 허용되는 최대 값은 21000밀리초입니다.

이 값은 아키텍처 타이머 눈금 해상도로 조정됩니다. 이 값을 0으로 설정하면 rcupdate.rcu_cpu_stall_timeout 의 값이 사용됩니다(초에서 밀리초로 변환한 후).

rcupdate.rcu_task_stall_info=[KNL]

이 매개변수를 사용하면 Jiffies for R ScanSetting 작업 stall 정보 메시지에서 초기 시간 초과를 설정할 수 있으며, 이로 인해 참을성이 10분 동안 기다릴 수 없습니다. 정보 메시지는 지정된 유예 기간 동안 stall-warning 메시지보다 먼저 인쇄됩니다. 값이 0보다 작거나 같은 경우 비활성화하십시오.

  • 기본값은 10 초입니다.
  • value의 변경 사항은 다음 유예 기간이 시작될 때까지 적용되지 않습니다.
rcupdate.rcu_task_stall_info_mult=[KNL]

이 매개변수는 특정 RECDHE 작업의 유예 기간 동안 정보 메시지를 연속해서 연속해서 사용하는 시간 간격의 곱셈입니다. 이 값은 1에서 10까지 포함됩니다.

기본값은 3입니다. 따라서 첫 번째 정보 메시지는 유예 기간으로 10초, 두 번째는 40초,160초에 세 번째 경고는 600초에 네 번째를 방지하도록 합니다.

smp.csd_lock_timeout=[KNL]

이 매개변수를 사용하면 smp_call_function() 과 관련자가 CPU가 CSD 잠금을 해제될 때까지 대기하는 시간(밀리초)을 지정할 수 있습니다. 이 기능은 CPU와 관련된 버그를 진단할 때 오랜 시간 동안 인터럽트를 비활성화하는 데 유용합니다.

  • 기본값은 5,000 밀리초입니다.
  • 값을 0으로 설정하면 이 기능이 비활성화됩니다.
  • 이 기능은 csdlock_debug- 커널 매개변수를 사용하여 보다 효율적으로 비활성화할 수 있습니다.
srcutree.big_cpu_lim=[KNL]

이 매개변수를 사용하면 대규모 시스템을 구성하는 CPU 수를 지정할 수 있습니다. 따라서 CloudEvent u_struct 구조에서 immediately allocate u_node 배열을 할당해야 합니다.

  • 기본값은 128 입니다.
  • 는 낮은 순서의 four 비트의 10.0.0.1 utree.convert_to_big3 과 같은 경우에만 적용됩니다 (부팅 시 결정).
srcutree.convert_to_big=[KNL]

이 매개변수를 사용하면 SRECDHE tree tree>-< u_struct 구조의 조건을 통해 rcu_node 트리를 사용하여 큰 양식으로 변환할 조건을 지정할 수 있습니다.

  • 0: never
  • 1: At init_srcu_struct() time.
  • 2 : rcutorture 를 결정할 때.
  • 3: 부팅 시(기본값)를 결정합니다.
  • 0x1X: 높은 경합의 경우 더하기.

    어느 쪽으로든, compile-time CONFIG _ NR_CPUS 대신 실제 런타임 수(nr_cpu_ids)에 따라 sized의 크기가 조정됩니다.

srcutree.srcu_max_nodelay=[KNL]
이 매개변수를 사용하면 SRECDHE 유예 기간 작업자 스레드가 0 지연으로 다시 예약되는 jiffy당 no-delay 인스턴스 수를 지정할 수 있습니다. 이 제한을 초과하여 작업자 스레드는 하나의 정체의 수면 지연으로 다시 예약됩니다.
srcutree.srcu_max_nodelay_phase=[KNL]
이 매개변수를 사용하면 grace-period 단계, 유휴 상태가 아닌 독자의 폴링 수를 지정할 수 있습니다. 이 제한을 초과하여 유예 기간 작업자 스레드는 유예 기간 동안 리더의 각 다시 스캔 사이에 한 정점의 수면 지연으로 다시 예약됩니다.
srcutree.srcu_retry_check_delay=[KNL]
이 매개 변수를 사용하면 자고 있지 않은 리더의 각 폴링 간에 유휴 상태가 아닌 지연의 마이크로초 수를 지정할 수 있습니다.
srcutree.small_contention_lim=[KNL]

이 매개변수를 사용하면 jiffy당 업데이트 측 경합 이벤트 수를 지정할 수 있습니다. 단, 대규모 구조 변환을 시작하기 전에 허용될 수 있습니다.

참고

Content utree.convert_to_big 값의 값은 경합 기반 변환에 대해 0x10 비트를 설정해야 합니다.

업데이트된 커널 매개변수

crashkernel=size[KMG][@offset[KMG]]

[KNL] kexec 를 사용하면 Linux가 패닉 시 크래시 커널로 전환할 수 있습니다. 이 매개변수는 해당 커널 이미지의 실제 메모리 영역 [offset, offset + size]을 예약합니다. @offset 이 생략되면 적절한 오프셋이 자동으로 선택됩니다.

[KNL, X86-64, ARM64] 먼저 4G 아래 영역을 선택하고 @offset 이 지정되지 않은 경우 4G 이상의 리전을 예약하도록 대체합니다.

자세한 내용은 Documentation/admin-guide/kdump/kdump.rst 를 참조하십시오.

crashkernel=size[KMG],low
  • [KNL, X86-64, ARM64] 이 매개변수는 두 번째 커널의 경우 4G에서 낮은 범위를 지정할 수 있습니다. crashkernel=X,high is passed.(예: swiotlb 에는 최소 64M+32K 저 메모리가 필요한 경우) 32비트 장치에 대한 DMA 버퍼가 실행되지 않도록 하려면 추가 메모리 부족 메모리가 필요합니다. 커널은 4G 미만의 기본 메모리 크기를 자동으로 할당하려고 합니다. 기본 크기는 플랫폼에 따라 다릅니다.

    • x86: max(swiotlb_size_or_default() + 8MiB, 256MiB)
    • Def64: 128MiB

      0: 낮은 할당을 비활성화하려면.

      이 매개변수는 crashkernel=X,high 가 사용되지 않거나 예약된 메모리가 4G 미만인 경우 무시됩니다.

  • [KNL, ARM64] 이 매개변수는 크래시 덤프 커널의 DMA 영역에서 범위를 지정할 수 있습니다.

    crashkernel=X,high 는 사용되지 않을 때 이 매개변수는 무시됩니다.

deferred_probe_timeout=[KNL]

이 매개변수를 사용하면 지연된 프로브에 대한 타임아웃을 초 단위로 설정하여 프로브에 대한 대기 시간을 초과할 수 있습니다. 선택한 특정 종속성(하위 시스템 또는 드라이버)만 무시됩니다.

시간 초과가 0 이면 initcall이 끝날 때 시간 초과됩니다. 시간 초과가 만료되지 않은 경우 성공적인 드라이버 등록마다 옵션이 다시 시작됩니다. 이 옵션은 재시도 후에도 지연된 프로브 목록에 여전히 있는 장치를 덤프합니다.

driver_async_probe=[KNL]

이 매개변수를 사용하면 비동기적으로 검색할 드라이버 이름을 나열할 수 있습니다. * (하위)는 모든 드라이버 이름과 일치합니다.

  • * 를 지정하면 나열된 나머지 드라이버 이름이 * 와 일치하지 않습니다.

    형식: & lt;driver_name1>,<driver_name2>…​

hugetlb_cma=[HW,CMA]

이 매개변수를 사용하면 gigantic hugepages의 할당에 사용되는 CMA 영역의 크기를 지정할 수 있습니다. 또는 노드 형식을 사용하는 경우 노드당 CMA 영역의 크기입니다.

형식: nn[KMGTPE] 또는 (노드 형식) <node>:nn[KMGTPE][,<node>:nn[KMGTPE]]]

지정된 크기의 CMA 영역을 예약하고 CMA 할당기를 사용하여 대규모 hugepages를 할당합니다. 활성화된 경우 gigantic hugepages의 부팅 시간 할당을 건너뜁니다.

hugepages=[HW]

이 매개변수를 사용하면 부팅 시 할당할 HugeTLB 페이지 수를 지정할 수 있습니다.

  • hugepagesz를 따르는 경우 할당할 hugepagesz 페이지 수를 지정합니다.
  • 명령줄에서 첫 번째 HugeTLB 매개변수인 경우 기본 대규모 페이지 크기에 할당할 페이지 수를 지정합니다.
  • 노드 형식을 사용하는 경우 노드당 할당할 페이지 수를 지정할 수 있습니다.

    Documentation/admin-guide/mm/hugetlbpage.rst 도 참조하십시오.

    형식: < integer> 또는 (노드 형식) <node>:<integer>[,<node>:<integer>]

hugetlb_free_vmemmap=[KNL]

이 매개변수를 사용하려면 CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP 가 활성화되어야 합니다. 대용량 hugetlb 사용자가 더 많은 메모리를 확보할 수 있습니다 (각 2MB hugetlb 페이지마다 7 * PAGE_SIZE).

  • 형식: { [oO][Nn]/Y/y/1 | [oO][Ff]/N/n/0 (기본값) }
  • [OO][Nn]/Y/y/1: 기능 활성화
  • [OO][Ff]/N/n/0: 기능 비활성화

    CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON=y 로 빌드됨

    기본값은 on 입니다.

    참고

    이 매개변수는 memory_hotplug.memmap_on_memory 와 호환되지 않습니다. 두 매개변수를 모두 활성화하면 hugetlb_free_vmemmapmemory_hotplug.memmap_on_memory 보다 우선합니다.

ivrs_ioapic=[HW,X86-64]

이 매개변수는 IVRS ACPI 테이블에 제공된 IOAPIC-ID <-> DEVICE-ID 매핑에 대한 재정의를 제공합니다.

기본적으로 PCI 세그먼트는 0 이며 생략할 수 있습니다. 예를 들면 다음과 같습니다.

  • IOAPIC-ID 10을 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.

    ivrs_ioapic[10]=00:14.0
  • IOAPIC-ID 10을 PCI 세그먼트 0x1 및 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.

    ivrs_ioapic[10]=0001:00:14.0
ivrs_hpet=[HW,X86-64]

이 매개변수는 IVRS ACPI 테이블에 제공된 HPET-ID <-> DEVICE-ID 매핑에 대한 재정의를 제공합니다.

기본적으로 PCI 세그먼트는 0 이며 생략할 수 있습니다. 예를 들면 다음과 같습니다.

  • HPET-ID 10진수 0을 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.

    ivrs_hpet[0]=00:14.0
  • HPET-ID 10을 PCI 세그먼트 0x1 및 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.

    ivrs_ioapic[10]=0001:00:14.0
ivrs_acpihid=[HW,X86-64]

이 매개변수는 IVRS ACPI 테이블에 제공된 ACPI-HID:UID <-> DEVICE-ID 매핑에 대한 덮어쓰기를 제공합니다.

예를 들어 UART-HID:UID AMD0020:0 을 PCI 세그먼트 0x1 에 매핑하고 PCI 장치 ID 00:14.5 는 다음과 같이 작성합니다.

ivrs_acpihid[0001:00:14.5]=AMD0020:0

기본적으로 PCI 세그먼트는 0 이며 생략할 수 있습니다. 예를 들어 PCI 장치 00:14.5 의 경우 다음과 같이 매개변수를 작성합니다.

ivrs_acpihid[00:14.5]=AMD0020:0
kvm.eager_page_split=[KVM,X86]

이 매개 변수를 사용하여 KVM이 유러한 로깅 중에 모든 대규모 페이지를 사전에 분할할지 여부를 제어할 수 있습니다.

원하는 페이지 분할은 대규모 페이지를 분할하는 데 필요한 쓰기 보호 오류 및 MMU 잠금 경합을 제거하여 vCPU 실행으로 인한 중단을 줄입니다. 쓰기를 거의 수행하거나 소수의 VM 메모리에만 쓰는 VM 워크로드는 대규모 페이지를 읽기에 계속 사용할 수 있도록 즉시 페이지 분할을 비활성화하면 유용할 수 있습니다.

원하는 페이지 분할 동작은 KVM_DIRTY_LOG_INITIALLY_SET 이 활성화 또는 비활성화되었는지 여부에 따라 달라집니다.

  • 비활성화되어 있는 경우 memslot의 모든 대규모 페이지는 해당 memslot에서 더티 로깅이 활성화되면 빠르게 분할됩니다.
  • 활성화되면 KVM_CLECDHE_DIRTY ioctl 중에 빠른 페이지 분할이 수행되며 페이지의 삭제만 수행됩니다.

    원하는 페이지 분할은 kvm.tdp_mmu=Y 경우에만 지원됩니다.

    기본값은 Y (on)입니다.

kvm-arm.mode=[KVM,ARM]

이 매개변수를 사용하면 KVM/arm64의 작업 모드 중 하나를 선택할 수 있습니다.

  • none: KVM을 강제 비활성화합니다.
  • nvhe: 보호 대상 게스트를 지원하지 않는 표준 nVHE 기반 모드입니다.
  • protected: nVHE 기반 모드가 호스트에서 비공개로 유지되는 게스트를 지원합니다.

    하드웨어 지원에 따라 기본값은 VHE/nVHE 입니다.

nosmep=[X86,PPC64s]

이 매개변수를 사용하면 프로세서에서 지원하는 경우에도 SMEP(Supervisor Mode Execution Prevention)를 비활성화할 수 있습니다.

형식: pci=option[,option…​] [ PCI] various_ PCI_subsystem_options

여기에서 일부 옵션은 특정 장치 또는 장치 세트 (<pci_dev&gt;)에서 작동합니다. 이러한 형식은 다음 형식 중 하나로 지정됩니다.

[<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]*
pci:<vendor>:<device>[:<subvendor>:<subdevice>]
참고
  • 첫 번째 형식은 새 하드웨어가 삽입될 때, 마더보드 펌웨어가 변경되는 경우 또는 다른 커널 매개변수로 인한 변경으로 인해 변경될 수 있는 PCI 버스/디바이스/기능 주소를 지정합니다. 도메인이 지정되지 않은 경우 0으로 간주됩니다. 선택적으로 여러 장치 및 기능 주소를 통한 장치 경로는 기본 주소 다음에 지정할 수 있습니다.
  • 두 번째 형식은 시스템의 여러 장치와 일치할 수 있는 구성 공간의 ID를 사용하여 장치를 선택합니다.
  • earlydump: 커널이 모든 것을 변경하기 전에 PCI 구성 공간을 덤프
  • off: [X86]은 PCI 버스를 검색하지 않습니다.
  • BIOS: [X86-32] PCI BIOS를 강제로 사용하며 하드웨어에 직접 액세스하지 마십시오. 시스템에 비표준 PCI 호스트 브릿지가 있는 경우 사용합니다.
  • nobios: [X86-32] PCI BIOS 사용을 허용하지 않으며 직접 하드웨어 액세스 방법만 허용됩니다. 부팅 시 충돌이 발생하고 BIOS로 인한 것으로 의심되는 경우 이 기능을 사용합니다.
  • conf1: [X86] force use of PCI Configuration Access Mechanism 1 ( IO 포트 0xCF8의 구성 주소, IO 포트 0xCFC의 데이터 둘 다 32비트).
  • conf2: [X86] Force use of PCI Configuration Access Mechanism 2 (IO 포트 0xCF8은 기능에 대한 8비트 포트, IO 포트 0xCFA, 8비트, 버스 번호를 설정합니다.) 그러면 0xC000-0xCFFF포트를 통해 구성 공간에 액세스할 수 있습니다.

  • noaer: [ PCIE] PCIEAER 커널 구성 매개변수가 활성화된 경우 이 커널 부팅 옵션을 사용하여 PCIE 고급 오류 보고 사용을 비활성화할 수 있습니다.
  • nodomains: [ PCI] 다중 PCI 루트 도메인(ACPI를 사용하는 경우 PCI 세그먼트)에 대한 지원을 비활성화합니다.
  • nommconf: [X86] PCI 구성에 대한 MMCONFIG 사용 비활성화
  • check_enable_amd_mmconf [X86]: AMD 제품군 10h CPU의 PCI 구성 공간에 올바르게 구성된 MMIO 액세스를 확인하고 활성화
  • nomsi: [MSI] PCI_MSI 커널 구성 매개변수를 활성화하면 이 커널 부팅 옵션을 사용하여 시스템 전체에서 MSI 인터럽트 사용을 비활성화할 수 있습니다.
  • noioapicquirk: [APIC] 모든 부팅 인터럽트 quirk를 비활성화합니다. 부팅 IRQ를 사용하도록 설정하는 안전 옵션입니다. 이 작업은 절대 필요하지 않아야 합니다.
  • ioapicreroute: [APIC] 부팅 IRQ를 부팅 IRQ를 비활성화할 수 없는 브리지의 기본 IO-APIC로 다시 라우팅할 수 있습니다. 이렇게 하면 시스템이 IRQ를 마스크할 때 광범위한 IRQ 소스가 수정되었습니다.
  • noioapicreroute [APIC] 부팅 IRQ를 비활성화할 수 없는 칩셋에 연결하는 IRQ와 동일한 부팅 IRQ를 사용하는 해결방법을 비활성화합니다. ioapicreroute의 반대입니다.
  • BIOSirq: [X86-32] PCI BIOS 호출을 사용하여 인터럽트 라우팅 테이블을 가져옵니다. 이러한 호출은 여러 시스템에서 버그가 있는 것으로 알려져 있으며 사용 시 컴퓨터를 정지하지만 다른 컴퓨터에서는 인터럽트 라우팅 테이블을 얻을 수 있는 유일한 방법입니다. 커널이 Motherboard에서 IRQ를 할당하거나 보조 PCI 버스를 찾을 수 없는 경우 이 옵션을 사용해 보십시오.
  • 16.1: [X86] IKEvs 확장에 주소 공간을 할당합니다. 특정 장치는 iPXE와 기타 리소스간에 주소 디코더를 공유하므로 주의해서 사용하십시오.
  • norom: [X86] BIOS 할당 주소 범위가 없는 IKEvs 확장에는 주소 공간을 할당하지 않습니다.
  • nobar: [X86] BIOS에서 할당하지 않은 BAR에 주소 공간을 할당하지 않습니다.
  • irqmask=0xMMMM: [X86] PCI 장치에 자동으로 할당되는 IRQ의 비트 마스크를 설정합니다. 커널이 이러한 방식으로 ISA 카드의 IRQ를 제외하도록 할 수 있습니다.
  • pirqaddr=0xAAAAA: [X86]은 F0000h-100000h 범위 외부에 있는 경우 PIRQ 테이블의 물리적 주소(일반적으로 BIOS에서 생성)를 지정합니다.
  • lastbus=N: [X86] 모든 버스트 #N을 스캔합니다. 커널이 보조 버스트를 찾을 수 없는 경우 유용할 수 있습니다.
  • 할당 버스: [X86] 항상 모든 PCI 버스 번호를 직접 할당하여 펌웨어가 수행할 수 있는 모든 작업을 덮어씁니다.
  • usepirqmask: [X86] BIOS $PIR 테이블에 저장된 가능한 IRQ 마스크입니다. 이는 BIOS가 손상된 일부 시스템, 특히 HP Pavilion N5400 및 Omnibook XE3 문제 해결이 필요한 일부 시스템에 필요합니다. ACPI IRQ 라우팅이 활성화된 경우 이 방법은 적용되지 않습니다.
  • noacpi: [X86] IRQ 라우팅 또는 PCI 스캔에 ACPI를 사용하지 마십시오.
  • use_crs: [X86] ACPI의 PCI 호스트 브리지 창 정보를 사용합니다. 2008년 이후의 BIOS에서는 기본적으로 활성화되어 있습니다. 이 버전을 사용해야 하는 경우 버그를 보고해 주십시오.
  • nocrs: [X86] ACPI에서 PCI 호스트 브리지 창을 무시합니다. 이 버전을 사용해야 하는 경우 버그를 보고해 주십시오.
  • use_e820: [X86] PCI 호스트 브리지 창의 일부를 제외하려면 E820 예약을 사용합니다. 이는 호스트 브리지 _CRS 방법의 BIOS 결함에 대한 해결 방법입니다. 이 버전을 사용해야 하는 경우 linux-pci@vger.kernel.org 에 버그를 보고하십시오.
  • no_e820: [X86] PCI 호스트 브리지 창에 대한 E820 예약을 무시합니다. 이는 최신 하드웨어에서 기본값입니다. 이 버전을 사용해야 하는 경우 linux-pci@vger.kernel.org 에 버그를 보고하십시오.
  • routeirq: 모든 PCI 장치에 대해 IRQ 라우팅을 수행합니다. 일반적으로 pci_enable_device() 에서 수행되므로 이 옵션은 호출하지 않는 손상된 드라이버에 대한 임시 해결 방법입니다.
  • skip_isa_align: [X86]은 io start addr를 정렬하지 않으므로 더 많은 pci 카드를 처리할 수 있습니다.
  • 참고: [X86] 초기 유형 1 스캔은 수행하지 않습니다. 이는 일부 장치의 구성 공간을 읽을 때 머신을 확인하는 깨진 보드에서 도움이 될 수 있습니다. 그러나 다양한 해결 방법이 비활성화되어 일부 IOMMU 드라이버가 작동하지 않습니다.
  • bfsort: PCI 장치를 업계 우선 순서로 정렬합니다. 이 정렬은 이전(ECDHE 2.4) 커널과 호환되는 장치 순서를 가져오기 위해 수행됩니다.
  • nobfsort: PCI 장치를 범위 우선 순서로 정렬하지 마십시오.
  • 10.0.0.1ie_bus_tune_off: PCIe MPS (Max Payload Size) 튜닝을 비활성화하고 BIOS 구성 MPS 기본값을 사용합니다.
  • longie_bus_safe: 모든 장치의 MPS를 루트 복잡성 아래의 모든 장치에서 지원하는 가장 큰 값으로 설정합니다.
  • gRPCie_bus_perf는 부모 버스에 따라 허용되는 가장 큰 MPS로 장치 MPS를 설정합니다. 또한 최상의 성능을 위해 MRRS(Max Read Request Size)를 가장 큰 지원 값(디바이저가 지원할 수 있는 MPS보다 크지 않음)으로 설정합니다.
  • longie_bus_peer2peer: 모든 장치를 지원하는 모든 장치의 MPS를 128B로 설정합니다. 이 구성을 사용하면 성능이 저하될 수 있으므로 장치 쌍 간에 피어 투 피어 DMA를 사용할 수 있습니다. 또한 핫플러그 장치가 작동할 수 있도록 보장합니다.
  • cbiosize=nn[KMG]: CardBus 브리지의 IO 창용으로 예약된 고정 버스 공간입니다. 기본값은 256바이트입니다.
  • cbmemsize=nn[KMG]: CardBus 브리지의 메모리 창용으로 예약된 고정 버스 공간입니다. 기본값은 64MB 입니다.
  • resource_alignment=

    • 형식: [<order of align>@]<pci_dev>[; …​]
    • 정렬 및 장치를 지정하여 정렬된 메모리 리소스를 다시 할당합니다. 장치를 지정하는 방법은 위에 설명되어 있습니다. & lt;order of align& gt;을 지정하지 않으면 PAGE_SIZE 가 정렬으로 사용됩니다. 리소스 창을 확장해야 하는 경우 PCI- PCI 브리지를 지정할 수 있습니다. 장치의 여러 인스턴스에 대한 정렬을 지정하려면 PCI 공급 업체, 장치, 하위 공급 업체 및 하위 장치를 지정할 수 있습니다 (예: 4096바이트 정렬에 대해 12@pci:8086:9c22:103c:198f ).
  • ecrc=: PCIe ECRC 활성화/비활성화(ECDHE layer end-to-end CRC 검사).

    • BIOS: BIOS/firmware 설정을 사용합니다. 이는 기본값입니다.
    • 해제: ECRC 해제
    • On: Turn ECRC on.
  • hpiosize=nn[KMG]: 핫플러그 브리지 IO 창용으로 예약된 고정 버스 공간입니다. 기본 크기는 256바이트입니다.
  • hpmmiosize=nn[KMG]: 핫플러그 브리지의 MMIO 창용으로 예약된 고정된 버스 공간입니다. 기본 크기는 2MB입니다.
  • hpmmioprefsize=nn[KMG]: 핫플러그 브리지의 MMIO_PREF 창용으로 예약된 고정 버스 공간입니다. 기본 크기는 2MB입니다.
  • hpmemsize=nn[KMG]: 핫플러그 브리지 및 MMIO_PREF 창을 위해 예약된 고정 버스 공간입니다. 기본 크기는 2MB입니다.
  • hpbussize=nn: 핫플러그 브리지 아래에 버스를 위해 예약된 추가 버스 번호의 최소 양입니다. 기본값은 1 입니다.
  • realloc=: BIOS에서 수행하는 할당이 모든 하위 장치에 필요한 리소스를 수용하기 위해 너무 작으면 PCI 브리지 리소스를 활성화/비활성화합니다.

    • 해제: realloc 끄기
    • On: Turn realloc on
  • realloc: realloc=on
  • noari: PCIe ARI를 사용하지 마십시오.
  • noats: [ PCIE, Intel-IOMMU, AMD-IOMMU]는 PCIe ATS(및 IOMMU 장치 IOTLB)를 사용하지 않습니다.
  • windowsie_scan_all: 가능한 모든 PCIe 장치를 스캔합니다. 그렇지 않으면 PCIe downstream 포트 아래에 있는 하나의 장치만 찾습니다.
  • big_root_window: AMD CPU의 PCIe root 복잡성에 큰 64비트 메모리 창을 추가하십시오. 일부 GFX 하드웨어는 모든 VRAM에 액세스할 수 있도록 BAR의 크기를 조정할 수 있습니다. 창을 추가하는 것은 약간 위험(보고되지 않은 장치와 충돌할 수 있음)이므로 커널이 테인트됩니다.
  • disable_acs_redir=<pci_dev>[; …​]: 테인트로 구분된 하나 이상의 PCI 장치(위에서 지정된 형식)를 지정합니다. 지정된 각 장치에는 강제 해제된 PCI ACS 리디렉션 기능이 있으며 업스트림에 강제 적용하지 않고 브리지를 통해 장치 간 P2P 트래픽을 허용합니다. 참고: 장치 간 격리를 제거하고 IOMMU 그룹에 더 많은 장치를 배치할 수 있습니다.
  • force_floating: [S390]에서는 부동 인터럽트를 강제 사용합니다.
  • nomio: [S390]은 PLO 명령어를 사용하지 마십시오.
  • norid: [S390]은 RID 필드를 무시하고 PCI 기능당 하나의 PCI 도메인을 강제로 사용합니다.
rcupdate.rcu_cpu_stall_timeout=[KNL]
CPU stall 경고 메시지에 대한 타임아웃을 설정합니다. 값은 초 단위이며 허용되는 최대 값은 300초입니다.
rcupdate.rcu_task_stall_timeout=[KNL]

이 매개변수를 사용하면 Jiffies for RECDHE task stall warning messages에서 timeout을 설정할 수 있습니다. 값이 0보다 작거나 같은 경우 비활성화하십시오.

기본값은 10 분입니다.

value의 변경 사항은 다음 유예 기간이 시작될 때까지 적용되지 않습니다.

retbleed=[X86]

이 매개변수를 사용하면 RETBleed (Arbitrary Speculative Code Execution with Return Instructions) 취약점의 완화를 제어할 수 있습니다.

AMD 기반 UNRET 및 IBPB 완화 작업만으로는 형제 스레드가 다른 형제 스레드의 예측에 영향을 미치는 것을 막을 수 없습니다. 따라서 STIBP는 이를 지원하는 프로세서에서 사용되며 그렇지 않은 프로세서에서 SMT를 완화합니다.

  • off - 완화 없음
  • auto - migitation을 자동으로 선택합니다.
  • Auto,nosmt - 자동으로 완화 조치를 선택하여 전체 완화 조치를 위해 필요한 경우 SMT를 비활성화합니다(STIBP가 없는 경우).
  • ibpb - AMD에서 기본 블록 경계에서도 짧은 추측 창을 완화합니다. 안전하고 가장 높은 Perf 영향을 미칩니다. 있는 경우 STIBP도 활성화합니다. Intel에는 적합하지 않습니다.
  • ibpb,nosmt - 위의 ibpb 처럼하지만 STIBP를 사용할 수없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다.
  • Ret - 억제되지 않은 반환 토크를 활성화하며 AMD f15h-f17h 기반 시스템에서만 유효합니다.
  • unret,nosmt - 원하지 않는 것처럼, STIBP를 사용할 수 없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다.

    auto 를 선택하면 실행 시 CPU에 따라 완화 방법이 선택됩니다.

    이 옵션을 지정하지 않는 것은 retbleed=auto 와 동일합니다.

swiotlb=[ARM,IA-64,PPC,MIPS,X86]

형식: { <int> [,<int>] | force | noforce }

  • <int> - I/O TLB slabs 수
  • <int> - 쉼표 이후의 두 번째 정수 자체 잠금 이 있는 Swiotlb 영역 수입니다. 2 의 거듭제곱으로 반올림됩니다.
  • force - 커널에서 자동으로 사용하지 않는 경우에도 bounce 버퍼를 강제로 사용합니다.
  • noforce - Ballunce buffers를 사용하지 않음(디버그용)

새로운 sysctl 매개변수

kernel.nmi_wd_lpm_factor (PPC만 해당)

이 요소는 LPM 중 NMI 워치독 타임아웃을 계산할 때 watchdog_thresh 에 추가된 백분율을 나타냅니다. 소프트 잠금 시간 제한은 영향을 받지 않습니다. NMI 워치독 시간 제한에 적용하려면 이 요소를 사용합니다( nmi_watchdog 가 1로 설정된 경우에만).

  • 값이 0 이면 변경되지 않습니다.
  • 기본값은 200 입니다. 즉, NMI 워치독이 30s 로 설정됩니다( 워치독_thresh 에 따라 10).
net.core.txrehash

이 매개변수를 사용하면 SO_TXREHASH 옵션이 10.0.0.1K_ TXREHASH_DEFAULT (즉, setsockopt에 의해 재정의되지 않음)로 설정된 경우 청취 소켓에 대한 기본 해시 다시 시도 동작을 제어할 수 있습니다.

  • 1 (기본값)으로 설정하면 수신 대기 소켓에서 해시가 수행됩니다.
  • 0 으로 설정하면 해시가 수행되지 않습니다.
net.sctp.reconf_enable - BOOLEAN

이 확장 기능을 사용하면 RFC6525에 지정된 Stream Reconfiguration 기능의 확장을 활성화하거나 비활성화할 수 있습니다. 이 확장은 스트림을 "재설정"하는 기능을 제공하며, SSN/TSN Reset,SSN/TSN Reset Add Outgoing/Incoming Streams 의 매개변수를 포함합니다.

  • 1: 확장을 활성화합니다.
  • 0: 확장을 비활성화합니다.
  • 기본값은 0 입니다.
net.sctp.intl_enable - BOOLEAN

이 확장 기능을 사용하면 RFC8260에 지정된 User Message Interleaving 기능의 확장을 활성화하거나 비활성화할 수 있습니다. 이 확장 기능을 사용하면 다른 스트림에서 전송된 사용자 메시지를 인터리빙할 수 있습니다. 이 기능을 활성화하면 I-DATA 청크가 DATA 청크를 교체하여 피어에서 지원하는 경우 사용자 메시지를 전달합니다. 이 기능을 사용하려면 이 옵션을 1 로 설정하고 소켓 옵션 SCTP_FRAGMENT_INTERLEAVE2 로 설정하고 SCTP_INTERLEAVING_SUPPORTED1 로 설정해야 합니다.

  • 1: 확장을 활성화합니다.
  • 0: 확장을 비활성화합니다.
  • 기본값은 0 입니다.
net.sctp.ecn_enable - BOOLEAN

이 확장 기능을 사용하면 SCTP에서 Explicit Congestion Notification (ECN) 사용을 제어할 수 있습니다. TCP에서와 마찬가지로 ECN은 SCTP 연결의 양쪽 끝에 해당 연결에 대한 지원을 나타내는 경우에만 사용됩니다. 이 기능은 패킷을 삭제하기 전에 라우터가 정체 신호를 보낼 수 있기 때문에 정체 손실을 방지하는 데 유용합니다.

  • 1: ecn을 활성화합니다.
  • 0: ecn을 비활성화합니다.
  • 기본값은 1 입니다.
vm.hugetlb_optimize_vmemmap

memory_hotplug.memmap_on_memory 커널 매개변수가 구성되면 이 knob를 사용할 수 없습니다. 또는 struct 페이지 크기( 포함/linux/mm_types.h에 정의된 구조)가 두 가지(별하지 않은 시스템 구성으로 인해 발생할 수 있음)의 전원이 아닌 경우 사용할 수 없습니다.

각 HugeTLB 페이지와 관련된 vmemmap 페이지를 최적화하는 기능을 활성화(설정)하거나 0으로 설정할 수 있습니다.

  • 활성화된 경우, buddy allocator에서 HugeTLB 페이지의 후속 할당의 vmemmap 페이지가 최적화되고(2MB HugeTLB 페이지당 7 페이지당 7페이지, 1GB HugeTLB 페이지당 7페이지)가 이미 할당된 HugeTLB 페이지가 최적화되지 않습니다. 최적화된 HugeTLB 페이지가 HugeTLB 풀에서 buddy allocator로 해제되면 해당 범위를 다시 매핑해야 하며 vmemmap 페이지가 이전에 다시 배치되어야 합니다.
  • 사용 사례가 HugeTLB 페이지에 impromptu가 할당되는 경우 (예: nr_hugepages 를 사용하여 HugeTLB 페이지를 명시적으로 할당하지 않고 nr_overcommit_hugepages 만 설정하면 해당 오버 커밋된 HugeTLB 페이지가 HugeTLB 풀에서 가져오는 대신 impromptu가 할당됩니다. HugeTLB 풀과 buddy 할당기 간에 HugeTLB 페이지를 할당하거나 해제하는 오버헤드(이전보다 2배 더 느림)와 메모리 절감의 이점을 측정해야 합니다. 또 다른 동작은 시스템이 많은 메모리 부족 상태에 있는 경우 사용자가 HugeTLB 페이지를 HugeTLB 풀에서 buddy allocator로 해제하는 것을 방지할 수 있다는 것입니다. vmemmap 페이지 할당에 실패 할 수 있기 때문에 나중에 시스템이 이 상황에 직면하면 다시 시도해야 합니다.
  • 비활성화되면 buddy allocator에서 HugeTLB 페이지의 후속 할당의 vmemmap 페이지는 최적화되지 않으며, buddy allocator에서 할당시 추가 오버헤드가 사라지지 않고 이미 최적화된 HugeTLB 페이지의 영향을 받지 않습니다. 최적화된 HugeTLB 페이지가 없는지 확인하려면 nr_hugepages 를 먼저 0 으로 설정한 다음 비활성화할 수 있습니다. 0nr_hugepages 에 쓰면 HugeTLB 페이지를 사용하는 모든 것이plus 페이지가 됩니다. 따라서, 더 이상 사용하지 않을 때까지 플러더 페이지가 여전히 최적화되어 있습니다. 시스템에 최적화된 페이지가 없기 전에 해당 페이지가 릴리스될 때까지 기다려야 합니다.
net.core.rps_default_mask
새로 생성된 네트워크 장치에 사용되는 기본 RPS CPU 마스크입니다. 빈 마스크는 기본적으로 RPS를 비활성화함을 의미합니다.

sysctl 매개변수 변경

kernel.numa_balancing

이 매개변수를 사용하면 페이지 폴트 기반 NUMA 메모리 밸런싱을 활성화, 비활성화, 구성할 수 있습니다. 메모리는 자주 액세스하는 노드로 자동 이동합니다. 설정할 값은 다음 명령을 실행한 결과일 수 있습니다.

= =================================
0 NUMA_BALANCING_DISABLED
1 NUMA_BALANCING_NORMAL
2 NUMA_BALANCING_MEMORY_TIERING
= =================================

원격 액세스를 줄이기 위해 여러 NUMA 노드 간 페이지 배치를 최적화하기 위해 NUMA_BALANCING_NORMAL 또는 NUMA_BALANCING_NORMAL. NUMA 시스템에서는 CPU에서 원격 메모리에 액세스하는 경우 성능이 저하됩니다. 이 기능을 활성화하면 커널은 주기적으로 페이지 매핑을 해제하고 나중에 페이지 폴트를 트랩하여 메모리에 액세스하는 작업 스레드를 샘플링합니다. 페이지 폴트 시점에 액세스 중인 데이터를 로컬 메모리 노드로 마이그레이션해야 하는지 여부가 결정됩니다.

또는 NUMA_BALANCING_MEMORY_TIERING 은 다양한 메모리 유형(다른 NUMA 노드로 표시됨) 간에 페이지 배치를 최적화하여 빠른 메모리에 핫 페이지를 배치합니다. 이는 매핑 해제 및 페이지 폴트에 따라 구현됩니다.

net.ipv6.route.max_size
가비지 컬렉션이 캐시된 경로 항목을 관리하므로 ipv6에서는 더 이상 사용되지 않습니다.
net.sctp.sctp_wmem

이 튜닝 가능 항목은 영향을 미치지 않는 것으로 문서화되었습니다. 이제 첫 번째 값(최소)만 사용되며 defaultmax 는 무시됩니다.

  • min: SCTP 소켓에서 사용할 수 있는 전송 버퍼의 최소 크기입니다. 중간 수준의 메모리 부족에서도 각 SCTP 소켓 (하지만 연관되지 않음)이 보장됩니다.
  • 기본값은 4K 입니다.

6장. 장치 드라이버

6.1. 새 드라이버

  • ACPI video 드라이버(비디오) 64비트 ARM 아키텍처에서만 사용 가능
  • CXL 메모리 끝점 장치용 CXL 드라이버 및 메모리 확장을 위한 스위치(cxl_mem)
  • GNSS 수신자 코어 (gnss)
  • PerfectIO 시뮬레이터 모듈 (gpio-sim) 64 비트 ARM 아키텍처에서만
  • virtio 10.0.0.1IO 드라이버 (gpio-virtio), 64 비트 ARM 아키텍처에서만
  • NVIDIA Tegra HTE (Hardware Timestamping Engine) 드라이버 (hte-tegra194)는 64 비트 ARM 아키텍처에서만
  • LPI2C 버스 용 I2C 어댑터 드라이버 (i2c-imx-lpi2c), 64 비트 ARM 아키텍처에서만
  • virtio i2c 버스 드라이버 (i2c-virtio) 64 비트 ARM 아키텍처
  • 64비트 ARM 아키텍처에서만 입력 하위 시스템(uinput)에 대한 사용자 수준 드라이버 지원
  • nvme 호스트 또는 대상 드라이버에서 사용할 수 있는 공통 함수를 구현하는 모듈 (nvme-common)
  • AMD PMC 드라이버(amd-pmc) AMD 및 Intel 64비트 아키텍처에서만
  • NVIDIA sn2201 플랫폼 드라이버 (Nvsw-sn2201) AMD 및 Intel 64 비트 아키텍처에서만
  • 직렬 멀티 인스턴스화 의사 장치 드라이버 (serial-multi-instantiate) AMD 및 Intel 64 비트 아키텍처에서만
  • MicroECDHE RV8803 RTC 드라이버(rtc-rv8803)는 64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다.
  • NVIDIA Tegra QSPI Controller Driver(spi-tegra210-quad)는 64비트 ARM 아키텍처에서만 사용 가능
  • Cypress CCGx Type-C 컨트롤러 (ucsi_ccg)용 UCSI 드라이버 64비트 ARM 아키텍처
  • 기밀 컴퓨팅 EFI 시크릿 영역 액세스 (efi_secret) AMD 및 Intel 64 비트 아키텍처에서만
  • TDX 게스트 드라이버 (tdx-guest) AMD 및 Intel 64 비트 아키텍처에서만
  • HPE 워치독 드라이버(Hpwdt), 64비트 ARM 아키텍처에서만 사용 가능
  • POWER 아키텍처 플랫폼 Watchdog 드라이버 (pseries-wdt) IBM Power Systems, Little Endian에서만

네트워크 드라이버

  • VXLAN 캡슐화 트래픽의 드라이버(ECDHE)
  • Marvell OcteonTX2 RVU Admin Function Driver (rvu_af), 64 비트 ARM 아키텍처에서만
  • RVU NIC 물리적 기능 드라이버(rvu_nicpf) 64비트 ARM 아키텍처에서만 사용 가능
  • RVU NIC PTP 드라이버(otx2_ptp)는 64비트 ARM 아키텍처에서만 사용
  • RVU NIC 가상 기능 드라이버(rvu_nicvf)는 64비트 ARM 아키텍처에서만 사용
  • NVIDIA Tegra MGBE 드라이버 (dwmac-tegra), 64 비트 ARM 아키텍처에서만
  • serial line IRQ 인터페이스 (slcan), 64 비트 ARM 아키텍처에서만
  • Solarflare Siena 네트워크 드라이버(sfc-siena)는 IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다.

그래픽 드라이버 및 기타 드라이버

  • gRPC Buddy Allocator (drm_buddy), 64 비트 ARM 아키텍처 및 IBM Power Systems, Little Endian에서만
  • gRPC 디스플레이 어댑터 도우미(drm_display_helper), 64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다.
  • gRPC DisplayPort AECDHE 버스(drm_dp_aux_bus)는 64비트 ARM 아키텍처에서만 사용 가능
  • Tegra 제품용 Host1x 드라이버 (호스트 1x), 64 비트 ARM 아키텍처에서만
  • NVIDIA Tegra gRPC 드라이버 (tegra-drm)는 64 비트 ARM 아키텍처에서만
  • Intel® GVT-g for KVM (kvmgt), AMD 및 Intel 64비트 아키텍처에서만
  • HP® iLO/iLO2 관리 프로세서(Hpilo) 64비트 ARM 아키텍처에서만
  • Intel® GSC 장치(mei-gsc), AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있는 Intel® 드라이버

6.2. 업데이트된 드라이버

스토리지 드라이버 업데이트

  • Micro gRPC Smart Family Controller (smartpqi)의 드라이버는 버전 2.1.20-035 (64 비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64 비트 아키텍처에서만)로 업데이트되었습니다.
  • Emulex LightPulse Fibre Channel SCSI 드라이버(lpfc)가 14.2.0.8(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)로 업데이트되었습니다.
  • MPI3 스토리지 컨트롤러 장치 드라이버(mpi3mr)가 버전 8.2.0.3.0으로 업데이트되었습니다.
  • CSI 디버그 어댑터 드라이버(scsi_debug)가 버전 0191로 업데이트되었습니다.
  • LSI MPT Fusion SAS 3.0 장치 드라이버(archivet3sas)가 버전 43.100.00.00으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만).

7장. 사용 가능한 BPF 기능

이 장에서는 Red Hat Enterprise Linux 9 마이너 버전의 커널에서 사용할 수 있는BPF( Berkeley Packet Filter ) 기능의 전체 목록을 제공합니다. 표에는 다음 목록이 포함됩니다.

이 장에서는 bpftool 기능 명령의 자동으로 생성된 출력을 포함합니다.

표 7.1. 시스템 구성 및 기타 옵션

옵션현재의

unprivileged_bpf_disabled

2 (BPF() 권한 있는 사용자로 제한, admin은 변경할 수 있습니다)

ScanSetting 컴파일러

1 (지원)

InstallPlan 컴파일러 강화

1 (권한 없는 사용자를 위한 활성화)

CloudEvent 컴파일러 kallsyms 내보내기

1 (root에 사용)

권한이 없는 사용자의 ScanSetting 메모리 제한

264241152

CONFIG_BPF

y

CONFIG_BPF_SYSCALL

y

CONFIG_HAVE_EBPF_JIT

y

CONFIG_BPF_JIT

y

CONFIG_BPF_JIT_ALWAYS_ON

y

CONFIG_DEBUG_INFO_BTF

y

CONFIG_DEBUG_INFO_BTF_MODULES

y

CONFIG_CGROUPS

y

CONFIG_CGROUP_BPF

y

CONFIG_CGROUP_NET_CLASSID

y

CONFIG_SOCK_CGROUP_DATA

y

CONFIG_BPF_EVENTS

y

CONFIG_KPROBE_EVENTS

y

CONFIG_UPROBE_EVENTS

y

CONFIG_TRACING

y

CONFIG_FTRACE_SYSCALLS

y

CONFIG_FUNCTION_ERROR_INJECTION

y

CONFIG_BPF_KPROBE_OVERRIDE

n

CONFIG_NET

y

CONFIG_XDP_SOCKETS

y

CONFIG_LWTUNNEL_BPF

y

CONFIG_NET_ACT_BPF

m

CONFIG_NET_CLS_BPF

m

CONFIG_NET_CLS_ACT

y

CONFIG_NET_SCH_INGRESS

m

CONFIG_XFRM

y

CONFIG_IP_ROUTE_CLASSID

y

CONFIG_IPV6_SEG6_BPF

n

CONFIG_BPF_LIRC_MODE2

n

CONFIG_BPF_STREAM_PARSER

y

CONFIG_NETFILTER_XT_MATCH_BPF

m

CONFIG_BPFILTER

n

CONFIG_BPFILTER_UMH

n

CONFIG_TEST_BPF

m

CONFIG_HZ

1000

bpf() syscall

Available

대규모 프로그램 크기 제한

Available

바인딩된 루프 지원

Available

ISA 확장 v2

Available

ISA 확장 v3

Available

표 7.2. 사용 가능한 프로그램 유형 및 지원되는 도우미

프로그램 유형사용 가능한 도우미

socket_filter

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_map_peek_elem bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_discard bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_timer_callback, bpf_timer_callback, bpf_timer_start bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

kprobe

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_get_timer_cancel bpf_find_vma, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

sched_cls

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_tunnel_key, bpf_get_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_route_realm, bpf_skb_load_bytes bpf_skb_get_tunnel_opt, bpf_skb_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_fib_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_lookup_udp, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_read_user, bpf_probe_probe_read_read_str, bpf_probe_storage_read_str bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_redirect_peer, bpf_redirect_peer_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6

sched_act

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_tunnel_key, bpf_get_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_route_realm, bpf_skb_load_bytes bpf_skb_get_tunnel_opt, bpf_skb_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_fib_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_lookup_udp, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_read_user, bpf_probe_probe_read_read_str, bpf_probe_storage_read_str bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_redirect_peer, bpf_redirect_peer_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6

tracepoint

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_get_timer_cancel bpf_find_vma, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

xdp

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_redirect, bpf_perf_event_output, bpf_csum_diff, bpf_get_current_task, bpf_get_numa_node_id, bpf_xdp_adjust_head, bpf_redirect_map, bpf_xdp_just_meta_meta, bpf_xdp_just_meta, bpf_xdp_just bpf_xdp_adjust_tail, bpf_fib_lookup, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_elem, bpf_map_pop_pop_elem, bpf_sk_lookup_udp, bpf_map_pop_pop_elem, bpf_sk_lookup bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_tcp_syncookie, bpf_probe_read_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_timer_init, bpf_timer_set_callback, bpf_timer_callback, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_xdp_load_bytes, bpf_xdp_store_bytes, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6

perf_event

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_geta_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_perf_read_value, bpf_perf_get_stack, bpf_perf_get_stack bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch recordss, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_delete, bpf_task_storage_delete, bpf_get_current_task_task_btf, bpf_get_task_task_delete, bpf_get bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_ip, bpf_get_func_ip, bpf_get_attach_cookie, bpf_timer_callback bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_skb

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_skb_cgroup_id, bpf_get_local_storage, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_el, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_sk_ecn_set_ce, bpf_get_listener_sock, bpf_get_listener_sock bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_read_kernel, bpf_probe_read_kernel, bpf_probe_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_sock

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_current_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_kernel_str, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_submit bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_timer_start bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data

lwt_in

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

lwt_out

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

lwt_xmit

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_clone_call, bpf_get_cgroup_classid, bpf_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_clone_call, bpf_get_cgroup_classid, bpf_skb_tunnel_key bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_tunnel_opt, bpf_skb_tunnel_opt, bpf_sk_event_tunnel_opt, bpf_skb_tunnel_opt bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

sock_ops

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_sock_map_update, bpf_getsockopt, bpf_getsocks_cb_flags_set, bpf_sock_hash_update, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_tcp_sock, bpf_tcp_sock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_kernel_str, bpf_get_netns_cookie, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_timer_callback, bpf_timer_callback, bpf_timer_start bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

sk_skb

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_skb_change_tail, bpf_pull_data, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_sk_socket_adjust_room, bpf_sk_redirect_map, bpf_sk_redirect_hash, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_probe_read_user_str bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_device

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_read_kernel_str bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data

sk_msg

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_msg_redirect_map bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_msg_msg_redirect_hash, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_msg_push_data, bpf_msg_pop_data, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

raw_tracepoint

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_get_func_ip, bpf_task_pt_ip, bpf_get_branch_snapshot, bpf_get_branch_vma, bpf_timer_start, bpf_get_func_ip, bpf_get_branch_vma bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_sock_addr

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_current_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_getsockopt, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_lookup_lookup_udp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ance_cgroup_id, bpf_probe_read_kernel_str bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

lwt_seg6local

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

lirc_mode2

지원되지 않음

sk_reuseport

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_sk_load_bytes_relative, bpf_sk_select_reuseport, bpf_map_push_el, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_read_kernel_str bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_init bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

flow_dissector

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_sysctl

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_sysctl_get_unlock, bpf_sysctl_get_name, bpf_sysctl_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_new_value, bpf_strtol, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_kernel_str, bpf_jiffies64, bpf_probe_read_kernel_str bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data

raw_tracepoint_writable

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_get_func_ip, bpf_task_pt_ip, bpf_get_branch_snapshot, bpf_get_branch_vma, bpf_timer_start, bpf_get_func_ip, bpf_get_branch_vma bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

cgroup_sockopt

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_tcp_unlock, bpf_tcp_sock, bpf_sk_storage_delete, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_management, bpf_ringbuf_output, bpf_ringbuf_output, bpf_ringbuf bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_timer_callback bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

tracing

지원되지 않음

struct_ops

지원되지 않음

ext

지원되지 않음

lsm

지원되지 않음

sk_lookup

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_jiffies64, bpf_jiffies64, bpf_probe_read_read_kernel_assign, bpf_probe_read_read_kernel bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

syscall

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_get_socket_cookie, bpf_perf_event_read_value, bpf_get_stack bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_skb_output, bpf_probe_read_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_xdp_output, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_get_task_stack, bpf_d_path, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_sock_from_file, bpf_for_each_map_elem, bpf_snprintf, bpf_sys_bpf, bpf_bt_find_name_kind, bpf_sys_close, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_skc_to_unix_sock, bpf_kallsyms_lookup_name, bpf_find_vma, bpf_strncmp, bpf_strncmp, bpf_xdp_buff_len, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data

표 7.3. 사용 가능한 맵 유형

맵 유형Available

hash

제공됨

array

제공됨

prog_array

제공됨

perf_event_array

제공됨

percpu_hash

제공됨

percpu_array

제공됨

stack_trace

제공됨

cgroup_array

제공됨

lru_hash

제공됨

lru_percpu_hash

제공됨

lpm_trie

제공됨

array_of_maps

제공됨

hash_of_maps

제공됨

devmap

제공됨

sockmap

제공됨

cpumap

제공됨

xskmap

제공됨

sockhash

제공됨

cgroup_storage

제공됨

reuseport_sockarray

제공됨

percpu_cgroup_storage

제공됨

제공됨

스택

제공됨

sk_storage

제공됨

devmap_hash

제공됨

struct_ops

제공됨

ringbuf

제공됨

inode_storage

제공됨

task_storage

제공됨

bloom_filter

제공됨

8장. 버그 수정

이 부분에서는 사용자에게 상당한 영향을 미치는 Red Hat Enterprise Linux 9.2에서 수정된 버그에 대해 설명합니다.

8.1. 설치 프로그램 및 이미지 생성

설치 프로그램에서 다중 경로 또는 DDF RAID 장치를 사용하여 사용자 정의 파티션에서 올바른 총 디스크 공간을 표시

이전 버전에서는 다중 경로 또는 DDF RAID 장치가 있는 시스템의 설치 프로그램에서 사용자 정의 파티션을 선택하면 총 디스크 공간이 올바르게 보고되지 않았으며 멤버 디스크 장치가 파티셔닝에 사용 가능한 것으로 나열되었습니다.

이번 업데이트를 통해 설치 관리자의 Custom partitioning은 총 디스크 공간의 올바른 값을 보고하고 DDF RAID 또는 다중 경로 장치만 전체적으로 사용할 수 있습니다.

Bugzilla:2052938

이제 설치 프로그램에서 yum 리포지토리 파일에 구성 옵션을 올바르게 추가합니다.

이전에는 설치 프로그램이 추가 설치 리포지토리에서 패키지를 포함 및 제외하는 동안 yum repo 파일에 구성 옵션을 올바르게 추가하지 않았습니다. 이번 업데이트를 통해 yum repo 파일이 올바르게 생성됩니다. 결과적으로 repo kickstart 명령에서 --excludepkgs= 또는 --includepkgs= 옵션을 사용하면 설치 중에 지정된 패키지를 예상대로 제외하거나 포함합니다.

Bugzilla:2158210

파일 이름 DHCP 옵션을 사용하면 더 이상 설치용 Kickstart 파일 다운로드를 차단하지 않습니다.

이전에는 NFS 서버에서 Kickstart 파일을 가져오는 경로를 빌드할 때 설치 프로그램이 파일 이름 DHCP 옵션을 고려하지 않았습니다. 그 결과 설치 프로그램이 kickstart 파일을 다운로드하지 않았으며 설치 프로세스를 차단했습니다. 이번 업데이트를 통해 파일 이름 DHCP 옵션이 Kickstart 파일의 경로를 올바르게 구성합니다. 결과적으로 Kickstart 파일이 올바르게 다운로드되고 설치 프로세스가 올바르게 시작됩니다.

Bugzilla:1991843

사용자 지정 파티셔닝 중에 설치 관리자가 새로운 GPT 디스크 레이아웃을 생성

이전 버전에서는 inst.gpt 가 커널 명령줄에 지정되었을 때 설치 프로그램이 GPT로 디스크 레이아웃을 변경하지 않았으며 사용자 지정 파티션 설명에서 ScanSetting 디스크 레이아웃이 있는 디스크에서 모든 파티션을 제거한 경우 설치 프로그램이 GPT로 디스크 레이아웃을 변경했습니다. 그 결과 ScanSetting 디스크 레이아웃이 디스크에 남아 있었습니다.

이번 업데이트를 통해 inst.gpt 가 커널 명령줄에 지정되고 사용자 지정 파티셔닝 대화 상자의 디스크에서 모든 파티션이 제거된 경우 설치 프로그램이 디스크에 새 GPT 디스크 레이아웃을 생성합니다.

Bugzilla:2127100

이제 설치 프로그램에서 사용자 지정 파티셔닝 중에 모든 PPC PreP 부팅 또는 BIOS 부팅 파티션을 나열합니다.

이전에는 사용자 지정 파티셔닝 중에 PPC PreP Boot 또는 BIOS 부팅 파티션을 여러 개 추가할 때 사용자 정의 파티션 화면에 관련 유형의 파티션 한 개만 표시되었습니다. 그 결과 사용자 정의 파티셔닝 화면에 의도된 파티션 레이아웃의 실제 상태가 반영되지 않아 파티셔닝 프로세스가 어렵고 투명하지 않았습니다.

이번 업데이트를 통해 사용자 정의 파티션 화면에 모든 PPC PreP 부팅 또는 BIOS 부팅 파티션이 파티션 목록에 올바르게 표시됩니다. 결과적으로 사용자는 이제 의도한 파티션 레이아웃을 더 잘 이해하고 관리할 수 있습니다.

Bugzilla:2093793

Anaconda에서 FIPS 요구 사항에 대한 LUKS 암호 확인

이전에는 Anaconda에서 LUKS 암호의 길이가 FIPS 요구 사항을 충족하는지 확인하지 않은 반면 기본 툴이 이 검사를 수행했습니다. 결과적으로 8자보다 짧은 암호를 사용하여 FIPS 모드로 설치하면 설치 프로그램이 조기에 종료되었습니다.

이번 업데이트를 통해 설치 프로그램이 암호의 최소 길이를 검증하고 시행하도록 개선되었습니다. 결과적으로 설치 프로그램에서 FIPS 모드에서 LUKS 암호가 너무 짧은지 확인하고 예기치 않은 종료를 방지합니다.

Bugzilla:2163497

8.2. 서브스크립션 관리

서브스크립션 관리자는 더 이상 Red Hat 컨텐츠 등록 및 가져오기를 거부하지 않습니다.

이전 버전에서는 RHEL 9의 컨테이너 감지 논리 개선으로 인해 OCP(OpenShift Container Platform)에서 실행되는 경우 subscription-manager 가 컨테이너 모드에서 작동했습니다. 그 결과 시스템은 제공된 서브스크립션 자격 증명을 사용할 수 없어 Red Hat 콘텐츠를 가져오지 못했습니다.

이번 업데이트에서는 OCP에서 실행되는 subscription-manager 가 시스템(실행 중인 포드)을 컨테이너로 탐지하지 않도록 컨테이너 감지 논리가 수정되었습니다. 결과적으로 제공된 서브스크립션 자격 증명을 사용하거나 자체 자격 증명을 사용하여 OpenShift 컨테이너에서 Red Hat 콘텐츠를 가져올 수도 있습니다.

Bugzilla:2108549

subscription-manager 가 더 이상 터미널에서 필수 텍스트를 유지하지 않음

RHEL 9.1부터 subscription-manager 는 작업을 처리하는 동안 진행률 정보를 표시합니다. 이전 버전에서는 일부 언어(일반적으로 비Latin)의 경우 작업이 완료된 후 진행률 메시지가 정리되지 않았습니다. 이번 업데이트를 통해 작업이 완료되면 모든 메시지가 올바르게 정리됩니다.

이전에 진행률 메시지를 비활성화한 경우 다음 명령을 입력하여 해당 메시지를 다시 활성화할 수 있습니다.

# subscription-manager config --rhsm.progress_messages=1

Bugzilla:2136694

8.3. 소프트웨어 관리

fapolicyd 서비스 재시작과 관련된 트랜잭션 중에 RPM이 더 이상 중단되지 않음

이전 버전에서는 fapolicyd 서비스를 다시 시작하는 패키지를 업데이트하려고 하면 fapolicyd 플러그인이 fapolicyd 데몬과 통신하지 못했기 때문에 systemd 트랜잭션의 응답이 중지되었습니다.

이번 업데이트를 통해 fapolicyd 플러그인이 이제 fapolicyd 데몬과 올바르게 통신합니다. 결과적으로 RPM은 fapolicyd 서비스를 다시 시작하는 트랜잭션 중에 더 이상 중단되지 않습니다.

Bugzilla:2111251

패키지 그룹 또는 환경에 DNF 업그레이드 트랜잭션 되돌리기 가능

이전에는 패키지 그룹 또는 환경에 대한 업그레이드 트랜잭션을 되돌리려고 할 때 dnf history rollback 명령이 실패했습니다.

이번 업데이트를 통해 문제가 해결되어 패키지 그룹 또는 환경에 대한 DNF 업그레이드 트랜잭션을 되돌릴 수 있습니다.

Bugzilla:2122626

업그레이드를 통해 아키텍처를 변경하는 패키지의 보안 DNF 업그레이드가 가능

RHBA-2022:8295 와 함께 도입된 BZ#2108969 패치로 인해 업그레이드를 통해 아키텍처를 변경하거나 noarch 로 변경한 보안 필터를 사용한 DNF 업그레이드를 건너뛰는 회귀 문제가 발생했습니다. 결과적으로 이러한 패키지에 대한 보안 업그레이드가 누락되어 시스템이 취약한 상태로 유지될 수 있었습니다.

이번 업데이트를 통해 이 문제가 수정되었으며 보안 DNF 업그레이드에서 아키텍처를 또는 noarch 로 변경하는 패키지를 더 이상 건너뛰지 않습니다.

Bugzilla:2124480

RPM 패키지를 빌드하거나 다시 빌드할 때 3자 이름의 QM 메시지 QM 파일이 패키지됩니다.

이전에는 find-lang.sh 스크립트에서 3자로 구성된 이름으로 Qt 메시지 QM 파일(.qm)을 찾을 수 없었습니다. 결과적으로 이러한 파일이 RPM 패키지에 추가되지 않았습니다.

이번 업데이트를 통해 RPM을 빌드하거나 다시 빌드할 때 3자 Qt 메시지 QM 파일을 패키징할 수 있습니다.

Bugzilla:2144005

8.4. 쉘 및 명령행 툴

IBM Z 아키텍처에서 제외된 DASD를 올바르게 처리

이전에는 IBM Z 아키텍처에서 ReaR이 저장된 레이아웃에서 제외되어 콘텐츠를 복원하지 않으려는 DASD를 포함하여 복구 프로세스 중에 연결된 모든 Direct Access Storage devices (DASD)를 다시 포맷했습니다. 결과적으로 저장된 레이아웃에서 일부 DASD를 제외하면 시스템 복구 중에 데이터가 손실되었습니다. 이번 업데이트를 통해 ReaR은 ReaR 복구 시스템이 부팅된 장치를 포함하여 시스템 복구 중에 제외된 DASD의 형식을 지정하지 않습니다(zIPL 부트로더 사용). 또한 ReaR이 DASD를 다시 포맷하기 전에 DASD 포맷 스크립트를 확인하라는 메시지가 표시됩니다. 이렇게 하면 제외된 DASD의 데이터가 시스템 복구 후에도 유지됩니다.

Bugzilla:2172589

Rear no longer fail to restore non-LVM XFS filesystems

이전 버전에서는 ReaR을 사용하여 특정 설정 및 디스크 매핑이 포함된 비LVM XFS 파일 시스템을 복원할 때 ReaR은 지정된 설정 대신 기본 설정으로 파일 시스템을 생성했습니다. 예를 들어, sunitswidth 매개변수가 0이 아닌 값으로 설정된 파일 시스템이 있고 디스크 매핑이 포함된 ReaR을 사용하여 파일 시스템을 복원한 경우, 파일 시스템은 지정된 값을 무시하고 기본 sunitswidth 매개변수를 사용하여 생성됩니다. 결과적으로 ReaR은 특정 XFS 옵션을 사용하여 파일 시스템을 마운트하지 못했습니다. 이번 업데이트를 통해 ReaR은 지정된 설정으로 파일 시스템을 올바르게 복원합니다.

Bugzilla:2160748

wsmancli 는 HTTP 401 Unauthorized 상태를 올바르게 처리합니다.

Web Services Management 프로토콜을 사용하여 시스템을 관리하는 wsmancli 유틸리티에서 이제 RFC 2616을 보다 잘 준수하도록 인증을 처리합니다.

이전 버전에서는 인증이 필요한 서비스에 연결할 때 wsmancli 명령에서 인증 실패 오류 메시지를 반환했습니다. HTTP 401 Unauthorized 응답을 수신한 직후에 다시 시도하십시오 (예: 불완전한 인증 정보). 계속 진행하려면 자격 증명의 일부를 이미 제공한 경우에도 사용자 이름과 암호를 모두 입력하라는 메시지가 표시됩니다.

이번 업데이트를 통해 wsmancli 는 이전에 제공되지 않은 인증 정보만 있으면 됩니다. 결과적으로 첫 번째 인증 시도에서 오류 메시지가 표시되지 않습니다. 전체 자격 증명을 제공한 후에만 오류 메시지가 표시되고 인증이 실패합니다.

Bugzilla:2127416

8.5. 보안

usbguard는 RuleFile이 정의되지 않은 경우에도 규칙을 저장합니다.

이전에는 USBGuard의 RuleFolder 구성 지시문이 설정되었지만 RuleFile 이 설정되지 않은 경우 규칙 세트를 변경할 수 없었습니다. 이번 업데이트를 통해 RuleFolder가 설정되어 있지만 RuleFile이 아닌 경우에도 규칙 세트를 변경할 수 있습니다. 결과적으로 USBGuard에서 영구 정책을 수정하여 새로 추가된 규칙을 영구적으로 저장할 수 있습니다.

Bugzilla:2155910

1.4.45에 대한 Python -sqlalchemy 재기반

python-sqlalchemy 패키지는 버전 1.4.37에 비해 많은 버그 수정을 제공하는 버전 1.4.45로 변경되었습니다. 특히 이 버전에는 캐시 키 생성의 중요한 메모리 버그에 대한 수정 사항이 포함되어 있습니다.

Bugzilla:2152649

crypto-policies 에서 BIND의 NSEC3DSA를 비활성화합니다.

이전에는 시스템 전체 암호화 정책에서 BIND 구성에서 NSEC3DSA 알고리즘을 제어하지 않았습니다. 결과적으로 현재 보안 요구 사항을 충족하지 않는 NSEC3DSA는 DNS 서버에서 비활성화되지 않았습니다. 이번 업데이트를 통해 모든 암호화 정책은 기본적으로 BIND 구성에서 NSEC3DSA를 비활성화합니다.

Bugzilla:2152635

skopeo LEVEL=3의 OpenSSL이 이제 PSK 암호화 제품군과 함께 작동합니다.

이전에는 PSK(Pre-shared key) 암호화 제품군이 완벽한PFS(forward secrecy) 키 교환 방법을 수행하는 것으로 인식되지 않았습니다. 그 결과 시스템 전체 암호화 정책이 FUTURE 로 설정된 경우 ECDHE-PSKDHE-PSK 암호화 제품군이 CloudEvent LEVEL=3 에 구성된 OpenSSL에서 작동하지 않았습니다. openssl 패키지의 새 버전에서는 이 문제를 해결합니다.

Bugzilla:2060044

Clevis에서 crypttab에서 주석 처리된 장치를 올바르게 건너뜁니다.

이전 버전에서는 Clevis에서 crypttab 파일에서 주석 처리된-아웃 장치를 잠금 해제하여 장치가 유효하지 않은 경우에도 clevis-luks-askpass 서비스가 실행되었습니다. 이로 인해 불필요한 서비스가 실행되어 문제를 해결하기 어려웠습니다.

이번 수정으로 Clevis는 주석 처리된 장치를 무시합니다. 이제 유효하지 않은 장치가 주석 처리되면 Clevis에서 잠금 해제를 시도하지 않고 clevis-luks-askpass 가 적절하게 완료됩니다. 이를 통해 보다 쉽게 문제를 해결하고 불필요한 서비스 실행을 줄일 수 있습니다.

Bugzilla:2159728

Clevis는 더 이상 pwmake에서 너무 많은 엔트로피를 요청하지 않습니다.

이전 버전에서는 Clevis를 사용하여 LUKS 메타데이터에 데이터를 저장하기 위한 암호를 생성하는 데 pwmake 를 사용할 때 pwmake 암호 생성 유틸리티에 불필요한 경고가 표시되었습니다. 이로 인해 Clevis에서 더 낮은 엔트로피를 사용했습니다. 이번 업데이트를 통해 Clevis는 pwmake 에 제공된 256 엔트로피 비트로 제한되어 원하지 않는 경고를 제거하고 올바른 양의 엔트로피를 사용합니다.

Bugzilla:2159735

usbguard는 더 이상 혼란스러운 경고를 유발하지 않습니다.

이전에는 상위 프로세스가 첫 번째 하위 프로세스보다 빨리 완료되면 race condition이 USBGuard에서 발생할 수 있었습니다. 그 결과 systemd 는 잘못된 PPID(parent PID)가 있는 프로세스가 있다고 보고했습니다. 이번 업데이트를 통해 상위 프로세스는 첫 번째 하위 프로세스가 작동 모드에서 완료될 때까지 기다립니다. 결과적으로 systemd 에서 더 이상 이러한 경고를 보고하지 않습니다.

Bugzilla:2042345

OOM 킬러가 더 이상 조기에 usbguard 를 종료하지 않음

이전에는 usbguard.service 파일에 systemd 서비스에 대한 OOMScoreAdjust 옵션의 정의가 없었습니다. 결과적으로 리소스가 부족하면 다른 권한이 없는 프로세스 이전에 usbguard-daemon 프로세스를 종료할 수 있었습니다. 이번 업데이트를 통해 이제 usbguard.service 파일에 OOMScoreAdjust 설정이 포함되어 OOMScoreAdjust 설정이 포함되어 OOM-daemon (OOM) 종료자가 usbguard-daemon 프로세스를 조기 종료하지 않도록 합니다.

Bugzilla:2097419

10.0.0.1 더 이상 로그 회전에 Rsyslog 신호를 잘못 표시하지 않음

이전에는 인수 순서가 10.0.0.1 스크립트에 잘못 설정되어 구문 오류가 발생했습니다. 이로 인해 로그 순환 중에 Rsyslog를 올바르게 신호하지 않았습니다.

이번 업데이트를 통해 POSIXLY_CORRECT 환경 변수가 설정된 경우에도 로그 순환 후의 인수 순서가 수정되고, 10.0.0.1 신호 Rsyslog가 올바르게 표시됩니다.

Bugzilla:2124488

imklog 가 누락된 오브젝트에 대해 더 이상 free() 를 호출하지 않음

이전에는 이미 해제된 오브젝트에서 imklog 모듈을 free() 함수라고 했습니다. 결과적으로 imklog 는 세그먼트 오류가 발생할 수 있습니다. 이번 업데이트를 통해 오브젝트를 두 번 해제하지 않습니다.

Bugzilla:2157659

fagenrules --load 가 올바르게 작동합니다.

이전에는 fapolicyd 서비스가 신호 중단 (SIGHUP)을 올바르게 처리하지 못했습니다. 결과적으로 fapolicyd 는 SIGHUP를 수신한 후 종료되었으며 fagenrules --load 명령이 제대로 작동하지 않았습니다. 이번 업데이트에서는 문제에 대한 수정 사항이 포함되어 있습니다. 결과적으로 fagenrules --load 가 올바르게 작동하며 규칙 업데이트에는 fapolicyd 를 수동으로 다시 시작할 필요가 없습니다.

Bugzilla:2070655

검사 및 수정에서 SCAP 감사 규칙 감사 키를 올바르게 무시

이전에는 감사 키(-k 또는 -F 키) 없이 정의된 감사 감시 규칙에 다음과 같은 문제가 발생했습니다.

  • 규칙의 다른 부분이 올바른지도 규칙이 비준수로 표시되었습니다.
  • Bash 수정을 통해 조사 규칙의 경로와 권한을 수정했지만 감사 키를 올바르게 추가하지 않았습니다.
  • 수정에서는 종종 누락된 키를 수정하지 않아 수정된 값이 아닌 오류 를 반환합니다.

이는 다음 규칙에 영향을 미쳤습니다.

  • audit_rules_login_events
  • audit_rules_login_events_faillock
  • audit_rules_login_events_lastlog
  • audit_rules_login_events_tallylog
  • audit_rules_usergroup_modification
  • audit_rules_usergroup_modification_group
  • audit_rules_usergroup_modification_gshadow
  • audit_rules_usergroup_modification_opasswd
  • audit_rules_usergroup_modification_passwd
  • audit_rules_usergroup_modification_shadow
  • audit_rules_time_watch_localtime
  • audit_rules_mac_modification
  • audit_rules_networkconfig_modification
  • audit_rules_sysadmin_actions
  • audit_rules_session_events
  • audit_rules_sudoers
  • audit_rules_sudoers_d

이번 업데이트를 통해 검사 및 Bash 및 Ansible 수정에서 감사 키가 제거되었습니다. 결과적으로 확인 및 수정 중에 키 필드로 인한 불일치가 더 이상 발생하지 않으며 감사자는 이러한 키를 임의로 선택하여 감사 로그를 더 쉽게 검색할 수 있습니다.

Bugzilla:2120978

Keylime은 여러 IMA에서 측정된 파일에 액세스하는 시스템의 테스트에 더 이상 실패하지 않습니다.

이전 버전에서는 Keylime 에이전트를 실행하는 시스템이 IMA( Integrity Measurement Architecture)에서 빠른 연속으로 측정한 여러 파일에 액세스하면 Keylime 검증기에서 IMA 로그 추가를 잘못 처리했습니다. 결과적으로 실행중인 해시가 올바른 플랫폼 구성 레지스터 (PCR) 상태와 일치하지 않아 시스템이 증명되지 않았습니다. 이번 업데이트에서는 여러 측정된 파일에 빠르게 액세스하는 문제와 시스템이 더 이상 테스트되지 않습니다.

Bugzilla:2138167

Keylime 정책 생성 스크립트가 더 이상 세그먼트 오류 및 코어 덤프를 유발하지 않음

create_mb_refstate 스크립트는 Keylime에서 부팅을 측정하기 위한 정책을 생성합니다. 이전에는 create_mb_refstateDevicePath 필드의 데이터 길이를 잘못 계산했습니다. 그 결과 스크립트가 잘못 계산된 길이를 사용하여 잘못된 메모리에 액세스하려고 시도했기 때문에 세그먼트 오류가 발생하여 코어 덤프가 발생했습니다.

RHBA-2022:105318-02 권고에 게시된 이번 업데이트에서는 측정된 부팅 이벤트 로그를 처리할 때 세그먼트 오류가 발생하지 않습니다. 결과적으로 측정된 부팅 정책을 생성할 수 있습니다.

Bugzilla:2140670

TPM 인증서로 인해 더 이상 Keylime 등록 기관이 충돌하지 않습니다.

이전에는 Keylime TPM 인증서 저장소의 일부 인증서가 잘못된 형식의 x509 인증서로 인해 Keylime 등록 기관이 충돌했습니다. 이 업데이트에서는 문제가 해결되었으며 Keylime 등록 기관은 더 이상 잘못된 형식의ceritficates로 인해 충돌하지 않습니다.

Bugzilla:2142009

8.6. 네트워킹

NetworkManager는 이제 새 DHCP 리스를 해제하기 전에 다시 적용 중에 IP 주소를 유지합니다.

이전에는 연결 설정을 변경한 후 nmcli device reapply 명령을 사용한 후 NetworkManager에서 DHCP 리스를 유지하지 않았습니다. 결과적으로 IP 주소가 일시적으로 제거되었습니다. 이번 수정을 통해 NetworkManager는 DHCP 리스를 보존하고 리스가 만료되거나 클라이언트가 새 리스를 요청할 때까지 사용합니다. 결과적으로 nmcli device reapply 명령이 DHCP 클라이언트를 다시 시작하면 IP 주소를 일시적으로 제거하지 않습니다.

Bugzilla:2117352

이제 firewalld 서비스에서 직접 규칙을 사용하는 경우에만 ipset 사용 중단 경고를 트리거합니다.

이전에는 firewalld 서비스가 필요하지 않은 경우 더 이상 사용되지 않는 ipset 커널 모듈을 사용했습니다. 결과적으로 RHEL은 firewalldipset 기능이 더 이상 사용되지 않기 때문에 잘못될 수 있는 모듈 사용 중단 경고를 기록했습니다. 이번 업데이트를 통해 firewalld 는 더 이상 사용되지 않는 ipset 모듈만 사용하고 사용자가 --direct 옵션을 사용하여 ipsets 를 명시적으로 사용하는 경우에만 경고를 기록합니다.

Bugzilla:2122678

이제 HNV 인터페이스에서 재부팅 후 옵션을 표시

이전에는 nmcli 유틸리티에서 NetworkManager API를 사용하여 HNV(Hybrid Network Virtualization) 본딩을 생성했습니다. 결과적으로 재부팅 후 HNV 본딩에 기본 포트 설정이 손실되었습니다. 이번 수정으로 nmcli 는 이제 hcnmgr 을 사용하여 기본 포트에 대한 본딩 옵션을 설정합니다. hcnmgr 유틸리티는 하이브리드 네트워크에 대한 SR-IOV(Single Root Input/Output Virtualization)를 사용한 라이브 파티션 마이그레이션을 지원합니다. 결과적으로 HNV 본딩 인터페이스는 재부팅 후 활성 slave/primary_reselect 옵션을 표시합니다.

Bugzilla:2125152

8.7. 커널

Secure Boot를 사용하여 FADump가 활성화된 경우 제대로 작동합니다.

이전 버전에서는 Secure Boot 환경에서 Firmware Assisted Dump(FADump)가 활성화되고 부팅 구성 요소가 할당된 메모리 영역을 초과하면 시스템 재부팅으로 인해 GRUB 메모리 부족(OOM) 상태가 발생했습니다. 이번 업데이트에서는 kexec-tools 에서 수정 사항을 제공하여 Secure Boot 및 FADump가 올바르게 작동합니다.

Bugzilla:2139000

8.8. 부트 로더

grubby 가 새 커널에 인수를 올바르게 전달합니다.

grubby 툴을 사용하여 새 커널을 추가하고 인수를 지정하지 않거나 인수를 비워두면 grubby 는 새 커널에 인수를 전달하지 않으며 root 는 설정되지 않습니다. --args--copy-default 옵션을 사용하면 새 인수가 기본 인수에 추가됩니다.

Bugzilla:2127453

PReP 크기가 4 또는 8MiB가 아닌 경우에도 RHEL 설치에 성공

이전에는 PReP(PowerPC Reference Platform) 파티션이 4MiB 또는 8MiB가 4kiB 섹터를 사용하는 디스크에 다른 크기인 경우 RHEL 설치 프로그램에서 부트 로더를 설치할 수 없었습니다. 결과적으로 디스크에 RHEL을 설치할 수 없었습니다.

이번 릴리스에서는 문제가 해결되었습니다. 결과적으로 설치 프로그램에서 이제 RHEL을 디스크에 예상대로 설치할 수 있습니다.

Bugzilla:2026579

8.9. 파일 시스템 및 스토리지

설치 관리자에서 섹터 크기가 512바이트인 LUKSv2 장치를 생성

이전에는 디스크에 4096바이트의 물리적 섹터가 있는 경우 RHEL 설치 프로그램에서 4096바이트 섹터가 있는 LUKSv2 장치를 생성했습니다. 이번 업데이트를 통해 설치 프로그램은 이제 섹터 크기가 512바이트인 LUKSv2 장치를 생성하여 LVM 물리 볼륨이 암호화된 경우에도 하나의 LVM 볼륨 그룹에서 함께 사용되는 다양한 물리 섹터 크기와 더 나은 디스크 호환성을 제공합니다.

Bugzilla:2103800

supported_speeds sysfs 특성에서 올바른 속도 값을 보고

이전에는 qla2xxx 드라이버의 정의가 올바르지 않아 HBA의 supported_speeds sysfs 속성이 예상되는 64Gb/s 속도 대신 20 Gb/s 속도를 보고했습니다. 결과적으로 HBA가 64 Gb/s 링크 속도를 지원하면 supported_speeds sysfs 값이 잘못되어 보고된 속도 값에 영향을 미쳤습니다.

이번 업데이트를 통해 HBA의 supported_speeds sysfs 특성은 16Gb/s, 32 Gb/s, 64Gb/s의 올바른 속도 값을 보고합니다. cat /sys/class/fc_host/host*/supported_speeds 명령을 실행하여 속도 값을 볼 수 있습니다.

Bugzilla:2069758

lpfc 드라이버는 D_ID 포트 스왑 중 유효한 상태입니다.

이전에는 NetApp giveback 작업을 실행한 후 SAN Boot 호스트가 LVM 중단 작업 경고가 발생하고 I/O가 중단되었습니다. 이 문제는 파이버 채널 D_ID 포트 스왑으로 인해 DM-Multipath 환경에서 대체 경로를 사용할 수 있는 경우에도 발생했습니다. 경합 상태의 결과 D_ID 포트 스왑으로 인해 lpfc 드라이버에서 일관성 없는 상태가 발생하여 I/O가 발행되지 않았습니다.

이번 수정으로 lpfc 드라이버는 D_ID 포트 스왑이 발생할 때 유효한 상태를 확인합니다. 결과적으로 파이버 채널 D_ID 포트 스왑으로 인해 I/O가 중단되지 않습니다.

Bugzilla:2173947

8.10. 고가용성 및 클러스터

pcs no longer allows you to modify cluster properties that should not be changed

이전에는 pcs 명령줄 인터페이스를 사용하여 변경할 수 없거나 변경 사항이 적용되지 않는 클러스터 속성을 수정할 수 있었습니다. 이번 수정을 통해 pcs 는 더 이상 cluster-infrastructure,cluster-name,dc-version,have-watchdog, last-lrm-refresh 클러스터 속성을 수정할 수 없습니다.

Bugzilla:1620043

pcs 에서 명시적으로 구성되지 않은 클러스터 속성 표시

이전에는 특정 클러스터 속성의 값을 표시하는 pcs 명령에서 CIB에 명시적으로 구성되지 않은 값을 나열하지 않았습니다. 이번 수정으로 cluster 속성이 설정되지 않은 경우 pcs 가 속성의 기본값을 표시합니다.

Bugzilla:1796827

crm_mon 을 호출하는 클러스터 리소스가 종료 시 정상적으로 중지되었습니다.

이전에는 Pacemaker가 종료되는 동안 crm_mon 유틸리티에서 0이 아닌 종료 상태를 반환했습니다. ocf:heartbeat:pqsql 과 같이 모니터 작업에서 crm_mon 이라는 리소스 에이전트가 클러스터 종료 시 오류를 잘못 반환할 수 있습니다. 이번 수정을 통해 클러스터 종료 프로세스에 있는 경우에도 crm_mon 은 성공을 반환합니다. crm_mon 을 호출하는 리소스는 이제 클러스터 종료 시 완전히 중지됩니다.

Bugzilla:2133546

OCF 리소스 에이전트 메타데이터 작업이 예기치 않은 펜싱을 유발하지 않고 crm_node 를 호출할 수 있음

RHEL 8.5부터 OCF 리소스 에이전트 메타데이터 작업이 컨트롤러 요청을 차단하고 crm_node 쿼리가 수행되었습니다. 그 결과 crm_node 라는 에이전트의 메타데이터 동작이 시간 초과될 때까지 30초 동안 컨트롤러를 차단했습니다. 이로 인해 다른 작업이 실패하고 노드가 펜싱될 수 있습니다.

이번 수정으로 컨트롤러는 이제 메타데이터 작업을 비동기적으로 수행합니다. OCF 리소스 에이전트 메타데이터 작업은 문제 없이 crm_node 를 호출할 수 있습니다.

Bugzilla:2125344

Pacemaker에서 리소스 순서가 변경될 때 즉시 리소스 할당을 다시 확인

RHEL 8.7부터 Pacemaker는 CIB의 리소스 순서가 리소스 정의를 변경하지 않고 변경될 때 리소스 할당을 다시 확인하지 않았습니다. 구성 재순환으로 인해 리소스가 이동되는 경우, 이는 다음 자연 전환 때까지는 cluster-recheck-interval-property 의 값까지 수행되지 않습니다. 이로 인해 리소스에 대한 리소스 고정이 구성되지 않은 경우 문제가 발생할 수 있습니다.

이 변경으로 인해 이전 Pacemaker 릴리스의 경우 CIB의 리소스 순서가 변경될 때 Pacemaker에서 리소스 할당을 다시 확인합니다. 필요한 경우 클러스터는 이러한 변경 사항에 즉시 응답합니다.

Bugzilla:2125337

단일 리소스 및 모니터링 작업을 활성화하면 더 이상 리소스 그룹의 모든 리소스에 대한 모니터링 작업을 사용할 수 없습니다.

이전 버전에서는 리소스 그룹에서 모든 리소스 및 모니터링 작업을 해제한 후 모니터링 작업과 함께 해당 그룹의 리소스 중 하나를 관리하여 리소스 그룹의 모든 리소스에 대한 모니터링 작업을 다시 활성화합니다. 이로 인해 예기치 않은 클러스터 동작이 트리거될 수 있습니다.

이번 수정을 통해 리소스를 관리하고 모니터링 작업을 다시 활성화하면 리소스 그룹의 다른 리소스에는 적합하지 않고 해당 리소스에 대한 모니터링 작업을 다시 활성화할 수 있습니다.

Bugzilla:2092950

8.11. 컴파일러 및 개발 도구

일부 CNAME 레코드가 유효하지 않은 경우에도 DNS 조회가 성공할 수 있습니다.

이전에는 glibc DNS 스텁 확인기에서 호스트 이름이 DNS 패킷 오류로 아닌 소유자 이름으로 CNAME 레코드를 처리했습니다. 그 결과 DNS 패킷 오류로 인해 DNS 쿼리가 실패했습니다. 이번 업데이트를 통해 glibc 스텁 확인기에서 잘못된 CNAME 레코드를 건너뛰고 해당 별칭 정보가 추출되지 않습니다. 따라서 서버 응답에 호스트 이름이 아닌 도메인 이름을 포함하는 CNAME 체인이 포함되어 있어도 DNS 조회가 성공할 수 있습니다.

Bugzilla:2129005

Golang 은 x509 FIPS 모드에서 4096 비트 키를 지원

이전에는 golang 이 x509 FIPS 모드에서 4096 비트 키를 지원하지 않았습니다. 그 결과, 사용자가 4096비트 키를 사용할 때 프로그램이 충돌했습니다. 이번 업데이트를 통해 golang 은 이제 x509 FIPS 모드에서 4096 비트 키를 지원합니다.

Bugzilla:2133019

모든 아키텍처에서 pip 를 사용하여 SciPy를 설치할 수 있습니다.

이전에는 openblas-devel 패키지에 OpenBLAS 라이브러리의 pkg-config 파일이 없었습니다. 결과적으로 특정 시나리오에서는 OpenBLAS로 컴파일하는 동안 pkgconf 유틸리티를 사용하여 컴파일러 및 링커 플래그를 결정할 수 없었습니다. 예를 들어 64비트 IBM Z 및 IBM Power Systems, Little Endian 아키텍처에서 pip install scipy 명령이 실패했습니다.

이번 업데이트에서는 지원되는 모든 아키텍처의 openblas.pc 파일이 openblas-devel 패키지에 추가되었습니다. 결과적으로 pip 패키지 설치 프로그램을 사용하여 SciPy 라이브러리를 설치할 수 있습니다.

RHEL 9에서는 flexiblas-devel 패키지에 대해 애플리케이션을 빌드하고 프로젝트를 flexiBLAS 래퍼 라이브러리에 연결하는 것이 좋습니다.

Bugzilla:2115737

glibctzset 함수는 이제 TZ 데이터에 DST 규칙이 있는 경우 daylight 변수를 0이 아닌 값으로 설정합니다.

이전 버전에서는 glibctzset 함수가 표준 시간 오프셋의 동시 변경으로 인해 시간대 데이터 파일에서 마지막 DST가 전환되지 않으면 daylight 변수를 0으로 설정했습니다. 결과적으로 애플리케이션에서 DST가 활성 상태인지 확인하기 위해 daylight 변수를 사용하면 올바른 결과를 얻지 못하고 이 정보를 기반으로 잘못된 작업을 수행합니다. 이 문제를 해결하기 위해 이제 tzset 함수는 오프셋과 관계없이 시간대 데이터에 DST 규칙이 있는 경우 daylight 변수를 0이 아닌 값으로 설정합니다. 결과적으로 애플리케이션은 오프셋 변경과 관계없이 DST 규칙이 존재하는지 관찰합니다.

Bugzilla:2155352

OpenJDK RSAPSSSignature 구현이 사용하기 전에 RSA 키의 유효성 확인

이전에는 OpenJDK의 RSAPSSSignature 구현이 SunRSASign 공급자에서 특정 RSA 키를 사용할 수 있는지 완전히 확인하지 않아 사용자 정의 보안 공급자를 사용할 때 오류가 발생했습니다. 이제 버그가 수정되어 RSAPSSSignature 구현에서 RSA 키를 검증하고 다른 공급자가 이러한 키를 처리할 수 없게 되었습니다.

Bugzilla:2188023

OpenJDK XML 서명 공급자가 FIPS 모드에서 작동

이전에는 OpenJDK XML 서명 공급자를 FIPS 모드에서 작동할 수 없었습니다. FIPS 모드의 개선으로 OpenJDK XML 서명 공급자가 FIPS 모드에서 활성화됩니다.

Bugzilla:2186810

FIPS 모드의 OpenJDK에서 특정 PKCS#11 토큰에서 더 이상 예기치 않은 오류가 발생하지 않음

이전에는 FIPS 모드에서 OpenJDK에서 사용하기 전에 일부 PKCS#11 토큰을 완전히 초기화하지 않아 예기치 않은 오류가 발생했습니다. 이번 업그레이드를 통해 이제 이러한 오류가 예상되고 FIPS 지원 코드에서 처리됩니다.

Bugzilla:2186806

8.12. IdM (Identity Management)

클라이언트 보안이 필요한 외부 IdP에 대한 인증이 가능

이전에는 SSSD에서 클라이언트 시크릿을 외부 ID 공급자(IdP)에 올바르게 전달하지 않았습니다. 결과적으로 클라이언트 시크릿이 필요한 ipap-add --secret 명령으로 이전에 구성한 외부 IdP에 대한 인증이 실패했습니다. 이번 업데이트를 통해 SSSD에서 클라이언트 시크릿을 IdP에 전달하여 사용자가 인증할 수 있습니다.

Jira:RHELPLAN-148303

IdM에서 Ansible을 사용하여 sudo 규칙의 hostmask 설정을 지원

이전에는 ipa sudorule-add-host 명령을 사용하여 sudo 규칙에서 hostmask를 설정할 수 있었지만 이 옵션은 ansible-freeipa 패키지에 없었습니다. 이번 업데이트를 통해 이제 ansible-freeipa hostmask 변수를 사용하여 IdM(Identity Management)에 정의된 특정 sudo 규칙이 적용되는 호스트 마스크 목록을 정의할 수 있습니다.

결과적으로 Ansible을 사용하여 IdM sudo 규칙에 대한 호스트 마스크 설정을 자동화할 수 있습니다.

Bugzilla:2127913

db_dir 매개변수로 사용자 정의 경로를 사용하는 경우 dscreate 유틸리티가 올바르게 작동합니다.

이전에는 사용자 정의 디렉터리에 SELinux 레이블이 잘못되었기 때문에 사용자 정의 디렉터리 경로를 사용한 인스턴스를 시작할 수 없었습니다. 그 결과 SELinux가 이러한 디렉터리에 대한 액세스를 거부했으며 인스턴스가 생성되지 않았습니다. 이번 릴리스에서는 dscreate 유틸리티가 사용자 정의 인스턴스 디렉터리에 대한 올바른 SELinux 레이블을 설정합니다.

Bugzilla:1924569

Directory Server 복제 관리자 계정에 대한 암호 변경 사항이 올바르게 작동합니다.

이전에는 암호가 변경된 후 Directory Server에서 복제 계약의 암호 캐시를 올바르게 업데이트하지 않았습니다. 이로 인해 복제 관리자 계정의 암호를 변경하면 복제에 실패했습니다. 이번 업데이트를 통해 Directory Server는 캐시를 적절하게 업데이트하고 결과적으로 복제가 예상대로 작동합니다.

Bugzilla:1956987

IdM 클라이언트 설치 프로그램이 더 이상 ldap.conf 파일에 TLS CA 구성을 지정하지 않음

이전에는 IdM 클라이언트 설치 프로그램이 ldap.conf 파일에 TLS CA 구성을 지정했습니다. 이번 업데이트를 통해 OpenLDAP에서 기본 신뢰 저장소를 사용하고 IdM 클라이언트 설치 프로그램은 ldap.conf 파일에 TLS CA 구성을 설정하지 않습니다.

Bugzilla:2094673

이름에 혼합된 대소문자 문자가 포함된 경우 IdM 클라이언트는 신뢰할 수 있는 AD 사용자의 정보를 올바르게 검색

이전 버전에서는 사용자의 사용자 조회 또는 인증을 시도했고 신뢰할 수 있는 AD(Active Directory) 사용자에게 이름에 혼합된 케이스 문자가 포함되어 있고 IdM에서 재정의를 통해 구성된 경우 오류가 반환되어 사용자가 IdM 리소스에 액세스할 수 없었습니다.

RHBA-2023:4359 릴리스와 함께 대소문자를 구분하지 않는 비교는 문자의 대소문자를 무시하는 대소문자를 구분하지 않는 비교로 교체됩니다. 결과적으로 사용자 이름에 혼합된 대소문자 문자가 포함되어 있고 IdM에서 재정의를 사용하여 구성된 경우에도 IdM 클라이언트는 AD 신뢰할 수 있는 도메인의 사용자를 조회할 수 있습니다.

Jira:SSSD-6096

8.13. 그래픽 인프라

Matrox G200e이 VGA 디스플레이에 출력 표시

이전 버전에서는 다음 시스템 구성을 사용하는 경우 디스플레이에 그래픽 출력이 표시되지 않을 수 있었습니다.

  • Matrox G200e GPU
  • VGA 컨트롤러에 연결된 디스플레이

결과적으로 이 구성에 RHEL을 사용하거나 설치할 수 없었습니다.

이번 릴리스에서는 문제가 해결되었습니다. 결과적으로 RHEL은 부팅되고 그래픽 출력을 예상대로 표시합니다.

Bugzilla:1960467

8.14. 웹 콘솔

웹 콘솔 NBDE 바인딩 단계가 루트 파일 시스템이 있는 볼륨 그룹에서도 작동합니다.

RHEL 9.2.0에서는 사용자가 루트 파일 시스템에 Tang 키를 추가하는지 확인하기 위한 코드의 버그로 인해 LUKS 컨테이너에 파일 시스템이 전혀 충돌하지 않을 때 웹 콘솔의 바인딩 프로세스가 충돌했습니다. 웹 콘솔에 Verify 키 대화 상자에서 신뢰 키 버튼을 클릭하면 TypeError: Qe(…​) 오류 메시지가 표시되지 않기 때문에 설명된 시나리오에서 명령줄 인터페이스에서 필요한 모든 단계를 수행해야 했습니다.

RHBA-2023:4346 권고가 릴리스되면서 웹 콘솔에서 root 파일 시스템에 Tang 키 추가를 올바르게 처리합니다. 결과적으로 웹 콘솔은 다양한 시나리오에서 NBDE(Network-Bound Disk Encryption)를 사용하여 LUKS 암호화 볼륨의 자동 잠금 해제에 필요한 모든 바인딩 단계를 완료합니다.

Bugzilla:2207498

8.15. Red Hat Enterprise Linux System Roles

nbde_client 시스템 역할에서 이제 clevis-luks-askpass의 다른 이름을 올바르게 처리

nbde_client 시스템 역할이 clevis-luks-askpass systemd 장치가 다른 이름을 갖는 시스템을 처리하도록 업데이트되었습니다. 이제 이 역할은 관리형 노드에서 다양한 clevis-luks-askpass 이름으로 올바르게 작동하므로 부팅 프로세스 초기에 마운트되는 LUKS 암호화 볼륨 잠금 해제가 필요합니다.

Bugzilla:2126959

ha_cluster 시스템 역할 로그에서 더 이상 암호화되지 않은 암호 및 시크릿을 표시하지 않음

ha_cluster 시스템 역할은 암호 또는 기타 시크릿일 수 있는 매개변수를 허용합니다. 이전에는 일부 작업에서 입력 및 출력을 기록했습니다. 이로 인해 역할 로그에 암호화되지 않은 암호 및 기타 보안이 포함될 수 있었습니다.

이번 업데이트를 통해 Ansible no_log: true 지시문을 사용하도록 작업이 변경되었으며 작업 출력이 더 이상 역할 로그에 표시되지 않습니다. ha_cluster 시스템 역할 로그에 더 이상 암호 및 기타 시크릿이 포함되지 않습니다. 이번 업데이트에서는 보안 정보를 보호하지만 이제 역할 로그에서 구성을 디버깅할 때 사용할 수 있는 적은 정보를 제공합니다.

Bugzilla:2143816

SBD를 사용하도록 ha_cluster 시스템 역할로 구성된 클러스터가 이제 부팅 시 시작되지 않음이 올바르게 작동합니다.

이전 버전에서는 사용자가 SBD를 사용하고 부팅 시 시작되지 않고 ha_cluster 시스템 역할을 사용하여 클러스터를 구성한 경우 SBD 서비스가 비활성화되고 SBD가 시작되지 않았습니다. 이번 수정을 통해 클러스터가 부팅 시 시작되도록 구성되어 있는지 여부에 관계없이 SBD 서비스가 SBD를 사용하도록 설정된 경우 SBD 서비스가 항상 활성화됩니다.

Bugzilla:2153030

암시적 파일 공급자가 cockpit-session-recording SSSD 구성 수정 가능

SSSD가 비활성화된 경우 cockpit-session-recording 모듈로 인해 SSSD(System Security Services Daemon) 구성이 발생했습니다. 이번 업데이트에서는 파일 공급자를 사용할 수 없으므로 cockpit-session-recording 을 통해 생성된 SSSD 구성이 이제 예상대로 작동합니다.

Bugzilla:2153043

nbde_client_clevis 역할은 더 이상 사용자에게 역추적을 보고하지 않습니다.

이전 버전에서는 nbde_client_clevis 역할이 예외에서 실패하여 역추적을 유발하고 encryption_password 필드와 같은 중요한 데이터를 보고하면 다시 사용자로 돌아갑니다. 이번 업데이트를 통해 역할은 더 이상 적절한 오류 메시지만 보고하지 않습니다.

Bugzilla:2162782

ha_cluster 시스템 역할을 사용하여 stonith-watchdog-timeout 속성을 설정하면 중지된 클러스터에서 작동합니다.

이전 버전에서는 중지된 클러스터에서 ha_cluster 시스템 역할로 stonith-watchdog-timeout 속성을 설정하면 속성이 이전 값으로 되돌아간 후 역할이 실패했습니다. 이번 수정을 통해 ha_cluster 시스템 역할을 사용하여 stonith-watchdog-timeout 속성을 구성하는 것이 제대로 작동합니다.

Bugzilla:2167528

네트워크 트래픽은 네트워킹 RHEL 시스템 역할과 함께 initscripts 를 사용할 때 의도한 네트워크 인터페이스를 통해 이동합니다.

이전 버전에서는 initscripts 공급자를 사용할 때 네트워크 연결에 대한 라우팅 구성에서 트래픽이 이동해야 하는 출력 장치를 지정하지 않았습니다. 결과적으로 커널은 사용자가 의도한 것과 다른 출력 장치를 사용할 수 있었습니다. 이제 네트워크 인터페이스 이름이 연결을 위한 플레이북에 지정되면 경로 구성 파일에서 출력 장치로 사용됩니다. 이렇게 하면 장치의 프로필을 활성화할 때 경로에서 출력 장치를 구성하는 NetworkManager와 동작이 조정됩니다. 결과적으로 사용자는 트래픽이 의도한 네트워크 인터페이스를 통해 전달되는지 확인할 수 있습니다.

Bugzilla:2168735

selinux 역할은 정책 모듈을 멱등으로 관리합니다.

이전에는 selinux 역할은 기존 모듈을 관리 노드에 항상 복사하여 모듈이 이미 존재하는 경우에도 변경 사항을 보고했습니다. 이번 업데이트를 통해 selinux 역할은 모듈이 관리 노드에 설치되어 있는지 확인하고 이미 설치된 경우 모듈을 복사하여 설치하지 않습니다.

Bugzilla:2160152

rhc _auth 에 활성화 키가 포함된 경우 등록된 시스템에서 rhc 시스템 역할이 더 이상 실패하지 않음

이전에는 rhc_auth 매개변수에 지정된 활성화 키를 사용하여 등록된 시스템에서 플레이북 파일을 실행할 때 오류가 발생했습니다. 이 문제가 해결되었습니다. 이제 rhc_auth 매개 변수에 활성화 키가 제공된 경우에도 이미 등록된 시스템에서 플레이북 파일을 실행할 수 있습니다.

Bugzilla:2186218

8.16. 가상화

이제 중첩된 VM의 시스템 시간이 안정적으로 작동합니다.

이전 버전에서는 경우에 따라 중첩된 VM(가상 머신)의 시스템 시간이 수준 0 및 수준 1 호스트에서 동기화되지 않았습니다. 이로 인해 중첩된 VM이 응답하지 않거나 예기치 않게 종료되는 경우도 있었습니다.

이번 업데이트를 통해 KVM 호스트 커널 코드의 코드를 처리하는 시간이 수정되어 설명된 오류가 발생하지 않습니다.

Bugzilla:2140899

IBM Z의 VM은 memfd 메모리 지원을 사용할 때 더 이상 시작되지 않습니다.

이전 버전에서는 IBM Z 호스트에서 가상 머신(VM)이 memfd 유형의 hugepage 메모리 지원을 사용하도록 구성된 경우 부팅되지 않았습니다. 예를 들면 다음과 같습니다.

<memoryBacking>
  <hugepages/>
  <source type='memfd'/>
</memoryBacking>

이번 업데이트를 통해 근본적인 원인이 수정되어 영향을 받는 VM이 올바르게 시작됩니다.

Bugzilla:2116496

VNC는 마이그레이션 후 UEFI VM에 안정적으로 연결할 수 있습니다.

이전 버전에서는 VM(가상 머신)을 마이그레이션하는 동안 메시지 큐를 활성화하거나 비활성화하는 경우 마이그레이션이 완료된 후 VNC(Virtual Network Computing) 클라이언트가 VM에 연결하지 못했습니다.

이 문제는 OVMF(Open Virtual Machine Firmware)를 사용한 UEFI 기반 VM에만 영향을 미쳤습니다.

문제가 해결되었으며 이제 마이그레이션이 완료된 후 VNC 클라이언트가 UEFI VM에 안정적으로 연결됩니다.

Jira:RHELPLAN-135600

설치 프로그램에서 VM에 RHEL을 설치할 예상 시스템 디스크를 보여줍니다.

이전 버전에서는 virtio-scsi 장치를 사용하여 VM에 RHEL을 설치할 때 device-mapper-multipath 버그로 인해 이러한 장치가 설치 프로그램에 표시되지 않을 수 있었습니다. 결과적으로 설치 중에 일부 장치에 직렬 세트가 있고 일부 장치에는 그렇지 않은 경우 multipath 명령에서 직렬이 있는 모든 장치를 요청했습니다. 이로 인해 설치 프로그램이 VM에 RHEL을 설치할 예상 시스템 디스크를 찾을 수 없었습니다.

이번 업데이트를 통해 다중 경로 는 WWID(Wide Wide Identifier)가 없는 직렬이 없는 장치를 올바르게 설정하고 무시합니다. 설치 시 다중 경로 장치를 바인딩하는 데 다중 경로 장치만 클레임하고 설치 프로그램은 VM에 RHEL을 설치할 예상 시스템 디스크를 표시합니다.

Bugzilla:1926147

9장. 기술 프리뷰

이 부분에서는 Red Hat Enterprise Linux 9에서 사용할 수 있는 모든 기술 프리뷰 목록을 제공합니다.

기술 프리뷰 기능에 대한 Red Hat 지원 범위 정보는 기술 프리뷰 기능 지원 범위를 참조하십시오.

9.1. 설치 프로그램 및 이미지 생성

RHEL 설치 프로그램에서 기술 프리뷰로 NVMe를 사용할 수 있습니다.

이제 RHEL 설치에 파이버 채널 장치를 통한 NVMe를 기술 프리뷰로 추가할 수 있습니다. RHEL 설치 관리자의 설치 대상 화면에 디스크를 추가하는 동안 NVMe Fabrics 장치 섹션에서 이러한 장치를 선택할 수 있습니다.

Bugzilla:2107346

9.2. 쉘 및 명령행 툴

GIMP는 RHEL 9에서 기술 프리뷰로 사용 가능

GNU Image Manipulation Program (GIMP) 2.99.8은 이제 RHEL 9에서 기술 프리뷰로 사용할 수 있습니다. gimp 패키지 버전 2.99.8은 일련의 개선 사항이 있는 사전 릴리스 버전이지만 제한된 기능 세트이며 안정성은 보장되지 않습니다. 공식 GIMP 3이 릴리스되면 이 사전 릴리스 버전을 업데이트할 때 RHEL 9에 도입됩니다.

RHEL 9에서는 gimp 를 RPM 패키지로 쉽게 설치할 수 있습니다.

Bugzilla:2047161

9.3. 인프라 서비스

TuneD용 소켓 API를 기술 프리뷰로 사용 가능

Unix 도메인 소켓을 통해 TuneD를 제어하기 위한 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 소켓 API는 D-Bus API를 사용하여 일대일 매핑하고 D-Bus를 사용할 수 없는 경우 대체 통신 방법을 제공합니다. 소켓 API를 사용하면 TuneD 데몬을 제어하여 성능을 최적화하고 다양한 튜닝 매개변수 값을 변경할 수 있습니다. 소켓 API는 기본적으로 비활성화되어 있으며, tuned-main.conf 파일에서 활성화할 수 있습니다.

Bugzilla:2113900

9.4. 보안

GnuTLS 는 이제 KTLS를 기술 프리뷰로 사용

업데이트된 gnutls 패키지는 커널 TLS(KTLS)를 사용하여 암호화된 채널에서 데이터 전송을 기술 프리뷰로 가속화할 수 있습니다. KTLS를 활성화하려면 modprobe 명령을 사용하여 tls.ko 커널 모듈을 추가하고 다음 내용을 사용하여 시스템 전체 암호화 정책에 대해 /etc/crypto-policies/local.d/gnutls-ktls.txt 설정 파일 /etc/crypto-policies/local.d/gnutls-ktls.txt를 생성합니다.

[global]
ktls = true

현재 버전은 TLS KeyUpdate 메시지를 통해 트래픽 키 업데이트를 지원하지 않으며 이는 AES-GCM 암호화의 보안에 영향을 미칩니다. 자세한 내용은 RFC 7841 - TLS 1.3 문서를 참조하십시오.

Bugzilla:2042009

9.5. 네트워킹

WireECDHE VPN은 기술 프리뷰로 사용 가능

Red Hat이 지원되지 않는 기술 프리뷰로 제공하는 Wire>-<는 Linux 커널에서 실행되는 고성능 VPN 솔루션입니다. 최신 암호화를 사용하며 다른 VPN 솔루션보다 구성하기가 더 쉽습니다. 또한 Wire>-<의 작은 코드베이스는 공격 면적을 감소시켜 보안 기능을 향상시킵니다.

자세한 내용은 Wire>-< VPN 설정을 참조하십시오.

Bugzilla:1613522

KTLS를 기술 프리뷰로 이용 가능

RHEL은 기술 프리뷰로 KTLS(커널 전송 계층 보안)를 제공합니다. KTLS는 AES-GCM 암호에 대한 커널의 대칭 암호화 또는 암호 해독 알고리즘을 사용하여 TLS 레코드를 처리합니다. KTLS에는 이 기능을 제공하는 NIC(네트워크 인터페이스 컨트롤러)로 TLS 레코드 암호화를 오프로드하는 인터페이스도 포함되어 있습니다.

Bugzilla:1570255

systemd-resolved 서비스는 기술 프리뷰로 사용 가능

systemd-resolved 서비스는 로컬 애플리케이션에 이름 확인을 제공합니다. 이 서비스는 캐싱 및 검증 DNS 스텁 확인 프로그램, 링크 로컬 Multicast Name Resolution(LLMNR), Multicast DNS 확인자 및 응답자를 구현합니다.

systemd-resolved 는 지원되지 않는 기술 프리뷰입니다.

Bugzilla:2020529

9.6. 커널

SGX를 기술 프리뷰로 이용 가능

SoftwareECDHE Extensions (SGX)는 소프트웨어 코드 및 데이터 공개 및 수정으로부터 보호하기 위한 Intel® 기술입니다. RHEL 커널은 SGX v1 및 v1.5 기능을 부분적으로 제공합니다. 버전 1은 flexible Launch Control 메커니즘을 사용하는 플랫폼을 통해 SGX 기술을 사용할 수 있습니다.

Bugzilla:1874182

커널용 Intel 데이터 스트리밍 가속기 드라이버는 기술 프리뷰로 사용 가능

커널의 Intel 데이터 스트리밍 가속기 드라이버(IDXD)는 현재 기술 프리뷰로 사용할 수 있습니다. Intel CPU 통합 가속기이며 프로세스 주소 공간 ID(pasid) 제출 및 SVM(공유 가상 메모리)이 포함된 공유 작업 대기열을 포함합니다.

Bugzilla:2030412

ScanSetting-iWARP 드라이버는 기술 프리뷰로 사용 가능

soft-iWARP(siw)는 Linux용 iWARP(Internet Wide-area RDMA Protocol), 커널 드라이버인 소프트웨어입니다. soft-iWARP는 TCP/IP 네트워크 스택을 통해 iWARP 프로토콜 제품군을 구현합니다. 이 프로토콜 제품군은 소프트웨어에서 완전히 구현되며 특정 RDMA(Remote Direct Memory Access) 하드웨어가 필요하지 않습니다. soft-iWARP를 사용하면 표준 이더넷 어댑터가 있는 시스템을 iWARP 어댑터 또는 이미 설치된 다른 시스템에 연결할 수 있습니다.

Bugzilla:2023416

SGX를 기술 프리뷰로 이용 가능

SoftwareECDHE Extensions (SGX)는 소프트웨어 코드 및 데이터 공개 및 수정으로부터 보호하기 위한 Intel® 기술입니다. RHEL 커널은 SGX v1 및 v1.5 기능을 부분적으로 제공합니다. 버전 1은 flexible Launch Control 메커니즘 을 사용하는 플랫폼을 통해 SGX 기술을 사용할 수 있습니다. 버전 2는 Enclave Dynamic Memory Management (EDMM)를 추가합니다. 주요 기능은 다음과 같습니다.

  • 초기화된 enclave 페이지에 속한 일반 enclave 페이지의 EPCM 권한 수정.
  • 초기화된 enclave 페이지에 대한 일반 enclave 페이지를 동적으로 추가합니다.
  • 초기화된 인클레이브를 확장하여 더 많은 스레드를 수용할 수 있습니다.
  • 초기화된 enclave에서 일반 및 TCS 페이지를 제거합니다.

Bugzilla:1660337

rvu_af,rvu_nicpf, rvu_nicvf 를 기술 프리뷰로 사용 가능

다음 커널 모듈은 Marvell OCTEON TX2 인프라 프로세서 제품군의 기술 프리뷰로 사용할 수 있습니다.

  • rvu_nicpf - Marvell OcteonTX2 NIC 물리적 기능 드라이버
  • rvu_nicvf - Marvell OcteonTX2 NIC 가상 기능 드라이버
  • rvu_nicvf - Marvell OcteonTX2 RVU 관리자 드라이버

Bugzilla:2040643

9.7. 파일 시스템 및 스토리지

ext4 및 XFS를 기술 프리뷰로 사용할 수 있습니다.

RHEL 9에서는 DAX 파일 시스템을 기술 프리뷰로 사용할 수 있습니다. DAX를 사용하면 애플리케이션이 영구 메모리를 주소 공간에 직접 매핑할 수 있습니다. DAX를 사용하려면 시스템에 일반적으로 NVDIMM(Non-Volatile Dual In-line Memory Modules) 형태로 사용 가능한 영구 메모리 형식이 있어야 하며 DAX 호환 파일 시스템을 NVDIMM에서 생성해야 합니다. 또한 dax 마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. 그런 다음 dax 마운트 파일 시스템에 있는 파일의 mmap 으로 인해 스토리지를 애플리케이션의 주소 공간에 직접 매핑합니다.

Bugzilla:1995338

Stratis는 기술 프리뷰로 사용 가능

Stratis는 로컬 스토리지 관리자입니다. 스토리지 풀 상단에서 관리형 파일 시스템을 사용자에게 추가 기능을 제공합니다.

  • 스냅샷 및 씬 프로비저닝 관리
  • 필요에 따라 파일 시스템 크기 자동 확장
  • 파일 시스템 관리

Stratis 스토리지를 관리하려면 stratisd 백그라운드 서비스와 통신하는 stratis 유틸리티를 사용합니다.

Stratis는 기술 프리뷰로 제공됩니다.

자세한 내용은 Stratis 설명서 설정을 참조하십시오.

Bugzilla:2041558

NVMe-oF Discovery Service 기능을 기술 프리뷰로 사용할 수 있음

NVMexpress.org Technical Proposals (TP) 8013 및 8014에 정의된 NVMe-oF Discovery Service 기능은 기술 프리뷰로 사용할 수 있습니다. 이러한 기능을 미리 보려면 nvme-cli 2.0 패키지를 사용하고 TP-8013 또는 TP-8014를 구현하는 NVMe-oF 대상 장치에 호스트를 연결합니다. TP-8013 및 TP-8014에 대한 자세한 내용은 https://nvmexpress.org/specifications/ 웹 사이트에서 NVM Express 2.0 Ratified TPs를 참조하십시오.

Bugzilla:2021672

기술 프리뷰로 사용할 수 있는 NVMe -stas 패키지

Linux용 CDC(Central Discovery Controller) 클라이언트인 nvme-stas 패키지를 이제 기술 프리뷰로 사용할 수 있습니다. AEN(Asynchronous Event Notifications), Automated NVMe 하위 시스템 연결 제어, 오류 처리 및 보고, Automatic(zeroconf) 및 수동 구성을 처리합니다.

이 패키지는 두 개의 데몬인 StorageECDHE Finder(stafd) 및 StorageECDHE Connector(stacd)로 구성됩니다.

Bugzilla:1893841

NVMe TP 8006 in-band 인증은 기술 프리뷰로 사용 가능

NVMe over Fabrics(NVMe-oF)에 대한 대역 내 인증인 NVMe(Non-Volatile Memory Express) TP 8006 구현이 지원되지 않는 기술 프리뷰로 제공됩니다. NVMe 기술 제안(8006)은 이러한 향상된 기능으로 제공되는 NVMe-oF에 대한 DH-HMAC-CHAP 의 대역 내 인증 프로토콜을 정의합니다.

자세한 내용은 nvme-connect(1) 매뉴얼 페이지의 dhchap-secretdhchap-ctrl-secret 옵션 설명을 참조하십시오.

Bugzilla:2027304

9.8. 컴파일러 및 개발 도구

JMC-coreowasp-java-encoder 를 기술 프리뷰로 사용할 수 있습니다.

RHEL 9는 AMD 및 Intel 64비트 아키텍처의 기술 프리뷰 기능으로 jmc-coreowasp-java-encoder 패키지와 함께 배포됩니다.

JMC -core 는 JDK Flight Recording 파일 구문 분석 및 쓰기를 위한 라이브러리와 Java Discovery Protocol(JDP)을 통해 JVM(Java Virtual Machine) 검색용 라이브러리를 포함하여 Java Development Kit (JDK) Mission Control용 코어 API를 제공하는 라이브러리입니다.

owasp-java-encoder 패키지는 Java에 대한 고성능의 낮은 오버헤드 컨텍스트 인코더 컬렉션을 제공합니다.

RHEL 9.2, jmc-coreowasp-java-encoder 는 명시적으로 활성화해야 하는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있습니다. 자세한 내용은 CodeReady Linux Builder 내에서 콘텐츠를 활성화하고 사용하는 방법을 참조하십시오.

Bugzilla:1980981

9.9. IdM (Identity Management)

DNSSEC를 IdM에서 기술 프리뷰로 이용 가능

통합된 DNS가 있는 IdM(Identity Management) 서버는 이제 DNS 프로토콜의 보안을 개선하는 DNS로의 확장 기능 세트인 DNS Security Extensions(DNS Security Extensions)를 구현합니다. IdM 서버에서 호스팅되는 DNS 영역은 DNSSEC를 사용하여 자동으로 서명할 수 있습니다. 암호화 키는 자동으로 생성되고 순환됩니다.

DNSSEC로 DNS 영역을 보호하기로 결정한 사용자는 다음 문서를 읽고 따르는 것이 좋습니다.

통합된 DNS가 있는 IdM 서버는 DNSSEC를 사용하여 다른 DNS 서버에서 얻은 DNS 응답을 검증합니다. 이는 권장 이름 지정 사례에 따라 구성되지 않은 DNS 영역의 가용성에 영향을 줄 수 있습니다.

Bugzilla:2084180

ID 관리 JSON-RPC API를 기술 프리뷰로 사용 가능

IdM(Identity Management)에 API를 사용할 수 있습니다. API를 보기 위해 IdM은 API 브라우저도 기술 프리뷰로 제공합니다.

이전에는 여러 버전의 API 명령을 사용하도록 IdM API가 개선되었습니다. 이러한 개선 사항은 호환되지 않는 방식으로 명령의 동작을 변경할 수 있습니다. 이제 IdM API가 변경되는 경우에도 기존 툴 및 스크립트를 계속 사용할 수 있습니다. 이를 통해 다음을 수행할 수 있습니다.

  • 관리자는 관리 클라이언트보다 서버에서 이전 버전 또는 이후 버전의 IdM을 사용합니다.
  • 개발자는 서버에서 IdM 버전이 변경되는 경우에도 특정 버전의 IdM 호출을 사용할 수 있습니다.

모든 경우에서 한 쪽이 예를 들어 기능에 대한 새로운 옵션을 도입하는 최신 버전을 사용하는 경우와 관계없이 서버와의 통신이 가능합니다.

API 사용에 대한 자세한 내용은 ID 관리 API를 사용하여 IdM 서버(TECHNOLOGY PREVIEW)와 통신 합니다.

Bugzilla:2084166

sssd-idp 하위 패키지는 기술 프리뷰로 사용 가능

SSSD의 sssd-idp 하위 패키지에는 IdM(Identity Management) 서버에 대해 OAuth2 인증을 수행하는 클라이언트 측 구성 요소인 oidc_child 및ECDHE5 idp 플러그인이 포함되어 있습니다. 이 기능은 RHEL 9.1 이상에서 IdM 서버에서만 사용할 수 있습니다.

Bugzilla:2065693

SSSD 내부ECDHE5 idp 플러그인은 기술 프리뷰로 사용 가능

SSSDECDHE5 idp 플러그인을 사용하면 OAuth2 프로토콜을 사용하여 외부 ID 공급자(IdP)에 대해 인증할 수 있습니다. 이 기능은 RHEL 9.1 이상에서 IdM 서버에서만 사용할 수 있습니다.

Bugzilla:2056482

RHEL IdM을 사용하면 외부 ID 공급자에 대한 사용자 인증을 기술 프리뷰로 위임할 수 있습니다.

RHEL IdM에서는 OAuth 2 장치 권한 부여 흐름을 지원하는 IdM(외부 ID 공급자)에 사용자를 연결할 수 있습니다. RHEL 9.1 이상에서 사용 가능한 SSSD 버전으로 인증하면 외부 IdP에서 인증 및 권한 부여를 수행한 후 Kerberos 티켓을 통해 RHEL IdM Single Sign-On 기능을 받을 수 있습니다.

주요 기능은 다음과 같습니다.

  • ipa idp-* 명령을 사용하여 외부 IdP에 대한 참조 추가, 수정 및 삭제
  • ipa user-mod --user-auth-type=idp 명령을 사용하여 사용자의 IdP 인증 활성화

자세한 내용은 외부 ID 공급자를 사용하여 IdM 인증을 참조하십시오.

Bugzilla:2069202

ACME는 만료된 인증서를 기술 프리뷰로 자동 제거 지원

IdM(Identity Management)의 ACME(Automated Certificate Management Environment) 서비스는 CA(인증 기관)에서 만료된 인증서를 기술 프리뷰로 제거하는 자동 메커니즘을 추가합니다. 결과적으로 ACME는 이제 지정된 간격으로 만료된 인증서를 자동으로 제거할 수 있습니다. 만료된 인증서 제거는 기본적으로 비활성화되어 있습니다. 활성화하려면 다음을 입력합니다.

이번 개선된 기능을 통해 ACME는 지정된 간격으로 만료된 인증서를 자동으로 제거할 수 있습니다.

만료된 인증서 제거는 기본적으로 비활성화되어 있습니다. 활성화하려면 다음을 입력합니다.

# ipa-acme-manage pruning --enable --cron "0 0 1 * *"

이렇게 하면 매일 자정의 첫 날 만료된 인증서가 제거됩니다.

참고

만료된 인증서는 보존 기간 후에 제거됩니다. 기본적으로 만료 후 30일입니다.

자세한 내용은 ipa-acme-manage(1) 매뉴얼 페이지를 참조하십시오.

Bugzilla:2162677

9.10. 데스크탑

64비트 ARM 아키텍처용 GNOME을 기술 프리뷰로 사용 가능

GNOME 데스크탑 환경은 64비트 ARM 아키텍처에서 기술 프리뷰로 사용할 수 있습니다.

이제 VNC를 사용하여 64비트 ARM 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.

제한된 그래픽 애플리케이션 세트는 64비트 ARM에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Firefox 웹 브라우저
  • Red Hat Subscription Manager (subscription-manager-cockpit)
  • 방화벽 설정(firewall-config)
  • 디스크 사용 분석기(Bobab)

Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.

Libre>-<와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스가 비활성화됩니다.

Jira:RHELPLAN-27394

IBM Z 아키텍처용 GNOME을 기술 프리뷰로 이용 가능

IBM Z 아키텍처에서는 GNOME 데스크탑 환경을 기술 프리뷰로 사용할 수 있습니다.

VNC를 사용하여 IBM Z 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.

제한된 그래픽 애플리케이션 세트는 IBM Z에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Firefox 웹 브라우저
  • Red Hat Subscription Manager (subscription-manager-cockpit)
  • 방화벽 설정(firewall-config)
  • 디스크 사용 분석기(Bobab)

Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.

Libre>-<와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스가 비활성화됩니다.

Jira:RHELPLAN-27737

9.11. 그래픽 인프라

Intel Arc A-Series 그래픽을 기술 프리뷰로 이용 가능

Intel Arc A-Series 그래픽은 이제 Alchemist 또는 DG2라고도 하며 기술 프리뷰로 사용할 수 있습니다.

Intel Arc A-Series 그래픽으로 하드웨어 가속을 사용하려면 커널 명령 줄에 다음 옵션을 추가합니다.

i915.force_probe=pci-id

이 옵션에서 pci-id 를 다음 중 하나로 바꿉니다.

  • Intel GPU의 PCI ID입니다.
  • * 문자는 모든 알파 품질의 하드웨어에서 i915 드라이버를 활성화합니다.

Bugzilla:2041690

9.12. 웹 콘솔

Stratis는 RHEL 웹 콘솔에서 기술 프리뷰로 사용 가능

이번 업데이트를 통해 Red Hat Enterprise Linux 웹 콘솔은 Stratis 스토리지를 기술 프리뷰로 관리할 수 있는 기능을 제공합니다.

Stratis에 대한 자세한 내용은 Stratis What is Stratis 를 참조하십시오.

Jira:RHELPLAN-122345

9.13. 가상화

중첩된 가상 머신 생성

중첩된 KVM 가상화는 RHEL 9가 있는 Intel, AMD64 및 IBM Z 호스트에서 실행되는 KVM 가상 머신(VM)용 기술 프리뷰로 제공됩니다. 이 기능을 사용하면 물리적 RHEL 9 호스트에서 실행되는 RHEL 7, RHEL 8 또는 RHEL 9 VM이 하이퍼바이저 역할을 하며 자체 VM을 호스팅할 수 있습니다.

Jira:RHELDOCS-17040

VM에서 기술 프리뷰로 Intel SGX 사용 가능

이제 Intel Software>-< Extensions(SGX)를 RHEL 9에서 호스팅되는 VM(가상 머신)에 대해 기술 프리뷰로 구성할 수 있습니다. SGX는 Intel 하드웨어의 특정 프로세스의 데이터 무결성 및 기밀성을 보호합니다. 호스트에 SGX를 설정하면 게스트 운영 체제(OS)가 사용할 수 있도록 기능이 VM으로 전달됩니다.

게스트 OS에서 SGX를 사용하려면 먼저 해당 OS에 대해 SGX 드라이버를 설치해야 합니다. 또한 호스트의 SGX는 메모리 암호화 VM을 사용할 수 없습니다.

Jira:RHELPLAN-69761

KVM 가상 머신용 AMD SEV 및 SEV-ES

RHEL 9는 KVM 하이퍼바이저를 사용하는 AMD EPYC 호스트 시스템을 위한 SEV(Secure Encrypted Virtualization) 기능을 기술 프리뷰로 제공합니다. VM(가상 머신)에서 활성화된 경우 SEV는 VM의 메모리를 암호화하여 VM을 호스트에서 액세스하지 못하도록 보호합니다. 이로 인해 VM의 보안이 향상됩니다.

또한 향상된 암호화 상태 버전 SEV(SEV-ES)도 기술 프리뷰로 제공됩니다. SEV-ES는 VM의 실행이 중지되면 모든 CPU 레지스터 콘텐츠를 암호화합니다. 이로 인해 호스트가 VM의 CPU 레지스터를 수정하거나 해당 CPU에서 정보를 읽지 못하도록 합니다.

SEV 및 SEV-ES는 AMD EPYC CPU의 2nd generation (코드 이름) 이상에서만 작동합니다. 또한 RHEL 9에는 SEV 및 SEV-ES 암호화가 포함되지만 SEV 및 SEV-ES 보안 테스트는 포함되지 않습니다.

Jira:RHELPLAN-65217

ARM 64에서 가상화 사용 가능

이제 ARM 64 CPU를 사용하여 시스템에 KVM 가상 머신을 생성할 수 있는 기술 프리뷰로 사용할 수 있습니다.

Jira:RHELPLAN-103993

virtio-mem 은 이제 AMD64, Intel 64 및 ARM 64에서 사용 가능

RHEL 9에서는 기술 프리뷰로 AMD64, Intel 64 및 ARM 64 시스템에 virtio-mem 기능이 도입되었습니다. virtio-mem 을 사용하면 VM(가상 머신)에서 호스트 메모리를 동적으로 추가하거나 제거할 수 있습니다.

virtio-mem 을 사용하려면 VM의 XML 구성에 virtio-mem 메모리 장치를 정의하고 virsh update-memory-device 명령을 사용하여 VM이 실행되는 동안 메모리 장치 크기 변경을 요청합니다. 이러한 메모리 장치에서 실행 중인 VM에 노출된 현재 메모리 크기를 보려면 VM의 XML 구성을 확인합니다.

Bugzilla:2014487,Bugzilla:2044172,Bugzilla:2044162

RHEL 게스트의 Intel TDX

이제 Intel Trust Domain Extension (TDX) 기능을 RHEL 9.2 게스트 운영 체제에서 사용할 수 있습니다. 호스트 시스템이 TDX를 지원하는 경우 TD(신뢰 도메인)라는 하드웨어 격리 RHEL 9 VM(가상 머신)을 배포할 수 있습니다. 그러나 TDX는 현재 kdump 에서 작동하지 않으며 TDX를 활성화하면 kdump 가 VM에서 실패합니다.

Bugzilla:1955275

RHEL의 통합 커널 이미지를 기술 프리뷰로 사용 가능

이제 VM(가상 머신)의 통합 커널 이미지(UKI)로 RHEL 커널을 가져올 수 있습니다. 통합 커널 이미지는 kernel, initramfs 및 커널 명령줄을 서명된 단일 바이너리 파일에 결합합니다.

UKI는 가상화 및 클라우드 환경, 특히 강력한 SecureBoot 기능이 필요한 기밀 VM에서 사용할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt 패키지로 제공됩니다.

현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.

Bugzilla:2142102

Intel vGPU를 기술 프리뷰로 사용 가능

기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라고 하는 여러 가상 장치로 나눌 수 있습니다. 그런 다음 이러한 중재된 장치를 가상 GPU로 여러 VM(가상 머신)에 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유합니다.

이 기능은 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 완전히 제거됩니다.

Jira:RHELDOCS-17050

9.14. 클라우드 환경의 RHEL

이제 Azure 기밀 VM에서 기술 프리뷰로 RHEL을 사용할 수 있습니다.

업데이트된 RHEL 커널을 사용하면 Microsoft Azure에서 RHEL 기밀 가상 머신(VM)을 기술 프리뷰로 생성하고 실행할 수 있습니다. 새로 추가된 통합 커널 이미지(UKI)를 통해 Azure에서 암호화된 기밀 VM 이미지를 부팅할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt 패키지로 제공됩니다.

현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.

Jira:RHELPLAN-139800

9.15. 컨테이너

Podman의 Quadlet이 기술 프리뷰로 사용 가능

Podman v4.4부터 Quadlet을 사용하여 컨테이너 설명에서 기술 프리뷰로 systemd 서비스 파일을 자동으로 생성할 수 있습니다. 컨테이너 설명은 systemd 장치 파일 형식입니다. 이 설명은 관련 컨테이너 세부 정보에 중점을 두고 systemd 에서 컨테이너 실행의 기술적 복잡성을 숨깁니다. Quadlets는 systemd 장치 파일보다 쓰기 및 유지 관리하기가 더 쉽습니다.

자세한 내용은 업스트림 문서Quadlet을 사용하여 Podman에 더 적합한 systemd 만들기 를 참조하십시오.

Jira:RHELPLAN-148394

Fulcio 및 Rekor를 사용한 sigstore 서명용 클라이언트는 이제 기술 프리뷰로 사용 가능

Fulcio 및 Rekor 서버를 사용하면 개인 키를 수동으로 관리하는 대신 OIDC(OpenID Connect) 서버 인증을 기반으로 단기 인증서를 사용하여 서명을 생성할 수 있습니다. Fulcio 및 Rekor를 사용한 시그 저장소 서명용 클라이언트는 이제 기술 프리뷰로 사용할 수 있습니다. 이러한 추가된 기능은 클라이언트 측 지원일 뿐이며 Fulcio 또는 Rekor 서버를 포함하지 않습니다.

policy.json 파일에 fulcio 섹션을 추가합니다. 컨테이너 이미지에 서명하려면 podman push --sign-by-sigstore=file.yml 또는 skopeo copy --sign-by-sigstore=file.yml 명령을 사용합니다. 여기서 file.yml 은 sigstore 서명 매개변수 파일입니다.

서명을 확인하려면 policy.json 파일의 fulcio 섹션과 rekorPublicKeyPath 또는 rekorPublicKeyData 필드를 추가합니다. 자세한 내용은 container -policy.json 매뉴얼 페이지를 참조하십시오.

Jira:RHELPLAN-136611

podman-machine 명령은 지원되지 않음

가상 머신을 관리하는 podman-machine 명령은 기술 프리뷰로만 사용할 수 있습니다. 대신 명령줄에서 직접 Podman을 실행합니다.

Jira:RHELDOCS-16861

10장. 사용되지 않는 기능

이 부분에서는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않는 기능에 대해 설명합니다.

사용되지 않는 기능은 이 제품의 향후 주요 릴리스에서 지원되지 않을 가능성이 높으며 새로운 배포에 구현하는 것은 권장되지 않습니다. 특정 주요 릴리스 내에서 더 이상 사용되지 않는 기능의 최신 목록은 최신 릴리스 노트를 참조하십시오.

더 이상 사용되지 않는 기능의 지원 상태는 Red Hat Enterprise Linux 9 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.

사용되지 않는 하드웨어 구성 요소는 현재 또는 향후 주요 릴리스의 새로운 배포에 구현하는 것을 권장하지 않습니다. 하드웨어 드라이버 업데이트는 보안 및 중요 수정 사항으로만 제한됩니다. Red Hat은 최대한 빠른 시일 내에 이 하드웨어를 교체할 것을 권장합니다.

패키지가 더 이상 사용되지 않으며 향후 사용이 권장되지 않는 경우가 있습니다. 경우에 따라 패키지가 제품에서 삭제될 수 있습니다. 제품 설명서에 더 이상 사용되지 않는 기능과 유사 또는 동일하거나 보다 고급 기능을 제공하는 최근 패키지가 지정된 권장 사항이 기재됩니다.

RHEL 8에 있지만 RHEL 9에서 제거된 기능에 대한 자세한 내용은 RHEL 9 채택 시 고려 사항을 참조하십시오.

10.1. 설치 프로그램 및 이미지 생성

더 이상 사용되지 않는 Kickstart 명령

다음 Kickstart 명령이 더 이상 사용되지 않습니다.

  • timezone --ntpservers
  • timezone --nontp
  • logging --level
  • %packages --excludeWeakdeps
  • %packages --instLangs
  • %anaconda
  • pwpolicy

특정 옵션만 나열된 경우에도 기본 명령 및 기타 옵션은 계속 사용할 수 있으며 더 이상 사용되지 않습니다. Kickstart 파일에서 더 이상 사용되지 않는 명령을 사용하면 로그에 경고가 출력됩니다. inst.ksstrict 부팅 옵션을 사용하여 더 이상 사용되지 않는 명령 경고를 오류로 전환할 수 있습니다.

Bugzilla:1899167

edge-commitedge-container 의 사용자 및 그룹 사용자 지정이 더 이상 사용되지 않음

edge-commitedge-container 이미지 유형에 대해 사용자 지정이 더 이상 사용되지 않습니다. 이는 이미지를 업그레이드할 때 사용자 사용자 지정이 없어지고 hugepages에서 사용자를 다시 지정하지 않기 때문입니다. 따라서 edge-raw-image,edge-installer, edge-simplified-installer 와 같은 기존 OSTree 커밋을 배포하는 데 사용되는 에지 이미지 유형에 대해 사용자와 그룹을 직접 지정해야 합니다.

Blueprint에서 사용자 또는 그룹 사용자 지정을 지정하는 것은 계속 지원되지만 지원은 결국 제거됩니다.

Bugzilla:2173928

10.2. 서브스크립션 관리

subscription-manager 명령의 --token 옵션이 더 이상 사용되지 않음

subscription-manager register 명령의 --token=<TOKEN > 옵션은 시스템을 Red Hat에 등록하는 데 도움이 되는 인증 방법입니다. 이 옵션은 인타이틀먼트 서버가 제공하는 기능에 따라 다릅니다. 기본 인타이틀먼트 서버 subscription.rhsm.redhat.com 은 이 기능을 해제할 계획입니다. 결과적으로 subscription-manager register --token=<TOKEN >을 사용하려고 하면 다음 오류 메시지와 함께 실패할 수 있었습니다.

Token authentication not supported by the entitlement server

subscription-manager register 명령의 paired options --username / --password--org / --activationkey 와 같은 다른 권한 부여 방법을 사용하여 시스템을 계속 등록할 수 있습니다.

Bugzilla:2163716

10.3. 쉘 및 명령행 툴

dump 패키지의 dump 유틸리티가 더 이상 사용되지 않음

파일 시스템의 백업에 사용되는 dump 유틸리티는 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다.

RHEL 9에서는 ext2, ext3 및 ext4 파일 시스템에서 완전하고 안전한 백업을 제공하는 사용 유형에 따라 tar,dd 또는 bacula, backup 유틸리티를 사용할 것을 권장합니다.

dump 패키지의 복원 유틸리티는 RHEL 9에서 지원되며 복원 패키지로 사용할 수 있습니다.

Bugzilla:1997366

Bacula의 10.0.0.1 데이터베이스 백엔드가 더 이상 사용되지 않음

Bacula 백업 시스템은 PostgreSQL, MySQL 및ECDHE의 여러 데이터베이스 백엔드를 지원합니다. CloudEvent 백엔드는 더 이상 사용되지 않으며 RHEL의 이후 릴리스에서 지원되지 않습니다. 대체 방법으로 다른 백엔드(PostgreSQL 또는 MySQL) 중 하나로 마이그레이션하고 새 배포에서 10.0.0.1 백엔드를 사용하지 않습니다.

Bugzilla:2089395

10.4. 보안

암호화 목적으로 SHA-1이 더 이상 사용되지 않음

암호화 목적으로 SHA-1 메시지 다이제스트 사용은 RHEL 9에서 더 이상 사용되지 않습니다. SHA-1에 의해 생성된 다이제스트는 해시 충돌을 찾는 것으로 문서화된 많은 성공적인 공격으로 인해 안전하지 않은 것으로 간주되지 않습니다. RHEL 코어 암호화 구성 요소는 더 이상 기본적으로 SHA-1을 사용하여 서명을 생성하지 않습니다. 보안 관련 사용 사례에서 SHA-1을 사용하지 않도록 RHEL 9의 애플리케이션이 업데이트되었습니다.

예외 중 HMAC-SHA1 메시지 인증 코드와 UUID(Universal Unique Identifier) 값은 현재 보안 위험을 초래하지 않기 때문에 SHA-1을 사용하여 만들 수 있습니다. SHA-1은 Kerberos 및ECDHE-2와 같은 중요한 상호 운용성 및 호환성 문제로 연결된 제한된 경우에만 사용할 수 있습니다. 자세한 내용은 RHEL 9 보안 강화 문서의 FIPS 140-3과 호환되지 않는 암호화를 사용하는 RHEL 애플리케이션 목록을 참조하십시오.

시나리오에 기존 또는 타사 암호화 서명을 확인하기 위해 SHA-1을 사용해야 하는 경우 다음 명령을 입력하여 활성화할 수 있습니다.

# update-crypto-policies --set DEFAULT:SHA1

또는 시스템 전체 암호화 정책을 LEGACY 정책으로 전환할 수 있습니다. LEGACY 는 안전하지 않은 많은 다른 알고리즘도 활성화합니다.

Jira:RHELPLAN-110763

fapolicyd.rules 가 더 이상 사용되지 않음

허용 및 거부 실행 규칙이 포함된 파일의 /etc/fapolicyd/rules.d/ 디렉터리는 /etc/fapolicyd/fapolicyd.rules 파일을 대체합니다. 이제 fagenrules 스크립트에서 이 디렉터리의 모든 구성 요소 규칙 파일을 /etc/fapolicyd/ECDHE.rules 파일에 병합합니다. /etc/fapolicyd/fapolicyd.trust 의 규칙은 fapolicyd 프레임워크에서 계속 처리하지만 이전 버전과의 호환성을 보장하기 위해서만 처리됩니다.

Bugzilla:2054740

RHEL 9에서 SCP가 더 이상 사용되지 않음

SCP(Secure copy protocol)는 알려진 보안 취약점이 있기 때문에 더 이상 사용되지 않습니다. RHEL 9 라이프사이클에서 SCP API를 계속 사용할 수 있지만 이를 사용하면 시스템 보안이 저하됩니다.

  • scp 유틸리티에서 SCP는 기본적으로 SSH 파일 전송 프로토콜(SECDHE)으로 교체됩니다.
  • OpenSSH 제품군은 RHEL 9에서 SCP를 사용하지 않습니다.
  • libssh 라이브러리에서 SCP가 더 이상 사용되지 않습니다.

Jira:RHELPLAN-99136

SASL의 digest-ECDHE5가 더 이상 사용되지 않음

SASL(Simple Authentication Security Layer) 프레임워크의 Digest-ECDHE5 인증 메커니즘은 더 이상 사용되지 않으며 향후 주요 릴리스의 Cyrus-sasl 패키지에서 제거될 수 있습니다.

Bugzilla:1995600

OpenSSL은 MD2, MD4, MDC2, Whirlpool, Blowfish, DES, IDEA, RC2, RC4, SEED 및 PBKDF1을 더 이상 사용하지 않습니다.

OpenSSL 프로젝트는 안전하지 않거나 일반적으로 사용되지 않거나 둘 다이므로 암호화 알고리즘 세트를 더 이상 사용되지 않습니다. Red Hat은 이러한 알고리즘의 사용을 권장하지 않으며 RHEL 9는 새로운 알고리즘을 사용하도록 암호화된 데이터를 마이그레이션하기 위해 이를 제공합니다. 사용자는 시스템 보안을 위해 이러한 알고리즘에 의존해서는 안 됩니다.

다음 알고리즘의 구현은 OpenSSL에서 MD2, MD4, MDC2, Whirlpool, Blowfish, DES, IDEA, RC2, RC4, SEED 및 PBKDF1에서 레거시 공급자로 이동되었습니다.

기존 공급자를 로드하고 더 이상 사용되지 않는 알고리즘에 대한 지원을 활성화하는 방법에 대한 지침은 /etc/pki/tls/openssl.cnf 구성 파일을 참조하십시오.

Bugzilla:1975836

/etc/system-fips 가 더 이상 사용되지 않음

/etc/system-fips 파일을 통해 FIPS 모드를 나타내는 지원이 제거되었으며 파일은 향후 RHEL 버전에 포함되지 않습니다. FIPS 모드에서 RHEL을 설치하려면 시스템 설치 중에 fips=1 매개변수를 커널 명령줄에 추가합니다. fips-mode-setup --check 명령을 사용하여 RHEL이 FIPS 모드에서 작동하는지 확인할 수 있습니다.

Jira:RHELPLAN-103232

libcrypt.so.1 is now deprecated

libcrypt.so.1 라이브러리는 더 이상 사용되지 않으며 향후 RHEL 버전에서 제거될 수 있습니다.

Bugzilla:2034569

OpenSSL은 FIPS 모드에서 RSA 암호화 패딩이 필요합니다.

OpenSSL은 FIPS 모드에서 패딩 없이 더 이상 RSA 암호화를 지원하지 않습니다. 패딩이 없는 RSA 암호화는 드문 경우이며 거의 사용되지 않습니다. RSA (RSASVE)를 사용한 키 캡슐화는 패딩을 사용하지 않지만 계속 지원됩니다.

Bugzilla:2168665

10.5. 네트워킹

RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음

서비스 및 libteam 라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 교체로 네트워크 팀 대신 본딩을 구성합니다.

Red Hat은 유사한 기능을 갖춘 두 가지 기능인 본딩 및 팀을 유지 관리하지 않도록 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 고객의 채택이 뛰어나고 강력하며 적극적인 커뮤니티 개발을 하고 있습니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 받습니다.

팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션을 참조하십시오.

Bugzilla:1935544

ifcfg 형식의 NetworkManager 연결 프로필이 더 이상 사용되지 않음

RHEL 9.0 이상에서는 ifcfg 형식의 연결 프로필이 더 이상 사용되지 않습니다. 다음 주요 RHEL 릴리스에서는 이 형식에 대한 지원이 제거됩니다. 그러나 RHEL 9에서는 수정 시 NetworkManager는 이 형식의 기존 프로필을 계속 처리하고 업데이트합니다.

기본적으로 NetworkManager는 이제 /etc/NetworkManager/system-connections/ 디렉터리에 있는 키 파일 형식으로 연결 프로필을 저장합니다. ifcfg 형식과 달리 키 파일 형식은 NetworkManager가 제공하는 모든 연결 설정을 지원합니다. 키 파일 형식 및 프로필을 마이그레이션하는 방법에 대한 자세한 내용은 키 파일 형식의 NetworkManager 연결 프로필을 참조하십시오.

Bugzilla:1894877

firewalldiptables 백엔드가 더 이상 사용되지 않음

RHEL 9에서는 iptables 프레임워크가 더 이상 사용되지 않습니다. 결과적으로 iptables 백엔드와 firewalld직접 인터페이스 도 더 이상 사용되지 않습니다. 직접 인터페이스 대신 firewalld 의 네이티브 기능을 사용하여 필요한 규칙을 구성할 수 있습니다.

Bugzilla:2089200

10.6. 커널

RHEL 9에서 ScanSetting 캡슐화가 더 이상 사용되지 않음

ATM(Asynchronous Transfer Mode) 캡슐화를 사용하면 ScanSetting Adaptation Layer 5(AAL-5)에 대해 Layer-2(Point-to- Point Protocol, Ethernet) 또는 Layer-3(IP) 연결을 활성화합니다. Red Hat은 RHEL 7 이후 ScanSetting NIC 드라이버를 지원하지 않았습니다. RHEL 9에서 ScanSetting 구현에 대한 지원이 중단되고 있습니다. 이러한 프로토콜은 현재 ADSL 기술을 지원하고 제조업체에 의해 단계적으로 제거되는 칩셋에서만 사용됩니다. 따라서 Red Hat Enterprise Linux 9에서는 ScanSetting 캡슐화가 더 이상 사용되지 않습니다.

자세한 내용은 Mellanox Over AAL5,Multiprotocol Encapsulation overanchor Adaptation Layer 5, Classical IP 및 ARP overknative .를 참조하십시오.

Bugzilla:2058153

kexec-toolskexec_load 시스템 호출이 더 이상 사용되지 않음

두 번째 커널을 로드하는 kexec_load 시스템 호출은 향후 RHEL 릴리스에서 지원되지 않습니다. kexec_file_load 시스템 호출은 kexec_load 를 대체하고 이제 모든 아키텍처의 기본 시스템 호출입니다.

Bugzilla:2113873

RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음

서비스 및 libteam 라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 교체로 네트워크 팀 대신 본딩을 구성합니다.

Red Hat은 유사한 기능을 갖춘 두 가지 기능인 본딩 및 팀을 유지 관리하지 않도록 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 고객의 채택이 뛰어나고 강력하며 적극적인 커뮤니티 개발을 하고 있습니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 받습니다.

팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션을 참조하십시오.

Bugzilla:2013884

10.7. 파일 시스템 및 스토리지

lvm2-activation-generator 및 RHEL 9.0에서 제거된 서비스

lvm2-activation-generator 프로그램과 생성된 서비스 lvm2-activation,lvm2-activation-early, lvm2-activation-net 이 RHEL 9.0에서 제거됩니다. 서비스를 활성화하는 데 사용되는 lvm.conf event_activation 설정이 더 이상 작동하지 않습니다. 볼륨 그룹을 자동 활성화하는 유일한 방법은 이벤트 기반 활성화입니다.

Bugzilla:2038183

10.8. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버

libdb 가 더 이상 사용되지 않음

RHEL 8 및 RHEL 9는 현재 BerkeleyPLv2 라이센스에 따라 배포되는 Berkeley DB (libdb) 버전 5.3.28을 제공합니다. 업스트림 Berkeley DB 버전 6은 더 제한적인 AGPLv3 라이센스에 따라 제공됩니다.

libdb 패키지는 RHEL 9부터 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제공되지 않을 수 있습니다.

또한 RHEL 9의 libdb 에서 암호화 알고리즘이 제거되었으며 RHEL 9에서 여러 libdb 종속 항목이 제거되었습니다.

libdb 사용자는 다른 키-값 데이터베이스로 마이그레이션하는 것이 좋습니다. 자세한 내용은 RHEL에서 더 이상 사용되지 않는 Berkeley DB(libdb)에 대한 지식베이스 문서 Available replacements for the deprecated Berkeley DB (libdb) 를 참조하십시오.

Bugzilla:1927780, Jira:RHELPLAN-80695, Bugzilla:1974657

10.9. 컴파일러 및 개발 도구

2048보다 작은 키 크기는 openssl 3.0에서 더 이상 사용되지 않습니다.

2048비트보다 작은 키 크기는 openssl 3.0에서 더 이상 사용되지 않으며 Go의 FIPS 모드에서 더 이상 작동하지 않습니다.

Bugzilla:2111072

일부 PKCS1 v1.5 모드가 더 이상 사용되지 않음

일부 PKCS1 v1.5 모드는 암호화에 대해 FIPS-140-3 에서 승인되지 않으며 비활성화됩니다. Go의 FIPS 모드에서는 더 이상 작동하지 않습니다.

Bugzilla:2092016

10.10. IdM (Identity Management)

OpenDNSSec의 SHA-1 이 더 이상 사용되지 않음

OpenDNSSec은 SHA-1 알고리즘을 사용하여 디지털 서명 및 인증 레코드 내보내기를 지원합니다. SHA-1 알고리즘의 사용은 더 이상 지원되지 않습니다. RHEL 9 릴리스에서는 OpenDNSSec의 SHA-1 이 더 이상 사용되지 않으며 향후 마이너 릴리스에서 제거될 수 있습니다. 또한 OpenDNSSec 지원은 Red Hat Identity Management와의 통합으로 제한됩니다. OpenDNSSec은 독립형으로 지원되지 않습니다.

Bugzilla:1979521

SSSD 암시적 파일 공급자 도메인은 기본적으로 비활성화되어 있습니다.

/etc/shadow/etc/groups 에서 그룹 정보와 같은 로컬 파일에서 사용자 정보를 검색하는 SSSD 암시적 파일 공급자 도메인은 이제 기본적으로 비활성화되어 있습니다.

SSSD를 사용하여 로컬 파일에서 사용자 및 그룹 정보를 검색하려면 다음을 수행합니다.

  1. SSSD를 구성합니다. 다음 옵션 중 하나를 선택합니다.

    1. sssd.conf 구성 파일에서 id_provider=files 옵션을 사용하여 로컬 도메인을 명시적으로 구성합니다.

      [domain/local]
      id_provider=files
      ...
    2. sssd.conf 구성 파일에 enable_files_domain=true 를 설정하여 파일 공급자를 활성화합니다.

      [sssd]
      enable_files_domain = true
  2. 이름 서비스 전환을 구성합니다.

    # authselect enable-feature with-files-provider

Jira:RHELPLAN-100639

-h-p 옵션은 OpenLDAP 클라이언트 유틸리티에서 더 이상 사용되지 않습니다.

업스트림 OpenLDAP 프로젝트는 유틸리티에서 -h-p 옵션을 더 이상 사용되지 않으며, 대신 -H 옵션을 사용하여 LDAP URI를 지정하는 것이 좋습니다. 결과적으로 RHEL 9는 모든 OpenLDAP 클라이언트 유틸리티에서 이 두 가지 옵션을 더 이상 사용되지 않습니다. 향후 릴리스의 RHEL 제품에서 -h-p 옵션이 제거됩니다.

Jira:RHELPLAN-137660

SSSD 파일 공급자가 더 이상 사용되지 않음

SSSD 파일 공급자는 RHEL(Red Hat Enterprise Linux) 9에서 더 이상 사용되지 않습니다. 파일 공급자는 RHEL의 향후 릴리스에서 제거될 수 있습니다.

Jira:RHELPLAN-139805

nsslapd-idlistscanlimit 매개변수가 더 이상 사용되지 않으며 기본값이 변경되었습니다.

새로운 필터 순서 최적화를 사용하면 검색 성능에 미치는 nsslapd-idlistlimit 특성에 미치는 영향이 도움이 됩니다. 결과적으로 속성은 더 이상 사용되지 않습니다. 또한 기본값은 2147483646 (unlimited)으로 변경되었습니다.

Bugzilla:1952241

SMB1 프로토콜은 Samba에서 더 이상 사용되지 않음

Samba 4.11부터 비보안 SMB1(Server Message Block 버전 1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

보안을 개선하기 위해 기본적으로 SMB1은 Samba 서버 및 클라이언트 유틸리티에서 비활성화되어 있습니다.

Jira:RHELDOCS-16612

10.11. 데스크탑

GTK 2가 더 이상 사용되지 않음

레거시 GTK 2 툴킷 및 다음과 같은 관련 패키지는 더 이상 사용되지 않습니다.

  • adwaita-gtk2-theme
  • gnome-common
  • gtk2
  • gtk2-immodules
  • hexchat

현재 다른 여러 패키지는 GTK 2에 따라 다릅니다. 이는 향후 주요 RHEL 릴리스에서 더 이상 사용되지 않는 패키지에 의존하지 않도록 수정되었습니다.

GTK 2를 사용하는 애플리케이션을 유지 관리하는 경우 애플리케이션을 GTK 4에 포트하는 것이 좋습니다.

Jira:RHELPLAN-131882

LibreOffice가 더 이상 사용되지 않음

LibreOffice RPM 패키지는 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제거될 예정입니다. LibreOffice는 RHEL 7, 8 및 9의 전체 라이프 사이클을 통해 계속 지원됩니다.

RPM 패키지를 대체하기 위해 The Document Foundation에서 제공하는 다음 소스 중 하나에서 LibreOffice를 설치하는 것이 좋습니다.

Jira:RHELDOCS-16300

10.12. 그래픽 인프라

motif가 더 이상 사용되지 않음

업스트림 Motif 커뮤니티의 개발이 비활성 상태이기 때문에 RHEL에서 Motif 위젯 툴킷이 더 이상 사용되지 않습니다.

다음 Motif 패키지는 개발 및 디버깅 변형을 포함하여 더 이상 사용되지 않습니다.

  • motif
  • openmotif
  • openmotif21
  • openmotif22

또한 motif-static 패키지가 제거되었습니다.

GTK 툴킷을 대체용으로 사용할 것을 권장합니다. GTK는 보다 유지 관리할 수 있으며 Motif에 비해 새로운 기능을 제공합니다.

Jira:RHELPLAN-98983

10.13. Red Hat Enterprise Linux System Roles

RHEL 9 노드에서 팀을 구성할 때 네트워크 시스템 역할에 사용 중단 경고가 표시됩니다.

RHEL 9에서는 네트워크 팀 구성 기능이 더 이상 사용되지 않습니다. 결과적으로 RHEL 8 제어 노드에서 네트워크 RHEL 시스템 역할을 사용하여 RHEL 9 노드에서 네트워크 팀을 구성하면 사용 중단에 대한 경고가 표시됩니다.

Bugzilla:1999770

10.14. 가상화

SHA1- 기반 서명을 사용한 SecureBoot 이미지 확인이 더 이상 사용되지 않음

UEFI (PE/COFF) 실행 파일에서 SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인을 수행하는 것이 더 이상 사용되지 않습니다. 대신 Red Hat은 SHA2 알고리즘 이상을 기반으로 서명을 사용하는 것이 좋습니다.

Bugzilla:1935497

가상 머신 스냅샷 지원 제한

현재 VM(가상 머신)의 스냅샷 생성은 UEFI 펌웨어를 사용하지 않는 VM에서만 지원됩니다. 또한 스냅샷 작업 중에 QEMU 모니터가 차단되어 특정 워크로드의 하이퍼바이저 성능에 부정적인 영향을 미칠 수 있습니다.

또한 현재 VM 스냅샷 생성 메커니즘이 더 이상 사용되지 않으며 프로덕션 환경에서 VM 스냅샷을 사용하지 않는 것이 좋습니다. 그러나 새로운 VM 스냅샷 메커니즘이 개발 중이며 향후 RHEL 9 마이너 릴리스에서 완전히 구현될 예정입니다.

Jira:RHELPLAN-15509, Bugzilla:1621944

가상 플로피 드라이버가 더 이상 사용되지 않음

가상 플로피 디스크 장치를 제어하는 isa-fdc 드라이버는 더 이상 사용되지 않으며 RHEL의 향후 릴리스에서 지원되지 않습니다. 따라서 마이그레이션된 VM(가상 머신)과의 향후 호환성을 보장하기 위해 RHEL 9에서 호스팅되는 VM에서 플로피 디스크 장치를 사용하지 않는 것이 좋습니다.

Bugzilla:1965079

qcow2-v2 이미지 형식이 더 이상 사용되지 않음

RHEL 9에서는 가상 디스크 이미지의 qcow2-v2 형식이 더 이상 사용되지 않으며 RHEL의 향후 주요 릴리스에서 지원되지 않습니다. 또한 RHEL 9 Image Builder는 qcow2-v2 형식으로 디스크 이미지를 생성할 수 없습니다.

qcow2-v2 대신 qcow2-v3 사용을 권장합니다. qcow2-v2 이미지를 최신 형식 버전으로 변환하려면 qemu-img amend 명령을 사용합니다.

Bugzilla:1951814

virt-manager가 더 이상 사용되지 않음

virt-manager라고도 하는 Virtual Machine Manager 애플리케이션은 더 이상 사용되지 않습니다. Cockpit 라고도 하는 RHEL 웹 콘솔은 후속 릴리스에서 교체될 예정입니다. 따라서 GUI에서 가상화를 관리하기 위해 웹 콘솔을 사용하는 것이 좋습니다. 그러나 virt-manager 에서 사용할 수 있는 일부 기능은 RHEL 웹 콘솔에서 아직 제공되지 않을 수 있습니다.

Jira:RHELPLAN-10304

libvirtd 가 더 이상 사용되지 않음

모놀리식 libvirt 데몬 libvirtd 는 RHEL 9에서 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 제거됩니다. 하이퍼바이저에서 가상화를 관리하는 데 libvirtd 를 계속 사용할 수 있지만 Red Hat은 새로 도입된 모듈식 libvirt 데몬으로 전환하는 것이 좋습니다. 지침 및 자세한 내용은 RHEL 9 구성 및 관리 문서를 참조하십시오.

Jira:RHELPLAN-113995

레거시 CPU 모델이 더 이상 사용되지 않음

상당한 수의 CPU 모델이 더 이상 사용되지 않으며 RHEL의 향후 주요 릴리스에서 VM(가상 머신)에서 사용할 수 없습니다. 더 이상 사용되지 않는 모델은 다음과 같습니다.

  • Intel의 경우: Intel Xeon 55xx 및 75xx 프로세서 제품군 이전 모델 (Nhalem이라고도 함)
  • AMD의 경우: AMD Opteron G4 이전 모델
  • IBM Z: IBM z14 이전의 모델

VM에서 더 이상 사용되지 않는 CPU 모델을 사용하고 있는지 확인하려면 virsh dominfo 유틸리티를 사용하여 Messages 섹션에서 다음과 유사한 행을 찾습니다.

tainted: use of deprecated configuration settings
deprecated configuration: CPU model 'i486'

Bugzilla:2060839

RDMA 기반 실시간 마이그레이션이 더 이상 사용되지 않음

이번 업데이트를 통해 RDP(Remote Direct Memory Access)를 사용하여 실행 중인 가상 머신 마이그레이션이 더 이상 사용되지 않습니다. 결과적으로 rdma:// 마이그레이션 URI를 사용하여 RDMA를 통해 마이그레이션을 요청할 수 있지만 이 기능은 향후 RHEL 주요 릴리스에서 지원되지 않습니다.

Jira:RHELPLAN-153267

10.15. 컨테이너

RHEL 7 호스트에서 RHEL 9 컨테이너 실행은 지원되지 않습니다.

RHEL 7 호스트에서 RHEL 9 컨테이너 실행은 지원되지 않습니다. 작동할 수는 있지만 보장되지는 않습니다.

자세한 내용은 Red Hat Enterprise Linux 컨테이너 호환성 매트릭스 를 참조하십시오.

Jira:RHELPLAN-100087

Podman 내의 SHA1 해시 알고리즘이 더 이상 사용되지 않음

Podman에서 루트리스 네트워크 네임스페이스의 파일 이름을 생성하는 데 사용되는 SHA1 알고리즘은 더 이상 지원되지 않습니다. 따라서 Podman 4.1.1 이상으로 업데이트하기 전에 시작된 rootless 컨테이너를 네트워크에 조인하면(Salirp 4netns를 사용하지 않음) 업그레이드 후 컨테이너에 연결할 수 있도록 해야 합니다.

Bugzilla:2069279

rhel9/pause 가 더 이상 사용되지 않음

rhel9/pause 컨테이너 이미지가 더 이상 사용되지 않습니다.

Bugzilla:2106816

CNI 네트워크 스택이 더 이상 사용되지 않음

CNI(Container Network Interface) 네트워크 스택은 향후 마이너 버전에서 더 이상 사용되지 않습니다. 이전에는 단일 CNI(Container Network Interface) 플러그인에 연결된 컨테이너가 DNS를 통해서만 플러그인에 연결되었습니다. Podman v.4.0은 새로운 Netavark 네트워크 스택을 도입했습니다. Podman 및 기타 OCI(Open Container Initiative) 컨테이너 관리 애플리케이션과 함께 Netavark 네트워크 스택을 사용할 수 있습니다. Podman용 Netavark 네트워크 스택은 고급 Docker 기능과도 호환됩니다. 여러 네트워크의 컨테이너는 이러한 네트워크의 컨테이너에 액세스할 수 있습니다.

자세한 내용은 CNI에서 Netavark로 네트워크 스택 전환을 참조하십시오.

Jira:RHELPLAN-147725

10.16. 더 이상 사용되지 않는 패키지

이 섹션에는 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 주요 릴리스에 포함되지 않는 패키지가 나열되어 있습니다.

RHEL 8과 RHEL 9 간의 패키지 변경 사항은 RHEL 9을 채택할 때 고려 사항의 패키지 변경을 참조하십시오.

중요

더 이상 사용되지 않는 패키지의 지원 상태는 RHEL 9 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.

RHEL 9에서는 다음 패키지가 더 이상 사용되지 않습니다.

  • iptables-devel
  • iptables-libs
  • iptables-nft
  • iptables-nft-services
  • iptables-utils
  • libdb
  • mcpp
  • mod_auth_mellon
  • motif
  • motif-devel
  • python3-pytz
  • xorg-x11-server-Xorg

11장. 확인된 문제

이 부분에서는 Red Hat Enterprise Linux 9.2의 알려진 문제에 대해 설명합니다.

11.1. 설치 프로그램 및 이미지 생성

authauthconfig Kickstart 명령에는 AppStream 리포지토리가 필요

authselect-compat 패키지는 설치하는 동안 authauthconfig Kickstart 명령이 필요합니다. 이 패키지가 없으면 auth 또는 authconfig가 사용되는 경우 설치에 실패합니다. 설계에 따라 authselect-compat 패키지는 AppStream 리포지토리에서만 사용할 수 있습니다.

이 문제를 해결하려면 설치 프로그램에 BaseOS 및 AppStream 리포지토리를 사용할 수 있는지 확인하거나 설치 중에 authselect Kickstart 명령을 사용합니다.

Bugzilla:1640697

reboot --kexecinst.kexec 명령에서 예측 가능한 시스템 상태를 제공하지 않음

reboot --kexec Kickstart 명령 또는 inst.kexec 커널 부팅 매개변수를 사용하여 RHEL 설치를 수행하면 전체 재부팅과 동일한 예측 가능한 시스템 상태를 제공하지 않습니다. 결과적으로 재부팅하지 않고 설치된 시스템으로 전환하면 예기치 않은 결과가 발생할 수 있습니다.

kexec 기능은 더 이상 사용되지 않으며 Red Hat Enterprise Linux의 향후 릴리스에서 제거될 예정입니다.

Bugzilla:1697896

Anaconda가 애플리케이션으로 실행되는 시스템에서 예기치 않은 SELinux 정책

Anaconda가 이미 설치된 시스템에서 애플리케이션으로 실행되는 경우(예: -image anaconda 옵션을 사용하여 이미지 파일에 다른 설치를 수행하기 위해) 시스템이 설치 중 SELinux 유형 및 속성을 수정하는 것을 금지하지 않습니다. 결과적으로 Anaconda가 실행 중인 시스템에서 SELinux 정책의 특정 요소가 변경될 수 있었습니다. 이 문제를 해결하려면 프로덕션 시스템에서 Anaconda를 실행하지 말고 임시 가상 머신에서 실행하십시오. 프로덕션 시스템의 SELinux 정책이 수정되지 않도록 합니다. boot.iso 또는 ….iso.iso에서 설치하는 등 시스템 설치 프로세스의 일부로 anaconda를 실행하는 것은 이 문제의 영향을 받지 않습니다.

Bugzilla:2050140

타사 도구를 사용하여 생성된 USB에서 설치를 부팅할 때 로컬 미디어 설치 소스가 탐지되지 않음

타사 도구를 사용하여 생성된 USB에서 RHEL 설치를 부팅할 때 설치 프로그램이 로컬 미디어 설치 소스( Red Hat CDN 만 감지)를 감지하지 못합니다.

이 문제는 기본 부팅 옵션 int.stage2=iso9660 이미지 형식을 검색하려고 시도하기 때문에 발생합니다. 그러나 타사 툴에서 다른 형식으로 ISO 이미지를 생성할 수 있습니다.

해결 방법으로 다음 해결 방법을 사용하십시오.

  • 설치를 부팅할 때 Tab 키를 클릭하여 커널 명령줄을 편집하고 inst.stage2=inst.repo= 로 변경합니다.
  • Windows에서 부팅 가능한 USB 장치를 생성하려면 Fedora Media Writer를 사용합니다.
  • Rufus와 같은 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성하는 경우 먼저 Linux 시스템에서 RHEL ISO 이미지를 다시 생성한 다음 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성합니다.

지정된 해결방법을 수행하는 것과 관련된 단계에 대한 자세한 내용은 RHEL 8.3 설치 중에 설치 미디어가 자동 탐지되지 않음을 참조하십시오.

Bugzilla:1877697

Anaconda에서 USB CD-ROM 드라이브를 설치 소스로 사용할 수 없습니다.

USB CD-ROM 드라이브가 해당 드라이브의 소스이고 Kickstart ignoredisk --only-use= 명령을 지정하면 설치에 실패합니다. 이 경우 Anaconda는 이 소스 디스크를 찾아서 사용할 수 없습니다.

이 문제를 해결하려면 harddrive --partition=sdX --dir=/ 명령을 사용하여 USB CD-ROM 드라이브에서 설치합니다. 이로 인해 설치에 실패하지 않습니다.

Bugzilla:1914955

드라이버 디스크 메뉴가 콘솔에 사용자 입력을 표시하지 못했습니다

드라이버 디스크가 있는 커널 명령행에서 inst.dd 옵션을 사용하여 RHEL 설치를 시작하면 콘솔에 사용자 입력이 표시되지 않습니다. 결과적으로 애플리케이션이 사용자 입력 및 정지에 응답하지 않지만 사용자에게 혼동되는 출력이 표시됩니다. 그러나 이 동작은 기능에 영향을 미치지 않으며 Enter 를 누른 후 사용자 입력이 등록됩니다.

해결 방법으로 예상 결과를 보려면 콘솔에 사용자 입력이 없는 것을 무시하고 입력 추가 완료 시 Enter 키를 누릅니다.

Bugzilla:2109231

iso9660 파일 시스템을 사용하여 분할된 설치 실패

하드 드라이브가 iso9660 파일 시스템으로 분할된 시스템에는 RHEL을 설치할 수 없습니다. 이는 iso9660 파일 시스템 파티션을 포함하는 하드 디스크를 무시하도록 설정된 업데이트된 설치 코드 때문입니다. 이는 DVD를 사용하지 않고 RHEL을 설치하는 경우에도 발생합니다.

이 문제를 해결하려면 Kickstart 파일에 다음 스크립트를 추가하여 설치를 시작하기 전에 디스크를 포맷합니다.

참고: 해결 방법을 수행하기 전에 디스크에서 사용 가능한 데이터를 백업하십시오. wipefs 명령은 디스크의 기존 데이터를 모두 포맷합니다.

%pre
wipefs -a /dev/sda
%end

결과적으로 설치는 오류 없이 예상대로 작동합니다.

Bugzilla:1929105

Anaconda에서 관리자 계정이 있는지 확인하지 못했습니다.

그래픽 사용자 인터페이스를 사용하여 RHEL을 설치하는 동안 Anaconda는 관리자 계정이 생성되었는지 확인하지 못합니다. 결과적으로 사용자는 관리자 사용자 계정없이 시스템을 설치할 수 있습니다.

이 문제를 해결하려면 관리자 계정을 구성하거나 root 암호가 설정되어 root 계정의 잠금을 해제해야 합니다. 결과적으로 사용자는 설치된 시스템에서 관리 작업을 수행할 수 있습니다.

Bugzilla:2047713

새로운 XFS 기능은 버전 5.10 이전 펌웨어를 사용하여 PowerNV IBM POWER 시스템 부팅을 방지합니다.

PowerNV IBM POWER 시스템은 펌웨어에 Linux 커널을 사용하고 GRUB 대신 Petitboot를 사용합니다. 그러면 펌웨어 커널이 /boot 및 Petitboot에서 GRUB 설정을 읽고 RHEL을 부팅합니다.

RHEL 9 커널은 bigtime=1inobtcount=1 기능을 버전 5.10 미만의 펌웨어가 있는 커널에서 이해할 수 없는 XFS 파일 시스템에 도입합니다.

이 문제를 해결하려면 /boot 에 다른 파일 시스템을 사용할 수 있습니다(예: ext4).

Bugzilla:1997832

RHEL for Edge 설치 프로그램 이미지가 rpm-ostree 페이로드를 설치할 때 마운트 지점을 생성하지 못했습니다.

RHEL for Edge 설치 프로그램 이미지에 사용되는 rpm-ostree 페이로드를 배포할 때 설치 프로그램이 사용자 지정 파티션에 대한 일부 마운트 지점을 제대로 생성하지 않습니다. 결과적으로 다음 오류로 인해 설치가 중단됩니다.

The command 'mount --bind /mnt/sysimage/data /mnt/sysroot/data' exited with the code 32.

이 문제를 해결하려면 다음을 수행합니다.

  • 자동 파티션 구성표를 사용하고 수동으로 마운트 지점을 추가하지 마십시오.
  • /var 디렉토리 내에서만 마운트 지점을 수동으로 할당합니다. 예를 들어 /var/my-mount-point및 /var , / boot,/var.

결과적으로 설치 프로세스가 성공적으로 완료됩니다.

Bugzilla:2125542

네트워크에 연결할 때 NetworkManager가 설치 후 시작되지 않지만 DHCP 또는 고정 IP 주소가 구성되지 않음

RHEL 9.0부터 Anaconda는 특정 ip= 또는 kickstart 네트워크 구성이 설정되지 않은 경우 네트워크 장치를 자동으로 활성화합니다. Anaconda는 각 이더넷 장치에 대한 기본 영구 구성 파일을 생성합니다. 연결 프로필에는 ONBOOTautoconnect 값이 true 로 설정됩니다. 결과적으로 설치된 시스템을 시작하는 동안 RHEL은 네트워크 장치를 활성화하고 networkManager-wait-online 서비스가 실패합니다.

해결 방법으로 다음 중 하나를 수행합니다.

  • 사용하려는 연결을 제외하고 nmcli 유틸리티를 사용하여 모든 연결을 삭제합니다. 예를 들면 다음과 같습니다.

    1. 모든 연결 프로필을 나열합니다.

      # nmcli connection show
    2. 필요하지 않은 연결 프로필을 삭제합니다.

      # nmcli connection delete <connection_name>

      <connection_name>을 삭제할 연결 이름으로 바꿉니다.

  • 특정 ip= 또는 kickstart 네트워크 구성이 설정되지 않은 경우 Anaconda에서 자동 연결 네트워크 기능을 비활성화합니다.

    1. Anaconda GUI에서 네트워크 및 호스트 이름으로 이동합니다.
    2. 비활성화할 네트워크 장치를 선택합니다.
    3. 구성을 클릭합니다.
    4. 일반 탭에서 우선 순위로 자동으로 연결을선택 취소합니다.
    5. 저장을 클릭합니다.

Bugzilla:2115783

설치 환경의 드라이버 업데이트 디스크에서 업데이트된 드라이버를 로드할 수 없음

설치 초기 램디스크의 동일한 드라이버가 이미 로드된 경우 드라이버 업데이트 디스크의 새 버전의 드라이버가 로드되지 않을 수 있습니다. 결과적으로 업데이트된 버전의 드라이버를 설치 환경에 적용할 수 없습니다.

이 문제를 해결하려면 inst.dd 옵션과 함께 modprobe.blacklist= 커널 명령줄 옵션을 사용합니다. 예를 들어 드라이버 업데이트 디스크에서 virtio_blk 드라이버의 업데이트된 버전이 로드되도록 하려면 modprobe.blacklist=virtio_blk 를 사용한 다음 드라이버 업데이트 디스크에서 드라이버를 적용하려면 일반 절차를 계속합니다. 결과적으로 시스템은 업데이트된 버전의 드라이버를 로드하여 설치 환경에서 사용할 수 있습니다.

Bugzilla:2164216

Kickstart 설치가 네트워크 연결을 구성하지 못했습니다.

Anaconda는 NetworkManager API를 통해서만 Kickstart 네트워크 구성을 수행합니다. Anaconda는 %pre kickstart 섹션 이후에 네트워크 구성을 처리합니다. 결과적으로 kickstart %pre 섹션의 일부 작업이 차단됩니다. 예를 들어 %pre 섹션에서 패키지를 다운로드하면 네트워크 구성을 사용할 수 없으므로 실패합니다.

이 문제를 해결하려면 다음을 수행합니다.

  • 예를 들어 nmcli 툴을 %pre 스크립트의 일부로 사용하여 네트워크를 구성합니다.
  • 설치 프로그램 부팅 옵션을 사용하여 %pre 스크립트의 네트워크를 구성합니다.

결과적으로 %pre 섹션의 작업에 네트워크를 사용할 수 있으며 Kickstart 설치 프로세스가 완료됩니다.

Bugzilla:2173992

11.2. 소프트웨어 관리

설치 프로세스가 응답하지 않는 경우가 있음

RHEL을 설치할 때 설치 프로세스가 응답하지 않는 경우가 있습니다. /tmp/packaging.log 파일은 끝에 다음 메시지를 표시합니다.

10:20:56,416 DDEBUG dnf: RPM transaction over.

이 문제를 해결하려면 설치 프로세스를 다시 시작합니다.

Bugzilla:2073510

11.3. 쉘 및 명령행 툴

ifcfg 파일을 사용하여 네트워크 인터페이스 이름 변경 실패

RHEL 9에서는 기본적으로 initscripts 패키지가 설치되지 않습니다. 결과적으로 ifcfg 파일을 사용하여 네트워크 인터페이스 이름 변경이 실패합니다. 이 문제를 해결하기 위해 Red Hat은 udev 규칙 또는 링크 파일을 사용하여 인터페이스 이름을 변경하는 것이 좋습니다. 자세한 내용은 Consistent 네트워크 인터페이스 장치 이름 지정systemd.link(5) 매뉴얼 페이지를 참조하십시오.

권장 솔루션 중 하나를 사용할 수 없는 경우 initscripts 패키지를 설치합니다.

Bugzilla:2018112

RHEL 9에 기본적으로 chkconfig 패키지가 설치되지 않습니다.

시스템 서비스에 대한 이전 버전 정보를 업데이트하고 쿼리하는 chkconfig 패키지는 기본적으로 RHEL 9에 설치되지 않습니다.

서비스를 관리하려면 systemctl 명령을 사용하거나 chkconfig 패키지를 수동으로 설치합니다.

systemd 에 대한 자세한 내용은 systemd 관리를 참조하십시오. systemctl 유틸리티를 사용하는 방법에 대한 자세한 내용은 systemctl을 사용하여 시스템 서비스 관리를 참조하십시오.

Bugzilla:2053598

SLP(Service Location Protocol)는 UDP를 통한 공격에 취약합니다.

OpenSLP는 프린터 및 파일 서버와 같은 로컬 영역 네트워크의 애플리케이션에 대한 동적 구성 메커니즘을 제공합니다. 그러나 SLP는 인터넷에 연결된 시스템에서 UDP를 통한 서비스 확장 공격에 취약합니다. SLP를 사용하면 인증되지 않은 공격자가 SLP 구현에 의해 설정된 제한 없이 새 서비스를 등록할 수 있습니다. UDP를 사용하여 소스 주소를 스푸핑하면 공격자는 서비스 목록을 요청하여 스푸핑된 주소에 서비스 거부를 생성할 수 있습니다.

외부 공격자가 SLP 서비스에 액세스하지 못하도록 인터넷에 직접 연결된 네트워크와 같이 신뢰할 수 없는 네트워크에서 SLP를 비활성화합니다. 또는 이 문제를 해결하려면 UDP 및 TCP 포트 427에서 트래픽을 차단하거나 필터링하도록 방화벽을 구성합니다.

Bugzilla:2184570

11.4. 인프라 서비스

바인딩 및 바인딩 되지 않은 SHA-1 기반 서명의 유효성 검사를 비활성화합니다.

바인딩 및 바인딩 되지 않은 구성 요소는 모든 RSA/SHA1 (algorithm number 5) 및 RSASHA1-NSEC3-SHA1 서명의 유효성 검사 지원을 비활성화하고 서명의 SHA-1 사용은 DEFAULT 시스템 전체 암호화 정책으로 제한됩니다.

결과적으로 SHA-1, RSA/SHA1 및 RSASHA1-NSEC3-SHA1 다이제스트 알고리즘에서 서명된 특정 DNSSEC 레코드가 Red Hat Enterprise Linux 9에서 확인되지 않고 영향을 받는 도메인 이름이 취약해집니다.

이 문제를 해결하려면 RSA/SHA-256 또는 타원 곡선 키와 같은 다른 서명 알고리즘으로 업그레이드하십시오.

보다 자세한 정보 및 영향을 받는 최상위 도메인 목록은 RSASHA1로 서명된 DNSSEC 레코드를 참조하십시오.

Bugzilla:2070495

여러 영역에서 동일한 쓰기 가능한 영역 파일을 사용하는 경우 named 를 시작할 수 없습니다.

BIND에서는 여러 영역에 동일한 쓰기 가능한 영역 파일을 허용하지 않습니다. 결과적으로 구성에 named 서비스에서 수정할 수 있는 파일 경로를 공유하는 여러 영역이 포함된 경우 named 를 시작할 수 없습니다. 이 문제를 해결하려면 in-view 절을 사용하여 여러 뷰 간에 하나의 영역을 공유하고 다른 영역에 다른 경로를 사용해야 합니다. 예를 들어 경로에 보기 이름을 포함합니다.

쓰기 가능 영역 파일은 일반적으로 DNSSEC에서 유지 관리하는 동적 업데이트, 슬레이브 영역 또는 영역이 있는 영역에서 사용됩니다.

Bugzilla:1984982

libotr 가 FIPS와 호환되지 않음

OTR(off-the-record) 메시징용 libotr 라이브러리 및 툴킷은 인스턴트 메시징 대화를 위한 엔드 투 엔드 암호화를 제공합니다. 그러나 libotr 라이브러리는 gcry_pk_sign()gcry_pk_verify() 함수로 인해 FIPS(Federal Information Processing Standards)를 준수하지 않습니다. 결과적으로 FIPS 모드에서 libotr 라이브러리를 사용할 수 없습니다.

Bugzilla:2086562

콘솔 키맵 을 설정하려면 최소 설치 시 libxkbcommon 라이브러리가 필요합니다.

RHEL 9에서는 특정 systemd 라이브러리 종속성이 동적 연결에서 동적 로드로 변환되어 시스템이 열려 있을 때 런타임 시 라이브러리가 열립니다. 이 변경으로 필요한 라이브러리를 설치하지 않는 한 이러한 라이브러리에 종속되는 기능을 사용할 수 없습니다. 이는 최소 설치가 있는 시스템의 키보드 레이아웃 설정에도 영향을 미칩니다. 그 결과 localectl --no-convert set-x11-keymap gb 명령이 실패합니다.

이 문제를 해결하려면 libxkbcommon 라이브러리를 설치합니다.

# dnf install libxkbcommon

Bugzilla:2214130

Cryo stat 패키지의 %vmeff 메트릭에 잘못된 값이 표시됩니다.

Cryo stat 패키지는 %vmeff 메트릭을 제공하여 페이지 회수 효율성을 측정합니다. Cryostat는 이후 커널 버전에서 제공하는 모든 관련 /proc/vm stat 값을 구문 분석하지 않기 때문에 sar -B 명령에서 반환된 %vmeff 열의 값이 올바르지 않습니다. 이 문제를 해결하려면 /proc/vmstat 파일에서 %vmeff 값을 수동으로 계산할 수 있습니다. 자세한 내용은 sar(1) 툴이 RHEL 8 및 RHEL 9에서 % 100 %를 초과하는 %를 보고하는이유를 참조하십시오.

Bugzilla:2230431

11.5. 보안

ovnd-keygen 이 기본이 아닌 10.0.0.1을 올바르게 처리하지 않음

CloudEvent d-keygen 스크립트는 생성된 키 파일의 파일 권한을 변경하지 않습니다. 결과적으로 다른 사용자에 대한 키를 읽지 못하게 하는 기본 사용자 파일 생성 모드 마스크(octavia-creation mode mask)가 있는 시스템에서 키를 표시하는 대신 CloudEvent -show-keys 명령에서 오류 메시지 Internal Error 500 을 반환합니다.

이 문제를 해결하려면 CloudEvent o+r *.jwk 명령을 사용하여 /var/db/tang 디렉터리의 파일에 대한 권한을 변경합니다.

Bugzilla:2188743

OpenSSL은 PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명 생성을 지원하는지 감지하지 않습니다.

TLS 1.3 프로토콜에는 RSA-PSS 서명을 지원해야 합니다. PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 경우, PKCS #11 토큰에 키가 보유하는 경우 OpenSSL 라이브러리를 사용하는 서버 애플리케이션이 RSA 키와 작동하지 않습니다. 그 결과 설명된 시나리오에서 TLS 통신이 실패합니다.

이 문제를 해결하려면 TLS 버전 1.2를 사용 가능한 최고 TLS 프로토콜 버전으로 사용하도록 서버 및 클라이언트를 구성합니다.

Bugzilla:1681178

OpenSSL 이 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 PKCS #11 토큰을 잘못 처리

OpenSSL 라이브러리에서 PKCS #11 토큰의 키 관련 기능을 감지하지 않습니다. 결과적으로 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 토큰을 사용하여 서명을 생성할 때 TLS 연결을 설정하지 못합니다.

이 문제를 해결하려면 /etc/pki/tls/openssl.cnf 파일의 crypto_policy 섹션 끝에 .include 행 뒤에 다음 행을 추가합니다.

SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384
MaxProtocol = TLSv1.2

그 결과 설명된 시나리오에서 TLS 연결을 설정할 수 있습니다.

Bugzilla:1685470

특정 구문이 사용될 때 SCP가 복사된 파일들

scp 유틸리티는 SCP(Secure copy protocol)에서 더 안전한 SSH 파일 전송 프로토콜(SECDHE)으로 변경되었습니다. 결과적으로 위치에서 동일한 위치로 파일을 복사하면 파일 내용이 지워집니다. 이 문제는 다음 구문에 영향을 미칩니다.

scp localhost:/myfile localhost:/myfile

이 문제를 해결하려면 이 구문을 사용하여 소스 위치와 동일한 파일을 대상에 복사하지 마십시오.

다음 구문에 대한 문제가 해결되었습니다.

  • scp /myfile localhost:/myfile
  • scp localhost:~/myfile ~/myfile

Bugzilla:2056884

OSCAP Anaconda 애드온은 그래픽 설치에서 맞춤형 프로필을 가져오지 않습니다.

OSCAP Anaconda 애드온은 RHEL 그래픽 설치에서 보안 프로필의 맞춤을 선택하거나 선택 해제할 수 있는 옵션을 제공하지 않습니다. RHEL 8.8부터 아카이브 또는 RPM 패키지에서 설치할 때 애드온은 기본적으로 조정되지 않습니다. 결과적으로 설치에 OSCAP 맞춤형 프로필을 가져오는 대신 다음과 같은 오류 메시지가 표시됩니다.

There was an unexpected problem with the supplied content.

이 문제를 해결하려면 Kickstart 파일의 %addon org_fedora_oscap 에 경로를 지정해야 합니다. 예를 들면 다음과 같습니다.

xccdf-path = /usr/share/xml/scap/sc_tailoring/ds-combined.xml
tailoring-path = /usr/share/xml/scap/sc_tailoring/tailoring-xccdf.xml

결과적으로 해당 Kickstart 사양에서만 OSCAP 맞춤형 프로파일에 대한 그래픽 설치를 사용할 수 있습니다.

Bugzilla:2165920

Ansible 수정을 위해서는 추가 컬렉션이 필요합니다.

ansible-core 패키지를 통해 Ansible Engine을 교체하면 RHEL 서브스크립션과 함께 제공되는 Ansible 모듈 목록이 줄어듭니다. 결과적으로 scap-security-guide 패키지 내에 포함된 Ansible 콘텐츠를 사용하는 수정을 실행하려면 rhc-worker-playbook 패키지의 컬렉션이 필요합니다.

Ansible 수정을 위해 다음 단계를 수행합니다.

  1. 필수 패키지를 설치합니다.

    # dnf install -y ansible-core scap-security-guide rhc-worker-playbook
  2. /usr/share/scap-security-guide/ansible 디렉터리로 이동합니다.

    # cd /usr/share/scap-security-guide/ansible
  3. 추가 Ansible 컬렉션의 경로를 정의하는 환경 변수를 사용하여 관련 Ansible 플레이북을 실행합니다.

    # ANSIBLE_COLLECTIONS_PATH=/usr/share/rhc-worker-playbook/ansible/collections/ansible_collections/ ansible-playbook -c local -i localhost, rhel9-playbook-cis_server_l1.yml

    cis_server_l1 을 시스템을 수정하려는 프로필 ID로 바꿉니다.

결과적으로 Ansible 콘텐츠가 올바르게 처리됩니다.

참고

rhc-worker-playbook 에 제공된 컬렉션의 지원은 scap-security-guide 에서 가져온 Ansible 콘텐츠를 활성화하는 데 제한됩니다.

Bugzilla:2105162

oscap-anaconda-addon 은 CIS가 Network Servers 패키지 그룹을 사용하여 시스템을 강화할 수 없습니다.

CIS 보안 프로파일을 사용하여 RHEL Network Server를 설치할 때 (cis _server_l1,cis_workstation_l1, cis_workstation_l1 , 또는 cis_workstation_l2 )는 Network Servers 패키지 그룹이 선택된 시스템의 경우, oscap-addon 은 오류 메시지 패키지 tftp가 제외된 패키지 목록에 추가되었지만, 현재 소프트웨어 선택에서 제거할 수 없습니다. 설치를 계속 진행하려면 소프트웨어 선택 옵션으로 돌아가서 네트워크 서버 추가 소프트웨어를 선택 취소하여 설치를 완료하고 강화를 완료합니다. 그런 다음 필요한 패키지를 설치합니다.

Bugzilla:2172264

Keylime이 연결된 PEM 인증서를 허용하지 않음

Keylime가 단일 파일에 연결된 PEM 형식의 여러 인증서로 인증서 체인을 수신하는 경우 키lime-agent-rust Keylime 구성 요소는 서명 확인 중에 제공된 모든 인증서를 올바르게 사용하지 않으므로 TLS 핸드셰이크 오류가 발생합니다. 결과적으로 클라이언트 구성 요소(keylime_verifierkeylime_tenant)는 Keylime 에이전트에 연결할 수 없습니다. 이 문제를 해결하려면 여러 인증서 대신 하나의 인증서만 사용하십시오.

Jira:RHELPLAN-157225

Keylime에는 tls_dir = default에 대한 특정 파일이 필요합니다.

tls_dir 변수가 Keylime verifier 또는 등록 기관 구성에서 default 로 설정된 경우 Keylime은 /var/lib/keylime/cv_ca 디렉터리에 cacert.crt 파일이 있는지 확인합니다. 파일이 없으면 keylime_verifier 또는 keylime_registrar 서비스가 시작되지 않고 로그에 다음 메시지를 기록합니다: 예외: 확인자가 CA와 인증서를 생성하지 않은 것으로 표시됩니다. 먼저 verifier를 실행하십시오. 결과적으로 Keylime은 /var/lib/keylime/ca_cv 디렉터리에 배치되어도 다른 파일 이름을 가진 CA(사용자 정의 인증 기관) 인증서를 거부합니다.

이 문제를 해결하고 사용자 정의 CA 인증서를 사용하려면 tls_dir = default 를 사용하는 대신 tls_dir =/var/lib/keylime/ca_cv 를 수동으로 지정합니다.

Jira:RHELPLAN-157337

기본 SELinux 정책을 사용하면 제한되지 않은 실행 파일이 스택을 실행 가능하게 합니다.

SELinux 정책의 selinuxuser_execstack 부울의 기본 상태는 on입니다. 즉, 제한되지 않은 실행 파일이 스택 실행 파일을 실행할 수 있습니다. 실행 파일은 이 옵션을 사용하지 않아야 하며 잘못 코딩된 실행 파일 또는 가능한 공격을 나타낼 수 있습니다. 그러나 다른 도구, 패키지 및 타사 제품과의 호환성으로 인해 Red Hat은 기본 정책의 부울 값을 변경할 수 없습니다. 시나리오가 이러한 호환성 측면을 사용하지 않는 경우 setsebool -P selinuxuser_execstack off 명령을 입력하여 로컬 정책에서 부울을 해제할 수 있습니다.

Bugzilla:2064274

STIG 프로필의 SSH 제한 시간 규칙 구성 잘못된 옵션

OpenSSH의 업데이트로 다음의 정보 시스템 기관 (DISA STIG) 프로필의 규칙에 영향을 미쳤습니다.

  • DISA STIG for RHEL 9 (xccdf_org.ssgproject.content_profile_stig)
  • RHEL 9용 GUI가 포함된 DISA STIG (xccdf_org.ssgproject.content_profile_stig_gui)

다음의 두 가지 규칙에 따라 다음 두 가지 규칙이 영향을 받습니다.

Title: Set SSH Client Alive Count Max to zero
CCE Identifier: CCE-90271-8
Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0

Title: Set SSH Idle Timeout Interval
CCE Identifier: CCE-90811-1
Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout

SSH 서버에 적용하면 이러한 각 규칙은 더 이상 이전과 같이 작동하지 않는 옵션(ClientAliveCountMaxClientAliveInterval)을 구성합니다. 결과적으로 이러한 규칙으로 구성된 시간 초과에 도달하면 OpenSSH가 더 이상 유휴 SSH 사용자의 연결을 끊지 않습니다. 해결 방법으로 이러한 규칙은 RHEL 9용 DISA STIG에서 임시로 제거되었으며 솔루션이 개발될 때까지 GUI가 포함된 DISA STIG가 있습니다.

Bugzilla:2038978

암호화 정책에서허용하지 않는 경우에도 GnuPG에서 SHA-1 서명을 사용할 수 있도록 잘못 허용

GNU 개인 정보 보호기 (GnuPG) 암호화 소프트웨어는 시스템 전체 암호화 정책에서 정의한 설정에 관계없이 SHA-1 알고리즘을 사용하는 서명을 생성하고 확인할 수 있습니다. 결과적으로 DEFAULT 암호화 정책의 암호화 목적으로 SHA-1을 사용할 수 있으며 서명의 이 안전하지 않은 알고리즘의 시스템 전체 사용 중단과 일치하지 않습니다.

이 문제를 해결하려면 SHA-1과 관련된 GnuPG 옵션을 사용하지 마십시오. 결과적으로 보안되지 않은 SHA-1 서명을 사용하여 GnuPG가 기본 시스템 보안을 낮추지 못하도록 합니다.

Bugzilla:2070722

GPG-agent 가 FIPS 모드에서 SSH 에이전트로 작동하지 않음

FIPS 모드가 MD5 다이제스트를 비활성화하더라도 gpg-agent 툴은 ssh-agent 프로그램에 키를 추가할 때 MD5 지문을 생성합니다. 결과적으로 ssh-add 유틸리티가 인증 에이전트에 키를 추가하지 못합니다.

이 문제를 해결하려면 gpg-agent --daemon --enable-ssh-support 명령을 사용하지 않고 ~/.gnupg/sshcontrol 파일을 생성합니다. 예를 들어 < FINGERPRINT> 0 형식의 gpg --list-keys 명령의 출력을 ~/.gnupg/sshcontrol 에 붙여넣을 수 있습니다. 결과적으로 gpg-agent 는 SSH 인증 에이전트로 작동합니다.

Bugzilla:2073567

OpenSCAP 메모리 사용량 문제

메모리가 제한된 시스템에서 OpenSCAP 스캐너가 조기 종료되거나 결과 파일이 생성되지 않을 수 있습니다. 이 문제를 해결하려면 검사 프로필을 사용자 지정하여 전체 / 파일 시스템에 재귀를 포함하는 규칙을 선택 취소하면 됩니다.

  • rpm_verify_hashes
  • rpm_verify_permissions
  • rpm_verify_ownership
  • file_permissions_unauthorized_world_writable
  • no_files_unowned_by_user
  • dir_perms_world_writable_system_owned
  • file_permissions_unauthorized_suid
  • file_permissions_unauthorized_sgid
  • file_permissions_ungroupowned
  • dir_perms_world_writable_sticky_bits

자세한 내용 및 해결 방법은 관련 지식베이스 문서를 참조하십시오.

Bugzilla:2161499

Kickstart 설치 중 서비스 관련 규칙 수정에 실패할 수 있습니다.

Kickstart 설치 중에 OpenSCAP 유틸리티에서 서비스 활성화 또는 비활성화 상태 수정이 필요하지 않은 것으로 잘못 표시되는 경우가 있습니다. 그 결과 OpenSCAP에서 설치된 시스템의 서비스를 비준수 상태로 설정할 수 있습니다. 이 문제를 해결하려면 Kickstart 설치 후 시스템을 스캔하고 수정할 수 있습니다. 이렇게 하면 서비스 관련 문제가 해결됩니다.

BZ#1834716

11.6. 네트워킹

nm-cloud-setup 서비스는 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거합니다.

클라우드 환경에서 수신된 정보를 기반으로 nm-cloud-setup 서비스는 네트워크 인터페이스를 구성합니다. nm-cloud-setup 을 비활성화하여 인터페이스를 수동으로 구성합니다. 그러나 경우에 따라 호스트의 다른 서비스도 인터페이스를 구성할 수 있습니다. 예를 들어 이러한 서비스는 보조 IP 주소를 추가할 수 있습니다. nm-cloud-setup 이 보조 IP 주소를 제거하지 않도록 하려면 다음을 수행합니다.

  1. nm-cloud-setup 서비스 및 타이머를 중지하고 비활성화합니다.

    # systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer
  2. 사용 가능한 연결 프로필을 표시합니다.

    # nmcli connection show
  3. 영향을 받는 연결 프로파일의 반응:

    # nmcli connection up "<profile_name>"

결과적으로 이 서비스는 더 이상 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거하지 않습니다.

Bugzilla:2151040

세션 키를 업데이트하지 않으면 연결이 끊어집니다.

kTLS(커널 전송 계층 보안) 프로토콜은 대칭 암호에서 사용하는 세션 키 업데이트를 지원하지 않습니다. 결과적으로 사용자가 키를 업데이트할 수 없으므로 연결이 중단됩니다. 이 문제를 해결하려면 kTLS를 비활성화합니다. 따라서 임시 방법으로 세션 키를 업데이트할 수 있습니다.

Bugzilla:2013650

initscripts 패키지는 기본적으로 설치되지 않습니다.

기본적으로 initscripts 패키지는 설치되지 않습니다. 결과적으로 ifupifdown 유틸리티를 사용할 수 없습니다. 또는 nmcli connection upnmcli connection down 명령을 사용하여 연결을 활성화하고 비활성화합니다. 제안된 대체 방법이 작동하지 않는 경우 문제를 보고하고 ifupifdown 유틸리티에 NetworkManager 솔루션을 제공하는 NetworkManager-initscripts-updown 패키지를 설치합니다.

Bugzilla:2082303

mlx5 드라이버 및 3498 바이트보다 큰 MTU와 XDP 멀티 버퍼 모드를 사용하려면 RX Striding RQ를 비활성화해야합니다.

다음 조건과 일치하는 호스트에서 다중 버퍼 모드로 XDP(EXpress Data Path) 스크립트를 실행하면 실패합니다.

  • 호스트는 mlx5 드라이버를 사용합니다.
  • 최대 전송 단위(MTU) 값은 3498바이트보다 큽니다.
  • Mellanox 인터페이스에서 수신 중단 수신 대기열(RX Striding RQ) 기능이 활성화되어 있습니다.

모든 조건이 적용되면 link set xdp fd failed 오류로 인해 스크립트가 실패합니다. MTU가 더 높은 호스트에서 XDP 스크립트를 실행하려면 Mellanox 인터페이스에서 RX Striding RQ를 비활성화합니다.

# ethtool --set-priv-flags <interface_name> rx_striding_rq off

결과적으로 mlx5 드라이버를 사용하고 MTU 값이 3498바이트를 초과하는 인터페이스에서 XDP 멀티 버퍼 모드를 사용할 수 있습니다.

Jira:RHEL-6496

11.7. 커널

커널의 kdump 메커니즘으로 인해 64K 커널에서 OOM 오류가 발생합니다.

64비트 ARM 아키텍처의 64K 커널 페이지 크기는 4KB 커널보다 많은 메모리를 사용합니다. 결과적으로 kdump 는 커널 패닉 상태가 발생하고 메모리 할당이 OOM(메모리 부족) 오류로 인해 실패합니다. 작업을 수행하는 경우 crashkernel 값을 640MB로 수동으로 구성합니다. 예를 들어 crashkernel= 매개변수를 crashkernel=2G- :640M 으로 설정합니다.

그 결과 설명된 시나리오의 64K 커널에서 kdump 메커니즘이 실패하지 않습니다.

Bugzilla:2160676

커널 페이지 크기에 종속된 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다.

RHEL은 4k 및 64k 페이지 크기 커널과 호환됩니다. 4k 커널 페이지 크기에 종속 항목이 있는 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다. 알려진 인스턴스에는 jemalloc 및 종속 애플리케이션이 포함됩니다.

jemalloc 메모리 할당기 라이브러리는 시스템의 런타임 환경에서 사용되는 페이지 크기에 민감합니다. 라이브러리를 빌드하여 4k 및 64k 페이지 크기 커널과 호환되도록 빌드할 수 있습니다. 예를 들어 --with-lg-page=16 또는 env JEMALLOC_SYS_WITH_LG_PAGE=16 (Jemal locator Rust crate의 경우)으로 구성할 수 있습니다. 결과적으로 런타임 환경의 페이지 크기와 jemalloc 에 의존하는 바이너리를 컴파일할 때 존재하는 페이지 크기 사이에 불일치가 발생할 수 있습니다. 결과적으로 jemalloc기반 애플리케이션을 사용하면 다음 오류가 트리거됩니다.

<jemalloc>: Unsupported system page size

이 문제를 방지하려면 다음 방법 중 하나를 사용하십시오.

  • 적절한 빌드 구성 또는 환경 옵션을 사용하여 4k 및 64k 페이지 크기 호환 바이너리를 생성합니다.
  • 최종 64k 커널 및 런타임 환경으로 부팅한 후 jemalloc 을 사용하는 사용자 공간 패키지를 빌드합니다.

예를 들어 jemalloc 을 사용하여 Rust 패키지 관리자와 함께 fd-find 도구를 빌드할 수 있습니다. 마지막 64k 환경에서 모든 종속 항목의 새 빌드를 트리거하여 hugepages 명령을 입력하여 페이지 크기의 불일치를 확인합니다.

# cargo install fd-find --force

Bugzilla:2167783

kdump 서비스가 IBM Z 시스템에서 initrd 파일을 빌드하지 못했습니다.

64비트 IBM Z 시스템에서 znet 관련 설정 정보가 비활성 NetworkManager 연결 프로필에 있는 경우 kdump 서비스는 초기 RAM 디스크(initrd)를 로드하지 못합니다. 결과적으로 kdump 메커니즘이 다음 오류와 함께 실패합니다.

dracut: Failed to set up znet
kdump: mkdumprd: failed to make kdump initrd

해결 방법으로 다음 솔루션 중 하나를 사용하십시오.

  • znet 구성 정보가 있는 연결 프로필을 다시 사용하여 네트워크 본딩 또는 브리지를 구성합니다.

    $ nmcli connection modify enc600 master bond0 slave-type bond
  • 비활성 연결 프로필의 znet 구성 정보를 활성 연결 프로필에 복사합니다.

    1. nmcli 명령을 실행하여 NetworkManager 연결 프로필을 쿼리합니다.

      # nmcli connection show
      
      NAME                       UUID               TYPE   Device
      
      bridge-br0           ed391a43-bdea-4170-b8a2 bridge   br0
      bridge-slave-enc600  caf7f770-1e55-4126-a2f4 ethernet enc600
      enc600               bc293b8d-ef1e-45f6-bad1 ethernet --
    2. 비활성 연결의 구성 정보로 활성 프로필을 업데이트합니다.

      #!/bin/bash
       inactive_connection=enc600
       active_connection=bridge-slave-enc600
       for name in nettype subchannels options; do
       field=802-3-ethernet.s390-$name
       val=$(nmcli --get-values "$field"connection show "$inactive_connection")
       nmcli connection modify "$active_connection" "$field" $val"
       done
    3. 변경 사항을 적용하려면 kdump 서비스를 다시 시작하십시오.

      # kdumpctl restart

Bugzilla:2064708

kTLS는 TLS 1.3을 NIC로 오프로드하는 것을 지원하지 않습니다.

kTLS(커널 전송 계층 보안)는 TLS 1.3을 NIC로 오프로드하는 것을 지원하지 않습니다. 결과적으로 NIC가 TLS 오프로드를 지원하는 경우에도 소프트웨어 암호화는 TLS 1.3과 함께 사용됩니다. 이 문제를 해결하려면 오프로드가 필요한 경우 TLS 1.3을 비활성화합니다. 따라서 TLS 1.2만 오프로드할 수 있습니다. TLS 1.3을 사용 중인 경우 TLS 1.3을 오프로드할 수 없기 때문에 성능이 저하됩니다.

Bugzilla:2000616

지연 계정 기능이 기본적으로 SWAPINIO% 통계 열을 표시하지 않습니다.

초기 버전과 달리 지연된 계정 기능은 기본적으로 비활성화되어 있습니다. 결과적으로 iotop 애플리케이션에 SWAPINIO% 통계 열이 표시되지 않고 다음 경고가 표시됩니다.

CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%

taskstats 인터페이스를 사용하는 지연 계정 기능은 스레드 그룹에 속하는 모든 작업 또는 스레드에 대한 지연 통계를 제공합니다. 작업 실행 지연은 커널 리소스가 사용 가능할 때까지 기다릴 때 지연됩니다(예: 사용 가능한 CPU가 실행될 때까지 대기 중인 작업). 통계는 작업의 CPU 우선 순위, I/O 우선 순위 및 rss 제한 값을 적절하게 설정하는 데 도움이 됩니다.

이 문제를 해결하려면 런타임 또는 부팅 시 delayacct 부팅 옵션을 활성화할 수 있습니다.

  • 런타임에 delayacct 를 활성화하려면 다음을 입력합니다.

    echo 1 > /proc/sys/kernel/task_delayacct

    이 명령은 기능 시스템 전체에 적용되지만 이 명령을 실행한 후 시작하는 작업에 대해서만 사용할 수 있습니다.

  • 부팅 시 지연을 영구적으로 활성화하려면 다음 절차 중 하나를 사용하십시오.

결과적으로 iotop 애플리케이션에 SWAPINIO% 통계 열이 표시됩니다.

Bugzilla:2132480

kdump 메커니즘이 LUKS 암호화 대상에서 vmcore 파일을 캡처하지 못했습니다.

Linux Unified Key Setup (LUKS) 암호화 파티션이 있는 시스템에서 kdump 를 실행하는 경우 시스템에 특정 양의 사용 가능한 메모리가 필요합니다. 사용 가능한 메모리가 필요한 메모리 양보다 작으면 systemd-cryptsetup 서비스가 파티션을 마운트하지 못합니다. 결과적으로 두 번째 커널은 LUKS 암호화 대상에서 크래시 덤프 파일(vmcore)을 캡처하지 못합니다.

kdumpctl estimate 명령을 사용하면 kdump 에 필요한 권장 메모리 크기인 권장 crashkernel 값을 쿼리할 수 있습니다.

이 문제를 해결하려면 다음 단계를 사용하여 LUKS 암호화된 대상에서 kdump 에 필요한 메모리를 설정합니다.

  1. 예상 crashkernel 값을 출력합니다.

    # kdumpctl estimate
  2. crashkernel 값을 늘려 필요한 메모리 양을 구성합니다.

    # grubby --args=crashkernel=652M --update-kernel=ALL
  3. 변경 사항을 적용하려면 시스템을 재부팅합니다.

    # reboot

결과적으로 kdump 는 LUKS 암호화 파티션이 있는 시스템에서 올바르게 작동합니다.

Bugzilla:2017401

부팅 시 크래시 커널 메모리 할당 실패

특정 Ampere Altra 시스템에서 사용 가능한 메모리가 1GB 미만인 경우 kdump 사용에 대해 크래시 커널 메모리를 할당하는 데 실패합니다. 결과적으로 kdumpctl 명령이 kdump 서비스를 시작하지 못했습니다.

이 문제를 해결하려면 다음 중 하나를 수행합니다.

  • 크기 요구 사항(예: crashkernel =240M )에 맞게 crashkernel 매개변수의 값을 최소 10.0.0.1MB까지 줄입니다.
  • crashkernel=x,high 옵션을 사용하여 kdump 에 대해 4GB 이상의 크래시 커널 메모리를 예약합니다.

결과적으로 Ampere Altra 시스템에서 kdump 에 대한 크래시 커널 메모리 할당이 실패하지 않습니다.

Bugzilla:2065013

VMD가 활성화되면 RHEL에서 NVMe 디스크를 인식하지 못합니다.

드라이버를 재설정하거나 다시 연결할 때 VMI(볼륨 관리 장치) 도메인은 현재 소프트 재설정이 아닙니다. 결과적으로 하드웨어가 장치를 올바르게 감지하고 열거할 수 없습니다. 결과적으로 VMD가 활성화된 운영 체제는 NVMe 디스크를 인식하지 못합니다. 특히 서버를 재설정하거나 VM 머신으로 작업할 때 그러합니다.

Bugzilla:2128610

iwl7260-firmware 는 Intel Wi-Fi 6 AX200, AX210 및ECDHE ThinkPad P1 Gen 4에서 Wi-Fi를 중단

iwl7260-firmware 또는 iwl7260-wifi 드라이버를 RHEL 9.1 이상에서 제공하는 버전으로 업데이트한 후 하드웨어가 잘못된 내부 상태로 전환됩니다. 결과적으로 IntelECDHE 6 카드가 작동하지 않아 오류 메시지를 표시할 수 있습니다.

kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110
kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms)
kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110

확인되지 않은 작업은 시스템의 전원을 끄고 다시 켜는 것입니다. 재부팅하지 마십시오.

Bugzilla:2129288

Weak-modules from kmod fails to work with module inter-dependencies

kmod 패키지에서 제공하는 weak-modules 스크립트는 설치된 커널과 호환되는 kABI-호환 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은 모듈 기호의 종속성을 더 높은에서 더 낮은 버전의 커널 릴리스까지 제공합니다. 결과적으로 다른 커널 릴리스에 대해 빌드된 상호 의존 관계가 있는 모듈이 호환되지 않는 것으로 해석될 수 있으므로 약한 모듈 스크립트가 이 시나리오에서 작동하지 않습니다.

이 문제를 해결하려면 새 커널을 설치하기 전에 최신 스포지 커널에 대해 추가 모듈을 빌드하거나 배치합니다.

Bugzilla:2103605

Mellanox ConnectX-5 어댑터를 사용하는 동안 mlx5 드라이버가 실패합니다.

이더넷 스위치 장치 드라이버 모델(switchdev) 모드에서 DMFS(Device managed flow steering) 매개변수 및 ConnectX-5 어댑터 지원 하드웨어로 구성된 경우 mlx5 드라이버가 실패합니다. 결과적으로 다음과 같은 오류 메시지가 표시됩니다.

BUG: Bad page cache in process umount pfn:142b4b

이 문제를 해결하려면 DMFS 대신 SMFS(Software managed flow steering) 매개변수를 사용하십시오.

Bugzilla:2180665

코어가 큰 시스템에서 실시간 커널의 하드웨어 인증을 사용하려면 잠금 경합을 방지하기 위해 skew-tick=1 부팅 매개변수를 전달해야 할 수 있습니다.

다수의 소켓과 대규모 코어 개수가 있는 대규모 또는 중간 규모의 시스템은 시간 보관 시스템에 사용되는 xtime_lock 의 잠금 경합으로 인해 대기 시간이 급증할 수 있습니다. 결과적으로 멀티프로세싱 시스템에서 대기 시간이 급증하고 하드웨어 인증 지연이 발생할 수 있습니다. 이 문제를 해결하려면 skew_tick=1 부팅 매개변수를 추가하여 CPU당 타이머 눈금을 다른 시간에 시작할 수 있습니다.

잠금 충돌을 방지하려면 skew_tick=1 을 활성화합니다.

  1. grubby 를 사용하여 skew_tick=1 매개변수를 활성화합니다.

    # grubby --update-kernel=ALL --args="skew_tick=1"
  2. 변경 사항을 적용하려면 재부팅하십시오.
  3. cat /proc/cmdline 명령을 실행하여 새 설정을 확인합니다.

skew_tick=1 을 활성화하면 전력 소비가 크게 증가하므로 대기 시간에 민감한 실시간 워크로드를 실행하는 경우에만 활성화해야 합니다.

Bugzilla:2214508

11.8. 파일 시스템 및 스토리지

Anaconda는 CHAP 인증 시도에 실패한 후 인증 방법을 사용하지 않고 iSCSI 서버에 로그인하지 못했습니다.

CHAP 인증을 사용하여 iSCSI 디스크를 추가하고 잘못된 인증 정보로 인해 로그인 시도가 실패하면 인증 방법이 없는 디스크에 다시 로그인하지 못합니다. 이 문제를 해결하려면 현재 세션을 닫고 no authentication 방법을 사용하여 로그인합니다.

Bugzilla:1983602

Mapper Multipath는 NVMe/TCP에서 지원되지 않습니다.

nvme-tcp 드라이버와 Device Mapper Multipath를 사용하면 call Trace 경고 및 시스템 불안정성을 유발할 수 있습니다. 이 문제를 해결하기 위해 NVMe/TCP 사용자는 기본 NVMe 멀티패스를 활성화해야 하며 NVMe에서 device-mapper-multipath 도구를 사용하지 않아야 합니다.

기본적으로 Native NVMe 멀티패스가 RHEL 9에서 활성화됩니다. 자세한 내용은 NVMe 장치에서 다중 경로 활성화를 참조하십시오.

Bugzilla:2033080

blk-availability systemd 서비스는 복잡한 장치 스택을 비활성화합니다.

systemd 에서 기본 블록 비활성화 코드는 항상 복잡한 가상 블록 장치 스택을 올바르게 처리하는 것은 아닙니다. 일부 구성에서는 종료 중에 가상 장치가 제거되지 않아 오류 메시지가 기록될 수 있습니다. 이 문제를 해결하려면 다음 명령을 실행하여 복잡한 블록 장치 스택을 비활성화합니다.

# systemctl enable --now blk-availability.service

결과적으로 복잡한 가상 장치 스택은 종료 중에 올바르게 비활성화되고 오류 메시지가 생성되지 않습니다.

Bugzilla:2011699

할당량이 활성화된 XFS 파일 시스템에서 더 이상 할당량을 비활성화할 수 없습니다.

RHEL 9.2에서는 할당량이 활성화된 상태에서 마운트된 XFS 파일 시스템에서 더 이상 할당량 계산을 비활성화할 수 없습니다.

이 문제를 해결하려면 quota 옵션을 제거하여 파일 시스템을 다시 마운트하여 할당량 계산을 비활성화합니다.

Bugzilla:2160619

NVMe-FC 장치를 /etc/fstab에서 마운트 지점으로 추가할 때 시스템이 부팅되지 않음

/etc/fstab 파일을 통해 마운트된 NVMe-FC(Non-volatile Memory Express over Fibre Channel) 장치는 부팅 시 마운트되지 못하고 시스템이 긴급 모드로 전환됩니다. 이는 nvme-cli nvmf-autoconnect systemd 서비스의 알려진 버그 때문입니다.

Bugzilla:2168603

NVMe 장치에 대한 udev 규칙 변경

OPTIONS="string_escape=replace" 매개변수를 추가하는 NVMe 장치에 대한 udev 규칙 변경 사항이 있습니다. 이로 인해 장치의 일련 번호가 앞에 공백이 있는 경우 일부 공급 업체의 경우 디스크 by-id 이름 변경이 발생합니다.

Bugzilla:2185048

11.9. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버

python3.11-lxmllxml.isoschematron 하위 모듈을 제공하지 않습니다.

python3.11-lxml 패키지는 오픈 소스 라이센스에 속하지 않기 때문에 lxml.isoschematron 하위 모듈 없이 배포됩니다. 하위 모듈은 ISO Schematron 지원을 구현합니다. 다른 방법으로 lxml.etree.Schematron 클래스에서는 pre-ISO-Schematron 검증을 사용할 수 있습니다. python3.11-lxml 패키지의 나머지 콘텐츠는 영향을 받지 않습니다.

Bugzilla:2157708

MySQLMariaDB--ssl-fips-mode 옵션은 FIPS 모드를 변경하지 않습니다.

RHEL의 MySQLMariaDB--ssl-fips-mode 옵션은 업스트림과 다르게 작동합니다.

RHEL 9에서는 mysqld 또는 mariadbd 데몬의 인수로 --ssl-fips-mode 를 사용하거나 MySQL 또는 MariaDB 서버 구성 파일에서 ssl-fips-mode 를 사용하는 경우 --ssl-fips-mode 는 이러한 데이터베이스 서버의 FIPS 모드를 변경하지 않습니다.

대신:

  • --ssl-fips-modeON 으로 설정하면 mysqld 또는 mariadbd 서버 데몬이 시작되지 않습니다.
  • FIPS 지원 시스템에서 --ssl-fips-modeOFF 로 설정하면 mysqld 또는 mariadbd 서버 데몬이 FIPS 모드에서 계속 실행됩니다.

이는 특정 구성 요소에 대해 전체 RHEL 시스템에서 FIPS 모드를 활성화하거나 비활성화해야 하므로 예상될 것입니다.

따라서 RHEL의 MySQL 또는 MariaDB 에서 --ssl-fips-mode 옵션을 사용하지 마십시오. 대신 전체 RHEL 시스템에서 FIPS 모드가 활성화되어 있는지 확인합니다.

  • FIPS 모드가 활성화된 RHEL을 설치하는 것이 좋습니다. 설치 중에 FIPS 모드를 활성화하면 시스템이 FIPS 승인 알고리즘 및 지속적인 모니터링 테스트로 모든 키를 생성합니다. FIPS 모드에서 RHEL을 설치하는 방법에 대한 자세한 내용은 FIPS 모드에서 시스템 설치를 참조하십시오.
  • 또는 시스템을 FIPS 모드로 전환하는 절차에 따라 전체 RHEL 시스템의 FIPS 모드를 전환할 수 있습니다.

Bugzilla:1991500

11.10. 컴파일러 및 개발 도구

특정 기호 기반 프로브는 64비트 ARM 아키텍처의 SystemTap 에서 작동하지 않습니다.

커널 설정은 SystemTap 에 필요한 특정 기능을 비활성화합니다. 따라서 일부 기호 기반 프로브는 64비트 ARM 아키텍처에서 작동하지 않습니다. 결과적으로 영향을 받는 SystemTap 스크립트가 실행되지 않거나 원하는 프로브 포인트에서 히트를 수집하지 않을 수 있습니다.

이 버그는 RHBA-2022:5259 권고가 릴리스된 나머지 아키텍처에서 수정되었습니다.

Bugzilla:2083727

GCC Toolset 12의 GCC: Intel Sapphire Rapids 프로세서에서 CPU 탐지가 실패할 수 있음

Intel Sapphire Rapids 프로세서의 CPU 탐지는 AVX512_VP2INTERSECT 기능이 있는지에 따라 달라집니다. 이 기능은 GCC Toolset 12 버전의 GCC에서 제거되었으며 결과적으로 Intel Sapphire Rapids 프로세서에서 CPU 탐지가 실패할 수 있습니다.

Bugzilla:2141718

11.11. IdM (Identity Management)

Directory Server에서 접미사에 대한 압축을 구성하지 못했습니다.

Directory Server에서 백엔드 추천을 설정하는 경우 dsconf <instance_name> 백엔드 접미사 set --state computation 명령을 사용하여 백엔드 상태를 설정하면 다음 오류와 함께 실패합니다.

Error: 103 - 9 - 53 - Server is unwilling to perform - [] - need to set nsslapd-referral before moving to referral state

결과적으로 접미사에 대한 약어를 구성하는 데 실패합니다. 문제를 해결하려면 다음을 수행합니다.

  1. nsslapd-referral 매개변수를 수동으로 설정합니다.

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com
    
    dn: cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config
    changetype: modify
    add: nsslapd-referral
    nsslapd-referral: ldap://remote_server:389/dc=example,dc=com
  2. 백엔드 상태를 설정합니다.

    # dsconf <instance_name> backend suffix set --state referral

결과적으로 해결방법을 사용하여 접미사에 대한 유효성 검사를 구성할 수 있습니다.

Bugzilla:2063140

dsconf 유틸리티에는 UUID 플러그인에 대한 수정 작업을 생성하는 옵션이 없습니다.

dsconf 유틸리티는 UUID 플러그인에 대한 수정 작업을 생성하는 옵션을 제공하지 않습니다. 결과적으로 관리자는 dsconf 를 사용하여 기존 항목에 entryUUID 특성을 자동으로 추가하는 작업을 생성할 수 없습니다. 이 문제를 해결하려면 작업을 수동으로 생성합니다.

# ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com -x

dn: cn=entryuuid_fixup_<time_stamp>,cn=entryuuid task,cn=tasks,cn=config
objectClass: top
objectClass: extensibleObject
basedn: <fixup base tree>
cn: entryuuid_fixup_<time_stamp>
filter: <filtered_entry>

작업이 생성되면 Directory Server는 누락되거나 유효하지 않은 entryUUID 속성이 있는 항목을 수정합니다.

Bugzilla:2047175

MIT Kerberos는 PKINIT에 대한 ECC 인증서를 지원하지 않습니다.

MIT Kerberos는 PKINIT( initial authentication)를 위한 공개 키 암호화(ECC) 지원 설계를 설명하는 주석 문서에 대한 RFC5349 요청을 구현하지 않습니다. 결과적으로 RHEL에서 사용하는 MIT>-<5-pkinit 패키지는 ECC 인증서를 지원하지 않습니다. 자세한 내용은 Kerberos (PKINIT)에서 초기 인증의 공개 키 암호화에 대한 ECC (Elliptic Curve Cryptography) 지원을 참조하십시오.

Bugzilla:2106043

PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다.

SHA-1 다이제스트 알고리즘은 RHEL 9에서 더 이상 사용되지 않으며 PKINIT(초기 인증)에 대한 공개 키 암호화에 대한 CMS 메시지는 이제 강력한 SHA-256 알고리즘으로 서명됩니다.

그러나 AD(Active Directory) Kerberos Distribution Center(KDC)는 여전히 SHA-1 다이제스트 알고리즘을 사용하여 CMS 메시지에 서명합니다. 결과적으로 RHEL 9 Kerberos 클라이언트는 ADECDHE에 PKINIT를 사용하여 사용자를 인증하지 못합니다.

이 문제를 해결하려면 다음 명령을 사용하여 RHEL 9 시스템에서 SHA-1 알고리즘에 대한 지원을 활성화합니다.

 # update-crypto-policies --set DEFAULT:SHA1

Bugzilla:2060798

RHEL 9 Kerberos 에이전트가 비 RHEL-9 및 비AD Kerberos 에이전트와 통신하는 경우 사용자의 PKINIT 인증이 실패합니다.

클라이언트 또는 Kerberos 배포 센터(KDC)인 RHEL 9 Kerberos 에이전트가 AD(Active Directory) 에이전트가 아닌 RHEL-9 Kerberos 에이전트와 상호 작용하는 경우 사용자의 PKINIT 인증이 실패합니다. 문제를 해결하려면 다음 작업 중 하나를 수행합니다.

  • SHA-1 서명을 확인할 수 있도록 RHEL 9 에이전트의 crypto-policy를 DEFAULT:SHA1 로 설정합니다.

    # update-crypto-policies --set DEFAULT:SHA1
  • SHA-1 알고리즘을 사용하여 CMS 데이터에 서명하지 않도록 RHEL-9 및 비AD 에이전트를 업데이트합니다. 이를 위해 Kerberos 클라이언트 또는 10.0.0.1 패키지를 SHA-1 대신 SHA-256을 사용하는 버전으로 업데이트합니다.

    • CentOS 9 스트림:ECDHE5-1.19.1-15
    • RHEL 8.7: krb5-1.18.2-17
    • RHEL 7.9: krb5-1.15.1-53
    • Fedora Rawhide/36:>-<5-1.19.2-7
    • Fedora 35/34:>-<5-1.19.2-3

결과적으로 사용자의 PKINIT 인증이 올바르게 작동합니다.

다른 운영 체제의 경우 에이전트가 SHA-1 대신 SHA-256을 사용하여 CMS 데이터에 서명하도록 하는or5-1.20 릴리스입니다.

PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다. 을 참조하십시오.

Bugzilla:2077450

AD 신뢰에 대한 FIPS 지원에는 AD-SUPPORT 암호화 하위 정책이 필요합니다.

Active Directory(AD)는 기본적으로 RHEL 9의 FIPS 모드에서 허용되지 않는 AES SHA-1 HMAC 암호화 유형을 사용합니다. AD 신뢰와 함께 RHEL 9 IdM 호스트를 사용하려면 IdM 소프트웨어를 설치하기 전에 AES SHA-1 HMAC 암호화 유형에 대한 지원을 활성화합니다.

FIPS 컴플라이언스는 기술 및 조직 계약이 모두 포함된 프로세스이므로 AD-SUPPORT 하위 정책을 활성화하여 AES SHA-1 HMAC 암호화 유형을 지원하는 기술 조치를 허용하기 전에 FIPS 감사자를 참조한 다음 RHEL IdM을 설치합니다.

 # update-crypto-policies --set FIPS:AD-SUPPORT

Bugzilla:2057471

RHEL 9ECDHE에 대해 PKINIT를 사용하여 사용자를 인증하지 못했습니다.

기본적으로 Heimdal Kerberos 클라이언트는IKE(Internet Key Exchange)용MODP(MoDP) Diffie-Hellman Group 2를 사용하여 IdM 사용자의 PKINIT 인증을 시작합니다. 그러나 RHEL 9의 MIT Kerberos Distribution Center(KDC)는 MODP 그룹 14 및 16만 지원합니다.

결과적으로 사전 예상 요청이 RHEL MITECDHE에서 허용되지 않는 Heimdal 클라이언트의 PREAUTH_FAILED 오류와 함께Forwarded5_get_init_creds: PREAUTH_FAILED 오류와 함께 실패합니다.

이 문제를 해결하려면 Heimdal 클라이언트가 MODP Group 14를 사용하는지 확인하십시오. 클라이언트 구성 파일의 libdefaults 섹션에 pkinit_dh_min_bits 매개변수를 1759로 설정합니다.

[libdefaults]
pkinit_dh_min_bits = 1759

결과적으로 Heimdal 클라이언트는 RHEL MITECDHE에 대한 PKINIT 사전 인증을 완료합니다.

Bugzilla:2106296

FIPS 모드에서 IdM은 양방향 교차 트러스트를 구축하기 위해 NTLMSSP 프로토콜 사용을 지원하지 않습니다.

New Technology LAN Manager Security Support Provider(NTLMSSP) 인증이 FIPS와 호환되지 않기 때문에 AD(Active Directory)와 FIPS 모드가 활성화된 IdM(Identity Management) 간 신뢰를 두방향으로 설정할 수 없습니다. FIPS 모드에서 IdM은 AD 도메인 컨트롤러가 인증을 시도할 때 사용하는 RC4 NTLM 해시를 허용하지 않습니다.

Bugzilla:2124243

AD 교차 영역 TGS 요청으로 IdM이 실패

IdM Kerberos 티켓의 PAM(Privilege Properties Certificate) 정보는 이제 AD(Active Directory)에서 지원하지 않는 AES SHA-2 HMAC 암호화로 서명됩니다.

결과적으로 AD 간 TGS 요청(즉, 양방향 신뢰 설정)으로의 IdM이 실패하고 다음 오류가 발생합니다.

Generic error (see e-text) while getting credentials for <service principal>

Bugzilla:2060421

FIPS 모드에서 IdM Vault 암호화 및 암호 해독 실패

FIPS 모드가 활성화된 경우 OpenSSL RSA-PKCS1v15 패딩 암호화가 차단됩니다. 결과적으로 IdM(Identity Management) Vault는 현재 전송 인증서로 세션 키를 래핑하기 위해 PKCS1v15 패딩을 사용하므로 올바르게 작동하지 않습니다.

Bugzilla:2089907

iPXE가 없는 사용자는 업그레이드 후 IdM에 로그인할 수 없습니다.

IdM 복제본을 RHEL 9.2로 업그레이드한 후 IdM Kerberos Distribution Center(KDC)는 계정에 할당된 SID(Security Identifiers)가 없는 사용자에게 TGT( ticket-granting ticket)를 발행하지 못할 수 있습니다. 따라서 사용자는 자신의 계정에 로그인할 수 없습니다.

이 문제를 해결하려면 토폴로지의 다른 IdM 복제본에서 IdM 관리자로 다음 명령을 실행하여 CloudEvents를 생성합니다.

# ipa config-mod --enable-sid --add-sids

이후 사용자가 여전히 로그인할 수 없는 경우 Directory Server 오류 로그를 검사합니다. 사용자 POSIX ID를 포함하도록 ID 범위를 조정해야 할 수 있습니다.

자세한 내용은 RHEL9로 업그레이드할 때 IDM 사용자가 더 이상 지식베이스 솔루션에 로그인할 수 없습니다.

Jira:RHELPLAN-157939

레지스트리가 일치하지 않아 마이그레이션된 IdM 사용자가 로그인할 수 없습니다.

ipa migrate-ds 스크립트를 사용하여 한 IdM 배포에서 다른 IdM 배포로 사용자를 마이그레이션하는 경우 이전에 기존의 SID(Security Identifiers)에 현재 IdM 환경의 domainknative가 없기 때문에 IdM 서비스를 사용하는 데 문제가 있을 수 있습니다. 예를 들어 사용자는 kinit 유틸리티를 사용하여 Kerberos 티켓을 검색할 수 있지만 로그인할 수는 없습니다. 이 문제를 해결하려면 다음 지식 베이스 문서를 참조하십시오. 도메인이 일치하지 않아서 로그인할 수 없는 IdM 사용자는 다음 지식 베이스 문서를 참조하십시오.

Jira:RHELPLAN-109613

MIT ECDHE5 사용자가 사용자 PAC를 생성하는 호환되지 않는 암호화 유형으로 인해 AD TGT를 가져오지 못했습니다.

MIT ECDHE5 1.20 이상 패키지에서는 기본적으로 모든 Kerberos 티켓에 권한 속성 인증서(PAC)가 포함됩니다. MIT Kerberos Distribution Center(KDC)는 현재 RFC8009에 정의된 AES HMAC-SHA2 암호화 유형인 PAC에서 CloudEvent 체크섬을 생성할 수 있는 가장 강력한 암호화 유형을 선택합니다. 그러나 AD(Active Directory)는 이 RFC를 지원하지 않습니다. 그 결과, AD-MIT 교차현실 설정에서 MITECDHE 5 사용자가 AD 티켓-granting 티켓(TGT)을 받지 못하는데, MITECDHE에서 생성한 교차 실제 TGT에는 PAC에 호환되지 않는ECDHE 체크섬 유형이 포함되어 있기 때문입니다.

이 문제를 해결하려면 /var/kerberos/krb5kdc/kdc.conf 구성 파일의 [realms] 섹션에 있는 MIT 영역에 대해 disable_pac 매개변수를 true 로 설정합니다. 결과적으로 MITECDHE는 PAC 없이 티켓을 생성하는데, 이는 AD에서 실패한 체크섬 확인을 건너뛰고 MIT TGT 사용자가 AD TGT를 받을 수 있음을 의미합니다.

Bugzilla:2016312

ldap_id_use_start_tls 옵션에 기본값을 사용할 때 발생할 수 있는 위험

TLS없이 ldap:// 를 ID 조회에 사용하는 경우 공격 벡터가 발생할 위험이 있습니다. 특히 MITM(Man-in-the-middle) 공격으로 공격자는 LDAP 검색에 반환된 오브젝트의 UID 또는 GID를 변경하여 사용자를 가장할 수 있습니다.

현재 TLS를 적용하는 SSSD 구성 옵션인 ldap_id_use_start_tls 는 기본값은 false 입니다. 설정이 신뢰할 수 있는 환경에서 작동하고 id_provider = ldap 에 대해 암호화되지 않은 통신을 안전하게 사용할 수 있는지 결정합니다. 참고 id_provider = adid_provider = ipa 는 SASL 및 GSSAPI로 보호되는 암호화된 연결을 사용하므로 영향을 받지 않습니다.

암호화되지 않은 통신을 사용하는 것이 안전하지 않은 경우 /etc/sssd/sssd.conf 파일에서 ldap_id_use_start_tls 옵션을 true 로 설정하여 TLS를 적용합니다. 기본 동작은 RHEL의 향후 릴리스에서 변경될 예정입니다.

Jira:RHELPLAN-155168

RHEL 8.6 또는 이전 버전에서 초기화된 FIPS 모드의 IdM 배포에 FIPS 모드에서 RHEL 9 복제본을 추가하는 데 실패합니다.

FIPS 140-3을 준수하려는 기본 RHEL 9 FIPS 암호화 정책은 RFC3961 섹션 5.1에 정의된 대로 AES HMAC-SHA1 암호화 유형의 키 파생 기능을 사용할 수 없습니다.

이 제약 조건은 FIPS 모드에서 RHEL 9 IdM(Identity Management) 복제본을 RHEL 8.6 시스템에 설치된 FIPS 모드의 RHEL 8 IdM 환경에 추가할 때 차단기입니다. 이는 RHEL 9와 이전 RHEL 버전 간에 일반적으로 AES HMAC-SHA1 암호화 유형을 사용하지만 AES HMAC-SHA2 암호화 유형을 사용하지 않기 때문입니다.

서버에 다음 명령을 입력하여 IdM 마스터 키의 암호화 유형을 볼 수 있습니다.

# kadmin.local getprinc K/M | grep -E '^Key:'

이 문제를 해결하려면 RHEL 9 복제본에서 AES HMAC-SHA1을 사용하도록 설정하십시오.

update-crypto-policies --set FIPS:AD-SUPPORT
경고
이 해결방법은 FIPS 규정 준수를 위반할 수 있습니다.

결과적으로 IdM 배포에 RHEL 9 복제본을 올바르게 추가합니다.

RHEL 7 및 RHEL 8 서버에서 누락된 AES HMAC-SHA2- 암호화 Kerberos 키를 생성하는 절차를 제공하는 작업이 진행 중입니다. 이렇게 하면 RHEL 9 복제본에서 FIPS 140-3 컴플라이언스를 얻을 수 있습니다. 그러나 Kerberos 키 암호화의 설계로 인해 기존 키를 다른 암호화 유형으로 변환할 수 없기 때문에 이 프로세스가 완전히 자동화되지 않습니다. 유일한 방법은 사용자에게 암호를 업데이트하도록 요청하는 것입니다.

Bugzilla:2103327

SSSD에서 DNS 이름을 올바르게 등록합니다.

이전 버전에서는 DNS가 잘못 설정된 경우 SSSD에서 항상 첫 번째 DNS 이름을 등록하지 못했습니다. 이 문제를 해결하기 위해 이 업데이트에서는 새로운 매개변수 dns_resolver_use_search_list 를 제공합니다. DNS 검색 목록을 사용하지 않도록 dns_resolver_use_search_list = false 를 설정합니다.

Bugzilla:1608496

추천 모드로 시작하면 Directory Server가 예기치 않게 종료됨

버그로 인해 전역 참조 모드가 Directory Server에서 작동하지 않습니다. dirsrv 사용자로 refer 옵션을 사용하여 ns-slapd 프로세스를 시작하면 Directory Server는 포트 설정을 무시하고 예기치 않게 종료됩니다. root 사용자가 프로세스를 실행하면 SELinux 레이블이 변경되고 서비스가 일반 모드에서 시작되지 않습니다. 사용 가능한 해결방법이 없습니다.

Bugzilla:2053204

Directory Server는 /var/lib/dirsrv/slapd-instance_name/ldif/에서만 LDIF 파일을 가져올 수 있습니다.

RHEL 8.3부터 RHDS(Red Hat Directory Server)는 자체 프라이빗 디렉터리를 사용하며 LDAP 서비스에 대해 privateTmp systemd 지시문이 기본적으로 활성화됩니다. 따라서 RHDS는 /var/lib/dirsrv/slapd--instance_name/ldif/ 디렉터리에서 LDIF 파일만 가져올 수 있습니다. LDIF 파일이 /var/tmp,/tmp, /root 와 같은 다른 디렉토리에 저장되면 가져오기가 실패하고 다음과 유사한 오류가 발생합니다.

Could not open LDIF file "/tmp/example.ldif", errno 2 (No such file or directory)

이 문제를 해결하려면 다음 단계를 완료하십시오.

  1. LDIF 파일을 /var/lib/dirsrv/slapd-instance_name/ldif/ 디렉터리로 이동합니다.

    # mv /tmp/example.ldif /var/lib/dirsrv/slapd-instance_name__/ldif/
  2. dirsrv 사용자가 파일을 읽을 수 있는 권한을 설정합니다.

    # chown dirsrv /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
  3. SELinux 컨텍스트를 복원합니다.

    # restorecon -Rv /var/lib/dirsrv/slapd-instance_name/ldif/

자세한 내용은 솔루션 문서 LDAP Service에서 호스트의 /tmp 및 /var/tmp 디렉터리 아래의 파일에 액세스할 수 없습니다.

Bugzilla:2075525

FIPS 모드에서 RHEL 9.2+ IdM 서버를 사용하여 RHEL 7 IdM 클라이언트 설치 실패

이제 FIPS 지원 RHEL 9.2 이상 시스템에서 TLS 1.2 연결에 TLS 7627)이 필요합니다. 이는 FIPS-140-3 요구 사항에 따라 수행됩니다. 그러나 RHEL 7.9 이상에서 사용할 수 있는 openssl 버전은 Cryostat를 지원하지 않습니다. 결과적으로 RHEL 9.2에서 실행되는 FIPS 지원 IdM 서버를 사용하여 RHEL 7 IdM(Identity Management) 클라이언트를 설치하는 데 실패합니다.

IdM 클라이언트를 설치하기 전에 호스트를 RHEL 8로 업그레이드하는 경우 FIPS 암호화 정책 상단에 NO-ENFORCE- Cryostat 하위 정책을 적용하여 RHEL 9 서버에서 ECDSA 사용에 대한 요구 사항을 제거하여 문제를 해결합니다.

# update-crypto-policies --set FIPS:NO-ENFORCE-EMS

이 제거는 FIPS 140-3 요구 사항에 대해 수행됩니다. 결과적으로 ECDSA를 사용하지 않는 TLS 1.2 연결을 설정하고 수락할 수 있으며 RHEL 7 IdM 클라이언트 설치에 성공합니다.

Bugzilla:2220915

11.12. 데스크탑

RHEL 9로 업그레이드한 후 Firefox 애드온이 비활성화됨

RHEL 8에서 RHEL 9로 업그레이드하는 경우 이전에 Firefox에서 활성화한 모든 애드온이 비활성화됩니다.

문제를 해결하려면 수동으로 애드온을 다시 설치하거나 업데이트합니다. 따라서 애드온은 예상대로 활성화됩니다.

Bugzilla:2013247

RHEL 9로 업그레이드한 후 VNC가 실행되지 않음

RHEL 8에서 RHEL 9로 업그레이드한 후 이전에 활성화된 경우에도 VNC 서버가 시작되지 않습니다.

이 문제를 해결하려면 시스템 업그레이드 후 vncserver 서비스를 수동으로 활성화합니다.

# systemctl enable --now vncserver@:port-number

그 결과 이제 VNC가 활성화되고 모든 시스템이 예상대로 부팅된 후 시작됩니다.

Bugzilla:2060308

사용자 생성 화면이 응답하지 않음

그래픽 사용자 인터페이스를 사용하여 RHEL을 설치할 때 사용자 생성 화면이 응답하지 않습니다. 결과적으로 설치 중에 사용자를 생성하는 것이 더 어렵습니다.

이 문제를 해결하려면 다음 솔루션 중 하나를 사용하여 사용자를 생성합니다.

  • VNC 모드에서 설치를 실행하고 VNC 창의 크기를 조정합니다.
  • 설치 프로세스를 완료한 후 사용자를 생성합니다.

BZ#2122636

11.13. 그래픽 인프라

NVIDIA 드라이버는 X.org로 되돌릴 수 있습니다.

특정 조건에서 독점 NVIDIA 드라이버는 Wayland 디스플레이 프로토콜을 비활성화하고 X.org 디스플레이 서버로 되돌립니다.

  • NVIDIA 드라이버 버전이 470 미만인 경우
  • 시스템이 하이브리드 그래픽을 사용하는 노트북인 경우
  • 필요한 NVIDIA 드라이버 옵션을 활성화하지 않은 경우

또한 Wayland가 활성화되어 있지만 NVIDIA 드라이버 버전이 510 미만인 경우 데스크탑 세션에서 기본적으로 X.org를 사용합니다.

Jira:RHELPLAN-119001

Nvidia를 사용하여 Wayland에서 Night Light를 사용할 수 없음

시스템에서 전용 NVIDIA 드라이버를 활성화하면 Wayland 세션에서 GNOME의 Night Light 기능을 사용할 수 없습니다. NVIDIA 드라이버는 현재 Night Light 를 지원하지 않습니다.

Jira:RHELPLAN-119852

X.org 설정 유틸리티가 Wayland에서 작동하지 않음

화면을 조작하는 X.org 유틸리티가 Wayland 세션에서 작동하지 않습니다. 특히 xrandr 유틸리티는 해상도, 회전 및 레이아웃 처리 방법이 다르기 때문에 Wayland에서 작동하지 않습니다.

Jira:RHELPLAN-121049

11.14. 웹 콘솔

VNC 콘솔은 특정 해상도에서 잘못 작동

특정 디스플레이 해상도에서 VNC(Virtual Network Computing) 콘솔을 사용하는 경우 마우스 오프셋 문제가 발생하거나 인터페이스의 일부만 표시될 수 있습니다. 결과적으로 VNC 콘솔을 사용할 수 없습니다. 이 문제를 해결하려면 VNC 콘솔 크기를 확장하거나 콘솔 탭에서 데스크탑 뷰어를 사용하여 원격 뷰어를 시작할 수 있습니다.

Bugzilla:2030836

11.15. Red Hat Enterprise Linux System Roles

비활성화된 사실 수집에서는 메트릭 시스템 역할이 작동하지 않음

성능 또는 기타 이유로 Ansible 팩트 수집이 사용자 환경에서 비활성화될 수 있습니다. 이러한 구성에서는 현재 메트릭 시스템 역할을 사용할 수 없습니다. 이 문제를 해결하려면 사실 캐싱을 활성화하거나 팩트 수집을 사용할 수 없는 경우 지표 시스템 역할을 사용하지 마십시오.

Bugzilla:2078999

firewalld.service 가 마스킹되면 방화벽 RHEL System Role을 사용할 수 없습니다.

RHEL 시스템에서 firewalld.service 를 마스킹하면 방화벽 RHEL 시스템 역할이 실패합니다. 이 문제를 해결하려면 firewalld.service 를 마스크 해제하십시오.

systemctl unmask firewalld.service

Bugzilla:2123859

환경 이름으로 시스템을 등록할 수 없음

rhc 시스템 역할은 rhc_environment 에 환경 이름을 지정할 때 시스템을 등록하지 못합니다. 이 문제를 해결하려면 등록하는 동안 환경 이름 대신 환경 ID를 사용하십시오.

Bugzilla:2187539

11.16. 가상화

경우에 따라 https 또는 ssh를 통해 가상 머신을 설치할 수 없습니다.

현재 virt-install 유틸리티는 https 또는 ssh 연결을 통해 ISO 소스에서 게스트 운영 체제(OS)를 설치하려고 할 때 실패합니다(예: virt-install --cdrom https://example/path/to/image.iso 사용). VM(가상 머신)을 생성하는 대신, 설명된 작업은 메시지 모니터링을 위해 연결하는 동안 프로세스가 종료됨인 내부 오류 와 함께 예기치 않게 종료됩니다.

마찬가지로 RHEL 9 웹 콘솔을 사용하여 게스트 OS를 설치하는 데 실패하고 https 또는 ssh URL 또는 Download OS 기능을 사용하는 경우 알 수 없는 드라이버 'https' 오류가 표시됩니다.

이 문제를 해결하려면 호스트에 qemu-kvm-block-curlqemu-kvm-block-ssh 를 설치하여 https 및 ssh 프로토콜 지원을 각각 활성화합니다. 또는 다른 연결 프로토콜 또는 다른 설치 소스를 사용합니다.

Bugzilla:2014229

가상 머신에서 NVIDIA 드라이버 사용

현재 NVIDIA 드라이버는 Wayland 그래픽 세션과 호환되지 않습니다. 결과적으로 NVIDIA 드라이버를 사용하는 RHEL 게스트 운영 체제는 자동으로 Wayland를 비활성화하고 대신 Xorg 세션을 로드합니다. 이는 주로 다음 시나리오에서 발생합니다.

  • NVIDIA GPU 장치를 RHEL VM(가상 머신)에 전달하는 경우
  • NVIDIA vGPU 중재 장치를 RHEL VM에 할당하는 경우

Jira:RHELPLAN-117234

AMD Milan 시스템에서 Milan VM CPU 유형을 사용할 수 없는 경우가 있음

특정 AMD Milan 시스템에서 강화 REP MOVSB(erms) 및 Fast Short REP MOVSB(fsrm) 기능 플래그는 기본적으로 BIOS에서 비활성화됩니다. 결과적으로 이러한 시스템에서 Milan CPU 유형을 사용할 수 없습니다. 또한 기능 플래그 설정이 다른 Milan 호스트 간 VM 실시간 마이그레이션이 실패할 수 있습니다. 이러한 문제를 해결하려면 호스트의 BIOS에서 수동으로 ermsfsrm 을 켭니다.

Bugzilla:2077767

장애 조치 설정이 있는 hostdev 인터페이스는 핫 플러그 해제 후 핫플러그할 수 없습니다.

실행 중인 VM(가상 머신)에서 페일오버 구성이 포함된 hostdev 네트워크 인터페이스를 제거한 후 현재 동일한 실행 중인 VM에 인터페이스를 다시 연결할 수 없습니다.

Bugzilla:2052424

장애 조치 VF가 있는 VM의 실시간 사후 마이그레이션 실패

현재 VM에서 VF(가상 기능) 장애 조치 기능이 활성화된 장치를 사용하는 경우 실행 중인 VM(가상 머신) 마이그레이션에 실패합니다. 이 문제를 해결하려면 복사 후 마이그레이션 대신 표준 마이그레이션 유형을 사용하십시오.

Bugzilla:1817965

실시간 마이그레이션 중에 호스트 네트워크에서 VF를 사용하여 VM을 ping할 수 없음

가상 SR-IOV 소프트웨어를 사용하는 VM과 같이 구성된 VF(가상 기능)를 사용하여 VM을 실시간 마이그레이션하는 경우 VM의 네트워크가 다른 장치에 표시되지 않으며 ping 과 같은 명령으로 VM에 연결할 수 없습니다. 그러나 마이그레이션이 완료되면 더 이상 문제가 발생하지 않습니다.

Bugzilla:1789206

장애 조치 virtio NIC에는 Windows 가상 머신에서 IP 주소가 할당되지 않음

현재 장애 조치 virtio NIC로만 Windows 가상 머신(VM)을 시작하면 VM에서 NIC에 IP 주소를 할당하지 못합니다. 결과적으로 NIC에서 네트워크 연결을 설정할 수 없습니다. 현재는 해결방법이 없습니다.

Bugzilla:1969724

AVX를 비활성화하면 VM이 부팅되지 않음

AVX(Advanced Vector Extensions) 지원이 포함된 CPU를 사용하는 호스트 머신에서 현재 AVX가 명시적으로 비활성화된 VM을 부팅하려고 시도한 후 VM에서 커널 패닉을 트리거합니다.

Bugzilla:2005173

네트워크 인터페이스를 재설정한 후 Windows VM이 IP 주소를 가져오지 못했습니다.

경우에 따라 Windows 가상 머신이 자동 네트워크 인터페이스를 재설정한 후 IP 주소를 가져오지 못하는 경우가 있습니다. 이로 인해 VM이 네트워크에 연결되지 않습니다. 이 문제를 해결하려면 Windows 장치 관리자에서 네트워크 어댑터 드라이버를 비활성화하고 다시 활성화합니다.

Bugzilla:2084003

Broadcom 네트워크 어댑터가 실시간 마이그레이션 후 Windows VM에서 잘못 작동

현재 Broadcom, Qlogic 또는 Marvell과 같은 Broadcom 제품군의 네트워크 어댑터는 Windows 가상 머신 (VM)의 실시간 마이그레이션 중에 핫 플러그 해제 할 수 없습니다. 결과적으로 마이그레이션이 완료된 후 어댑터가 잘못 작동합니다.

이 문제는 SR-IOV(Single-root I/O Virtualization)를 사용하여 Windows VM에 연결된 어댑터에만 영향을 미칩니다.

Bugzilla:2090712, Bugzilla:2091528, Bugzilla:2111319

Windows Server 2016 VM은 vCPU를 핫플러그한 후 작업을 중지하는 경우가 있음

현재 Windows Server 2016 게스트 운영 체제를 사용하여 실행 중인 VM(가상 머신)에 vCPU를 할당하면 VM이 예기치 않게 종료되거나 응답하지 않거나 재부팅되는 등 다양한 문제가 발생할 수 있습니다.

Bugzilla:1915715

많은 수의 큐를 사용하면 Windows 가상 머신이 실패할 수 있습니다.

vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 장치가 활성화되고 250개 이상의 큐를 사용하도록 다중 큐 virtio-net 기능이 구성된 경우 VM(Windows 가상 머신)이 실패할 수 있습니다.

이 문제는 vTPM 장치의 제한으로 인해 발생합니다. vTPM 장치에는 열린 파일 설명자의 최대 수에 대한 하드 코딩된 제한이 있습니다. 모든 새 큐에 대해 여러 파일 설명자가 열리므로 내부 vTPM 제한을 초과하여 VM이 실패할 수 있습니다.

이 문제를 해결하려면 다음 두 옵션 중 하나를 선택합니다.

  • vTPM 장치를 활성화 상태로 유지하되, 250개 미만의 대기열을 사용하십시오.
  • 250개 이상의 대기열을 사용하도록 vTPM 장치를 비활성화합니다.

Bugzilla:2020146

NVIDIA 패스스루 장치가 있는 VM에서 오류 메시지 중복

RHEL 9.2 운영 체제가 있는 Intel 호스트 머신을 사용하는 경우 NVDIA GPU 장치를 통과하는 VM(가상 머신)은 다음 오류 메시지를 기록하는 경우가 많습니다.

Spurious APIC interrupt (vector 0xFF) on CPU#2, should never happen.

그러나 이 오류 메시지는 VM 기능에 영향을 미치지 않으며 무시할 수 있습니다. 자세한 내용은 Red Hat knoweldgeBase 를 참조하십시오.

Bugzilla:2149989

일부 Windows 게스트는 AMD EPYC CPU가 있는 호스트에서 v2v 변환 후 부팅되지 않음

virt-v2v 유틸리티를 사용하여 Windows 11 또는 Windows Server 2022를 게스트 OS로 사용하는 VM(가상 머신)을 변환한 후 현재 VM이 부팅되지 않습니다. 이는 AMD EPYC 시리즈 CPU를 사용하는 호스트에서 수행됩니다.

Bugzilla:2168082

호스트에서 OVS 서비스를 다시 시작하면 실행 중인 VM에서 네트워크 연결이 차단될 수 있습니다.

호스트에서 OVS(Open vSwitch) 서비스가 재시작되거나 충돌하면 이 호스트에서 실행 중인 VM(가상 머신)이 네트워킹 장치의 상태를 복구할 수 없습니다. 결과적으로 VM이 패킷을 완전히 수신할 수 없었습니다.

이 문제는 virtio 네트워킹 스택에서 패키지된 virtqueue 형식을 사용하는 시스템에만 영향을 미칩니다.

이 문제를 해결하려면 virtio 네트워킹 장치 정의에서 packed=off 매개변수를 사용하여 패키지된 virtqueue를 비활성화합니다. 패키지된 virtqueue가 비활성화된 상태에서 네트워킹 장치의 상태는 일부 상황에서 RAM에서 복구될 수 있습니다.

Bugzilla:1947422

VM 종료 후 Nvidia GPU 드라이버가 작동을 중지합니다.

RHEL 커널은 장치 전원 전환을 조정하는 업스트림 Linux 변경 사항을 채택했습니다. PCIe 사양에 필요한 것과 더 밀접하게 지연됩니다. 그 결과 GPU의 음성 기능으로 인해 일부 Nvidia GPU가 VM 종료 후 작동을 중지할 수 있었습니다.

이 문제를 해결하려면 VM에서 GPU의 음성 기능을 할당 해제하십시오. 또한 장치 할당(즉, IOMMU 그룹화)에 대한 DMA 격리 요구 사항으로 인해 audio 함수를 vfio-pci 드라이버에 바인딩하여 GPU 함수가 계속 할당되고 정상적으로 작동할 수 있습니다.

Bugzilla:2178956

nodedev-dumpxml 이 특정 중재된 장치에 대해 속성을 올바르게 나열하지 않음

현재 nodedev-dumpxmlnodedev-create 명령을 사용하여 생성된 중재된 장치에 대해 속성을 올바르게 나열하지 않습니다. 이 문제를 해결하려면 nodedev-definenodedev-start 명령을 대신 사용하십시오.

Bugzilla:2143158

중단된 VM 마이그레이션 복구에 실패할 수 있습니다.

VM(가상 머신)의 복사 후 마이그레이션이 중단되고 수신되는 동일한 포트에서 즉시 다시 시작되면 마이그레이션이 실패할 수 있습니다. 이미 사용 중인 주소

이 문제를 해결하려면 복사 후 마이그레이션을 다시 시작하거나 마이그레이션 복구를 위해 다른 포트로 전환하기 전에 10초 이상 기다립니다.

Bugzilla:2178376

virtiofs 장치는 virtqemud 또는 libvirtd를 다시 시작한 후에는 연결할 수 없습니다.

현재 virtqemud 또는 libvirtd 서비스를 다시 시작하면 virtiofs 스토리지 장치가 호스트의 가상 머신에 연결되지 않습니다.

Bugzilla:2078693

virsh blkiotune --weight 명령이 올바른 cgroup I/O 컨트롤러 값을 설정하지 못했습니다.

현재 virsh blkiotune --weight 명령을 사용하여 VM 가중치를 예상대로 설정하지 않습니다. 이 명령은 cgroup I/O 컨트롤러 인터페이스 파일에 올바른 io.bfq.weight 값을 설정하지 못합니다. 현재 해결방법이 없습니다.

Jira:RHELPLAN-83423

가상 머신에 Watchdog 카드를 핫플러그할 수 없음

현재 사용 가능한 PCI 슬롯이 없는 경우 실행 중인 VM(가상 머신)에 Watchdog 카드를 추가하면 다음 오류와 함께 실패합니다.

Failed to configure watchdog
ERROR Error attempting device hotplug: internal error: No more available PCI slots

이 문제를 해결하려면 Watchdog 카드를 추가하기 전에 VM을 종료합니다.

Bugzilla:2173584

AMD EPYC CPU에서 NUMA 노드 매핑이 제대로 작동하지 않음

QEMU는 AMD EPYC CPU에서 NUMA 노드 매핑을 올바르게 처리하지 않습니다. 결과적으로 NUMA 노드 구성을 사용하는 경우 이러한 CPU가 있는 VM(가상 머신)의 성능에 부정적인 영향을 미칠 수 있습니다. 또한 VM에는 부팅 중에 다음과 유사한 경고가 표시됩니다.

sched: CPU #4's llc-sibling CPU #3 is not on the same node! [node: 1 != 0]. Ignoring dependency.
WARNING: CPU: 4 PID: 0 at arch/x86/kernel/smpboot.c:415 topology_sane.isra.0+0x6b/0x80

이 문제를 해결하려면 NUMA 노드 구성에 AMD EPYC CPU를 사용하지 마십시오.

Bugzilla:2176010

VM 마이그레이션 중 NFS 실패로 인해 마이그레이션 실패 및 소스 VM 코어 덤프

현재 VM(가상 머신) 마이그레이션 중에 NFS 서비스 또는 서버가 종료되면 다시 실행을 시작할 때 소스 VM의 QEMU가 NFS 서버에 다시 연결할 수 없습니다. 결과적으로 마이그레이션이 실패하고 소스 VM에서 코어dump가 시작됩니다. 현재는 사용할 수 있는 해결방법이 없습니다.

Bugzilla:2058982

PCIe ATS 장치는 Windows VM에서 작동하지 않음

Windows 게스트 운영 체제를 사용하여 VM(가상 머신)의 XML 구성에서 PCIe 주소 변환 서비스(ATS) 장치를 구성할 때 게스트는 VM을 부팅한 후 ATS 장치를 활성화하지 않습니다. Windows는 현재 virtio 장치에서 ATS를 지원하지 않기 때문입니다.

Bugzilla:2073872

11.17. 클라우드 환경의 RHEL

Nutanix AHV에서 LVM을 사용하는 RHEL 9 가상 머신을 복제하거나 복원하면 루트가 아닌 파티션이 사라집니다.

Nutanix AHV 하이퍼바이저에서 호스팅되는 VM(가상 머신)에서 RHEL 9 게스트 운영 체제를 실행하는 경우 VM을 복원하거나 VM을 복제하면 게스트가 LVM(Logical Volume Management)을 사용하는 경우 VM의 루트 파티션이 사라집니다. 결과적으로 다음과 같은 문제가 발생합니다.

  • 스냅샷에서 VM을 복원한 후에는 VM을 부팅할 수 없으며 대신 긴급 모드로 들어갑니다.
  • 복제를 통해 생성된 VM은 부팅할 수 없으며 대신 긴급 모드로 전환됩니다.

이러한 문제를 해결하려면 VM의 긴급 모드에서 다음을 수행하십시오.

  1. LVM 시스템 장치 파일 rm /etc/lvm/devices/system.devices삭제
  2. LVM 장치 설정 다시 생성: ECDHEimportdevices -a
  3. VM 재부팅

이렇게 하면 복제되거나 복원된 VM이 올바르게 부팅될 수 있습니다.

또는 문제가 발생하지 않도록 하려면 VM을 복제하거나 VM 스냅샷을 생성하기 전에 다음을 수행하십시오.

  1. /etc/lvm/lvm.conf 파일에서 use_devicesfile = 0 행의 주석 처리를 해제합니다.
  2. VM 재부팅

Bugzilla:2059545

ESXi에서 RHEL 9 게스트를 사용자 정의하면 네트워킹 문제가 발생하는 경우가 있습니다.

현재 VMware ESXi 하이퍼바이저에서 RHEL 9 게스트 운영 체제를 사용자 지정하면 NetworkManager 키 파일에서 올바르게 작동하지 않습니다. 결과적으로 게스트가 이러한 키 파일을 사용하는 경우 IP 주소 또는 게이트웨이와 같은 잘못된 네트워크 설정이 됩니다.

자세한 내용 및 해결 방법은 VMware 기술 자료에서 참조하십시오.

Bugzilla:2037657

cloud-init 에서 프로비저닝하고 NFSv3 마운트 항목으로 구성된 경우 Azure의 RHEL 인스턴스가 부팅되지 않음

현재 cloud-init 툴에서 VM을 프로비저닝하고 VM의 게스트 운영 체제에 NFSv3 마운트 항목이 있는 경우 Microsoft Azure 클라우드 플랫폼에서 RHEL 가상 머신(VM)을 부팅하지 못합니다.

Bugzilla:2081114

VMware 호스트의 RHEL 가상 시스템에서 고정 IP 설정이 작동하지 않음

현재 RHEL을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 DatasourceOVF 기능이 제대로 작동하지 않습니다. 결과적으로 cloud-init 유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM의 네트워크가 DHCP로 변경됩니다.

이 문제를 해결하려면 VNware knowledgebase 를 참조하십시오.

Bugzilla:1750862

11.18. 지원 관련 기능

IBM Power Systems, Little Endian에서 sos 보고서를 실행할 때 시간 초과

IBM Power Systems, 수백 또는 수천 개의 CPU가 있는 Little Endian에서 sos report 명령을 실행하는 경우 프로세서 플러그인은 /sys/devices/system/cpu 디렉터리의 대규모 콘텐츠를 수집할 때 기본 시간 초과 300초에 도달합니다. 이 문제를 해결하려면 플러그인의 타임아웃을 적절하게 늘리십시오.

  • 일회성 설정을 위해 다음을 실행합니다.
# sos report -k processor.timeout=1800
  • 영구 변경 사항은 /etc/sos/sos.conf 파일의 [plugin_options] 섹션을 편집합니다.
[plugin_options]
# Specify any plugin options and their values here. These options take the form
# plugin_name.option_name = value
#rpm.rpmva = off
processor.timeout = 1800

예제 값은 1800으로 설정됩니다. 특정 시간 초과 값은 특정 시스템에 따라 크게 달라집니다. 플러그인의 시간 제한을 적절하게 설정하려면 먼저 다음 명령을 실행하여 시간 초과 없이 하나의 플러그인을 수집하는 데 필요한 시간을 추정할 수 있습니다.

# time sos report -o processor -k processor.timeout=0 --batch --build

Bugzilla:1869561

11.19. 컨테이너

이전 컨테이너 이미지 내에서 systemd를 실행해도 작동하지 않음

이전 컨테이너 이미지(예 : centos:7) 에서 systemd를 실행하면 작동하지 않습니다.

$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd
 Storing signatures
 Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted
 [!!!!!!] Failed to mount API filesystems, freezing.

이 문제를 해결하려면 다음 명령을 사용하십시오.

# mkdir /sys/fs/cgroup/systemd
# mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd
# podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd

Jira:RHELPLAN-96940

부록 A. 구성 요소별 티켓 목록

Bugzilla 및 JIRA 티켓은 참조를 위해 이 문서에 나열되어 있습니다. 링크는 티켓을 설명하는 이 문서의 릴리스 노트로 이어집니다.

구성 요소티켓

389-ds-base

Bugzilla:2096795,Bugzilla:1859271,Bugzilla:2057070,Bugzilla:2093981,Bugzilla:1132524,Bugzilla:2136610,Bugzilla:2142639, Bugzilla:1878808,Bugzilla:1924569,Bugzilla:1956987,Bugzilla:1952241,Bugzilla:2063140,Bugzilla:2047175,Bugzilla:2053204

doc-administration-guide

Bugzilla:2075525

NetworkManager

Bugzilla:2134897,Bugzilla:2081302,Bugzilla:2019306,Bugzilla:2128809,Bugzilla:2110307,Bugzilla:2117352,Bugzilla:2029636, Bugzilla:2073512,Bugzilla:2128216,Bugzilla:1894877,Bugzilla:2151040

aardvark-dns

Jira:RHELPLAN-138024

anaconda

Bugzilla:2052938,Bugzilla:2158210,Bugzilla:1991843,Bugzilla:2127100,Bugzilla:2093793,Bugzilla:2107346,Bugzilla:2050140, Bugzilla:1877697,Bugzilla:1914955,Bugzilla:1929105,Bugzilla:1997832,Bugzilla:2125542,Bugzilla:2115783,Bugzilla:2164216, Bugzilla:2163497

ansible-collection-microsoft-sql

Bugzilla:2151282,Bugzilla:2151283,Bugzilla:2151284,Bugzilla:2153428,Bugzilla:2163709

ansible-freeipa

Bugzilla:2127913

bacula

Bugzilla:2089395

bind

Bugzilla:1984982

chrony

Bugzilla:2133754

Clevis

Bugzilla:2126533, Bugzilla:2159728, Bugzilla:2159735

cloud-init

Bugzilla:1750862

cockpit

Bugzilla:2207498

cockpit-appstream

Bugzilla:2030836

cockpit-machines

Bugzilla:2173584

conntrack-tools

Bugzilla:2132398

crash

Bugzilla:2119685

crypto-policies

Bugzilla:2152635

cyrus-sasl

Bugzilla:1995600

device-mapper-multipath

Bugzilla:2033080, Bugzilla:2011699, Bugzilla:1926147

dnf

Bugzilla:2131288, Bugzilla:2121662, Bugzilla:2122626, Bugzilla:2073510

dnf-plugins-core

Bugzilla:2139326

edk2

Bugzilla:1935497

fapolicyd

Jira:RHEL-192, Bugzilla:2054740, Bugzilla:2070655

firefox

Bugzilla:2013247

firewalld

Bugzilla:2125371, Bugzilla:2077512, Bugzilla:2122678

frr

Bugzilla:2129731, Bugzilla:2129743

gcc

Bugzilla:2110583, Bugzilla:2117632, Bugzilla:2141718

gdm

Bugzilla:2131203

gimp

Bugzilla:2047161

git

Bugzilla:2139379

git-lfs

Bugzilla:2139383

glibc

Bugzilla:2129005, Bugzilla:2155352

gnome-shell-extensions

Bugzilla:2154358, Bugzilla:2160553

gnupg2

Bugzilla:2070722, Bugzilla:2073567

gnutls

Bugzilla:2084161, Bugzilla:2042009

golang

Bugzilla:2133019, Bugzilla:2175173, Bugzilla:2111072, Bugzilla:2092016

grafana

Bugzilla:2116847

grafana-pcp

Bugzilla:2116848

grub2

Bugzilla:2026579

grubby

Bugzilla:2127453

gssproxy

Bugzilla:2184333

ipa

Bugzilla:2143224,Bugzilla:2162677,Bugzilla:2084180,Bugzilla:2084166,Bugzilla:2069202,Bugzilla:2094673,Bugzilla:2057471,Bugzilla:21243 ,Bugzilla:2089907

iproute

Bugzilla:2155604

java-1.8.0-openjdk

Bugzilla:2188023

java-17-openjdk

Bugzilla:2186803, Bugzilla:2186810, Bugzilla:2186806

jmc

Bugzilla:2122401

jmc-core

Bugzilla:1980981

kdump-anaconda-addon

Bugzilla:2017401

kernel

Bugzilla:2153073,Bugzilla:2143850,Bugzilla:1871126,Bugzilla:1871143,Bugzilla:2075216,Bugzilla:2100606,Bugzilla:2104468, Bugzilla:2111048,Bugzilla:2150284,Bugzilla:2066372,Bugzilla:2107347,Bugzilla:2140899,Bugzilla:2069758, , Bugzilla:1613522,Bugzilla:1874182,Bugzilla:1995338,Bugzilla:1570255,Bugzilla:2023416,Bugzilla:2021672,Bugzilla:2027304, Bugzilla:1660337,Bugzilla:1955275,Bugzilla:2142102,Bugzilla:2041690,Bugzilla:2040643,Bugzilla:2167783, Bugzilla:2000616,Bugzilla:2013650,Bugzilla:2132480,Bugzilla:2059545,Bugzilla:1960467,Bugzilla:2005173,Bugzilla:2128610, Bugzilla:2129288,Bugzilla:2013884,Bugzilla:2149989,Bugzilla:2168603,Bugzilla:2173947,Bugzilla:2178956, Bugzilla:2180665 Jira:RHEL-6496

kexec-tools

Bugzilla:2085347,Bugzilla:2076 41676, Bugzilla:2080110,Bugzilla:2080110,Bugzilla:2139000,Bugzilla:2113873,Bugzilla:2064708,Bugzilla:206501313

keylime

Bugzilla:2150830, Bugzilla:2138167, Bugzilla:2140670, Bugzilla:2142009

kmod

Bugzilla:2103605

krb5

Bugzilla:2068535,Bugzilla:2106043,Bugzilla:2060798,Bugzilla:2077450,Bugzilla:2106296,Bugzilla:2060421,Bugzilla:2016312,Bugzilla:2103327

libdnf

Bugzilla:2124480

libnvme

Bugzilla:2139752

libotr

Bugzilla:2086562

libreswan

Bugzilla:2128669

libsepol

Bugzilla:2145224

libssh

Bugzilla:2026449, Bugzilla:2068475

libvirt

Bugzilla:2014487, Bugzilla:2143158, Bugzilla:2078693

libxcrypt

Bugzilla:2034569

llvm-toolset

Bugzilla:2118567

lvm2

Bugzilla:1878893, Bugzilla:2038183

mod_security

Bugzilla:2143211

mysql

Bugzilla:1991500

nfs-utils

Bugzilla:2143747, Bugzilla:2081114

nginx

Bugzilla:2096174

nmstate

Bugzilla:2095207,Bugzilla:2120473,Bugzilla:2044150,Bugzilla:2058292,Bugzilla:2130240,Bugzilla:2162401

nodejs

Bugzilla:2178088

nss

Bugzilla:2091905

nvme-cli

Bugzilla:2139753

nvme-stas

Bugzilla:1893841

open-vm-tools

Bugzilla:2037657

openblas

Bugzilla:2112099, Bugzilla:2115737

opencryptoki

Bugzilla:2110314

openscap

Bugzilla:2159286, Bugzilla:2161499

openslp

Bugzilla:2184570

openssh

Bugzilla:2056884

openssl

Bugzilla:2129063,Bugzilla:2188046,Bugzilla:2060044,Bugzilla:1975836,Bugzilla:2168665,Bugzilla:1681178,Bugzilla:1685470

openssl-ibmca

Bugzilla:2110378

osbuild-composer

Bugzilla:2173928

oscap-anaconda-addon

Bugzilla:2165920, Bugzilla:2172264

pacemaker

Bugzilla:2133546, Bugzilla:2125344, Bugzilla:2125337

pam

Bugzilla:2126640

passt

Bugzilla:2131015

pause-container

Bugzilla:2106816

pcp

Bugzilla:2117074

pcs

Bugzilla:2116295,Bugzilla:2112270,Bugzilla:1620043,Bugzilla:1796827,Bugzilla:2092950

pki-core

Bugzilla:1849834

podman

Jira:RHELPLAN-136602,Jira:RHELPLAN-136607,Bugzilla:2119200,Jira:RHELPLAN-136611,Bugzilla:2069279

postgresql

Bugzilla:2128410

powerpc-utils

Bugzilla:2125152

powertop

Bugzilla:2044132

python-blivet

Bugzilla:2103800

python-sqlalchemy

Bugzilla:2152649

python3.11

Bugzilla:2127923

python3.11-lxml

Bugzilla:2157708

qemu-kvm

Bugzilla:2116496,Bugzilla:1965079,Bugzilla:1951814,Bugzilla:2060839,Bugzilla:2014229,Bugzilla:2052424,Bugzilla:1817965, Bugzilla:1789206,Bugzilla:2090712,Bugzilla:1915715,Bugzilla:2020146,Bugzilla:1947422,Bugzilla:2178376, Bugzilla:2176010,Bugzilla:2058982

realtime-tests

Bugzilla:2041637

rear

Bugzilla:2172589, Bugzilla:2160748

restore

Bugzilla:1997366

rhel-system-roles

Bugzilla:2131293,Bugzilla:2133858,Bugzilla:2078999,Bugzilla:2119102,Bugzilla:2128843,Bugzilla:2130010,Bugzilla:2130329 Bugzilla:2130344,Bugzilla:2130357,Bugzilla:2133528,Bugzilla:2133930,Bugzilla:2134202,Bugzilla:2137663, , Bugzilla:2140795,Bugzilla:2141330,Bugzilla:2143768,Bugzilla:2165175,Bugzilla:2140804,Bugzilla:2126959, , Bugzilla:2143816,Bugzilla:2153030,Bugzilla:2153043,Bugzilla:2162782,Bugzilla:2167528,Bugzilla:2168735, Bugzilla:2160152,Bugzilla:1999770,Bugzilla:2123859,Bugzilla:2187539,Bugzilla:2186218

rpm

Bugzilla:2150804, Bugzilla:2111251, Bugzilla:2144005

rsyslog

Bugzilla:2124849, Bugzilla:2127404, Bugzilla:2124488, Bugzilla:2157659

rteval

Bugzilla:2081325

rust

Bugzilla:2123900

s390utils

Bugzilla:2044204, Bugzilla:1932480

samba

Bugzilla:2131993, Jira:RHELDOCS-16612

scap-security-guide

Bugzilla:2158405,Bugzilla:2122325,Bugzilla:2169414,Bugzilla:2105162,Bugzilla:2120978,Bugzilla:2038978

selinux-policy

Bugzilla:2151841, Bugzilla:1972222, Bugzilla:2064274

sos

Bugzilla:2164987, Bugzilla:2134906, Bugzilla:1869561

sssd

Bugzilla:1507035,Bugzilla:2087247,Bugzilla:1766490,Bugzilla:2065693,Bugzilla:2056482,Bugzilla:1608496

stratisd

Bugzilla:2039957, Bugzilla:2039955, Bugzilla:2041558

subscription-manager

Bugzilla:2108549, Bugzilla:2163716, Bugzilla:2136694

swig

Bugzilla:2139101

synce4l

Bugzilla:2143264

systemd

Bugzilla:2217931, Bugzilla:2018112

systemtap

Bugzilla:2083727

Tang

Bugzilla:2095474, Bugzilla:2188743

tigervnc

Bugzilla:2060308

Tomcat

Bugzilla:2160511

toolbox

Bugzilla:2163752

tuna

Bugzilla:2122781, Bugzilla:2121517, Bugzilla:2062865

tuned

Bugzilla:2133815, Bugzilla:2113900

tzdata

Bugzilla:2157982

udisks2

Bugzilla:1983602

unbound

Bugzilla:2070495

usbguard

Bugzilla:2155910, Bugzilla:2042345, Bugzilla:2097419

virt-v2v

Bugzilla:2168082

virtio-win

Bugzilla:1969724, Bugzilla:2084003

vsftpd

Bugzilla:2018284

wsmancli

Bugzilla:2127416

xdp-tools

Bugzilla:2160066

기타

Bugzilla:2177782,Jira:RHELPLAN-137505,Jira:RHELPLAN-139125,Bugzilla:2046653,Jira:RHELPLAN-133650,Jira:RHELPLAN-139430,Jira:RHELPLAN-137416, Jira JIRA:RHELPLAN-137411,Jira:RHELPLAN-137406,Jira:RHELPLAN-137403,Jira:RHELPLAN-159146,Jira:RHELPLAN-139448,Jira:RHELPLAN-151481, Jira JIRA:RHELPLAN-150266,Jira:RHELPLAN-147982,Jira:RHELPLAN-147428,Jira:RHELPLAN-139659,Jira:RHELPLAN-149091,Jira:RHELPLAN-139655, Jira:RHELPLAN-139424 ,Jira:RHELPLAN-139424, Jira JIRA:RHELPLAN-136489,Jira:RHELPLAN-59528,Bugzilla:2209419,Bugzilla:2190123,Jira:RHELPLAN-135600,Jira:RHELPLAN-148303,Bugzilla:2020529, Bugzilla:2030412,Jira:RHELPLAN-103993,Jira:RHELPLAN-122345,Jira:RHELPLAN-27394,Jira:RHELPLAN-27737,Jira:RHELPLAN-148394,Bugzilla:1927780, JIRA:RHELPLAN-110763,Bugzilla:1935544,Bugzilla:2089200,Jira:RHELPLAN-15509,Jira:RHELPLAN-99136,Jira:RHELPLAN-103232,Bugzilla:1899167, Bugzilla:1979521,Jira:RHELPLAN-100087,Jira:RHELPLAN-100639 39 ,Bugzilla:2058153,Jira:RHELPLAN-113995,Jira:RHELPLAN-98983,Jira:RHELPLAN-131882, Jira, JIRA:RHELPLAN-137660,Jira:RHELPLAN-139805,Jira:RHELPLAN-147725,Jira:RHELPLAN-153267,Jira:RHELDOCS-16300,Jira:RHELPLAN-157225, Jira:RHELPLAN-157337 ,Jira:RHELPLAN-157337, Jira Bugzilla:1640697,Bugzilla:1697896,Bugzilla:2047713,Jira:RHELPLAN-96940,Jira:RHELPLAN-117234,Jira:RHELPLAN-11 >-< ,Jira:RHELPLAN-119852, , Bugzilla:2077767,Bugzilla:2053598,Bugzilla:2082303,Jira:RHELPLAN-121049,Jira:RHELPLAN-157939,Jira:RHELPLAN-109613,Bugzilla:2160619, Bugzilla:2173992,Bugzilla:2185048,Jira:RHELPLAN-83423

부록 B. 리버전 내역

0.3-2

Mon Mar 04 2024, Gabriela Fialová (gfialova@redhat.com)

  • 버그 수정 Jira:SSSD-6096 (Identity Management)이 추가되었습니다.
0.3.1

2024년 2월 1일 Gabriela Fialová (gfialova@redhat.com)

  • 알려진 문제 BZ#1834716 (Security)이 추가되었습니다.
0.3-0

2024년 1월 12일 Fri 1월 12일 Muehlfeld (mmuehlfeld@redhat.com)

  • 알려진 문제 Jira:RHEL-6496 (Networking)이 추가되었습니다.
0.2-9

2023년 12월 12일 Gabriela Fialová (gfialova@redhat.com)

  • 기술 프리뷰 BZ#2162677 (IdM)이 추가되었습니다.
0.2-8

Thu 7 2023, Lucie Vaová (lvarakova@redhat.com)

  • 새로운 기능 BZ#2044200 (Kernel)이 추가되었습니다.
0.2-7

2023년 11월 20일 Gabriela Fialová (gfialova@redhat.com)

  • 기능 강화 BZ#2165827 (Identity Management)이 추가되었습니다.
0.2-6

2023년 11월 13일 Gabriela Fialová (gfialova@redhat.com)

0.2-5

2023년 11월 10일 Gabriela Fialová (gfialova@redhat.com)

  • RHEL 문서의 피드백 제공에서 모듈을 업데이트했습니다.
0.2-4

2023년 11월 10일 Gabriela Fialová (gfialova@redhat.com)

0.2-3

2023년 11월 2일 Gabriela Fialová (gfialova@redhat.com)

  • BZ#2125371 (Networking)에서 문서 텍스트가 업데이트되었습니다.
0.2-2

2023년 10월 13일 Gabriela Fialová (gfialova@redhat.com)

0.2-1

2023년 9월 25일 Gabriela Fialová (gfialova@redhat.com)

  • 알려진 문제 BZ#2122636 (Desktop)이 추가되었습니다.
0.2-0

2023년 9월 13일 Lenka Cryostatková (lspackova@redhat.com)

0.1-9

2023년 9월 8일 Muehlfeld (mmuehlfeld@redhat.com)

0.1-8

2023년 9월 5일 Gabriela Fialová (gfialova@redhat.com)

  • 개선 사항 BZ#2075017 (idm_ds)이 추가되었습니다.
0.1-7

2023년 8월 31일 Gabriela Fialová (gfialova@redhat.com)

  • 알려진 문제 BZ#2230431 (plumbers)이 추가되었습니다.
0.1-6

2023년 8월 29일 Gabriela Fialová (gfialova@redhat.com)

  • 알려진 문제 BZ#2220915 (IdM)가 추가되었습니다.
0.1-5

2023년 8월 25일 Lucie Va Cryostatá (lvarakova@redhat.com)

  • 알려진 문제 BZ#2214508 (Kernel)이 추가되었습니다.
0.1.4

2023년 8월 17일 Gabriela Fialová (gfialova@redhat.com)

  • 향상된 기능 BZ#2136937 (Plumbers)을 추가합니다.
0.1.3

2023년 8월 14일 Lenka Cryostatková (lspackova@redhat.com)

0.1.2

2023년 8월 9일 Gabriela Fialová (gfialova@redhat.com)

  • 보안 버그 수정 BZ#2155910 (CS)이 업데이트되었습니다.
0.1.1

2023년 8월 7일 Gabriela Fialová (gfialova@redhat.com)

  • 더 이상 사용되지 않는 기능 릴리스 노트 BZ#2214130 (CS)이 업데이트되었습니다.
0.1.0

2023년 8월 3일 Lenka Cryostatková (lspackova@redhat.com)

0.0.9

2023년 8월 2일 Muehlfeld (mmuehlfeld@redhat.com)

  • 더 이상 사용되지 않는 기능 릴리스 노트 BZ#1894877 (NetworkManager)가 업데이트되었습니다.
0.0.8

2023년 8월 1일 Mirek Jahoda (mjahoda@redhat.com)

  • NBDE의 웹 콘솔 알려진 문제를 BZ#2207498 (RHEL 웹 콘솔) 버그 수정으로 교체했습니다.
0.0.7

2023년 7월 27일 Gabriela Fialová (gfialova@redhat.com)

  • DDF 피드백에 따라 컴파일러 및 개발 도구에서 커널의 3 가지 개선 사항을 수정했습니다.
0.0.6

2023년 7월 25일 Gabriela Fialová (gfialova@redhat.com)

  • 알려진 문제 BZ#2109231 (설치자)이 추가되었습니다.
0.0.5

2023년 6월 22일 Gabriela Fialová (gfialova@redhat.com)

  • 기능 개선 사항 BZ#2087247 (IdM)이 추가되었습니다.
0.0.4

2023년 6월 8일 Gabriela Fialová (gfialova@redhat.com)

  • 기능 개선 BZ#2190123 (kernel)이 추가되었습니다.
0.0.3

2023년 6월 6일 Gabriela Fialová (gfialova@redhat.com)

0.0.2

2023년 6월 5일 Gabriela Fialová (gfialova@redhat.com)

0.0.1

2023년 5월 10일, Gabriela Fialov al (gfialova@redhat.com)

  • Red Hat Enterprise Linux 9.2 릴리스 정보.
0.0.0

2023년 3월 29일 Gabriela Fialová (gfialova@redhat.com)

  • Red Hat Enterprise Linux 9.2 베타 릴리스 노트.

법적 공지

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.