9.3 릴리스 노트

Red Hat Enterprise Linux 9.3

Red Hat Enterprise Linux 9.3 릴리스 정보

Red Hat Customer Content Services

초록

릴리스 노트에서는 Red Hat Enterprise Linux 9.3에서 구현된 개선 사항 및 추가 사항에 대한 고급 정보와 이 릴리스의 알려진 문제, 주요 버그 수정, 기술 프리뷰, 사용되지 않는 기능 및 기타 세부 사항을 설명합니다.
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.3의 주요 변경 사항

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

이미지 빌더의 주요 강조 표시:

  • 기존 BIOS 부팅 외에도 UEFI 부팅을 지원하기 위해 AWS EC2 AMD 또는 Intel 64비트 아키텍처 AMI 이미지 개선

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

RHEL for Edge

RHEL for Edge의 주요 주요 사항:

  • 다음 이미지 유형에 대한 지원이 추가되었습니다.

    • minimal-raw
    • edge-vsphere
    • edge-ami
  • 새로운 FIDO 장치 온보딩 서버 컨테이너 이미지 사용 가능

    • rhel9/fdo-manufacturing-server
    • rhel9/fdo-owner-onboarding-server
    • rhel9/fdo-rendezvous-server
    • rhel9/fdo-serviceinfo-api-server

자세한 내용은 새로운 기능 - RHEL for Edge를 참조하십시오.

보안

주요 보안 관련 강조 사항:

  • Keylime 은 버전 7.3.0에 따라 변경되었습니다.
  • keylime RHEL 시스템 역할을 사용할 수 있습니다. 이 역할을 사용하면 Keylime 검증기 및 Keylime 등록 기관을 보다 쉽게 구성할 수 있습니다.
  • OpenSSH 는 암호화 목적으로 덜 안전한 SHA-1 메시지 다이제스트에서 추가로 마이그레이션되었으며 대신 추가 시나리오에서 더 안전한 SHA-2를 적용합니다.
  • pcsc-lite-ccid USB Chip/Smart Card Interface Device(CCID) 및 ICD(Integrated Circuit Card Device) 드라이버가 버전 1.5.2로 변경되었습니다.
  • RHEL 9.3에서는 모든 TLS 1.2 연결에 FIPS-140-3 표준에 필요한 Extended Master Secret( Cryostat 7627) 확장(RFC 7627)을 추가로 지원합니다.
  • setools 는 SELinux 정책 분석을 위한 그래픽 툴, 명령줄 툴 및 라이브러리 컬렉션인 setools는 4.4.3 버전을 기반으로 했습니다.
  • OpenSCAP 은 1.3.8 버전으로 업데이트되었습니다.
  • SCAP 보안 가이드는 버전 0.1.69에 따라 수정되었으며, 특히 다음과 같습니다.

    • ANSSI 프로필이 버전 2.0으로 업데이트되었습니다.
    • CCN-STIC-610A22 가이드와 일치하는 RHEL 9용 새로운 SCAP 프로파일 3개가 추가되었습니다.

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

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

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

  • Redis 7
  • Node.js 20

또한 Apache HTTP Server 가 2.4.57 버전으로 업데이트되었습니다.

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

컴파일러 및 개발 도구

업데이트된 시스템 툴체인

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

  • GCC 11.4.1
업데이트된 성능 도구 및 디버거

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

  • Valgrind 3.21
  • SystemTap 4.9
  • elfutils 0.189
업데이트된 성능 모니터링 툴

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

  • PCP 6.0.5
  • Grafana 9.2.10
업데이트된 컴파일러 툴셋

RHEL 9.3에서 다음 컴파일러 툴셋이 업데이트되었습니다.

  • GCC Toolset 13 (new)
  • LLVM Toolset 16.0.6
  • rust Toolset 1.71.1
  • Go Toolset 1.20.10

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

RHEL 9에서 Java 구현

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

  • OpenJDK 21 Java 런타임 환경과 OpenJDK 21 Java 소프트웨어 개발 키트를 제공하는 java-21-openjdk 패키지 OpenJDK 21.0.1 보안 릴리스도 설치할 수 있습니다. 최신 보안 수정 사항을 얻으려면 OpenJDK 21.0.1 업데이트를 설치하는 것이 좋습니다.
  • 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.3 이상 릴리스 간에 단일 바이너리 세트를 공유합니다. 이번 업데이트를 통해 소스 RPM에서 RHEL에서 OpenJDK 패키지를 다시 빌드하는 프로세스가 변경되었습니다. 새로운 재구축 프로세스에 대한 자세한 내용은 OpenJDK의 Red Hat 빌드의 SRPM 패키지에서 사용할 수 있으며 /usr/share/doc 트리의 java-*-openjdk-headless 패키지로도 제공되는 README.md 파일을 참조하십시오.

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

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

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

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

  • 다음 아키텍처에서 RHEL 8.6에서 RHEL 9.0, RHEL 8.8에서 RHEL 9.2로, RHEL 8.9에서 RHEL 9.3까지 다음을 수행합니다.

    • 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 환경을 인플레이스 업그레이드하는 방법을 참조하십시오.

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

  • XFS 파일 시스템이 ftype=0 으로 포맷된 시스템에서 디스크 공간의 요구 사항이 크게 감소되었습니다.
  • 업그레이드 목적으로 업그레이드 프로세스 중에 생성된 디스크 이미지에는 이제 동적 크기가 있습니다. LEAPP_OVL_SIZE 환경 변수는 더 이상 필요하지 않습니다.
  • 기존 디스크 파티션에 필요한 여유 공간 계산 문제가 수정되었습니다. 이제 시스템을 재부팅하기 전에 누락된 여유 디스크 공간이 올바르게 감지되고 보고서는 업그레이드 RPM 트랜잭션을 진행하기에 충분한 여유 공간이 없는 파일 시스템을 올바르게 표시합니다.
  • 이제 사용자 정의 leapp 행위자를 사용하여 인플레이스 업그레이드 프로세스 중에 타사 드라이버를 관리할 수 있습니다.
  • 이제 사전 업그레이드 및 업그레이드 보고서의 개요가 터미널에 출력됩니다.
  • Red Hat OpenStack Platform에서 RHEL Real Time 및 RHEL Real Time for Network Functions Virtualization(NFV) 업그레이드가 지원됩니다.

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 가져오기 시작 페이지를 참조하십시오.

참고

공개 릴리스 노트에는 원래 추적 티켓에 액세스할 수 있는 링크가 포함되어 있지만 프라이빗 릴리스 노트는 볼 수 없으므로 링크가 포함되지 않습니다.[1]



[1] 공개 릴리스 노트에는 원래 추적 티켓에 액세스할 수 있는 링크가 포함되어 있지만 프라이빗 릴리스 노트는 볼 수 없으므로 링크가 포함되지 않습니다.

2장. 아키텍처

Red Hat Enterprise Linux 9.3은 커널 버전 5.14.0-362.8.1과 함께 배포됩니다. 이 버전은 최소 필수 버전에서 다음 아키텍처에 대한 지원을 제공합니다.

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

각 아키텍처에 적합한 서브스크립션을 구매해야 합니다. 자세한 내용은 추가 아키텍처인 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 하드 드라이브를 사용하는 것이 좋습니다. 이미지 빌더 툴을 사용하여 사용자 지정 RHEL 이미지를 생성할 수도 있습니다. 이미지 빌더에 대한 자세한 내용은 사용자 지정 RHEL 시스템 이미지 구성 문서를 참조하십시오.

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

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

3.2. 리포지토리

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

  • BaseOS
  • AppStream

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

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

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

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

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

3.3. Application Streams

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

Application Streams는 친숙한 RPM 형식으로, 모듈이라는 RPM 형식의 확장, Software Collections 또는 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 릴리스에서 라이프 사이클이 짧은 모듈로 배포됩니다. 모듈은 논리 단위, 애플리케이션, 언어 스택, 데이터베이스 또는 툴 세트를 나타내는 패키지 컬렉션입니다. 이러한 패키지는 함께 빌드, 테스트, 릴리스됩니다.

항상 설치하려는 애플리케이션 스트림 버전을 결정하고 Red Hat Enterprise Linux Application Stream 라이프사이클을 먼저 검토하십시오.

대체 컴파일러 및 컨테이너 툴과 같은 빠른 업데이트가 필요한 콘텐츠는 대체 버전을 병렬로 제공하지 않는 롤링 스트림에서 사용할 수 있습니다. 롤링 스트림은 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 대신 dnf 를 입력하면 둘 다 호환성을 위한 별칭이므로 명령이 예상대로 작동합니다.

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

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

4장. 새로운 기능

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

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

AWS EC2 이미지의 레거시 부팅 및 UEFI 부팅 지원

이전에는 RHEL 이미지 빌더에서 레거시 부팅 유형만 지원하는 EC2 AMD 또는 Intel 64비트 아키텍처 AMI 이미지를 생성했습니다. 결과적으로 보안 부팅과 같이 UEFI 부팅이 필요한 특정 AWS 기능을 활용할 수 없었습니다. 이번 개선된 기능을 통해 AWS EC2 AMD 또는 Intel 64비트 아키텍처 AMI 이미지가 확장되어 기존 BIOS 부팅 외에도 UEFI 부팅을 지원합니다. 결과적으로 UEFI로 이미지를 부팅해야하는 AWS 기능을 활용할 수 있습니다.

Jira:RHELDOCS-16339[1]

Kickstart 파일 또는 커널 드라이버를 로드하는 대기 시간을 추가하기 위해 새로운 부팅 옵션 inst.wait_for_disks=

부팅 프로세스 중 OEMDRV 레이블이 있는 장치에서 Kickstart 파일 또는 커널 드라이버를 로드하는 데 몇 초가 걸릴 수 있습니다. 대기 시간을 조정하려면 이제 새 부팅 옵션 inst.wait_for_disks= 를 사용할 수 있습니다. 이 옵션을 사용하면 설치 전 대기 시간(초)을 지정할 수 있습니다. 기본 시간은 5 초로 설정되지만 0 초를 사용하여 지연을 최소화할 수 있습니다. 이 옵션에 대한 자세한 내용은 스토리지 부팅 옵션을 참조하십시오.

Bugzilla:2171811

GUI 및 TUI를 사용하여 ARM에 RHEL을 설치하는 동안 필요한 커널을 선택하는 기능

이전에는 Kickstart 방법을 사용하여 커널-64k 페이지 크기를 사용하는 ARM에 RHEL을 설치할 수 있었습니다. 이번 업데이트를 통해 GUI 또는 TUI를 사용하여 ARM에 RHEL을 설치하고 필요한 커널 버전을 선택할 수 있습니다. 필요한 커널을 선택하는 옵션은 커널 옵션의 소프트웨어 선택 화면에서 사용할 수 있습니다.

Bugzilla:2164819[1]

VMware VSphere (OVA) 지원

이번 업데이트에서는 RHEL 이미지 빌더를 사용하여 VMware VSphere OVA 파일을 빌드할 수 있는 지원이 추가되었습니다. OVA(Open Virtual VolumeSnapshot) 파일은 VMware VSphere 가상화 애플리케이션에서 사용하는 가상 어플라이언스입니다. OVA 파일에는 OVF 설명자 파일, 하나 이상의 VMI(가상 머신 디스크 이미지 파일), 선택적 매니페스트(MF) 및 인증서 파일과 같은 가상 머신을 설명하는 데 사용되는 파일이 포함되어 있습니다. VMware VSphere(.ova)를 사용하면 vSphere GUI 클라이언트를 사용하여 VMware vSphere에 이미지를 더 쉽게 배포할 수 있습니다. 이미지를 부팅하기 전에 결과 VM을 추가로 사용자 지정할 수 있습니다.

Jira:RHELDOCS-16877[1]

DNS 처리를 제어하는 새로운 네트워크 Kickstart 옵션

이제 다음과 같은 새 옵션과 함께 네트워크 Kickstart 명령을 사용하여 DNS 처리를 제어할 수 있습니다. 이러한 새 옵션을 --device 옵션과 함께 사용합니다.

  • --ipv4-dns-search--ipv6-dns-search 옵션을 사용하면 DNS 검색 도메인을 수동으로 설정할 수 있습니다. 이러한 옵션은 NetworkManager 속성을 미러링합니다. 예를 들면 다음과 같습니다.

    network --device ens3 --ipv4-dns-search domain1.example.com,domain2.example.com
  • --ipv4-ignore-auto-dns--ipv6-ignore-auto-dns 옵션을 사용하면 DHCP의 DNS 설정을 무시할 수 있습니다. 인수가 필요하지 않습니다.

Bugzilla:2065754[1]

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

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

Bugzilla:1932480[1]

4.2. 보안

버전 7.3.0에 따라 키릴 수 있음

Keylime 패키지가 업스트림 버전 7.3.0으로 업데이트되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다. 특히 allow 및 exclude 목록이 Keylime 런타임 정책에 결합됩니다. convert_runtime_policy.py 스크립트를 사용하여 두 목록을 결합할 수 있습니다.

또한 이 업데이트는 보통 영향을 미치는 두 가지 취약점 ( CVE-2023-38200CVE-2023-38201 )을 수정합니다.

Jira:RHEL-476[1]

Keylime 포트의 SELinux 정책에서 더 엄격한 규칙이 있습니다.

Keylime에서 사용하는 포트는 Keylime SELinux 정책에서 keylime_port_t 로 레이블이 지정됩니다. 이제 이 정책이 이 레이블이 있는 포트에 대해 TCP 연결을 허용합니다. 이전 Keylime SELinux 정책에서 모든 정의되지 않은 포트에 연결할 수 있고 Keylime에서 사용하는 대부분의 포트도 정의되지 않은 그룹에 있었기 때문입니다. 결과적으로 이 업데이트로 Keylime SELinux 정책의 세분화가 증가하고 포트 보안은 보다 엄격한 대상 지정이 될 수 있습니다.

Jira:RHEL-595[1]

감사에서 FANOTIFY 레코드 필드 지원

이번 감사 패키지를 업데이트하면 FANOTIFY 감사 레코드 필드를 지원합니다. 감사 하위 시스템은 AUDIT_FANOTIFY 레코드에 추가 정보를 기록합니다.

  • FANOTIFY 이벤트 유형을 지정하는 FANOTIFY
  • 추가 컨텍스트 정보를 지정하는 fan_info
  • sub_trustobj_trust 는 주체 및 이벤트와 관련된 개체의 신뢰 수준을 나타냅니다.

따라서 특정 경우 감사 시스템이 액세스를 거부한 이유를 더 잘 이해할 수 있습니다. 이를 통해 fapolicyd 프레임워크와 같은 툴에 대한 정책을 작성하는 데 도움이 될 수 있습니다.

Jira:RHELPLAN-161087[1]

fapolicyd 는 문제 해결을 위한 규칙 번호를 제공합니다.

이번 개선된 기능을 통해 새로운 커널 및 감사 구성 요소를 통해 fapolicyd 서비스에서 fanotify API로 거부를 유발하는 규칙 수를 보낼 수 있습니다. 결과적으로 fapolicyd 와 관련된 문제를 보다 정확하게 해결할 수 있습니다.

Jira:RHEL-624

암호화 정책에서 는 FIPS 모드에서 TLS 1.2 연결에 대한 NO-ENFORCE- ECDSA 하위 정책을 제공합니다.

이제 시스템 전체 암호화 정책에 NO-ENFORCE-ECDSA 하위 정책이 포함됩니다. 새 하위 정책을 적용한 후 시스템은 더 이상 FIPS 모드에서 협상된 모든 TLS 1.2 연결에 대해 Extended Master Secret(ECDSA) 확장(RFC 7627)이 필요하지 않습니다. 이를 통해 시스템은 ECDSA 또는 TLS 1.3을 지원하지 않고 레거시 시스템에 연결할 수 있습니다. 이는 FIPS-140-3 표준의 요구 사항을 위반합니다. update-crypto-policies --set FIPS:NO-ENFORCE- Cryostat 명령을 입력하여 하위 정책을 적용할 수 있습니다.

Bugzilla:2216257[1]

GnuTLS에는 FIPS 모드에서 TLS 1.2가 있는 ECDSA가 필요합니다.

FIPS-140-3 표준을 준수하기 위해 GnuTLS 서버 및 클라이언트에는 FIPS 모드에서 협상된 모든 TLS 1.2 연결에 대해 Extended Master Secret(ECDSA) 확장(RFC 7627)이 필요합니다. 시나리오에 ECDSA를 지원하지 않는 이전 서버 및 클라이언트와의 호환성을 유지해야 하며 TLS 1.3을 사용할 수 없는 경우 시스템 전체 암호화 하위 정책을 적용할 수 있습니다.

# update-crypto-policies --set FIPS:NO-ENFORCE-EMS
주의

ECDSA 없이 TLS 1.2 연결을 허용하면 시스템이 더 이상 FIPS-140-3 요구 사항을 충족하지 않습니다.

Bugzilla:2157953

NSS가 FIPS 모드에서 ECDSA 적용

NSS(Network Security Services) 라이브러리에는 FIPS 140-3 표준에서 요구하는 모든 TLS 1.2 연결에 대해 확장 마스터 보안(ECDSA) 확장(RFC 7627)이 필요한 TLS-REQUIRE- ECDSA 정책이 포함됩니다. 시스템 전체 암호화 정책이 FIPS 로 설정된 경우 NSS는 새 정책을 사용합니다.

시나리오에 ECDSA 또는 TLS 1.3을 지원하지 않고 기존 시스템과 상호 작용해야 하는 경우 NO-ENFORCE- ECDSA 시스템 전체 암호화 하위 정책을 적용할 수 있습니다. 이러한 변경으로 인해 FIPS-140-3 요구 사항이 위반됩니다.

Bugzilla:2157950

OpenSSL이 FIPS 모드에서 ECDSA 비활성화 지원

/etc/pki/tls/fips_local.cnf 파일을 편집하여 FIPS 모드에서 Extended Master Secret( Cryostat 7627) 없이 TLS 1.2 연결을 허용하도록 OpenSSL 암호화 라이브러리를 구성할 수 있습니다. 선택한 텍스트 편집기에서 구성 파일에 다음 섹션을 추가합니다.

[fips_sect]
tls1-prf-ems-check = 0
activate = 1

그런 다음 /etc/pki/tls/openssl.cnf 파일에서 SSL 구성 섹션을 찾습니다. 기본 SSL 구성 섹션은 crypto_policy 입니다. SSL 구성 섹션 끝에 다음 행을 추가합니다.

Options=RHNoEnforceEMSinFIPS

이전 구성 변경 사항을 통해 FIPS 모드의 시스템은 ECDSA 또는 TLS 1.3을 지원하지 않고 레거시 시스템에 연결할 수 있습니다.

주의

update-crypto-policies --set FIPS:NO-ENFORCE-ECDSA 명령을 입력하여 FIPS 모드에서 TLS 1.2에 대한 강제 적용을 중지할 수 있습니다. 두 경우 모두 이러한 구성 변경은 FIPS-140-3 표준의 요구 사항을 위반합니다.

Bugzilla:2216256[1]

OpenSSH는 SHA-2를 추가로 적용합니다.

암호화 목적으로 덜 안전한 SHA-1 메시지 다이제스트에서 추가로 마이그레이션하려는 노력의 일환으로 OpenSSH에서 다음과 같은 변경이 이루어졌습니다.

  • 시스템에 SHA-1을 사용할 수 있는지 여부를 sshd 시작 시 검사를 추가했습니다. 사용할 수 없는 경우 OpenSSH는 작업에 SHA-1을 사용하지 않습니다. 이렇게 하면 DSS 키가 있을 때 로드가 제거되고 사용 가능한 경우 광고 rsa-sha2 조합도 적용됩니다.
  • SSH 개인 키 변환에서 OpenSSH는 RSA 키를 테스트하는 데 명시적으로 SHA-2를 사용합니다.
  • 서버 측에서 SHA-1 서명을 사용할 수 없는 경우 sshd 는 SHA-2를 사용하여 호스트 키 증명을 확인합니다. 이는 RHEL 8 및 이전 버전의 클라이언트와 호환되지 않을 수 있습니다.
  • 클라이언트 측에서 SHA-1 알고리즘을 사용할 수 없는 경우 OpenSSH는 SHA-2를 사용합니다.
  • 클라이언트 측에서 OpenSSH는 SHA-1이 키 증명 요청에 사용되거나 해시 알고리즘이 지정되지 않은 경우(기본값) SHA-2 기반 키 증명을 허용합니다. 이는 RSA 인증서에 대한 이미 존재하는 예외와 일치하며 지원되는 경우 최신 알고리즘을 사용하여 연결할 수 있습니다.

Bugzilla:2070163

OpenSSL에는 Bleichenbacher와 같은 공격에 대한 보호 기능이 포함되어 있습니다.

이번 OpenSSL TLS 툴킷 릴리스에서는 RSA PKCS #1 v1.5 암호 해독 프로세스의 Bleichenbacher와 같은 공격에 대한 API 수준 보호가 도입되었습니다. 이제 RSA 암호 해독은 PKCS #1 v1.5 암호 해독 중에 패딩을 확인할 때 오류를 감지하면 오류 대신 임의로 생성된 결정적 메시지를 반환합니다. 이 변경 사항은 CVE-2020-25659CVE-2020-25657 과 같은 취약점에 대한 일반적인 보호 기능을 제공합니다.

EVP_PKEY_CTX_ctrl_str(ctx, "rsa_pkcs1_implicit_rejection"을 호출하여 이 보호를 비활성화할 수 있습니다. "0") 는 RSA 암호 해독 컨텍스트에서 작동하지만 시스템을 더 취약하게 만듭니다.

Bugzilla:2153471

OpenSSL이 그룹 옵션을 통해 구성 가능한 Brainpool 곡선 지원

이 OpenSSL TLS 툴킷 업데이트에서는 ECC(Elliptic Curve Cryptography)의 Brainpool 곡선을 지원합니다. 또한 그룹 구성 옵션을 통해 시스템 전체 암호화 정책의 곡선을 제어할 수 있습니다.

OpenSSL ECC에서 다음 Brainpool 곡선이 활성화됩니다.

  • brainpoolP256r1
  • brainpoolP256t1
  • brainpoolP320r1
  • brainpoolP320t1
  • brainpoolP384r1
  • brainpoolP384t1
  • brainpoolP512r1
  • brainpoolP512t1

Bugzilla:2188180

암호화 정책에서 OpenSSL ECC Brainpool 곡선 지원

이 시스템 전체 암호화 정책을 업데이트하면 그룹 옵션을 사용하여 OpenSSL에서 다음의 Brainpool ECC(Ellliptic Curve Cryptography) 곡선을 제어할 수 있습니다.

  • BRAINPOOL-P256R1
  • BRAINPOOL-P384R1
  • BRAINPOOL-P512R1.

예를 들어 다음 행이 포함된 하위 정책을 생성하여 OpenSSL에서 지원되는 모든 Brainpool elliptic 곡선을 활성화할 수 있습니다.

group = BRAINPOOL-*+

Bugzilla:2193324[1]

암호화 정책에서 는 기본적으로 OpenSSL과 동일한 그룹 순서를 사용합니다.

이번 릴리스에서는 시스템 전체 암호화 정책(암호 정책)이 OpenSSL 그룹 구성 옵션의 그룹 순서를 제어합니다. OpenSSL에서 성능을 유지하기 위해 암호화 정책은 OpenSSL 기본 설정 순서와 일치하는 기본 그룹 순서를 사용합니다. 결과적으로 RHEL 암호화 백엔드는 이제 GnuTLS와 같은 그룹 순서를 제어하기 위한 암호화 정책을 지원하는 OpenSSL과 동일한 순서를 사용합니다.

Jira:RHEL-591[1]

crypto-policies permitted_enctypes 에서 더 이상 FIPS 모드에서 복제를 중단하지 않음

이번 업데이트 이전에는 RHEL 8에서 실행되는 IdM 서버에서 FIPS 모드에서 RHEL 9를 실행하는 IdM 복제본에 AES-256-HMAC-SHA-1 암호화 서비스 티켓을 전송했습니다. 결과적으로 기본 permitted_enctypes krb5 구성으로 FIPS 모드에서 RHEL 8 IdM 서버와 RHEL 9 IdM 복제본 간의 복제가 중단되었습니다.

이번 업데이트에서는 시스템 전체 암호화 정책이 allowed_enctypes krb5 구성 옵션 값을 다시 정렬하여 기본적으로 상호 운용 가능한 암호화 유형의 우선 순위를 지정할 수 있습니다. 결과적으로 permitted_enctypes 구성에서 FIPS 모드에서 RHEL 8 IdM 서버와 RHEL 9 IdM 복제본 간의 복제가 중단되지 않습니다.

참고

Kerberos를 사용하는 경우 /etc/crypto-policies/back-ends/krb5.config 파일에서 permitted_enctypes 값의 순서를 확인합니다. 시나리오에 다른 순서가 필요한 경우 사용자 지정 암호화 하위 정책을 적용합니다.

Bugzilla:2225222

pcsc-lite-ccid 를 1.5.2에 기반

pcsc-lite-ccid 패키지가 버전 1.5.2로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.

  • 새로운 리더 지원
  • Alcor Micro AU9560

Bugzilla:2209457

0.23에 기반 OpenSC

opensc 패키지가 0.23 버전으로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.

  • 대칭 키를 사용하여 암호화 및 암호 해독 지원 추가
  • 512바이트를 초과하는 데이터 서명 지원 추가
  • 기본적으로 이전 카드 드라이버 지원 비활성화
  • 이전 드라이버 MioCOS 및 JCOP에 대한 제거된 지원

Jira:RHEL-280[1]

setools 가 4.4.3으로 업데이트됨

setools 패키지가 4.4.3 버전으로 업데이트되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.

  • Cython 3.0.0으로 수정된 컴파일
  • 도움말 페이지 개선
  • sediff,sesearch, apol에서 사용되지 않는 옵션 제거
  • seinfoflow 명령에 -r 옵션을 추가하여 소스 유형으로 흐름 분석을 가져왔습니다.
  • 권한이 없는 규칙은 잘못된 정책으로 자동 거부됩니다.

Bugzilla:2231801, Bugzilla:2184140

SELinux 정책에 제한된 추가 서비스

이번 업데이트에서는 다음 systemd 서비스를 제한하는 SELinux 정책에 추가 규칙이 추가되었습니다.

  • QAT
  • systemd-pstore
  • boothd
  • fdo-manufacturing-server
  • fdo-rendezvous-server
  • fdo-client-linuxapp
  • fdo-owner-onboarding-server

결과적으로 이러한 서비스는 더 이상 unconfined_service_t SELinux 레이블로 실행되지 않으며 SELinux 강제 모드에서 성공적으로 실행됩니다.

Bugzilla:2080443[1], Bugzilla:2026795, Bugzilla:2181565, Bugzilla:2128833

1.3.8에 기반 OpenSCAP

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

  • 일부 systemd 장치를 무시하지 않도록 수정된 systemd 프로브
  • shadow OVAL 프로브에 오프라인 기능 추가
  • sysctl OVAL 프로브에 오프라인 기능 추가
  • 네트워크 파일 시스템 목록에 auristorfs 추가
  • autotailor 유틸리티에서 생성한 맞춤형 파일 문제에 대한 해결 방법이 생성되었습니다.

Bugzilla:2217442

버전 0.1.69에 기반 SCAP 보안 가이드

SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.69로 변경되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다. 특히 2022년 10월 스페인 국립 암호화 센터 (National Cryptologic Center)에서 발행한 CCN-STIC-610A22 가이드와 일치하는 RHEL 9의 새로운 SCAP 프로필이 도입되었습니다.

프로파일 이름프로파일 ID정책 버전

CCN Red Hat Enterprise Linux 9 - 고급

xccdf_org.ssgproject.content_profile_ccn_advanced

2022-10

CCN Red Hat Enterprise Linux 9 - Basic

xccdf_org.ssgproject.content_profile_ccn_basic

2022-10

CCN Red Hat Enterprise Linux 9 - Intermediate

xccdf_org.ssgproject.content_profile_ccn_intermediate

2022-10

Bugzilla:2221697

ANSSI-BP-028 보안 프로필이 버전 2.0으로 업데이트됨

다음 French National Agency for the Security of Information Systems (ANSSI) BP-028이 버전 2.0과 일치하도록 업데이트되었습니다.

  • ANSSI-BP-028 최소 수준
  • ANSSI-BP-028 중간 수준
  • ANSSI-BP-028 향상된 수준
  • ANSSI-BP-028 High Level

Bugzilla:2155790

python3-greenlet-devel 은 CRB에서 사용 가능

python3-greenlet-devel 패키지는 이제 명시적으로 활성화해야 하는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있습니다. 자세한 내용은 CodeReady Linux Builder 지식 베이스에서 콘텐츠를 활성화하고 사용하는 방법을 참조하십시오. CRB 리포지토리에 포함된 패키지는 지원되지 않습니다.

Bugzilla:2149497

pam_wheel.so 모듈에서 사용하는 그룹을 확인하는 SSG 규칙이 간소화됨

CIS 벤치마크에서는 sudo 명령을 대신해서 su 명령을 제한해야 합니다. SCAP Security Guide(SSG)는 su 명령을 특정 그룹으로 제한하는 pam_wheel.so 모듈로 이 요구 사항을 충족합니다. 이번 업데이트에서는 이 그룹이 존재하고 멤버가 없는지 확인하는 규칙이 향상됩니다. 결과적으로 규칙이 더 효율적이며 평가 보고서의 해석을 단순화합니다.

Jira:RHEL-1905

4.3. RHEL for Edge

새로운 FIDO 장치 온보딩 서버 컨테이너 이미지를 사용할 수 있습니다.

다음 FIDO 장치 온보딩 서버 컨테이너 이미지는 이제 Red Hat Container Catalog 에서 사용할 수 있습니다.

  • rhel9/fdo-manufacturing-server container image
  • rhel9/fdo-owner-onboarding-server container image
  • rhel9/fdo-rendezvous-server container image
  • rhel9/fdo-serviceinfo-api-server container image

Jira:RHELPLAN-163133[1]

최소 이미지 유형에서 64비트 ARM 아키텍처 지원

이번 개선된 기능을 통해 64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처를 지원하는 최소 이미지 유형을 생성할 수 있습니다. 최소-raw 이미지는 사전 패키지되고 부팅 가능하며 최소 RPM 이미지는 xz 형식으로 압축됩니다. 이미지를 부팅하려면 압축을 풀고 SD 카드와 같은 부팅 가능한 모든 장치에 복사해야 합니다. 이미지의 압축을 풀려면 다음 명령을 실행합니다.

$ xz -d <_uuid-minimal-raw.img_.xz>

Jira:RHELPLAN-163665[1]

Commit ID가 composer-cli CLI의 --parent 인수 값으로 지원됨

이제 composer-cli 명령줄의 --parent 인수 값으로 이미지 커밋 ID를 사용할 수 있습니다. 이미지 커밋 ID를 가져오려면 RHEL for Edge 커밋 이미지를 다운로드하여 추출합니다. 추출된 .tar 파일에서 ref 이름과 커밋 ID를 찾을 수 있습니다.

Jira:RHELDOCS-16386[1]

RHEL for Edge .ami 이미지 빌드 지원

이번 개선된 기능을 통해 온프레미스 RHEL 이미지 빌더를 사용하여 RHEL for Edge용 .ami 이미지를 빌드할 수 있습니다. 초기 부팅 과정에서 Ignition으로 블루프린트를 사용자 지정하여 인증 정보를 이미지에 삽입할 수 있습니다. .ami 이미지를 AWS에 업로드하고 AWS에서 EC2 인스턴스를 부팅할 수 있습니다.

Jira:RHELDOCS-16708[1]

RHEL for Edge용 .vmdk 이미지 빌드 지원

이번 개선된 기능을 통해 온프레미스 RHEL 이미지 빌더를 사용하여 RHEL for Edge용 .vmdk 이미지를 빌드할 수 있습니다. Ignition으로 블루프린트를 사용자 지정하여 초기 부팅 중에 이미지에 인증 정보를 삽입할 수 있습니다. vSphere에 이미지를 로드하고 VM vSphere에서 이미지를 부팅할 수 있습니다. 이미지는 ESXi 7.0 U2, ESXi 8.0 이상과 호환됩니다. VM은 버전 19 및 20과 호환됩니다.

Jira:RHELDOCS-16709[1]

이제 암호를 설정하지 않고 초기 사용자로 에지 시스템에 로그인할 수 있습니다.

이전에는 useradd 명령으로 설정되지 않은 암호를 요청했기 때문에 FDO 온보딩 프로세스 중에 생성된 초기 사용자로 로그인할 수 없었습니다. 이번 개선된 기능을 통해 이제 암호가 선택 사항으로 설정되고 useradd 명령을 사용하여 암호를 설정하지 않은 경우에도 로그인할 수 있습니다. 암호를 입력하지 않고 SSH 키로 로그인할 수 있으며 실패할 경우 암호를 입력하라는 메시지가 표시됩니다.

Jira:RHELDOCS-17101[1]

4.4. 소프트웨어 관리

업그레이드 후 자동 재부팅 을 위한 새로운 DNF 자동 재부팅 옵션

이번 개선된 기능을 통해 DNF 자동 재부팅 옵션을 사용하여 자동으로 재부팅되도록 시스템을 설정하여 업그레이드 후 변경 사항을 적용할 수 있습니다.

reboot 옵션은 다음 설정을 지원합니다.

  • 시스템을 재부팅 하지 마십시오. 이는 현재 동작입니다.
  • when-changed 는 업그레이드 후 재부팅을 트리거합니다.
  • 필요한 경우 변경 사항을 적용하기 위해 재부팅이 필요한 경우에만 재부팅을 트리거합니다(예: systemd 또는 커널 업그레이드 시).

reboot_command 옵션을 사용하여 재부팅에 사용되는 명령을 사용자 지정할 수 있습니다. 기본 reboot 명령은 shutdown -r 입니다.

Bugzilla:2124793

새로운 --poweroff 옵션을 사용하면 업데이트를 설치한 후 시스템을 종료할 수 있습니다.

이번 개선된 기능을 통해 dnf system-upgrade 플러그인의 reboot 명령에 새로운 --poweroff 옵션이 추가되었습니다. 이 옵션을 사용하여 재부팅하지 않고 업데이트를 설치한 후 시스템을 종료할 수 있습니다.

Bugzilla:2157844

DNF API에서 새로운 dnf 휴가 및 show-leaves 플러그인을 사용할 수 있습니다.

이번 개선된 기능을 통해 다음의 새로운 DNF 플러그인을 사용할 수 있으며, 시스템에 설치된 다른 설치된 패키지의 종속 항목으로 필요하지 않은 패키지를 나열할 수 있습니다.

  • dnf는 모든 패키지를 나열합니다.
  • show-leaves 는 새로 설치된 패키지와 패키지 목록을 트랜잭션 후 다른 설치된 다른 패키지의 종속 항목으로 표시합니다.

Bugzilla:2134638

4.5. 쉘 및 명령행 툴

백업 복원을 위해 NetBackup 서비스가 활성화됨

NetBackup (NBU) 백업 방법을 사용할 때 ReaR에는 이제 복구 이미지에 NetBackup 서비스 버전 10.1.1의 단위 파일이 포함되어 복구 시스템이 부팅될 때 시작됩니다. 결과적으로 복구 프로세스 중에 NBU 백업 방법을 사용하여 시스템 백업을 복원하고 복원을 성공적으로 완료할 수 있습니다.

Bugzilla:2188593

Opencryptoki 는 3.21.0에 기반

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

  • HSM(Performance hardware security module) 마스터 키 변경
  • 선택한 키를 보호 키로 변환하는 protected-key 옵션
  • DH, DSA 및 일반 비밀 키 유형과 같은 추가 키 유형
  • EP11 호스트 라이브러리 버전 4
  • AES-XTS 키 유형
  • IBM 특정 Kyber 키 유형 및 메커니즘
  • 추가 IBM 특정 Dilithium 키 라운드 2 및 3 변형

또한 pkcsslotd 슬롯 관리자는 더 이상 root로 실행되지 않으며 opencryptoki 는 추가 강화를 제공합니다. 이번 업데이트를 통해 다음과 같은 새 명령 세트를 사용할 수도 있습니다.

p11sak set-key-attr
키를 수정하려면 다음을 수행합니다.
p11sak copy-key
키를 복사하려면 다음을 수행합니다.
p11sak import-key
키를 가져오려면 다음을 수행합니다.
p11sak export-key
키를 내보내려면

Bugzilla:2160061[1]

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

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

systemd 링크 파일 프로시저를 사용하여 IPoIB 장치에 따라 InfiniBand 인터페이스 이름에 대한 사용자 지정 이름 지정 규칙을 정의할 수 있습니다.

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

Bugzilla:2136937

4.6. 인프라 서비스

vsftpd에서 SRV 조회 지원

이번 개선된 기능을 통해 SRV(DNS 서비스 레코드 확인)를 사용하여 메일 클라이언트를 자동으로 구성하고 서버의 부하를 분산할 수 있습니다. 또한 ReplicaSet 구성에서 다음 SRV 관련 옵션을 사용하여 임시 DNS 문제 또는 잘못 구성된 SRV 레코드로 인한 메일 전달 중단을 방지할 수 있습니다.

use_srv_lookup
DNS SRV 레코드를 사용하여 지정된 서비스에 대한 검색을 활성화할 수 있습니다.
allow_srv_lookup_fallback
계단식 접근 방식을 사용하여 서비스를 찾을 수 있습니다.
ignore_srv_lookup_error
SRV 레코드를 사용할 수 없거나 오류가 발생하는 경우에도 서비스 검색이 작동하는지 확인할 수 있습니다.

Bugzilla:2134789

일반 LF-to-CRLF 드라이버는 cups-filters에서 사용할 수 있습니다.

이번 개선된 기능을 통해 이제 일반 LF-to-CRLF 드라이버를 사용하여 CR+LF 문자가 있는 파일을 수락하기 위해 LF 문자를 CR+LF 문자로 변환할 수 있습니다. 반환(CR) 및 줄 피드(LF)는 줄 끝을 표시하는 제어 문자입니다. 결과적으로 이 드라이버를 사용하면 애플리케이션에서 CR+LF 문자만 수락하는 프린터로 LF 문자 종료 파일을 보낼 수 있습니다. 일반 LF-to-CRLF 드라이버는 RHEL 7의 텍스트 전용 드라이버의 이름이 변경된 버전입니다. 새 이름은 실제 기능을 반영합니다.

Bugzilla:2229784

4.7. 네트워킹

ARM의 RHEL은 RHEL 9.3에서 Cryostat 어댑터가 완전히 지원됨

이번 개선된 기능을 통해 이제 arm64 플랫폼용 여러 카드의 Cryostat 어댑터에 대한 액세스를 활성화할 수 있습니다.

Cryostat 연결 구성에 대한 자세한 내용은 Cryostat 연결 관리를 참조하십시오.

Bugzilla:2208365[1]

NetworkManager 에서 resolv.conf에서 no- aaa 옵션 지원

NetworkManager 는 이제 resolv.conf 파일에서 no- aaa DNS 옵션 추가를 지원합니다. DNS 옵션 설정에서 no- aaa 값을 사용하면 IPv6 DNS 확인을 비활성화할 수 있습니다.

Bugzilla:2176137

NMState 에서 동적 DNS 이름 서버와 함께 정적 DNS 검색 혼합 지원

nmstate 프레임워크는 이제 DHCP(Dynamic Host Configuration Protocol) 또는 autoconf 메커니즘에서 가져온 nmstate 가 있는 DNS(정적 도메인 이름 시스템) 검색 도메인과 동적 DNS 이름 서버를 모두 지원합니다. 이전 버전에서는 동적 구성이 nmstate 에 의해 삭제되었기 때문에 정적 DNS 검색 도메인이 동적 DNS 이름 서버와 공존할 수 없었습니다. 이로 인해 종종 네트워크 설정 및 관리에 불필요한 복잡성과 제한이 발생했습니다. 이번 개선된 기능은 DNS 구성 관리에 더 많은 유연성을 제공하는 것을 목표로 합니다. 결과적으로 nmstate 는 DNS 구성을 다음과 같이 저장하기 위해 네트워크 인터페이스를 찾습니다.

  1. 현재 DNS 구성이 있고 DNS에 여전히 유효한 기본 인터페이스
  2. 자동 인터페이스
  3. IP 활성화 인터페이스

이 향상된 기능에서는 DHCP에서 학습한 DNS 이름 서버가 제거되지 않습니다.

다음은 이 기능을 적용할 YAML 파일의 예입니다.

---
dns-resolver:
  config:
    search:
      - example.com
      - example.org
interfaces:
  - name: eth1
    type: ethernet
    state: up
    ipv4:
      enabled: true
      dhcp: true
    ipv6:
      enabled: true
      dhcp: true
      autoconf: true

Bugzilla:2179916

NMState 에서 bridge.vlan-default-pvid NetworkManager 구성 옵션 지원

이번 업데이트를 통해 nmstate 프레임워크를 사용하여 bridge.vlan-default-pvid NetworkManager 구성 옵션을 구성할 수 있습니다. 이 옵션을 사용하면 Linux 브리지 VLAN 필터링을 사용할 때 VLAN을 지원하는 브리지 인터페이스에서 태그가 지정되지 않은 트래픽에 대해 기본 포트 VLAN ID(PVID)를 설정할 수 있습니다. 이 결과를 얻으려면 다음 YAML 구성을 사용합니다.

interfaces:
  - name: linux-br0
    type: linux-bridge
    state: up
    bridge:
      options:
        vlan-default-pvid: 5
      port:
        - name: eth1
          stp-hairpin-mode: false
          stp-path-cost: 100
          stp-priority: 32
          vlan:
            mode: access
            tag: 100

bridge.vlan-default-pvid 의 기본값은 1입니다. VLAN 필터링이 활성화된 0으로 설정하면 태그되지 않은 트래픽이 삭제됩니다.

Bugzilla:2180795

dbus 서비스가 다시 시작된 직후 NetworkManager 서비스가 다시 시작됩니다.

이전에는 어떤 이유로 dbus 를 다시 시작한 후 NetworkManager 가 중지되었습니다. 이 동작은 최적이 아니며 연결이 끊어졌습니다. 따라서 이번 개선된 기능에서는 NetworkManager 가 보다 강력하게 업데이트되고 dbus 재시작 시 자동으로 다시 시작되도록 합니다.

Bugzilla:2161915

nm-cloud-setup 유틸리티에서 IMDSv2 구성 지원

사용자는 nm-cloud-setup 유틸리티를 사용하여 인스턴스 메타데이터 서비스 버전 2(IMDSv2)를 사용하여 AWS Red Hat Enterprise Linux EC2 인스턴스를 구성할 수 있습니다. EC2 메타데이터와 새로운 기능에 대한 무단 액세스를 제한하는 향상된 보안을 준수하기 위해 AWS와 Red Hat 서비스 간의 통합이 필요합니다. 이러한 향상된 기능을 통해 nm-cloud-setup 유틸리티는 IMDSv2 토큰을 가져오고 저장하고 EC2 환경을 확인하고 보안 IMDSv2 토큰을 사용하여 사용 가능한 인터페이스 및 IP 구성에 대한 정보를 검색할 수 있습니다.

Bugzilla:2151986

NetworkManager에서 더 이상 사용되지 않는 ifcfg 형식을 사용할 때 알립니다.

RHEL 9에서는 ifcfg 형식의 연결 프로필이 더 이상 사용되지 않습니다( ifcfg 형식의 NetworkManager 연결 프로필이 더 이상 사용되지 않음참조). 이번 업데이트를 통해 NetworkManager는 이 형식의 사용 중단을 사용자에게 알립니다.

  • NetworkManager는 /etc/sysconfig/network-scripts/ 디렉토리에서 ifcfg 형식으로 연결 프로필을 처리하는 경우 systemd 저널에 다음 경고를 기록합니다.

    Warning: the ifcfg-rh plugin is deprecated, please migrate connections to the keyfile format using "nmcli connection migrate"
  • nmcli 유틸리티는 ifcfg 형식으로 지원되지 않는 속성을 수정하려고 하면 다음 오류를 보고합니다.

    Error: Failed to modify connection '<name>': failed to update connection: The ifcfg-rh plugin doesn't support setting '<property>'. If you are modifying an existing connection profile saved in ifcfg-rh format, please migrate the connection to keyfile using 'nmcli connection migrate <connection_uuid>' or via the Update2() D-Bus API and try again.

이러한 개선 사항으로 인해 NetworkManager는 이제 더 이상 사용되지 않는 ifcfg 형식으로 연결 프로필을 계속 사용하거나 수정할지 여부를 사용자에게 알립니다.

프로필을 ifcfg 에서 키 파일 형식으로 마이그레이션하는 방법에 대한 자세한 내용은 ifcfg에서 키 파일 형식으로 NetworkManager 프로필 마이그레이션을 참조하십시오.

Bugzilla:2190375

NetworkManager 에서 본딩 구성에서 lacp_active 옵션 지원

NetworkManager 를 사용하면 본딩 구성의 lacp_active 옵션을 사용하면 LCPDU(Link Aggregation Control Protocol Data Units) 프레임을 세부적으로 제어할 수 있습니다. lacp_active 옵션은 LACPDU 프레임의 동작을 조정하고 본딩 설정에서 이러한 프레임의 주기적인 전송을 제어합니다. 네트워크 구성을 사용자 지정하려면 lacp_activeON 또는 OFF 로 설정하여 LACPDU 프레임의 주기적 전송을 활성화하거나 비활성화할 수 있습니다.

Bugzilla:2069001

NetworkManager 에서 본딩 인터페이스에 대한 ns_ip6_target 옵션 구성 지원

이번 개선된 기능을 통해 본딩 인터페이스의 ns_i6_target 옵션 구성을 위해 NetworkManager 에서 최대 16개의 IPv6 주소를 모니터링 피어로 지정하여 arp_interval 옵션을 설정할 수 있습니다. 이전에는 NetworkManager 에서 IPv6 모니터링 피어를 지정할 수 없었습니다. 이번 업데이트를 통해 nmcli 유틸리티를 사용하여 bond.options 매개변수에서 ns_ip6_target 옵션을 구성할 수 있습니다. NetworkManager 는 최대 16개의 IPv6 주소 사양을 활성화하여 이 설정을 본딩 인터페이스에 적용합니다. 이번 개선된 기능은 IPv4 및 IPv6 설정에 동일하게 적용됩니다.

Bugzilla:2069004

NetworkManager 에서 동일한 네트워크 인터페이스에서 고정 및 DHCP IP 구성을 모두 지원

nmstate 유틸리티를 사용하면 DHCP 또는 Ad-Hoc Network Autoconfiguration(autoconf) 활성화된 인터페이스에서 dhcp: true 또는 autoconf: true 값을 사용하여 고정 IP 주소를 할당할 수 있습니다.

이 향상된 기능을 통해 nmstate 는 IP 주소의 두 가지 속성을 지원합니다.

  • valid_lft 는 유효한 수명을 초 단위로 나타냅니다.
  • preferred_lft 는 초 단위로 선호하는 수명 수를 의미합니다.

두 매개변수의 기본값은 항상 정적임을 의미합니다.

위의 속성을 사용하면 nmstate 는 쿼리된 상태를 다시 적용한 후 동적 IP 주소를 고정 IP로 변환하지 않도록 DHCP/autoconf 기반 IP 주소를 무시할 수 있습니다. 동적 IP 주소를 사용하여 DHCP/autoconf 설정을 비활성화해야 하는 경우 nmstate 는 해당 동적 IP를 고정 IP 주소로 변환합니다.

Bugzilla:2177733

NMState 는 MAC 주소 식별 네트워크 인터페이스 지원

nmstate 유틸리티는 인터페이스 이름 대신 MAC 주소가 있는 네트워크 인터페이스에 직접 네트워크 구성을 지원합니다.

이번 개선된 기능에는 기본 인터페이스에 두 가지 속성이 도입되었습니다.

  • ID : 네트워크에서 이름 또는 mac-address 를 식별합니다. 기본값은 name 입니다.
  • profile-name : string

identifier 변수가 mac-address 값으로 설정된 경우 nmstateinterface.mac-address 를 사용하여 특정 네트워크 상태에 대한 네트워크 인터페이스를 선택합니다. 네트워크 구성을 저장할 때 interface.profile-name 변수가 할당되지 않은 경우 nmstateinterface.name 을 통해 interface.profile-name 을 선호합니다. 현재 네트워크 상태를 확인하면 interface.profile-nameinterface.name 과 같은 경우 숨겨진 상태로 유지됩니다.

Bugzilla:2183214

NetworkManager는 본딩 드라이버가 본딩 드라이버에서 포트를 다운으로 표시하는 데 실패한 ARP의 정의를 지원합니다.

이번 개선된 기능에는 NetworkManager의 연결 프로필을 결합하는 데 arp_missed_max 옵션이 추가되었습니다. ARP(Address Resolution Protocol) 모니터를 사용하여 본딩 포트가 up인지 확인하는 경우, 본딩 드라이버가 포트를 아래로 표시하는 실패한 후 정의하도록 arp_missed_max 를 설정할 수 있습니다.

Bugzilla:2148684

NetworkManager에서 링크 관련 속성 지정 지원

이번 개선된 기능에는 NetworkManager 연결 프로필에 다음 네트워크 링크 속성이 추가되었습니다.

  • link.tx-queue-length - 패킷 수의 전송(TX) 큐 길이입니다.
  • link.gro-max-size - 장치가 수락하는 GRO(Generic Receive Offload) 패킷의 최대 크기(바이트)입니다.
  • link.gso-max-segments - 장치가 허용하는GSO(Generic Segmentation Offload) 패킷의 최대 세그먼트 수입니다.
  • link.gso-max-size - GSO 패킷의 최대 크기(바이트)입니다.

이전에는 ip 명령을 사용하거나 NetworkManager 디스패처 스크립트에서 이러한 명령을 사용하여 이러한 커널 설정을 구성할 수 있었습니다. 이번 개선된 기능을 통해 이제 연결 프로필에서 직접 이러한 설정을 구성할 수 있습니다.

NetworkManager는 이러한 속성을 키 파일 형식의 연결 프로필에서만 지원하며 더 이상 사용되지 않는 ifcfg 형식에서는 지원되지 않습니다.

Bugzilla:2158328

dhcp-send-hostnamedhcp-custom-hostname DHCP 옵션에 사용할 수 있는 nmstate API 지원

이번 개선된 기능을 통해 nmstate 유틸리티는 연결 파일에서 다음 두 개의 DHCP 옵션의 구성을 지원합니다.

  • DHCP-send-hostname:true 또는 false value. DHCP 요청에 호스트 이름 또는 FQDN(정규화된 도메인 이름) 옵션이 필요한 경우 해당 옵션의 호스트 이름이 설정됩니다. 기본값은 true입니다.
  • dhcp-custom-hostname: <string>. 이 옵션을 사용하여 DHCP 요청에서 hostname 또는 FQDN 옵션을 구성하며 값 유형은 string입니다.

    DHCPv4 네트워크 프로토콜의 경우
  • 호스트 이름이 FQDN인 경우 RFC 4702에서 FQDN(정규화된 도메인 이름), 옵션 (81)을 참조하십시오.
  • 호스트 이름이 FQDN이 아닌 경우 RFC 2132의 호스트 이름, 옵션 (12)을 참조하십시오.

    DHCPv6 네트워크 프로토콜의 경우

    사용자 정의 문자열, 빈 도메인 이름을 지원하여 DHCP 요청의 호스트 이름을 덮어씁니다. RFC 4704의 FQDN(정규화된 도메인 이름 ), 옵션(29)을 참조하십시오.

Bugzilla:2187622

NetworkManager 버전 1.44.0으로 업데이트

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

  • 링크 관련 속성이 NetworkManager에 추가되었습니다.
  • arp_missed_max,lacp_active, ns_ip6_target 속성이 연결 프로필을 결합하는 데 추가되었습니다.
  • 이제 ipv6.dhcp-pd-hint 연결 속성에 DHCPv6 접두사 위임 힌트를 설정할 수 있습니다.
  • /etc/NetworkManager/NetworkManager.conf 파일의 [keyfile] 섹션에서 새 rename 매개 변수를 활성화하면 NetworkManager가 프로필 이름(connection.id)을 변경하는 경우 /etc/NetworkManager/system-connections/ 에서 연결 프로필의 이름을 변경합니다. 외부 애플리케이션 또는 스크립트가 파일 이름을 사용하는 경우 이 매개변수를 활성화하지 마십시오.
  • 비공용 최상위 도메인(TLD)이 포함된 호스트 이름을 설정하면 NetworkManager는 이제 전체 호스트 이름 대신 이 TLD를 DNS 검색 도메인으로 사용합니다.
  • NetworkManager는 /etc/NetworkManager/NetworkManager.conf 파일의 [global-dns] 섹션의 DNS 옵션을 적용합니다.
  • 다른 종속 서비스와 경쟁 조건을 방지하기 위해 NetworkManager는 이제 D-Bus 트리를 입력한 후에만 D-Bus 이름을 가져옵니다. 이 명령은 NetworkManager가 시작될 때 지연을 추가할 수 있습니다.
  • NetworkManager는 이제 동시 프로필 수정을 방지하기 위해 Update2() D-Bus 호출에 version-id 인수를 추가합니다.
  • NetworkManager는 더 이상 고정 IPv6 주소를 사용하여 DNS에서 시스템 호스트 이름을 확인하지 않습니다.
  • 다중 연결 프로필의 경우 예기치 않은 동작을 방지하기 위해 NetworkManager는 이제 각 장치 및 연결 대신 각 장치 및 연결에 대해 남은 자동 연결 재시도 횟수를 추적합니다.
  • NetworkManager는 sysfs 파일 시스템 대신 커널의 netlink 인터페이스를 사용하여 VLAN 필터링 옵션을 설정합니다.
  • nm-cloud-setup 유틸리티는 Amazon EC2에서 Instance Metadata Service Version 2(IDMSv2)를 지원합니다.
  • 이제 nmtui 애플리케이션에서 Cryostat 및 Wide Area Networks(W Cryostat)를 활성화 및 비활성화할 수 있습니다.
  • bond, bridge, team 연결은 /etc/NetworkManager/NetworkManager.conf 파일의 [main] 섹션에서 ignore-carrier=no 설정을 사용합니다.

Bugzilla:2180966

RHEL 9의 커널 네트워킹 트리의 최신 버전을 기반으로 하는 SCTP

SCTP(Stream Control Transmission Protocol) 네트워킹 하위 시스템에서 주요 변경 사항은 다음과 같습니다.

  • 가상 라우팅 및 전달(VRF)은 복잡한 네트워크 환경 내에서 SCTP 트래픽을 분할 및 격리합니다.
  • 네트워크에서 효율적이고 동등한 리소스 할당을 보장하기 위해 새로운 스트림 스케줄러(정확한용량가중치를 갖춘 공정 큐링)입니다.

Bugzilla:2189292

최신 버전의 RHEL 9 커널 네트워킹 트리를 기반으로 하는 MPTCP

MPTCP(Multipath TCP) 프로토콜 확장에서 주요 변경 사항은 다음과 같습니다.

  • 클라이언트 측 지원을 포함하여 TCP fastopen(TFO) 확장 지원 이 기능을 사용하면 네트워크의 대기 시간, 효율성 및 성능 개선이 제공됩니다.
  • 여러 개의 혼합 IPv4/IPv6 하위 흐름을 지원하여 두 IP 버전이 모두 사용되는 네트워크에서 유연성 및 조정 가능성을 높일 수 있습니다.

Bugzilla:2193330[1]

xdp-tools 패키지가 버전 1.4.0으로 업데이트됨

xdp-tools 패키지가 버전 1.4.0으로 업그레이드되어 여러 버그 수정 및 개선 사항이 추가되었습니다. 주요 변경 사항은 다음과 같습니다.

  • xdp-bench 유틸리티는 커널에서 multi-buffer eXpress Data Path(XDP)를 지원하고 커널에서 xdp_load_bytes() 도우미를 벤치마킹했습니다. 이 기능을 사용하면 대규모 MTU(최대 전송 단위)를 사용하여 네트워크 벤치마킹 테스트를 수행할 수 있습니다.
  • 유틸리티가 완전히 종료되지 않은 경우 오래된 잠금을 방지하기 위해 xdp-tools 의 명령줄 유틸리티 잠금이 개선되었습니다.
  • libxdp 라이브러리에는 이미 열린 AF_XDP 소켓의 추가 파일 설명자를 허용하는 새로운 xsk_umem__create_with_fd() API가 포함되어 있습니다. 프로세스에 CAP_NET_RAW 권한이 없는 경우 이 함수를 일반 xsk_umem__create() 함수 대신 사용할 수 있습니다.

Bugzilla:2218500

iproute 버전 6.2.0으로 재지정

iproute 패키지가 업스트림 버전 6.2.0으로 업그레이드되어 이전 버전에 대해 몇 가지 개선 사항 및 버그 수정을 제공합니다. 주요 변경 사항은 다음과 같습니다.

  • 새로운 ip stats 명령은 인터페이스 통계를 관리하고 표시합니다. 기본적으로 ip stats show 명령은 브리지 및 본딩을 포함하여 모든 네트워크 장치에 대한 통계를 표시합니다. devgroup 옵션을 사용하여 출력을 필터링할 수 있습니다. 자세한 내용은 ip-stats(8) 도움말 페이지를 참조하십시오.
  • ss 유틸리티는 이제 -p (--processes) 옵션을 확장하는 스레드 정보를 표시하는 -T (--threads) 옵션을 제공합니다. 자세한 내용은 ss(8) 도움말 페이지를 참조하십시오.
  • 브릿지 fdb flush 명령을 사용하여 제공된 옵션과 일치하는 특정 전달 데이터베이스(fdb) 항목을 제거할 수 있습니다. 자세한 내용은 bridge(8) 도움말 페이지를 참조하십시오.

Jira:RHEL-428[1]

커널은 특정 순서로 본딩 포트 활성화 지원

이번 개선된 기능을 통해 active-backup,balance-tlb 또는 balance-alb 모드에서 본딩을 구성하는 경우 커널의 netlink 인터페이스가 각 포트에서 우선 순위 설정을 지원합니다. 우선순위 값은 32비트 Integer를 사용하며 값이 클수록 우선 순위가 높습니다. 결과적으로 본딩 포트를 특정 순서로 활성화할 수 있습니다.

이 기능을 사용하려면 NetworkManager 포트 연결 프로필을 만들거나 수정할 때 bond-port.prio 속성을 설정하여 우선 순위를 구성할 수 있습니다.

Bugzilla:2092194[1]

이제 firewalld 에서 불필요한 방화벽 규칙 플러시 방지

RHBA-2023:7748 이 릴리스되면서 다음 두 조건이 충족되면 firewalld 서비스가 업그레이드된 경우 iptables 구성에서 모든 기존 규칙이 제거되지는 않습니다.

  • firewalldnftables 백엔드를 사용하고 있습니다.
  • --direct 옵션을 사용하여 생성된 방화벽 규칙은 없습니다.

이 변경으로 불필요한 작업(firewall 규칙 플러시)을 줄이고 다른 소프트웨어와의 통합을 개선하는 것을 목표로 합니다.

Jira:RHEL-14694[1]

VLAN 인터페이스에 대한 새로운 nmstate 속성 도입

nmstate 프레임워크 업데이트를 통해 다음 VLAN 속성이 도입되었습니다.

  • 등록 프로토콜: VLAN 등록 프로토콜. 유효한 값은 gvrp (GARP VLAN 등록 프로토콜), mvrp (Multiple VLAN Registration Protocol) 및 none 입니다.
  • reorder-headers: 출력 패킷 헤더를 다시 정렬합니다. 유효한 값은 truefalse 입니다.
  • loose-binding: 인터페이스가 기본 장치의 작동 상태에 대한 느슨한 바인딩입니다. 유효한 값은 truefalse 입니다.

YAML 구성 파일은 다음 예와 유사할 수 있습니다.

---
interfaces:
  - name: eth1.101
    type: vlan
    state: up
    vlan:
      base-iface: eth1
      id: 101
      registration-protocol: mvrp
      loose-binding: true
      reorder-headers: true

Jira:RHEL-19142[1]

4.8. 커널

RHEL 9.3의 커널 버전

Red Hat Enterprise Linux 9.3은 커널 버전 5.14.0-362.8.1과 함께 배포됩니다.

Bugzilla:2232554

NVIDIA Grace CPU에 대한 지원 추가

Red Hat Enterprise Linux 9.3은 NVIDIA Grace ARM 64비트 CPU에 대한 지원을 추가합니다.

Jira:RHELDOCS-17055[1]

RHEL 커널에서 AutoIBRS 지원

AutoIBRS(Automatic Indirect Branch Restricted Speculation)는 AMD EPYC 9004 gRPCoa 제품군의 프로세서 제품군 및 이후 CPU 버전에서 제공하는 기능입니다. AutoIBRS는 Spectre v2 CPU 취약점의 기본 완화 기능이며 성능을 향상시키고 확장성을 향상시킵니다.

Bugzilla:1898184[1]

perf 버전 6.2로 업데이트

perf 성능 분석 도구는 버전 6.2로 변경되었습니다. 다양한 마이너 버그 수정 및 업데이트 외에도 perf list 명령에 사람이 친숙한 이름 및 설명이 포함된 PMU(Performance Monitor Unit) 이벤트가 표시됩니다. 또한 이번 업데이트에서는 다음 프로세서에 대한 지원이 추가되었습니다.

  • Intel 13세대 코어 프로세서(Intel Raptor Lake-S)
  • Intel 14세대 프로세서(Intel Meteor Lake)
  • Intel 5th generation Xeon 서버 프로세서(Intel Emerald Rapids)

Bugzilla:2177180[1]

Intel® QAT 커널 드라이버의 업스트림 버전 6.2

Intel® Quick Assist Technology (QAT)는 업스트림 버전 6.2로 변경되었습니다. Intel® QAT에는 대칭 및 비대칭 암호화, 압축 성능 및 기타 CPU 집약적 작업에 최적화된 가속기가 포함되어 있습니다.

리베이스에는 많은 버그 수정 및 개선 사항이 포함되어 있습니다. 가장 주목할 만한 개선 사항은 QAT GEN4의 다음 하드웨어 액셀러레이터 장치에 사용할 수 있는 지원입니다.

  • Intel Quick Assist Technology 401xx 장치
  • Intel Quick Assist Technology 402xx 장치

Bugzilla:2144528[1]

Linux 컨테이너에서 V TPM 기능을 사용할 수 있습니다.

이번 개선된 기능에는 Linux 컨테이너 및 기타 가상 환경을 위한 가상 신뢰할 수 있는 플랫폼 모듈(vTPM)이 도입되었습니다. V TPM 은 보안 실행 환경에 사용할 전용 TPM 인스턴스를 제공하는 가상화된 TPM 버전입니다. vTPM 프록시 드라이버를 사용하면 프로그램은 물리적 TPM과 동일한 방식으로 에뮬레이션 TPM과 상호 작용합니다.

결과적으로 각 가상 머신에 이제 분리 및 암호화된 전용 vTPM 인스턴스가 있을 수 있습니다.

Bugzilla:2210263[1]

버전 8.0.3에 충돌 기반

크래시 는 커널 충돌 시 kdump 에서 생성한 실행 중인 시스템과 코어 덤프 파일을 분석하는 대화형 유틸리티입니다. 크래시 유틸리티는 많은 버그 수정 및 개선 사항이 포함된 버전 8.0.3으로 변경되었습니다. 주요 개선 사항은 추가된 IPv6 지원입니다.

IPv6를 지원하는 네트워크 인터페이스의 경우 크래시net 또는 net -s 명령을 사용하여 IPv6 주소를 출력합니다.

  • net 명령은 네트워크 장치, 이름 및 IP 주소 목록을 표시합니다.
  • net -s 명령은 다음 정보를 표시합니다.

    • 열린 네트워크 소켓 및 sock 주소
    • 제품군 및 소켓 유형 및 sock 주소
    • INET 및 INET 6 제품군의 소스 및 대상 주소 및 포트

Bugzilla:2170283

vmcore dump 대상으로 지원되는 LVM 씬 프로비저닝 스토리지 볼륨

kdump 메커니즘은 이제 vmcore 대상으로 씬 프로비저닝된 논리 볼륨을 지원합니다. LVM 씬 프로비저닝을 구성하려면 다음 단계를 완료합니다.

  1. LVM 볼륨 그룹을 만듭니다.

    vgcreate vg00 /dev/sdb
  2. 사용 가능한 공간이 10MB인 LVM 씬 풀을 만듭니다.

    lvcreate -L 10M -T vg00/thinpool
  3. 파일 시스템 공간이 300MB인 LVM 씬 볼륨을 만듭니다.

    lvcreate -V 300M -T vg00/thinpool -n thinvol
    mkfs.ext4 /dev/vg00/thinvol
  4. LVM 씬 풀 임계값을 구성하여 공간을 자동으로 확장합니다.

    cat /etc/lvm/lvm.conf
    activation {
    	thin_pool_autoextend_threshold = 70
    	thin_pool_autoextend_percent = 20
    	monitoring = 1
    }
  5. 첫 번째 커널에 대해 LVM 씬 풀 모니터링 서비스를 활성화합니다.

    systemctl enable lvm2-monitor.service
    systemctl start lvm2-monitor.service
  6. kdump.conf 파일에 다음 행을 추가하여 LVM thin 볼륨을 kdump 대상으로 설정합니다.

    ext4 /dev/vg00/thinvol
    path /
  7. kdump 서비스를 시작합니다.

    kdumpctl restart
  8. 커널 패닉을 트리거하여 구성을 확인하고 vmcore/dev/vg00/thinvol 에 저장되었는지 확인합니다.

그 결과 kdump 메커니즘이 향상된 기능을 통해 씬 프로비저닝된 스토리지 볼륨에 vmcore 덤프 파일을 저장할 수 있는 기능이 확장됩니다.

Bugzilla:2083475

업스트림 버전 1.7.3에 따라 dumpfile 을 다시 설치

페이지를 압축하거나 필요하지 않은 메모리 페이지를 제외하여 크래시 덤프 파일을 작게 만드는 makedumpfile 툴은 업스트림 버전 1.7.3에 따라 변경되었습니다. 리베이스에는 많은 버그 수정 및 개선 사항이 포함되어 있습니다.

가장 주목할 만한 변경 사항은 AMD 및 Intel 64비트 아키텍처에서 독립 실행형 덤프(sadump) 메커니즘에 추가된 5단계 페이징 모드입니다. 5단계 페이징 모드는 프로세서의 선형 주소 너비를 확장하여 애플리케이션이 더 많은 메모리에 액세스할 수 있도록 합니다. 5단계 페이징은 가상 주소 크기를 48비트에서 57비트로 확장하고 물리적 주소는 46비트에서 52비트로 확장합니다.

Bugzilla:2173815

Red Hat Enterprise Linux는 ARM의 SystemReady ES 및 IR 계층 지원

Red Hat Enterprise Linux는 이전에 SR 계층만 지원하는 반면 ARM의 SystemReady ES 및 IR를 지원합니다. RHEL 9.3에서 NVIDIA Orin, NXP i.MX 8M 및 NXP i.MX 8M Mini 모듈이 활성화되었으며 RHEL 하드웨어 인증 후보입니다. 하드웨어 파트너는 Red Hat 하드웨어 인증 과정에 등록하여 자격증을 제출 할 수 있습니다. 고객은 카탈로그에 나열된 지원되는 하드웨어를 사용하여 프로덕션 환경을 개선할 수 있습니다.

Bugzilla:2195986[1]

ARM의 RHEL에서 Bluetooth 지원

이번 개선된 기능을 통해 명령줄 인터페이스에서 bluetoothctl 툴을 사용하여 bluetooth 장치를 구성할 수 있습니다.

Bugzilla:2187856[1]

ARM의 RHEL은 RHEL 9.3에서 USB 연결 카메라 지원

이번 개선된 기능을 통해 AMD 및 Intel 64비트 아키텍처 플랫폼에서 RHEL의 CONFIG_MEDIA_SUPPORT 커널 구성이 가능합니다. 이를 통해 AMD 및 Intel 64비트 아키텍처 시스템에서 USB 어댑터를 사용할 수 있습니다.

Bugzilla:2192722[1]

B PF 버전 6.3 업데이트

BPF(Berkeley Packet Filter) 기능이 Linux 커널 버전 6.3으로 변경되었습니다. 주요 변경 사항 및 개선 사항은 다음과 같습니다.

  • BPF trampoline은 이제 64 비트 IBM Z 아키텍처에서 사용할 수 있습니다.
  • BPF_MAP_TYPE_USER_RINGBUF - 새로운 맵 유형(BBF_MAP_TYPE_USER_RINGBUF) 및 관련 도우미가 BPF 특정 링 버퍼를 통해 사용자 공간과 커널 간의 통신을 위해 정의되었습니다.
  • BPF는 이제 새로운 복잡한 데이터 구조( linked list 및 rbtree )를 제공합니다.
  • 프로그램을 추적하는 BPF trampoline은 이제 구조 인수 지원합니다.
  • BPF는 이제 NIC에서 지원하는 XDP 기능을 내보낼 수 있는 방법을 제공합니다.
  • 이제 RX 해시 및 타임스탬프 메타데이터에 대한 초기 지원과 함께 BPF 커널 함수(kfuncs)를 사용하여 하드웨어 메타데이터가 XDP 프로그램에 노출됩니다.
  • BPF는 이제 BPF 프로그램의 새로운 conntrack 모듈 항목에 소스 및 대상 NAT 주소와 포트를 설정하는 도우미를 제공합니다.
  • BPF는 이제 netfilter 패킷 필터링 프레임워크의 nf_conn:mark 연결 마크에 직접 쓸 수 있습니다.

Bugzilla:2178930[1]

4.9. 부트 로더

BLS를 사용한 grub2-mkconfig 의 새로운 기본 동작

BLS(Boot Loader Specification) 프레임워크에서 GRUB은 부팅 시 BLS 스니펫에서 부팅 메뉴를 동적으로 생성하고 grub.cfg 파일에 사전 정의되어 있지 않습니다.

이전에는 grub2-mkconfig 명령에서 새 grub.cfg 파일을 생성하고 /etc/default/grub 파일에 있는 GRUB_CMDLINE_LINUX 변수의 값으로 모든 BLS 스니펫에서 명령줄 인수를 항상 덮어썼습니다.

이번 릴리스에서는 grub2-mkconfig 명령이 기본적으로 GRUB_CMDLINE_LINUX 로 BLS 스니펫의 커널 명령줄을 더 이상 덮어쓰지 않습니다. 부트 로더 메뉴의 각 커널은 BLS 스니펫에서 커널 명령줄을 사용합니다. 이 새로운 기본 동작은 GRUB_ENABLE_BLSCFG=true 옵션으로 인해 발생합니다.

커널이 BLS 스니펫을 무시하고 GRUB_CMDLINE_LINUX 에서 명령줄을 사용하도록 grub.cfg 를 다시 생성하려면 GRUB_ENABLE_BLSCFG=false 옵션을 설정합니다.

GRUB_CMDLINE_LINUX 에 따라 BLS 스니펫에서 커널 명령줄을 업데이트하려면 --update-bls-cmdline 옵션을 추가합니다.

# grub2-mkconfig -o /path/to/grub.cfg --update-bls-cmdline

또한 grubby 를 사용하여 개별 커널의 BLS 스니펫을 변경할 수 있습니다.

# grubby --update-kernel /path/to/kernel --args "new args"

Jira:RHELDOCS-16752[1]

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

NFS 서버에서 nfsd에 대한 적절한 서버 코드를 구현합니다.

이번 업데이트에서는 RHEL 커널 NFS 서버에서 nfsd 에 대한 무료 서버 코드를 구현했습니다. 이 새로운 기능을 사용하면 클라이언트가 연결할 수 없는 동안 액세스 충돌이 없는 경우 서버와의 연결이 끊어진 클라이언트의 리스 취소를 방지할 수 있습니다.

Bugzilla:2180124

DAX 마운트 옵션 및 reflink가 호환 가능

이번 업데이트를 통해 이제 reflinked 파일이 일반적으로 DAX 모드와 호환됩니다. 파일 시스템 DAX 마운트 옵션 -o dax=always 는 reflink 사용 파일 시스템과 호환됩니다. reflinked된 파일은 inode 플래그를 사용하여 DAX 모드로 설정할 수 있습니다. 자세한 내용은 xfs(5) 도움말 페이지를 참조하십시오.

Bugzilla:2192730[1]

RPCSEC GSS Kerberos V5의 새로운 암호화 유형

RPCSEC GSS Kerberos V5 메커니즘은 이제 RFC 6803(Kerberos 5의Camellia Encryption) 및 RFC 8009(Kerberos의 경우 HMAC-SHA2를 사용한 AES 암호화)에 정의된 암호화 유형을 지원합니다.

다음 암호화 유형이 추가되었습니다.

  • camellia128-cts-cmac
  • camellia256-cts-cmac
  • aes128-cts-hmac-sha256-128
  • aes256-cts-hmac-sha384-192

이를 통해 NFS 클라이언트와 NFS 서버는 GSS 컨텍스트와 협상할 때 더 강력한 암호화 유형을 사용할 수 있습니다.

Bugzilla:2178741

이제 fuse3umount를 트리거하지 않고 디렉토리 항목을 무효화할 수 있음

이번 업데이트를 통해 fuse3 패키지에 새 메커니즘이 추가되어 항목에 존재하는 모든 마운트의 umount 를 자동으로 트리거하지 않고 디렉터리 항목을 무효화할 수 있습니다.

Bugzilla:2188182

Stratis 스토리지 관리자 사용 가능

Stratis는 로컬 스토리지 관리자입니다. 사용자에게 추가 기능을 갖춘 스토리지 풀에 관리되는 파일 시스템을 제공합니다.

  • 스냅샷 및 씬 프로비저닝 관리
  • 필요에 따라 파일 시스템 크기 자동 확장
  • 파일 시스템 관리
  • 풀 수준 암호화
  • TMP2 및 NBDE 지원

Stratis 스토리지를 관리하려면 stratisd 백그라운드 서비스와 통신하는 stratis 유틸리티를 사용합니다.

자세한 내용은 Stratis 문서: Stratis 파일 시스템 설정을 참조하십시오.

Bugzilla:2041558

Cryostat2 파일 시스템 구성 및 작업 개선

polkit2 파일 시스템에 대해 다음 업데이트가 구현되었습니다.

  • mkfs.gfs2 명령에서 이제 new -U 옵션을 지원하므로 생성한 파일 시스템에 대한 파일 시스템 UUID를 지정할 수 있습니다. 이 옵션을 생략하면 파일 시스템의 UUID가 임의로 생성됩니다.
  • gfs2_jadd 명령은 이전 릴리스보다 훨씬 빠른 속도로 저널을 생성합니다.
  • polkit2 도움말 페이지가 개선되었습니다.

Bugzilla:2170017

dmpd rebased 버전 1.0.2

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

  • 메모리 안전을 위해 Rust 언어의 툴을 다시 작성하고 여러 스레드를 사용하여 성능을 향상시킵니다.
  • 시스템 시작과 함께 LVM 풀 활성화 시간을 절약하기 위해 thin_checkcache_check 툴을 개선합니다. 이러한 도구에 필요한 실행 시간이 이전 버전에 비해 10배 이상 향상되었습니다.
  • 스냅샷의 메타데이터 btrees 공유 손실을 방지하기 위해 thin_dumpthin_restore 툴을 업데이트합니다. 이제 복원된 메타데이터에 더 많은 공간이 필요하지 않습니다.
  • 씬 메타데이터를 일반적으로 10번째 크기에 압축하기 위한 새로운 thin_metadata_packthin_metadata_unpack 툴을 추가합니다. 이는 일반 압축기보다 우수합니다. 이 도구를 사용하면 손상된 메타데이터를 검사하기가 더 쉽습니다.

Bugzilla:2175198

SCSI 장치에 새로운 장치별 카운터 추가

SCSI 업데이트에서 I/O 시간 초과에 대해 새로운 장치별 카운터 iotmo_cnt 가 추가되었습니다. iorequest_cnt 개수 I/O 요청, iodone_cnt I/O 완료 및 ioerr_cnt I/O 오류 외에도 요청 시간 초과 횟수가 표시될 수 있습니다. 예를 들면 다음과 같습니다.

/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iorequest_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iodone_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/iotmo_cnt
/sys/devices/pci0000:16/0000:16:02.0/0000:17:00.0/host2/target2:2:0/2:2:0:0/ioerr_cnt

Bugzilla:2171093[1]

mpathcleanup device-mapper-multipath에서 다중 경로 장치를 플러시

mpathcleanup 툴은 SCSI 기반 다중 경로 장치에서 작동하며 SCSI 경로 장치와 함께 다중 경로 장치를 제거합니다. 일부 사용자는 다중 경로 장치와 해당 경로 장치를 정기적으로 제거해야 합니다. 이전에는 다중 경로 장치를 제거하는 데 사용할 수 있는 툴이 없으며 이 작업에 사용자 정의 스크립트가 필요했습니다.

이 새 툴을 사용하면 이제 다중 경로 장치 및 기본 스토리지를 쉽게 제거할 수 있으며 이 작업을 위해 스크립트를 생성할 필요가 없습니다.

Jira:RHEL-782[1]

NVMe-cli 를 버전 2.4로 업데이트

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

  • TCP를 통한 TLS를 지원합니다.
  • /etc/fstab 파일을 사용하여 파일 시스템을 마운트하기 위해 systemd 자동 연결 서비스의 잘못된 순서를 수정합니다.
  • u32 값의 출력을 수정합니다.
  • 스토리지 태그 크기를 올바르게 확인합니다.
  • 패브릭 컨트롤러에 대한 nvme effects-log 명령을 지원합니다.

Bugzilla:2159929[1]

4.11. 고가용성 및 클러스터

누락된 물리 볼륨이 있는 LVM 볼륨 그룹의 장애 조치 지원

볼륨 그룹이 물리 볼륨이 누락된 경우 LVM-activate 리소스 에이전트에서 볼륨 그룹 장애 조치를 허용하는 두 가지 새 옵션을 지원합니다.

  • 대부분의 물리 볼륨이 있는 경우 볼륨 그룹이 물리 볼륨이 누락된 경우 majoritypvs 옵션을 사용하면 볼륨 그룹에서 시스템 ID를 변경할 수 있습니다.
  • degraded_activation 옵션을 사용하면 RAID에 충분한 장치를 사용하여 논리 볼륨의 모든 데이터를 제공하는 데 충분한 장치를 사용할 수 있는 경우 볼륨 그룹의 RAID 논리 볼륨을 활성화할 수 있습니다.

Bugzilla:2174911[1]

IPaddr2IPsrcaddr 클러스터 리소스 에이전트에서 정책 기반 라우팅 지원

IPaddr2IPsrcaddr 클러스터 리소스 에이전트는 이제 정책 기반 라우팅을 지원하므로 복잡한 라우팅 시나리오를 구성할 수 있습니다. 정책 기반 라우팅을 사용하려면 리소스 에이전트의 테이블 매개변수를 구성해야 합니다.

Bugzilla:2142518

Filesystem 리소스 에이전트에서 EFS 파일 시스템 유형 지원

ocf:heartbeat:Filesystem 클러스터 리소스 에이전트는 이제 Amazon Elastic File System(EFS)을 지원합니다. Filesystem 리소스를 구성할 때 fstype=efs 를 지정할 수 있습니다.

Bugzilla:2142002

새로운 pcs 구문 분석에는 복제 메타 속성을 지정할 때 meta 키워드가 필요합니다.

pcs 명령 형식의 일관성을 보장하기 위해 meta 키워드를 지정하지 않고 pcs resource clone,pcs resource promotablepcs resource create 명령을 사용하여 복제 메타 속성을 구성합니다.

이전에는 pcs 리소스 clone 및 pcs resource promotable 명령에서 meta 키워드가 무시되었습니다. 그러나 pcs resource create 명령에서는 clone 키워드 뒤에 clone 키워드가 아닌 복제가 아닌 리소스에 할당되었을 때 meta 키워드 뒤에 지정된 메타 속성입니다. 업데이트된 구문 분석 알고리즘을 사용하면 clone 키워드를 따를 때 meta 키워드 뒤에 지정된 메타 속성이 복제본에 할당됩니다. 이전 형식을 사용하는 기존 스크립트와의 호환성을 유지하려면 pcs resource create 명령을 사용하여 복제된 리소스를 생성할 때 이 새 인수 처리를 활성화하려면 --future 명령 옵션을 지정해야 합니다.

다음 명령에서는 메타 속성 mv=v1 을 사용하여 리소스와 meta 속성이 mv=v2 인 복제를 생성합니다.

pcs resource create dummy1 ocf:pacemaker:Dummy meta m1=v1 clone meta m2=v2 --future

Bugzilla:2168155

구성된 리소스 제약 조건을 다시 생성하기 위한 pcs 명령 표시

이제 새로운 --output-format=cmd 옵션과 함께 pcs constraint 명령을 사용하여 다른 시스템에서 구성된 리소스 제약 조건을 다시 생성하는 데 사용할 수 있는 pcs 제약 조건 명령을 표시할 수 있습니다. 기본 출력 형식은 이전 릴리스와 마찬가지로 일반 텍스트이며 --output-format=text 옵션으로 지정할 수 있습니다. 일반 텍스트 형식이 다른 pcs 명령의 출력 형식과 일치하도록 약간 변경되었습니다.

Bugzilla:2163953

Pacemaker 패키지를 버전으로 리베이스: 2.1.6

Pacemaker 패키지가 업스트림 버전 2.1.6으로 업그레이드되어 이전 버전에 대해 몇 가지 개선 사항 및 버그 수정을 제공합니다.

다음 기능이 추가되었습니다.

  • 이전에는 Pacemaker 원격 연결이 손실되면 Pacemaker에서 항상 일시적인 노드 속성을 제거했습니다. 연결을 신속하게 복구할 수 있고 원격 데몬이 다시 시작되지 않은 경우 이 작업이 필요하지 않았습니다. Pacemaker 원격 노드는 짧은 복구 가능한 연결 중단 후 임시 노드 속성을 유지합니다.
  • Pacemaker에서 제공하는 샘플 경고 에이전트인 alert_snmp.sh.sample 경고 에이전트는 이제 SNMPv3 프로토콜 및 SNMPv2를 지원합니다. 이번 업데이트를 통해 Pacemaker 경고와 함께 SNMPv3을 사용하도록 수정하지 않고 alert_snmp.sh.sample 에이전트를 복사할 수 있습니다.
  • Pacemaker 경고 및 경고 수신자는 활성화된 메타 옵션을 지원합니다. 경고에 대해 이 옵션을 false 로 설정하면 경고가 비활성화됩니다. 특정 수신자에 대해 경고 및 false 에 대해 이 옵션을 true 로 설정하면 해당 수신자에 대한 경고가 비활성화됩니다. 이 옵션의 기본값은 true 입니다. 이 옵션을 사용하여 계획된 유지 관리와 같은 이유로 경고를 일시적으로 비활성화할 수 있습니다.

다음 버그가 수정되었습니다.

  • Pacemaker 지정 컨트롤러 선택이 더 이상 보류 중인 모든 작업이 완료되지 않고 작업 결과가 손실되지 않습니다.
  • devices 속성이 설정되지 않은 경우 fence_scsi 에이전트가 공유 lvmlockd 장치를 자동으로 감지할 수 있습니다.
  • 이제 리소스 고정 수준을 코로케이션 점수와 올바르게 비교합니다.
  • 이제 crm_resource 명령을 사용하면 하나의 활성 복제본만 있는 번들을 금지하거나 이동할 수 있습니다.
  • 이전에는 승격 가능한 복제 인스턴스가 먼저 승격된 인스턴스가 숫자 순서대로 할당되었습니다. 결과적으로 승격된 복제 인스턴스를 시작해야 하는 경우 인스턴스 번호가 변경되어 예기치 않은 인스턴스가 다시 시작됩니다. 이번 수정을 통해 인스턴스 번호를 노드에 할당할 때 역할이 고려되어 불필요한 재시작이 발생하지 않습니다.

Bugzilla:2189301

pcs property 명령 개선

pcs property 명령에서는 다음과 같은 향상된 기능을 지원합니다.

  • pcs property config --output-format= 옵션

    • 현재 클러스터 속성 구성에서 생성된 pcs 속성 set 명령을 표시하려면 --output-format=cmd 를 지정합니다. 이 명령을 사용하여 다른 시스템에서 구성된 클러스터 속성을 다시 생성할 수 있습니다.
    • 구성된 클러스터 속성을 JSON 형식으로 표시하려면 --output-format=json 을 지정합니다.
    • 구성된 클러스터 속성을 일반 텍스트 형식으로 표시하려면 output-format=text 를 지정합니다. 이 옵션의 기본값입니다.
  • 더 이상 사용되지 않는 pcs property --defaults 옵션을 대체하는 pcs property defaults 명령
  • 클러스터 속성의 의미를 설명하는 pcs property describe 명령

Bugzilla:2163914

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

이메일 주소 구문 분석을 제어하는 Python의 새로운 환경 변수

CVE-2023-27043 을 완화하기 위해 이메일 주소의 더 엄격한 구문 분석을 Python 3에 도입하기 위한 이전 버전과 호환되지 않는 변경 사항이 추가되었습니다.

RHSA-2024:2024 의 업데이트에는 새로운 PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING 환경 변수가 도입되었습니다. 이 변수를 true 로 설정하면 이전보다 덜 엄격한 구문 분석 동작이 전체 시스템의 기본값입니다.

export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true

그러나 영향을 받는 함수에 대한 개별 호출은 여전히 더 엄격한 동작을 활성화할 수 있습니다.

다음 콘텐츠를 사용하여 /etc/python/email.cfg 구성 파일을 생성하여 동일한 결과를 얻을 수 있습니다.

[email_addr_parsing]
PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true

자세한 내용은 Knowledgebase 문서 Mitigation of CVE-2023-27043 introduce stricter parsing of email address in Python에서 참조하십시오.

Jira:RHELDOCS-17369[1]

새로운 nodejs:20 모듈 스트림이 완전히 지원됩니다.

이전에 기술 프리뷰로 제공되는 새로운 모듈 스트림 nodejs:20RHEA-2023:7252 권고를 통해 완전히 지원됩니다. nodejs:20 모듈 스트림은 이제 LTS(Long Term Support) 버전인 Node.js 20.9 를 제공합니다.

RHEL 9.3에 포함된 Node.js 20 은 RHEL 9.1 이후 Node.js 18 에 비해 새로운 기능, 버그 수정, 보안 수정 및 성능 향상을 제공합니다.

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

  • V8 JavaScript 엔진이 11.3 버전으로 업그레이드되었습니다.
  • npm 패키지 관리자가 버전 9.8.0으로 업그레이드되었습니다.
  • Node.js 에는 새로운 실험적 권한 모델이 도입되었습니다.
  • Node.js 에는 새로운 실험적 단일 실행 가능 애플리케이션(SEA) 기능이 도입되었습니다.
  • Node.js 는 실험적인 ECMAScript 모듈(ESM) 로더를 개선합니다.
  • Node.js 18 에서 실험적인 node:test 모듈로 도입된 네이티브 테스트 실행자는 이제 안정적인 것으로 간주됩니다.
  • Node.js 는 다양한 성능 향상을 제공합니다.

nodejs:20 모듈 스트림을 설치하려면 다음을 사용합니다.

# dnf module install nodejs:20

nodejs:18 스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.

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

Bugzilla:2186717

Python tarfile 추출 함수에 대한 새 필터 인수

CVE-2007-4559 를 완화하기 위해 Python은 tarfile 추출 기능에 필터 인수를 추가합니다. 이 인수를 사용하면 보안을 강화하기 위해 tar 기능을 해제할 수 있습니다(CVE-2007-4559 디렉터리 트래버스 공격 포함). 필터를 지정하지 않으면 RHEL에서 가장 안전하지만 가장 제한적인 '데이터' 필터가 기본적으로 사용됩니다. 또한 Python은 애플리케이션에 영향을 미칠 때 경고를 발송합니다.

경고를 숨기는 방법을 포함하여 자세한 내용은 Python tarfile 라이브러리의 디렉터리 traversal 공격의 지식 베이스 문서 Mitigation of directory traversal attack (CVE-2007-4559) 을 참조하십시오.

Jira:RHELDOCS-16405[1]

HTTP::Tiny Perl 모듈은 기본적으로 TLS 인증서를 확인합니다.

HTTP::Tiny Perl 모듈의 verify_SSL 옵션 기본값이 0 에서 1 로 변경되어 HTTPS를 사용할 때 TLS 인증서를 확인합니다. 이 변경으로 인해 CPAN Perl 모듈의 CVE-2023-31486 for HTTP::TinyCVE-2023-31484 가 수정되었습니다.

TLS 확인을 지원하기 위해 이번 업데이트에서는 perl-HTTP-Tiny 패키지에 다음 종속 항목을 추가합니다.

  • perl-IO-Socket-SSL
  • perl-Mozilla-CA
  • perl-Net-SSLeay

Bugzilla:2228412[1]

httpd 리기반 버전 2.4.57

Apache HTTP Server가 RHEL 9.1 이후 제공되는 버전 2.4.53에 대한 버그 수정, 개선 사항 및 보안 수정 사항을 제공하는 2.4.57 버전으로 업데이트되었습니다.

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

  • httpd 와 함께 제공되는 rotatelogs 유틸리티는 초기 로그 파일을 제외하고 순환된 모든 로그 파일을 자르는 새로운 -T 옵션을 도입합니다.
  • mod_ldap 모듈의 LDAPConnectionPoolTTL 지시문은 이제 음수 값을 허용하여 모든 기간의 연결을 재사용할 수 있습니다. 이전에는 음수 값이 오류로 처리되었습니다.
  • mod_proxy_hcheck 모듈의 작업자가 작업자 시간 제한 설정에 따라 올바르게 시간 초과되었습니다.
  • mod_proxy_hcheck 모듈의 hcmethod 매개 변수는 이제 HTTP/1.1 요청에 대한 새로운 GET11,HEAD11OPTIONS11 메서드를 제공합니다.

Bugzilla:2184403

httpd의 새로운 mod_authnz_fcgi 모듈

Apache HTTP 서버에는 이제 FastCGI 작성자 애플리케이션이 사용자를 인증하고 리소스에 대한 액세스 권한을 부여할 수 있는 mod_authnz_fcgi 모듈이 포함되어 있습니다.

mod_authnz_fcgi 모듈은 기본적으로 로드되지 않습니다. 이 모듈을 로드하려면 /etc/httpd/conf.modules.d/00-optional.conf 파일에서 다음 행의 주석을 제거합니다.

LoadModule authnz_fcgi_module modules/mod_authnz_fcgi.so

Bugzilla:2173295[1]

nginx:1.22의 새로운 ssl_pass_phrase_dialog 지시문

nginx:1.22 모듈 스트림에 대한 이번 업데이트를 통해 새로운 ssl_pass_phrase_dialog 지시문을 사용하여 암호화된 각 개인 키에 대해 nginx 시작 시 호출되는 외부 프로그램을 구성할 수 있습니다.

새 지시문을 사용하려면 /etc/nginx/nginx.conf 파일에 다음 행 중 하나를 추가합니다.

  • 암호화된 각 개인 키 파일에 대해 외부 프로그램을 호출하려면 다음을 입력합니다.

    ssl_pass_phrase_dialog exec:<path_to_program>;

    Nginx 는 다음 두 개의 인수를 사용하여 이 프로그램을 호출합니다.

    • server_name 설정에 지정된 서버 이름입니다.
    • 암호화 알고리즘을 인식할 수 없는 경우 RSA,DSA,EC,DH 또는 UNK 알고리즘 중 하나
  • 암호화된 각 개인 키 파일의 암호를 수동으로 입력하려면 다음을 입력합니다.

    ssl_pass_phrase_dialog builtin;

    ssl_pass_phrase_dialog 가 구성되지 않은 경우 기본 동작입니다.

    이 방법을 사용하지만 암호로 보호되는 개인 키가 하나 이상 있는 경우 nginx 서비스가 시작되지 않습니다. 이 경우 다른 방법 중 하나를 사용합니다.

  • systemctl 유틸리티를 사용하여 nginx 서비스를 시작할 때 systemd 에서 암호화된 각 개인 키의 암호를 입력하라는 메시지를 표시하려면 다음을 입력합니다.

    ssl_pass_phrase_dialog exec:/usr/libexec/nginx-ssl-pass-dialog;

nginxssl_pass_phrase_dialog 지시문은 Apache HTTP 서버의 SSLPassPhraseDialog 지시문과 유사합니다.

Bugzilla:2170808

rhel9/squid 컨테이너 이미지

이제 Red Hat Container Registry에서 rhel9/squid 컨테이너 이미지를 사용할 수 있습니다. squid 는 FTP, gopher 및 HTTP 데이터 오브젝트를 지원하는 웹 클라이언트용 고성능 프록시 캐싱 서버입니다. 기존 캐싱 소프트웨어와 달리 Squid 는 모든 요청을 하나의 비차단, I/O 기반 프로세스로 처리합니다. squid 는 RAM에 캐시된 메타데이터 및 특히 핫 오브젝트를 유지하고, DNS 조회를 캐시하고, 차단되지 않은 DNS 조회를 지원하며 실패한 요청의 음수 캐싱을 구현합니다.

새 컨테이너 이미지를 가져오려면 다음을 실행합니다.

# podman pull registry.redhat.io/rhel9/squid

Bugzilla:2178953

새 모듈 스트림: redis:7

Redis 7, 고급 키-값 저장소는 이제 새 모듈 스트림 redis:7 로 사용할 수 있습니다.

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

  • Redis Functions API의 서버 측 스크립팅
  • ACL(Access Control List) 지원
  • 클러스터에 대한 공유 게시/서브스크립션(pub/sub) 지원
  • 다양한 새로운 명령 및 명령 인수

Redis 7 에는 이전 버전과 호환되지 않는 몇 가지 변경 사항이 도입되었습니다. 예를 들면 다음과 같습니다.

  • Redis 7 에서 폴더에 추가 전용 파일(AOF)을 여러 파일로 저장
  • Redis 7 은 이전 버전과 호환되지 않는 Redis Database(RDB) 파일에 새 버전 형식을 사용합니다.

기능 및 호환되지 않는 변경 사항의 전체 목록은 업스트림 릴리스 노트 를 참조하십시오.

redis:7 모듈 스트림을 설치하려면 다음을 사용합니다.

# dnf module install redis:7

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

Bugzilla:2129826

4.13. 컴파일러 및 개발 도구

IBM Z에서 최적화된 루틴 사용에 영향을 주는 새로운 glibc 옵션

IBM Z 아키텍처에서 glibc 라이브러리는 hwcapsstfle bit과 같은 하드웨어 기능을 기반으로 함수 구현을 선택합니다. 이번 업데이트를 통해 glibc.cpu.hwcaps 튜닝 가능 항목을 설정하여 라이브러리에서 선택한 항목을 지시할 수 있습니다.

Bugzilla:2169978[1]

glibc의 Intel® Xeon® v5 기반 하드웨어에서 문자열 및 메모리 루틴 성능 개선

이전 버전에서는 glibc 에서 문자열 및 메모리 루틴에 사용하는 기본 캐시 양으로 인해 Intel® Xeon® v5 기반 시스템에서 예상되는 성능보다 낮았습니다. 이번 업데이트를 통해 성능을 개선하기 위해 사용할 캐시 양이 조정되었습니다.

Bugzilla:2213907

시스템 GCC 컴파일러가 버전 11.4.1로 업데이트

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

시스템 GCC 컴파일러가 버전 11.4.1로 업데이트되었으며 업스트림 GCC에서 사용 가능한 여러 버그 수정 및 개선 사항이 포함되어 있습니다.

사용법 정보는 RHEL 9에서 C 및 C++ 애플리케이션 개발을 참조하십시오.

Bugzilla:2193180

GCC에서 레지스터 인수 보존 지원

이번 업데이트를 통해 이제 인수 레지스터 콘텐츠를 스택에 저장하고 적절한 Call Frame Information (CFI)을 생성하여 unwinder가 성능에 부정적인 영향을 미치지 않도록 할 수 있습니다.

Bugzilla:2168204[1]

64비트 Intel 아키텍처의 GCC의 새로운 -mdaz-ftz 옵션

64비트 Intel 아키텍처의 GCC(GNU Compiler Collection) 시스템 버전은 이제 MXCSR 제어 및 상태 레지스터에서 FTZ( flush-to-zero) 및 denormals-are-zero(DAZ) 플래그를 활성화하기 위해 -mdaz-ftz 옵션을 지원합니다.

Bugzilla:2208908

새로운 GCC 도구 세트 13

GCC Toolset 13은 최신 버전의 개발 도구를 제공하는 컴파일러 툴셋입니다. AppStream 리포지토리에서 소프트웨어 컬렉션 형식으로 Application Stream으로 사용할 수 있습니다.

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

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

버전

GCC

13.1.1

GDB

12.1

binutils

2.40

dwz

0.14

annobin

12.20

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

# dnf install gcc-toolset-13

GCC Toolset 13에서 툴을 실행하려면 다음을 수행합니다.

$ scl enable gcc-toolset-13 tool

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

$ scl enable gcc-toolset-13 bash

자세한 내용은 GCC Toolset 13 및 GCC Toolset 사용을 참조하십시오.

Bugzilla:2171919[1], Bugzilla:2171930

GCC Toolset 13: GCC 버전 13.1.1에 따라 업데이트됨

GCC Toolset 13에서는 GNU 컴파일러 컬렉션(GCC)이 버전 13.1.1으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

일반 개선 사항

  • OpenMP:

    • OpenMP 5.0: Fortran은 이제 일부 비방형 루프 중첩을 지원합니다. GCC 11의 C/C++에 대한 지원이 추가되었습니다.
    • 많은 OpenMP 5.1 기능이 추가되었습니다.
    • OpenMP 5.2 기능에 대한 초기 지원이 추가되었습니다.
  • 새로운 디버그 정보 압축 옵션 값인 -gz=zstd 를 사용할 수 있습니다.
  • -Ofast,-ffast-math th 및 -funsafe-math-optimizations 옵션은 공유 옵션을 사용하여 공유 오브젝트를 생성할 때 부동 소수점 환경을 변경하는 시작 코드를 더 이상 추가하지 않습니다.
  • GCC는 이제 정적 분석 도구(예: GCC의 -fanalyzer)의 결과를 캡처하는 데 적합한 JSON 기반 형식인 SARIF(정적 분석 결과 Interchange Format)를 사용하여 진단을 내보낼 수 있습니다. SARIF를 사용하여 머신에서 읽을 수 있는 형식으로 다른 GCC 경고 및 오류를 캡처할 수도 있습니다.
  • 링크 타임 최적화가 구현되었습니다.

새로운 언어 및 언어별 개선 사항

C 제품군:

  • 새로운 -Wxor-used-as-pow 옵션은 사용자가 지수를 의미할 수 있는 배타적 또는 (^) 연산자의 사용에 대해 경고합니다.
  • 파일 설명자인 int 인수를 문서화하기 위해 세 가지 새로운 함수 속성이 추가되었습니다.

    • attribute((fd_arg(N)))
    • attribute((fd_arg_read(N)))
    • attribute((fd_arg_write(N)))

    이러한 속성은 -fanalyzer 에서 파일 설명자의 오용을 감지하는 데도 사용됩니다.

  • 새로운 문 특성, 속성(EXPR)); C++23 이식 가능한 가정에 추가되었습니다. 이 속성은 C 또는 이전 C++에서도 지원됩니다.
  • GCC는 이제 해당 배열의 요소에 액세스하기 위해 유연한 배열 멤버로 구조의 후행 배열을 처리할 시기를 제어할 수 있습니다. 기본적으로 집계의 모든 후행 배열은 유연한 배열 멤버로 처리됩니다.By default, all trailing arrays in aggregates are treated as flexible array members. 새로운 명령줄 옵션 -fstrict-flex-arrays 를 사용하여 flexible 배열로 처리할 배열 멤버를 제어합니다.

C:

  • 몇 가지 C23 기능이 구현되었습니다.

    • nullptr 상수를 도입합니다.
    • 기본 형식을 지정하기 위해 향상된 열거입니다.
    • variadic 매개변수 목록의 요구 사항이 완화되었습니다.
    • 오브젝트 정의에 대한 유형 유추를 활성화하는 자동 기능이 도입되었습니다.
    • 개체 정의에 대한 constexpr 지정자가 도입되었습니다.
    • 복합 리터럴에 대한 스토리지 클래스 지정자가 도입되었습니다.
    • 이전에 확장으로 지원되는 typeof 오브젝트 및 typeof_unqual 오브젝트를 도입했습니다.
    • 새로운 키워드 추가: alignas,alignof,bool,false,static_assert,thread_local, true.
    • [[no return]] 속성을 추가하여 함수가 호출자에게 실행을 반환하지 않도록 지정합니다.
    • 빈 이니셜라이저에 대한 지원이 추가되었습니다.
    • STDC_VERSION_*_H 헤더 버전 매크로에 대한 지원이 추가되었습니다.
    • ATOMIC_VAR_INIT 매크로를 삭제했습니다.
    • < stddef.h& gt; 헤더에 연결할 수 없는 매크로를 추가했습니다.
    • 제거된 trigraphs입니다.
    • 검증되지 않은 함수를 제거합니다.
    • %wN%wfN 형식 길이 수정자에 대해 -Wformat 옵션을 통해 검사한 Cryostat 및 scanf 포멧을 추가했습니다.
    • 유니코드 Standard Annex(UAX) 31의 식별자 구문 지원이 추가되었습니다.
    • C23에서 채택된 기존 기능은 C23 요구 사항을 따르도록 조정되었으며 -std=c2x -Wpedantic 옵션을 사용하여 진단되지 않습니다.
  • 새로운 -Wenum-int-mismatch 옵션은 열거된 유형과 정수 유형 간의 불일치에 대해 경고합니다.

C++:

  • -fexcess-retries 옵션을 통해 과도한 정밀 지원을 구현합니다. 기본적으로 -std=c++17 과 같은 엄격한 표준 모드로 활성화됩니다. 여기서 기본값은 -fexcess-keygen=standard 입니다. -std=gnu++20 과 같은 GNU 표준 모드에서는 기본값은 -fexcess-chrony=fast 이며 이는 이전 동작을 복원합니다.

    -fexcess-retries 옵션은 다음 아키텍처에 영향을 미칩니다.

    • x87 계산을 사용하는 Intel 32 및 64비트에서 x87 계산을 사용하는 경우에 따라 Singledouble 표현식이 긴 이중 전체 순서로 평가됩니다.
    • Single 표현식이 double precision로 평가되는 64비트 IBM Z 시스템입니다.
    • std:: float 16_t 또는 std::bfloat16_t 유형을 지원하는 여러 아키텍처에서 이러한 유형은 부동 소수점으로 평가됩니다.
  • C++23에 대한 실험적 지원 개선:

    • 복합 문 끝에 레이블에 대한 지원이 추가되었습니다.
    • 임시에 대한 참조 바인딩을 감지하기 위해 유형 특성을 추가했습니다.
    • 휘발성 복합 작동에 대한 지원을 다시 도입했습니다.
    • #warning 지시문에 대한 지원이 추가되었습니다.
    • 구분된 이스케이프 시퀀스에 대한 지원이 추가되었습니다.
    • 이름이 지정된 범용 문자 이스케이프에 대한 지원이 추가되었습니다.
    • char8_t 유형에 대한 호환성 및 이식성 수정 사항이 추가되었습니다.
    • 정적 operator() 함수 개체가 추가되었습니다.
    • 단순화된 암시적 이동
    • 표현식에서 같음을 다시 작성하는 것은 이제 변경 사항이 적습니다.
    • 무제한으로 사용할 수 없는 문자 리터럴과 광범위한 다중 문자 리터럴을 제거합니다.
    • 몇 가지 constexpr 기능 제한 사항을 완화했습니다.
    • 확장된 부동 소수점 유형 및 표준 이름입니다.
    • 이식 가능한 가정을 구현합니다.
    • UTF-8에 대한 지원이 이식 가능한 소스 파일 인코딩 표준으로 추가되었습니다.
    • 정적 operator[] 하위 스크립트에 대한 지원이 추가되었습니다.
  • 새로운 경고:

    • -Wself-movestd::move 를 사용하여 값을 자체적으로 이동할 때 경고합니다.
    • -Wdangling-reference 는 라이프 사이클이 종료된 임시로 참조가 바인딩될 때 경고합니다.
    • 더 많은 상황에서 경고하도록 -Wpessimizing-move-Wredundant-move 경고가 확장되었습니다.
  • 새로운 -nostdlib++ 옵션을 사용하면 C++ 표준 라이브러리에서 암시적으로 연결하지 않고도 g++ 와 연결할 수 있습니다.

libstdc++ 런타임 라이브러리의 변경 사항

  • 다음을 포함하여 C++20에 대한 실험적 지원 개선:

    • < format&gt; 헤더와 std::format 함수를 추가했습니다.
    • std:: chrono::utc_clock, 기타 클럭, 시간대, std::format 함수에 대한 <chrono> 헤더에 지원이 추가되었습니다.
  • 다음을 포함하여 C++23에 대한 실험적 지원 개선:

    • < ranges> 헤더에 추가되었습니다. views::zip _transform, views::adjacent ,views::adjacent _transform ,views::adjacent_transform,views::pairwise,views::chunk _by ,views::chunk_by,views::repeat, views::chunk_by,views::cartesian_product,views::as_rvalue,views::enumerate,views::as_const.
    • < algorithm> 헤더에 추가: ranges::contains _subrange,ranges::iota, ranges::find_last ,ranges::find_last _if ,ranges::find_last_if,ranges::find_if_not , ranges::fold_ left ,ranges::fold_left _first ,ranges::fold_left_first, ranges::fold_right,ranges::fold_right_last,ranges::fold_left_with_iter,ranges::fold_left_first_with_iter.
    • std::expected 클래스 템플릿에 대한 monadic 작업을 지원합니다.
    • std::bitset,std::to_charsstd::from_chars 함수에 constexpr 수정자를 추가했습니다.
    • 확장 부동 소수점 유형에 대한 라이브러리 지원이 추가되었습니다.
  • Library Cryostatals <experimental/scope> Technical Specification (TS)의 버전 3에서 헤더에 대한 지원이 추가되었습니다.
  • Concurrency TS 버전 2에서 <experimental/synchronized_value> 헤더에 대한 지원이 추가되었습니다.
  • 이전에 사용할 수 없는 많은 기능에 대한 지원이 무료로 추가되었습니다. 예를 들면 다음과 같습니다.

    • std::튜플 클래스 템플릿을 무료로 컴파일할 수 있습니다.
    • libstdc++ 라이브러리는 std::arraystd::string_view 와 같은 자유 하위 집합에 구성 요소를 추가합니다.
    • libstdc++ 라이브러리는 이제 -ffree espite 컴파일러 옵션을 사용하므로 libstdc++ 라이브러리의 별도의 무료 설치를 빌드할 필요가 없습니다. libstdc++ 라이브러리가 전체 호스팅 구현으로 빌드된 경우에도 -ffree espite로 사용 가능한 기능을 freestanding 하위 집합으로 제한합니다.

새로운 대상 및 대상별 개선 사항

64비트 ARM 아키텍처:

  • -march= 옵션에 대한 armv9.1-a,armv9.2-a, armv9.3-a 인수에 대한 지원이 추가되었습니다.

32비트 및 64비트 AMD 및 Intel 아키텍처:

  • C 및 C++ 모두에서 __bf16 유형은 Streaming ScanSettingD Extensions 2 이상이 활성화된 시스템에서 지원됩니다.
  • 이제 실제 __bf16 유형이 AVX512BF16 명령어 내장에 사용됩니다. 이전에는 __bfloat16.hort16이 사용된 typedef입니다. GCC 12를 GCC 13으로 업그레이드할 때 AVX512BF16 관련 소스 코드를 조정합니다.
  • 다음 Intel 명령어를 지원하기 위해 새로운 Instruction Set Architecture (ISA) 확장을 추가했습니다.

    • 명령 내장이 -mavxifma 컴파일러 스위치를 통해 사용할 수 있는 AVX-IFMA 입니다.
    • -mavxvnniint8 컴파일러 스위치를 통해 내장 명령어를 사용할 수 있는 AVX-VNNI-INT8
    • 명령 내장을 통해 -mavxneconvert 컴파일러 스위치를 통해 사용할 수 있는 AVX-NE-CONVERT.
    • -mcmpccxadd 컴파일러 스위치를 통해 내장 명령어를 사용할 수 있는 CMPccXADD.
    • AMX-FP16 명령어 내장을 통해 -mamx-fp16 컴파일러 스위치를 사용할 수 있습니다.
    • -mprefetchi 컴파일러 스위치를 통해 내장 명령어를 사용할 수 있는 PREFETCHI.
    • -mraoint 컴파일러 스위치를 통해 내장 명령어를 사용할 수 있는 RAO-INT.
    • AMX-COMPLEX-mamx-complex 컴파일러 스위치를 통해 내장 명령어를 사용할 수 있습니다.
  • GCC는 -march= znver4 컴파일러 스위치를 통해 znver4 코어를 기반으로 AMD CPU를 지원합니다. 스위치는 GCC가 자동 벡터를 사용할 때 512비트 벡터를 사용하는 것을 고려합니다.

정적 분석기 개선

  • 정적 분석기에는 20개의 새로운 경고가 추가되었습니다.

    • -Wanalyzer-allocation-size
    • -Wanalyzer-deref-before-check
    • -Wanalyzer-exposure-through-uninit-copy
    • -Wanalyzer-imprecise-fp-arithmetic
    • -Wanalyzer-infinite-recursion
    • -Wanalyzer-jump-through-null
    • -Wanalyzer-out-of-bounds
    • -Wanalyzer-putenv-of-auto-var
    • -Wanalyzer-tainted-assertion
    • 파일 설명자의 오용과 관련된 7 가지 새로운 경고:

      • -Wanalyzer-fd-access-mode-mismatch
      • -Wanalyzer-fd-double-close
      • -Wanalyzer-fd-leak
      • -Wanalyzer-fd-phase-mismatch (예: listen 를 호출하기 전에 소켓에서 accept 를 호출)
      • -Wanalyzer-fd-type-mismatch (예: 데이터그램 소켓에서 스트림 소켓 사용)
      • -Wanalyzer-fd-use-after-close
      • -Wanalyzer-fd-use-without-check

        • 또한 open,close,creat,dup2,dup 3, pipe , pipe ,pipe 2,readwrite 함수의 동작에 대한 특수 캐스팅 처리를 구현합니다.
    • < stdarg.h> 헤더의 오용에 대한 새로운 경고 4가지:

      • -Wanalyzer-va-list-leakva_start 또는 va_copy 매크로 이후 va_end 매크로가 누락되었다고 경고합니다.
      • -Wanalyzer-va-list-use-va-endva_arg 또는 va_copy 매크로가 호출된 va_list 오브젝트 유형에서 사용되는 va_arg 또는 va_ copy 매크로에 대해 경고합니다.
      • -Wanalyzer-va-arg-type-mismatch type-checks va_arg macro usage in interprocedural execution paths that were actually passed to the variadic call.
      • -Wanalyzer-va-list-exhausted va_arg 매크로가 절차 간 실행 경로에 va_list 오브젝트 유형에서 너무 여러 번 사용되면 경고 메시지가 표시됩니다.
  • 다른 많은 개선사항

이전 버전과 호환되지 않는 변경 사항

C ++의 경우 std::cout 과 같은 글로벌 iostream 오브젝트의 구성은 이제 < iostream > 헤더를 포함하는 모든 소스 파일에서 대신 표준 라이브러리 내에서 수행됩니다. 이러한 변경으로 인해 C++ 프로그램의 시작 성능이 향상되지만 런타임 시 올바른 버전의 libstdc++.so 를 사용하지 않으면 GCC 13.1로 컴파일된 코드가 충돌하게 됩니다. 런타임 시 올바른 libstdc++.so 사용에 대한 설명서 를 참조하십시오. 향후 GCC 릴리스는 호환되지 않는 libstdc++.so 를 사용하여 프로그램을 전혀 실행할 수 없도록 문제를 완화합니다.

Bugzilla:2172093[1]

GCC Toolset 13: annobin 을 버전 12.20으로 재조정

GCC Toolset 13은 annobin 패키지 버전 12.20을 제공합니다. 주요 개선 사항은 다음과 같습니다.

  • annobin 노트를 별도의 디버그 정보 파일로 이동하는 지원이 추가되었습니다. 이렇게 하면 실행 가능한 바이너리 크기가 줄어듭니다.
  • 새로운 작은 노트 형식에 대한 지원이 추가되어 별도의 debuginfo 파일의 크기와 이러한 파일을 만드는 데 걸리는 시간이 줄어듭니다.

Bugzilla:2171923[1]

GCC Toolset 13: GDB는 버전 12.1에 재기반

GCC Toolset 13은 GDB 버전 12.1을 제공합니다.

주요 버그 수정 및 개선 사항은 다음과 같습니다.

  • GDB는 이제 기본적으로 소스 코드 및 디스어셈블러의 스타일을 지정합니다. 스타일링이 GDB의 자동화 또는 스크립팅을 방해하는 경우 maint set gnu-source-highlight enabled offmaint set style disassembler enabled off 명령을 사용하여 비활성화할 수 있습니다.
  • GDB는 이제 내부 오류가 발생할 때마다 backtraces를 표시합니다. 스크립트 또는 자동화에 영향을 미치는 경우 maint set backtrace-on-fatal-signal off 명령을 사용하여 이 기능을 비활성화할 수 있습니다.

C/C++ 개선 사항:

  • GDB는 이제 함수 과부하와 유사하게 C++ 템플릿을 포함하는 함수 또는 유형을 처리합니다. 매개 변수 목록을 생략하여 여러 템플릿 유형으로 구성된 유형 또는 함수를 포함하여 템플릿 함수 제품군에서 Cryostat를 설정할 수 있습니다. 완료도 비슷한 개선 사항을 가져왔습니다.

터미널 사용자 인터페이스(TUI):

  • Tui 레이아웃

    Tui 중점

    Tui 새로 고침

    Tui 창 높이
    이전 레이아웃 의 새 이름,focus,새로 고침winheight TUI 명령입니다. 이전 이름은 이러한 새 명령에 대한 별칭으로 계속 존재합니다.

  • Tui 창 너비

    winwidth

    새로운 tui window width 명령 또는 winwidth 별칭을 사용하여 창이 수평 모드로 설정될 때 TUI 창의 너비를 조정합니다.

  • info win

    이 명령에는 출력에 TUI 창의 너비에 대한 정보가 포함됩니다.

MIT(Machine Interface) 변경:

  • Mini 인터프리터의 기본 버전은 이제 4 (-i=mi4)입니다.
  • 플래그가 없는 -add-inferior 명령은 현재 유추 연결을 상속합니다. 이렇게 하면 버전 10 이전의 GDB 동작이 복원됩니다.
  • -add-inferior 명령은 이제 연결 없이 새 유추를 시작할 수 있는 --no-connection 플래그를 허용합니다.
  • Cryostat 출력의 script 필드(simum 3 및 이전 버전에서 구문적으로 잘못된 경우)의 스크립트가 list가 되었습니다. 이는 다음 명령 및 이벤트에 영향을 미칩니다.

    • -break-insert
    • -break-info
    • =breakpoint-created
    • =breakpoint-modified

      -fix-breakpoint-script-output 명령을 사용하여 이전 버전의 새 동작을 활성화합니다.

새 명령:

  • maint set internal-error backtrace [on|off]

    maint show internal-error backtrace

    maint set internal-warning backtrace [on|off]

    maint show internal-warning backtrace

    GDB는 내부 오류 또는 내부 경고가 발생할 때 자체 역추적을 출력할 수 있습니다. 이는 기본적으로 내부 오류에 대해 활성화되며 내부 경고에 대해 기본적으로 비활성화되어 있습니다.

  • 종료

    기존 quit 명령 외에도 새 exit 명령을 사용하여 GDB를 종료할 수 있습니다.

  • maint set gnu-source-highlight enabled [on|off]

    maint show gnu-source-highlight enabled
    소스 코드에 스타일링을 추가하기 위해 GNU 소스 Highlight 라이브러리를 활성화하거나 비활성화합니다. 비활성화된 경우 사용 가능한 경우에도 라이브러리가 사용되지 않습니다. GNU Source Highlight 라이브러리를 사용하지 않는 경우 Python Pygments 라이브러리가 대신 사용됩니다.

  • set suppress-cli-notifications [on|off]

    suppress-cli-notifications 표시

    CLI용으로 알림 인쇄가 비활성화되었는지 여부를 제어합니다. CLI 알림은 선택한 컨텍스트(예: 현재 유추, 스레드 또는 프레임)를 변경하거나 디버깅 중인 프로그램이 중지될 때 발생합니다(예: build를 적중하거나 source-stepping 완료 또는 인터럽트 완료).

  • 설정 스타일 disassembler enabled [on|off]

    스타일 디스어셈블러 표시

    이 명령을 활성화하면 GDB가 Python 지원으로 컴파일되고 Python Pygments 패키지를 사용할 수 있는 경우 명령은 디스어셈블러 출력에 스타일링을 적용합니다.

변경된 명령:

  • 로깅 설정 [on|off]

    더 이상 사용되지 않으며 설정된 로깅이 활성화된 [on|off] 명령으로 교체되었습니다.

  • 출력

    /x 와 같은 기본 형식을 사용하여 부동 소수점 값 인쇄가 필수 베이스에 값의 기본 바이트를 표시하도록 변경되었습니다.

  • clone-inferior

    이제 clone-inferior 명령으로 TTY,CMDARGs 설정이 원래 유추에서 새 설정으로 복사되도록 합니다. set environment 또는 unset environment 명령을 사용하여 수행한 환경 변수에 대한 모든 수정 사항은 새 유추에도 복사됩니다.

Python API:

  • 새로운 gdb.add_history() 함수는 gdb.Value 개체를 사용하여 GDB의 기록 목록에 나타내는 값을 추가합니다. 함수는 기록 목록에 있는 새 항목의 인덱스인 정수를 반환합니다.
  • 새로운 gdb.history_count() 함수는 GDB의 값 기록의 값 수를 반환합니다.
  • 새로운 gdb.events.gdb_exiting 이벤트는 GDB 종료 코드 값을 포함하는 읽기 전용 속성 exit_code 가 있는 gdb.GdbExitingEvent 오브젝트를 사용하여 호출됩니다. 이 이벤트는 GDB가 내부 상태를 정리하기 전에 GDB가 종료되기 전에 트리거됩니다.
  • 새로운 gdb.architecture_names() 함수는 가능한 모든 Architecture.name() 값을 포함하는 목록을 반환합니다. 각 항목은 문자열입니다.
  • 새로운 gdb.Architecture.integer_type() 함수는 크기와 부호 있는 범위 지정 정수 유형을 반환합니다.
  • 새로운 gdb.TargetConnection 오브젝트 유형은 연결을 나타냅니다( info connections 명령으로 표시됨). 하위 클래스 gdb.RemoteTargetConnection원격확장 원격 연결을 나타냅니다.
  • gdb.Inferior 유형에는 이 유추에서 사용하는 연결gdb.TargetConnection 오브젝트의 인스턴스인 연결 속성이 있습니다. 이 경우 열등호가 연결되지 않은 경우 None 이 될 수 있습니다.
  • 새로운 gdb.events.connection_removed 이벤트 레지스트리는 GDB에서 연결이 제거될 때 gdb.ConnectionEvent 이벤트를 내보냅니다. 이 이벤트에는 제거 중인 연결에 대한 gdb.TargetConnection 오브젝트인 connection 속성이 있습니다.
  • 새로운 gdb.connections() 함수는 현재 활성 상태인 모든 연결 목록을 반환합니다.
  • 새로운 gdb.RemoteTargetConnection.send_packet(PACKET) 방법은 기존 maint 패킷 CLI 명령과 동일합니다. 이를 사용하여 지정된 패킷을 원격 대상으로 보낼 수 있습니다.
  • 새로운 gdb.host_charset() 함수는 현재 호스트 문자 세트의 이름을 문자열로 반환합니다.
  • 새로운 gdb.set_parameter(NAME,VALUE) 함수는 GDB 매개변수 NAMEVALUE 로 설정합니다.
  • 새로운 gdb.with_parameter(NAME,VALUE) 함수는 GDB 매개변수 NAMEVALUE 로 임시로 설정한 다음 컨텍스트가 종료될 때 이를 재설정하는 컨텍스트 관리자를 반환합니다.
  • gdb.Value.format_string 메서드는 부울인 스타일링 인수를 사용합니다. true 인 경우 반환된 문자열에는 스타일링을 적용하는 이스케이프 시퀀스가 포함될 수 있습니다. 스타일링은 GDB에서 스타일링이 켜진 경우에만 존재합니다 ( styling 설정 도움말참조 ). 경우 false, 이는 스타일 인수가 제공되지 않는 경우 기본값이며 반환된 문자열에 스타일링이 적용되지 않습니다.
  • 새로운 읽기 전용 속성 gdb.InferiorThread.details 는 추가 대상별 스레드 상태 정보를 포함하는 문자열이거나 이러한 추가 정보가 없는 경우 None 입니다.
  • 새로운 읽기 전용 속성 gdb.Type.is_scalar 는 스칼라 유형의 경우 True 이고 다른 모든 유형의 경우 False 입니다.
  • 새로운 읽기 전용 속성 gdb.Type.is_signedType.is_scalarTrue 이고 다른 모든 유형의 경우 True 가 됩니다. 비스칼라 유형에 대한 이 속성을 읽으려고 하면 ValueError 가 발생합니다.
  • 이제 Python으로 구현된 GDB 및>-< 명령을 추가할 수 있습니다.

자세한 내용은 업스트림 릴리스 노트를 참조하십시오.

GDB에서 변경된 것은 무엇입니까?

Bugzilla:2172096[1]

GCC Toolset 13: bintuils 는 버전 2.40으로 재기반

GCC Toolset 13은 binutils 패키지 버전 2.40을 제공합니다. 주요 개선 사항은 다음과 같습니다.

링커:

  • 링커의 새로운 -w (--no-warnings) 명령줄 옵션은 경고 또는 오류 메시지 생성을 표시하지 않습니다. 이 기능은 작동하지 않는 바이너리를 생성해야 하는 경우에 유용합니다.
  • 이제 ELF 링커가 다음과 같은 경고 메시지를 생성합니다.

    • 스택이 실행 가능하게 되어 있습니다.
    • 읽기,쓰기eXecute 권한 세트를 모두 사용하여 메모리 상주 세그먼트를 생성합니다.
    • eXecute 권한 세트를 사용하여 스레드 로컬 데이터 세그먼트를 생성합니다.

      --no-warn-exec-stack 또는 --no-warn-rwx-segments 옵션을 사용하여 이러한 경고를 비활성화할 수 있습니다.

  • 링커에서 임의의 JSON 형식 메타데이터를 생성한 바이너리에 삽입할 수 있습니다.

기타 툴:

  • 파일 헤더 및 PE(Portable Executable) 형식 파일의 섹션 헤더에 필드를 표시하는 새로운 objdump 툴의 --private 옵션입니다.
  • objcopy 및 ELF 파일에서 ELF 섹션 헤더를 제거하는 유틸리티를 제거하는 새로운 --strip-section-headers 명령줄 옵션입니다.
  • objdump 유틸리티에 대한 새로운 --show-all-symbols 명령줄 옵션은 주소와 일치하는 첫 번째 기호만 표시하는 기본 함수와 달리 지정된 주소와 일치하는 모든 기호를 표시하는 것입니다.
  • nm 유틸리티에 대한 새로운 -W (--no-weak) 옵션은 약한 기호를 무시하도록 합니다.
  • 이제 objdump 유틸리티에서 일부 아키텍처의 disassembler 출력 구문 강조 표시 기능을 지원합니다. MODE는 다음 중 하나로 --disassembler-color= MODE 명령줄 옵션을 사용합니다.

    • off
    • color - 이 옵션은 모든 터미널 에뮬레이터에서 지원됩니다.
    • Extended-color - 이 옵션은 모든 터미널 에뮬레이터에서 지원하지 않는 8비트 색상을 사용합니다.

Bugzilla:2171926[1]

libabigail 버전 2.3으로 업데이트

libabigail 패키지가 버전 2.3으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.

  • BTF debuginfo 형식이 지원됩니다.
  • Ada 범위 유형에 대한 지원 개선
  • 억제 사양의 새로운 [allow_type] 지시문이 지원됩니다.
  • [supress_type] 억제 사양에 대해 다양한 새 속성을 추가했습니다.
  • ABIXML 파일 형식이 버전 2.2로 업데이트되었습니다.
  • 라이브러리의 SONAME은 자체 ABI 변경 사항을 반영하도록 변경되었습니다.

libabigail 패키지는 CRB(CodeReady Linux Builder) 리포지토리에서 사용할 수 있습니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.

Bugzilla:2186931

debugeditfind-debuginfo 스크립트에서 -q (--quiet) 플래그를 지원

이번 업데이트를 통해 debugedit 유틸리티에서 find-debuginfo 스크립트의 -q (--quiet) 플래그를 사용하여 스크립트의 비 오류 출력을 음소거할 수 있습니다.

Bugzilla:2177302

Valgrind 버전 3.21.0으로 업데이트

Valgrind가 3.21.0 버전으로 업데이트되었습니다. 주요 개선 사항은 다음과 같습니다.

  • --vgdb-stop-at=event1 의 새로운 abexit 값,event2,…​ 옵션은 프로그램이 0이 아닌 종료 코드와 같이 비정상적으로 종료될 때 gdbserver 유틸리티를 알립니다.
  • 새로운 --enable-debuginfod=[yes|no] 옵션은 DEBUGINFOD_URLS 환경 변수에 나열된 debuginfod 서버를 사용하여 Valgrind에서 실행되는 프로그램에 대한 누락된 DWARF debuginfo 정보를 가져오도록 Valgrind에 지시합니다. 이 옵션의 기본값은 yes 입니다.

    참고

    DEBUGINFOD_URLS 환경 변수는 기본적으로 설정되지 않습니다.

  • Valgrind는 이제 GDB Python 명령을 제공합니다. 이러한 GDB 프런트 엔드 명령은 GDB 명령줄 인터페이스에서 더 나은 통합을 제공합니다. 이러한 이점은 GDB 자동 완성 및 명령별 도움말을 검색하여 정규식과 일치하는 명령 또는 명령 도움말입니다. 관련 모니터링 명령의 경우 GDB는 인수를 평가하여 모니터 명령 사용을 단순화합니다.
  • 이제 Cryostatdb 유틸리티는 --multi 옵션으로 호출할 때 확장 원격 프로토콜을 지원합니다. GDB run 명령은 이 모드에서 지원되며 결과적으로 단일 터미널에서 GDB 및 Valgrind를 실행할 수 있습니다.
  • malloc -zero-bytes-frees=[yes|no] 옵션을 사용하여 malloc() 호출을 차단하는 툴에 대해 크기가 0인 realloc() 함수의 동작을 변경할 수 있습니다.
  • memcheck 툴은 이제 크기가 0인 realloc() 함수의 사용에 대한 검사를 수행합니다. 새로운 --show-realloc-size-zero=[yes|no] 스위치를 사용하여 이 기능을 비활성화합니다.
  • helgrind 툴에 새로운 --history-backtrace-size=value 옵션을 사용하여 이전 액세스의 스택 추적에 기록할 항목 수를 구성할 수 있습니다.
  • --cache-sim=[yes|no] cachegrind 옵션은 기본값이 no 이며 결과적으로 명령어 캐시 읽기 이벤트만 기본적으로 수집됩니다.
  • cg_annotate,cg_diff, cg_merge cachegrind 유틸리티의 소스 코드가 다시 작성되었으며 결과적으로 유틸리티에서 보다 유연한 명령줄 옵션을 처리할 수 있습니다. 예를 들어 --show-percs--no-show-percs 옵션과 기존 --show-percs=yes--show-percs=no 옵션을 지원합니다.
  • cg_annotate cachegrind 유틸리티는 diffing(-diff , -- mod-filename, --mod-funcname 옵션 사용) 및 병합(여러 데이터 파일을 전달하여)을 지원합니다. 또한 cg_annotate 는 이제 파일 및 기능 수준에서 더 많은 정보를 제공합니다.
  • DHAT 툴에 대한 새로운 사용자 요청을 사용하면 메모리 블록에 대한 액세스 수 히스토그램의 1024바이트 제한을 덮어쓸 수 있습니다.

이제 다음과 같은 새로운 아키텍처별 명령 세트가 지원됩니다.

  • 64-bit ARM:

    • v8.2 스칼라 및 벡터 부동 소수점 Absolute difference (FABD), 유동-포인트 Absolute Compare greaterer than or Equal (FACGE), floating-point Absolute Compare Greater Than (FACGT), FADD(유동-point Add) 지침.
    • v8.2 유동점(FP) 비교 및 조건부 비교 지침.
    • v8.2 floating-point (FP)의 제로 변형은 지침을 비교합니다.
  • 64비트 IBM Z:

    • 기타 -instruction-extensions 기능 3벡터 강화 시설 2에 대한 지원 이를 통해 Valgrind에서 -march=arch13 또는 -march=z15 옵션으로 컴파일된 프로그램을 실행할 수 있습니다.
  • IBM Power:

    • ISA 3.1 지원이 완료되었습니다.
    • ISA 3.0은 이제 deliver a random number (darn) 명령어를 지원합니다.
    • ISA 3.0은 이제 시스템 호출 벡터(scv) 명령어를 지원합니다.
    • ISA 3.0은 이제 copy, paste, cpabort 명령어를 지원합니다.

Bugzilla:2124346

SystemTap 버전 4.9로 업데이트

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

  • LSP( Language-Server-Protocol) 백엔드에서는 LSP 가능 편집기에서 systemtap 스크립트를 보다 쉽게 대화형으로 작성할 수 있습니다.
  • Python/Jupyter 대화형 노트북 프런트 엔드에 액세스할 수 있습니다.
  • DWARF 5비트 필드 처리 개선.

Bugzilla:2186934

elfutils 버전 0.189로 업데이트

elfutils 패키지가 버전 0.189로 업데이트되었습니다. 주요 개선 사항 및 버그 수정은 다음과 같습니다.

libelf
elf_compress 툴은 ELFCOMPRESS_ZSTD ELF 압축 유형을 지원합니다.
libdwfl
이제 dwfl_module_ return_value_location 함수는 DW_TAG_unspecified_type 유형 태그를 가리키는 DWARF Information Entries(DIEs)의 0( 반환 유형 없음)을 반환합니다.
eu-elfcompress
-t--type= 옵션은 zstd 인수를 통해 Zstandard(zstd) 압축 형식을 지원합니다.

Bugzilla:2182061

버전 4.13에 따라 libpfm 업데이트

libpfm 패키지가 버전 4.13으로 업데이트되었습니다. 이번 업데이트를 통해 libpfm 은 다음 프로세서 마이크로 아키텍처의 성능 모니터링 하드웨어 기본 이벤트에 액세스할 수 있습니다.

  • AMD Cryostat 2
  • AMD Cryostat 3
  • AMD Cryostat 4
  • ARM Neoverse N1
  • ARM Neoverse N2
  • ARM Neoverse V1
  • ARM Neoverse V2
  • IBM z16
  • 4th Generation Intel® Xeon® Scalable Processors

Bugzilla:2185652, Bugzilla:2047720, Bugzilla:2111940, Bugzilla:2111924, Bugzilla:2111930, Bugzilla:2111933, Bugzilla:2111957, Bugzilla:2111946, Bugzilla:2111946

Papi에서 새로운 프로세서 마이크로 아키텍처 지원

이번 개선된 기능을 통해 다음 프로세서 마이크로 아키텍처에서 papi 이벤트를 사전 설정하여 성능 모니터링 하드웨어에 액세스할 수 있습니다.

  • AMD Cryostat 2
  • AMD Cryostat 3
  • ARM Neoverse N1
  • ARM Neoverse N2
  • ARM Neoverse V1
  • ARM Neoverse V2

Bugzilla:2111923[1], Bugzilla:2111947, Bugzilla:2111942

Papi에서 64비트 ARM 프로세서에 대한 빠른 성능 이벤트 수 읽기 작업 지원

이전에는 64비트 ARM 프로세서에서 모든 성능 이벤트 카운터 읽기 작업에서 리소스 집약적인 시스템 호출을 사용해야 했습니다. Papi가 64비트 ARM에 대해 업데이트되어 성능 카운터와 함께 프로세스 모니터링이 성능 이벤트 카운터의 더 빠른 사용자 공간 읽기를 사용할 수 있도록 업데이트되었습니다. /proc/sys/kernel/perf_user_access 매개변수를 1로 설정하면 papi 의 평균 클럭 사이클 수가 724 사이클에서 29 사이클로 단축됩니다.

Bugzilla:2186927[1]

LLVM Toolset이 버전 16.0.6으로 업데이트됨

LLVM Toolset이 버전 16.0.6으로 업데이트되었습니다.

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

  • 최적화 개선
  • 새로운 CPU 확장 지원
  • 새로운 C++ 버전에 대한 지원 개선

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

  • Clang의 기본 C++ 표준은 이제 gnu++14 대신 gnu++17 입니다.
  • -Wimplicit-function-dec declarationation,-Wimplicit-int-Wincompatible-function-pointer-types 옵션은 이제 C 코드의 오류로 기본 설정됩니다. 이는 구성 스크립트의 동작에 영향을 미칠 수 있습니다.

기본적으로 Clang 16은 GCC Toolset 13에서 제공하는 libstdc++ 라이브러리 버전 13 및 binutils 2.40 을 사용합니다.

자세한 내용은 LLVM 릴리스 노트 및 Clang 릴리스 노트를 참조하십시오.

Bugzilla:2178796

버전 1.71.1에 따라 rust Toolset

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

  • 성능을 개선하기 위해 여러 생산자, 단일 소비자(mpsc) 채널의 새로운 구현
  • crates.io 레지스트리를 보다 효율적으로 사용하기 위한 새로운 카고 스파스 인덱스 프로토콜
  • 일회성 값 초기화를 위한 새로운 OnceCellOnceLock 유형
  • 새로운 C-unwind ABI 문자열 Foreign Function Interface (FFI) 경계에서 강제로 unwinding을 사용할 수 있도록 하는 새로운 C-unwind ABI 문자열

자세한 내용은 일련의 업스트림 릴리스 알림을 참조하십시오.

Bugzilla:2191743

Rust profiler_builtins 런타임 구성 요소를 사용할 수 있음

이번 개선된 기능을 통해 Rust profile_builtins 런타임 구성 요소를 사용할 수 있습니다. 이 런타임 구성 요소는 다음과 같은 컴파일러 옵션을 활성화합니다.

-c instrument-coverage
적용 범위 프로파일링 활성화
-c profile-generate
프로필 가이드 최적화 활성화

Bugzilla:2227082[1]

Go Toolset을 버전 1.20.10으로 업데이트

Go Toolset이 버전 1.20.10으로 업데이트되었습니다.

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

  • 내부 표현에 의존하지 않고 슬라이스와 문자열을 처리하기 위해 안전하지 않은 패키지에 추가된 새로운 함수입니다.
  • 유사 유형은 이제 유사한 제약 조건을 충족할 수 있습니다.
  • 새로운 crypto/ecdh 패키지입니다.
  • go buildgo test 명령은 더 이상 -i 플래그를 허용하지 않습니다.
  • go generatego test 명령에서 -skip 패턴 옵션을 허용합니다.
  • go build,go install 및 기타 빌드 관련 명령에서 -pgo-cover 플래그를 지원합니다.
  • 이제 go 명령은 C 툴체인이 없는 시스템에서 기본적으로 cgo 를 비활성화합니다.
  • go version -m 명령은 이제 더 많은 Go 바이너리 유형 읽기를 지원합니다.
  • 이제 go 명령은 C 툴체인이 없는 시스템에서 기본적으로 cgo 를 비활성화합니다.
  • 단위 테스트에서만 수집하는 대신 애플리케이션 및 통합 테스트에서 코드 범위 프로필 수집에 대한 지원이 추가되었습니다.

Bugzilla:2185259[1]

PCP 버전 6.0.5로 업데이트

pcp 패키지가 버전 6.0.5로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

수집기 툴 기능

  • pmdaproc:

    • 최근 커널에서 per-cgroup IRQ PSI 지표에 대한 지원이 추가되었습니다.
    • proc.smaps.pss_dirty 메트릭 추가
  • pmdasmart: NVME 디스크 정보 및 전원 상태 메트릭 추가
  • pmdalinux:

    • 최근 커널에서 시스템 전체 IRQ PSI 메트릭에 대한 지원 추가
    • NUMA 외부 메모리 조각화 지표 추가
    • 새로운 네트워킹(TCP, ICMP) 지표 추가
  • pmdaoverhead: 프로세스 그룹의 오버헤드를 측정하는 새로운 PMDA
  • pmdahacluster: Pacemaker 2.1.5 crm_mon 출력 변경 사항을 처리하도록 업데이트됨

모니터링 툴 기능

  • pmieconf:

    • 웹 후크 작업 지원 추가(Event Driven Ansible)
    • 파일 설명자 제한을 확인하는 새 pmie 규칙 추가
  • pcp2json: HTTP POST를 보내는 옵션과 함께 확장 pcp2json
  • PCP-atop: 추가된 cgroup, NUMA 메모리 및 NUMA CPU 지원
  • PCP-htop: 새로운 열린 파일 디스크립터에 대한 지원 추가
  • PCP-ps: 여러 아카이브 샘플을 표시하는 기능이 추가되었습니다.

Bugzilla:2175602

PCP의 pmie 유틸리티에서 Webhook 이벤트 생성 지원

PCP(Performance Co- Cryostat)의pmie(Performance Metrics Inference Engine) 유틸리티에서 Webhook 이벤트 생성을 지원합니다. 이번 업데이트를 통해 pmie 규칙이 이벤트 기반 Ansible(EDA)에서 사용하는 형식으로 이벤트를 생성합니다. 결과적으로 EDA는 PCP 규칙에 응답할 수 있습니다.

이 기능을 활성화하려면 지정된 끝점(URL)의 Webhook에 전송할 모든 로컬 pmie 규칙을 구성합니다.

# pmieconf modify global webhook_endpoint https://localhost:443/<endpoint>
# pmieconf modify global webhook_action yes

Bugzilla:2185803

Grafana 버전 9.2.10으로 재기반

grafana 패키지가 버전 9.2.10으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.

  • 이제 Grafana 전체에서 heatmap 패널이 사용됩니다.
  • Geomaps는 이제 거리와 영역을 모두 측정할 수 있습니다.
  • Alertmanager는 이제 Prometheus Alertmanager 버전 0.24를 기반으로 합니다.
  • Grafana 경고 규칙은 기본적으로 실행 오류 또는 타임아웃에 오류 상태를 반환합니다.
  • 이제 공용 대시보드에서 표현식을 사용할 수 있습니다.
  • 이제 조인 변환에서 내부 조인을 지원합니다.
  • 공용 대시보드를 사용하면 Grafana 대시보드를 공유할 수 있습니다.
  • 이제 새로운 Prometheus 스트리밍 구문 분석기를 옵트인 기능으로 사용할 수 있습니다.

자세한 내용은 업스트림 릴리스 노트를 참조하십시오.

Bugzilla:2193018

Grafana에서 더 이상 약한 암호화 암호를 활성화하지 않음

이번 업데이트를 통해 Grafana는 보안 통신 암호화에 약한 것으로 간주되는 암호를 더 이상 활성화하지 않습니다. 영향을 받는 암호는 다음과 같습니다.

  • AES128-GCM-SHA256
  • AES128-SHA
  • AECDHE-RSA-AES128-SHA
  • AES256-GCM-SHA384
  • AES256-SHA
  • ECDHE-RSA-AES256-SHA

Bugzilla:2190025[1]

.NET 8.0 사용 가능

Red Hat Enterprise Linux 9.3은 .NET 버전 8.0과 함께 배포됩니다. 주요 개선사항은 다음과 같습니다.

  • C#12 및 F#8 언어 버전에 대한 지원이 추가되었습니다.
  • .NET 소프트웨어 개발 키트를 사용하여 컨테이너 이미지 빌드에 대한 지원이 추가되었습니다.
  • 가비지 수집기(GC),JIT(Just-In-Time) 컴파일러 및 기본 라이브러리의 많은 성능 개선

Jira:RHELPLAN-164399[1]

4.14. IdM (Identity Management)

Samba 버전 4.18.6으로 업데이트

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

  • 이전 릴리스의 보안 개선으로 인해 메타데이터가 높은 워크로드를 위해 SMB(Server Message Block) 서버의 성능에 영향을 미쳤습니다. 이번 업데이트에서는 이 시나리오의 성능이 향상됩니다.
  • 새로운 wbinfo --change-secret-at=<domain_controller > 명령은 지정된 도메인 컨트롤러에서 신뢰 계정 암호 변경을 적용합니다.
  • 기본적으로 Samba는 ACL(액세스 제어 목록)을 security.NTACL 확장 파일에 저장합니다. /etc/samba/smb.conf 파일의 acl_xattr:<security_acl_name > 설정을 사용하여 특성 이름을 사용자 지정할 수 있습니다. 사용자 정의 확장 속성 이름은 security.NTACL 로 보호되는 위치가 아닙니다. 결과적으로 서버에 대한 로컬 액세스 권한이 있는 사용자는 사용자 지정 특성의 콘텐츠를 수정하고 ACL을 손상시킬 수 있습니다.

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

Samba를 시작하기 전에 데이터베이스 파일을 백업합니다. smbd,nmbd 또는 winbind 서비스가 시작되면 Samba는 tdb 데이터베이스 파일을 자동으로 업데이트합니다. Red Hat은 tdb 데이터베이스 파일 다운그레이드를 지원하지 않습니다.

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

Bugzilla:2190415

ipaclient 역할로 IdM 수준에서 사용자 하위 ID 범위를 구성할 수 있음

이번 업데이트를 통해 ipaclient ansible-freeipa 역할은 IdM(Identity Management) 수준에서 subID 범위를 구성할 수 있는 ipaclient_subid 옵션을 제공합니다. 새 옵션을 명시적으로 true 로 설정하지 않으면 ipaclient 역할은 기본 동작을 유지하고 IdM 사용자에 대해 하위 ID 범위를 구성하지 않고 클라이언트를 설치합니다.

이전에는 역할이 /etc/nsswitch.conf 파일을 사용자 지정하는 sssd authselect 프로필을 구성했습니다. subID 데이터베이스는 IdM을 사용하지 않았으며 /etc/subuid/etc/subgid 의 로컬 파일에만 의존했습니다.

Bugzilla:2175767

이제 단일 Ansible 작업에서 여러 IdM 그룹 및 서비스를 관리할 수 있습니다.

ansible-freeipa 에서 이 향상된 기능을 사용하면 단일 Ansible 작업을 사용하여 여러 IdM(Identity Management) 사용자 그룹 및 서비스를 추가, 수정, 삭제할 수 있습니다. 이를 위해 ipagroupipaservice 모듈의 groupsservices 옵션을 사용합니다.

ipagroup 에서 사용할 수 있는 groups 옵션을 사용하여 특정 그룹에만 적용되는 그룹 변수를 여러 개 지정할 수 있습니다. 이 그룹은 groups 옵션에 대한 유일한 필수 변수인 name 변수로 정의됩니다.

마찬가지로 ipaservice 에서 사용할 수 있는 services 옵션을 사용하면 특정 서비스에만 적용되는 여러 서비스 변수를 지정할 수 있습니다. 이 서비스는 services 옵션에 대한 유일한 필수 변수인 name 변수로 정의됩니다.

Jira:RHELDOCS-16474[1]

Ansible-freeipa ipaserver 역할에서 Random Serial Numbers 지원

이번 업데이트를 통해 ansible-freeipa ipaserver 역할과 함께 ipaserver_random_serial_numbers=true 옵션을 사용할 수 있습니다. 이렇게 하면 Ansible을 사용하여 IdM(Identity Management) 서버를 설치할 때 PKI에서 인증서 및 요청에 대한 완전한 임의의 일련 번호를 생성할 수 있습니다. RSNv3을 사용하면 대규모 IdM 설치에서 범위 관리를 방지하고 IdM을 다시 설치할 때 일반적인 충돌을 방지할 수 있습니다.

중요

RSNv3은 새 IdM 설치에만 지원됩니다. 활성화하면 모든 PKI 서비스에서 RSNv3을 사용해야 합니다.

Jira:RHELDOCS-16462[1]

IPA 버전 4.10.2로 재기반

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

  • IdM CLI 및 웹 UI에서 인증서를 검색하고 나열하면 성능이 향상됩니다.

자세한 내용은 업스트림 FreeIPA 릴리스 노트 를 참조하십시오.

Bugzilla:2196426

ipaserver_remove_on_serveripaserver_ignore_topology_disconnect 옵션을 ipaserver 역할에서 사용할 수 있습니다.

ipaserver ansible-freeipa 역할의 remove_server_from_domain 옵션을 사용하여 IdM(Identity Management) 토폴로지에서 복제본을 제거하는 경우 보존할 도메인의 일부를 지정해야 합니다. 특히 다음을 수행해야 합니다.

  • ipaserver_remove_on_server 값을 지정하여 보존할 토폴로지의 부분을 식별합니다.
  • ipaserver_ignore_topology_disconnect 를 True로 설정합니다.

remove_server_from_domain 옵션을 사용하여 IdM에서 복제본을 제거하는 경우 연결된 토폴로지를 유지하지 않아도 이러한 옵션 중 어느 것도 필요하지 않습니다.

Bugzilla:2127903

IdM에서 min_lifetime 매개변수 지원

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

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

Bugzilla:2181465

ipacert Ansible 모듈을 사용하여 IdM 인증서를 관리할 수 있습니다.

ansible-freeipa ipacert 모듈을 사용하여 IdM(Identity Management) 사용자, 호스트 및 서비스에 대한 SSL 인증서를 요청하거나 검색할 수 있습니다. 그런 다음 사용자, 호스트 및 서비스는 이러한 인증서를 사용하여 IdM에 인증할 수 있습니다. 인증서를 취소하고 보류 중인 인증서를 복원할 수도 있습니다.

Bugzilla:2127907

optional_pac_tkt_chksum 옵션은 다양한 krb5버전 간의 상호 운용성을 유지하는 데 도움이 됩니다.

이제 optional_pac_tkt_chksum 옵션을 사용하여 다른 버전의 krb5 패키지를 실행하는 RHEL Kerberos Distribution Center(KDC) 서버 간의 상호 운용성을 유지할 수 있습니다. 특히 PAC(Privilege Attribute Certificate) 티켓 서명 확인에 대한 동작을 변경할 수 있습니다. 티켓 서명이 없는 사용자(S4U) 요청에 대해 Kerberos 주체에 대해 optional_pac_tkt_chksum 문자열 속성을 true 로 설정하는 경우 KDC는 PAC 티켓 서명이 없는 티켓이 포함된 사용자(S4U) 요청을 거부하지 않습니다. 티켓에 서명하는 주체는 티켓 대상 서비스의 영역에 따라 TGS( ticket-granting Service) 하나 또는 교차 영역 TGS 1입니다.

krb5-1.20 릴리스 이후 MIT Kerberos KDCs에는 Kerberos 티켓의 암호화된 부분을 기반으로 PAC에 티켓 서명이 있어야 S4U 요청을 성공적으로 처리할 수 있어야 합니다. 이전에는 특정 KDC가 krb5-1.19 이상을 사용하는 점진적 업그레이드 시나리오에서 문제가 되었지만 다른 사용자는 krb5-1.20 이상을 사용했습니다. S4U에 최신 버전의 krb5 를 사용하는 KDC는 서비스가 S4U 요청에 사용된 경우 krb5 의 이전 버전을 사용하여 KDC에서 제공한 서비스 티켓을 거부했습니다.

IdM(Identity Management)에서 이 기능을 사용하는 방법에 대한 자세한 내용은 이 가져오기 요청을 참조하십시오.

Bugzilla:2178298

IdM에서 리소스 기반 위임 지원

이번 업데이트를 통해 IdM은 이제 RBCD(리소스 기반 제한 위임)를 지원합니다. RBCD를 사용하면 리소스 수준에서 위임을 세부적으로 제어할 수 있으며 자격 증명이 위임되는 서비스의 소유자가 액세스를 설정할 수 있습니다.

예를 들어, RBCD는 대상 서비스와 프록시 서비스가 다른 포리스트에 속할 때 AD가 RBCD 사용을 적용하기 때문에 IdM과 AD(Active Directory) 간의 통합에 유용할 수 있습니다.

중요

현재 IdM 도메인의 서비스만 RBCD 규칙을 사용하여 구성할 수 있습니다. 대상 서비스가 AD 도메인의 일부인 경우 AD 측에서만 권한을 부여할 수 있습니다. AD 도메인 컨트롤러는 IdM 서비스 정보를 확인하여 규칙을 생성할 수 없으므로 현재 지원되지 않습니다.

위임 시나리오에 대한 자세한 내용은 FreeIPA 디자인 페이지를 참조하십시오.

Bugzilla:2165880

RHEL 9.3에서 389-ds-base 2.3.4 제공

RHEL 9.3은 389-ds-base 패키지 버전 2.3.4와 함께 배포됩니다. 버전 2.3.4에 비해 주요 버그 수정 및 개선 사항은 다음과 같습니다.

Bugzilla:2188627

이제 바인딩 작업이 실패하면 Directory Server에서 클라이언트 연결을 닫을 수 있습니다.

이전에는 바인딩 작업이 실패하면 바인딩 반환 코드를 무시하는 일부 애플리케이션에서 추가 요청과 함께 Director Server를 로드할 수 있었습니다.

nsslapd-close-on-failed- bind 구성 속성을 cn=config 항목에 사용하면 바인딩 작업이 실패할 때 서버가 클라이언트 연결을 닫을 수 있습니다. 따라서 서버 로드를 줄일 수 있습니다.

Bugzilla:1987471

Automembership 플러그인 개선 사항 기본적으로 더 이상 그룹을 정리하지 않습니다.

이전에는 automember rebuild 작업이 모든 automember 규칙을 통과하고 모든 멤버십을 제거한 다음, 작업이 처음부터 멤버십을 다시 빌드했습니다. 따라서 다른 be_txn 플러그인이 활성화된 경우 재구축 작업이 많이 필요했습니다.

이번 업데이트를 통해 Automembership 플러그인에 다음과 같은 개선 사항이 추가되었습니다.

  • 한 번에 하나의 재구축 작업만 허용됩니다.
  • 이제 Automembership 플러그인은 기본적으로 이전 멤버를 정리하지 않습니다. 새 CLI 옵션 --cleanup 을 사용하여 처음부터 다시 빌드하기 전에 의도적으로 멤버십을 정리합니다.

    # dsconf slapd-instance_name plugins automember fixup -f objectclass=posixaccount -s sub --cleanup "ou=people,dc=example,dc=com"
  • 수정 진행 상황을 표시하기 위해 로깅이 개선되었습니다.

Bugzilla:2149025

새로운 passwordAdminSkipInfoUpdate: on/off 설정 옵션을 사용할 수 있습니다.

cn=config 항목 아래에 새 passwordAdminSkipInfoUpdate: on/off 설정을 추가하여 암호 관리자가 수행하는 암호 업데이트를 세밀하게 제어할 수 있습니다. 이 설정을 활성화하면 암호 업데이트는 특정 속성(예: passwordHistory,passwordExpirationTime,passwordRetryCount,pwdReset, passwordExpWarned )을 업데이트하지 않습니다.

Bugzilla:2166332

Directory Server 플러그인 및 클라이언트 애플리케이션에서 새로운 slapi_memberof() 플러그인 함수를 사용할 수 있습니다.

새로운 slapi_memberof() 함수는 지정된 항목이 직접 또는 간접적으로 속하는 그룹의 고유 이름(DN)을 검색합니다. 이전에는 MemberOf, Referential Integrity 및 ACL 플러그인에서 이러한 그룹을 검색하는 자체 메커니즘을 구현했습니다. 이번 업데이트를 통해 그룹 DN을 반환하는 통합 메커니즘을 도입하는 slapi_memberof() 함수를 사용할 수 있습니다.

Bugzilla:2189946

Directory Server는 이제 가상 특성 nsRole 을 관리 및 필터링된 역할에 대한 인덱싱된 속성으로 대체

이전에는 해당 속성을 인덱싱할 수 없기 때문에 필터에 nsRole 이 가상 특성을 포함하는 LDAP 검색에 시간이 오래 걸렸습니다. 이번 업데이트를 통해 필터에서 nsRole 가상 특성을 사용하여 ldapsearch 를 수행하면 Directory Server가 nsRole 속성을 다음과 같이 대체합니다.

  • 관리 역할의 경우 nsRole 속성이 nsRoleDN 속성으로 교체됩니다.
  • 필터링된 역할의 경우 nsRole 속성이 nsRoleFilter 속성으로 교체됩니다.

결과적으로 검색이 인덱싱되기 때문에 nsRole 특성을 사용한 검색 시간이 향상됩니다.

이 업데이트는 중첩된 역할에 적용되지 않습니다.

Bugzilla:2189954

새로운 nsslapd-numlisteners 구성 옵션 사용 가능

nsslapd-numlisteners 속성은 설정된 연결을 모니터링하는 데 사용할 수 있는 리스너 스레드 디렉터리 서버의 수를 지정합니다. 특성 값을 늘리면 서버에서 많은 수의 클라이언트 연결이 발생할 때 응답 시간을 개선할 수 있습니다.

Bugzilla:1975930

IdM은 PAC 서명에 사용되는 암호화 유형을 제어하는 옵션을 지원합니다.

기본적으로 Kerberos KMS(Key Distribution Center)는 PAC(Privilege Attribute Certificate)에 대한 AES HMAC-SHA2 서명을 생성합니다. 그러나 이 암호화 유형은 AD(Active Directory)에서 지원되지 않습니다. 결과적으로 AD 교차 영역 간 위임 요청이 올바르게 처리되지 않습니다.

이번 개선된 기능을 통해 TGS 주체 krbtgt/[realm]@[realm] 에서 pac_privsvr_entype 속성을 대상 영역에 필요한 암호화 유형으로 설정하여 PAC에 서명하는 데 사용되는 암호화 유형을 제어할 수 있습니다. IdM에서 이 문자열 속성은 AD 신뢰가 있는 경우 자동으로 구성됩니다.

WARNING: This update is about standalone MIT realms. Do not change the Kerberos Distribution Center (KDC) configuration in RHEL Identity Management.

예를 들어 MIT 영역과 AD 영역의 경우 TGT(cross-realm ticket-granting ticket-granting ticket-granting ticket)에서 AD 호환 암호화 유형을 사용하려면 관리자가 MIT 측에 표시된 대로 교차 Realm TGS 주체를 구성해야 합니다. 이로 인해 AES 256 HMAC-SHA1 암호화 유형을 사용하고 제한된 위임 요청이 올바르게 처리되는 교차 영역 TGT가 생성됩니다.

kadmin.local <<EOF
setstr krbtgt/AD@IPA pac_privsvr_enctype aes256-cts-hmac-sha1-96
setstr krbtgt/IPA@AD pac_privsvr_enctype aes256-cts-hmac-sha1-96
EOF

Bugzilla:2060421

Identity Management API가 완전히 지원됨

IdM(Identity Management) API는 RHEL 9.2에서 기술 프리뷰로 사용되었으며 RHEL 9.3부터 완전 지원됩니다.

IdM API가 여러 버전의 API 명령을 사용하도록 향상된 경우에도 기존 툴과 스크립트를 사용할 수 있습니다. 이러한 개선 사항은 호환되지 않는 방식으로 명령의 동작을 변경하지 않습니다. 다음과 같은 이점이 있습니다.

  • 관리자는 관리 클라이언트보다 서버에서 이전 또는 이후 버전의 IdM을 사용할 수 있습니다.
  • 서버에서 IdM 버전이 변경되어도 개발자는 특정 버전의 IdM 호출을 사용할 수 있습니다.

한 측에서 사용하는 경우(예: 기능에 대한 새 옵션을 도입하는 최신 버전)와 관계없이 서버와의 통신이 가능합니다.

참고
IdM API는 JSON-RPC 인터페이스를 제공하지만 이러한 유형의 액세스는 지원되지 않습니다. 대신 Python을 사용하여 API에 액세스하는 것이 좋습니다. Python을 사용하면 서버에서 메타데이터 검색과 같은 중요한 부분을 자동화하여 사용 가능한 모든 명령을 나열할 수 있습니다.

Bugzilla:1513934

4.15. 그래픽 인프라

Intel Arc A-Series 그래픽이 완전 지원됨

이전에는 기술 프리뷰로 사용 가능한 Intel Arc A-Series 그래픽(Alchemist 또는 DG2) 기능이 이제 완전히 지원됩니다. Intel Arc A-Series 그래픽은 대부분 PC 게임에서 사용되는 하드웨어 가속을 가능하게 하는 GPU입니다.

Bugzilla:2101598[1]

4.16. 웹 콘솔

podman 상태 점검 작업을 사용할 수 있음

새 컨테이너를 생성할 때 다음 Podman 상태 점검 작업 중 하나를 선택할 수 있습니다.

  • 작업 없음(기본값): 작업을 수행하지 않습니다.
  • restart: 컨테이너를 다시 시작합니다.
  • stop: 컨테이너를 중지합니다.
  • force stop: Force가 컨테이너를 중지하고 컨테이너가 종료될 때까지 기다리지 않습니다.

Jira:RHELDOCS-16247[1]

RHEL 웹 콘솔에서 Stratis 사용 가능

이번 업데이트를 통해 Red Hat Enterprise Linux 웹 콘솔은 Stratis 스토리지를 관리하는 기능을 제공합니다.

Stratis에 대한 자세한 내용은 웹 콘솔을 사용하여 Stratis 파일 시스템 설정을 참조하십시오.

Jira:RHELPLAN-122345[1]

4.17. Red Hat Enterprise Linux 시스템 역할

systemd 장치를 관리하는 새로운 RHEL 시스템 역할

이제 rhel-system-role 패키지에는 systemd RHEL 시스템 역할이 포함됩니다. 이 역할을 사용하여 장치 파일을 배포하고 여러 시스템에서 systemd 장치를 관리할 수 있습니다. systemd 장치 파일과 템플릿을 제공하고 started, stopped, masked 등과 같은 유닛의 상태를 지정하여 systemd 기능을 자동화할 수 있습니다.

Bugzilla:2224384

구성 백업을 비활성화하는 ssh 역할의 새 옵션

이제 새 ssh_backup 옵션을 false 로 설정하여 이전 구성 파일을 덮어쓰기 전에 백업하지 못할 수 있습니다. 이전에는 백업 구성 파일이 자동으로 생성되었으며 필요하지 않을 수 있었습니다. ssh_backup 옵션의 기본값은 true 이며 원래 동작을 유지합니다.

Bugzilla:2216753

keylime_server RHEL 시스템 역할

새로운 keylime_server RHEL 시스템 역할을 사용하면 Ansible 플레이북을 사용하여 RHEL 9 시스템에서 검증자 및 등록 기관 Keylime 구성 요소를 구성할 수 있습니다. Keylime은 신뢰할 수 있는 플랫폼 모듈(TPM) 기술을 사용하는 원격 머신 인증 툴입니다.

Bugzilla:2224385

새로운 ha_cluster 시스템 역할 기능 지원

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

  • 규칙이 포함된 여러 기본값 세트를 포함하여 리소스 및 리소스 작업 기본값을 구성합니다.
  • SBD 워치독 커널 모듈 로드 및 차단. 이렇게 하면 클러스터에서 설치된 하드웨어 워치독을 사용할 수 있습니다.
  • 클러스터 호스트 및 쿼럼 장치에 고유한 암호 할당 이를 통해 동일한 쿼럼 호스트가 여러 개의 별도의 클러스터에 결합되고 이러한 클러스터에서 hacluster 사용자의 암호가 다른 배포를 구성할 수 있습니다.

이러한 기능을 구현하기 위해 구성한 매개변수에 대한 자세한 내용은 ha_cluster RHEL 시스템 역할을 사용하여 고가용성 클러스터 구성을 참조하십시오.

Bugzilla:2185065, Bugzilla:2185067, Bugzilla:2216481

스토리지 시스템 역할은 RAID LVM 볼륨의 스트라이프 크기 구성을 지원합니다.

이번 업데이트를 통해 RAID LVM 장치를 생성할 때 사용자 지정 스트라이프 크기를 지정할 수 있습니다. 성능 향상을 위해 SAP HANA의 사용자 지정 스트라이프 크기를 사용하십시오. RAID LVM 볼륨에 권장되는 스트라이프 크기는 64KB입니다.

Bugzilla:2181656

네트워크 RHEL 시스템 역할은 자동 DNS 레코드 업데이트를 제어하는 auto-dns 옵션 지원

이번 개선된 기능을 통해 정의된 이름 서버 및 검색 도메인을 지원합니다. 이제 자동으로 구성된 이름 서버 및 DHCP에서 dns 레코드와 같은 검색 도메인을 비활성화하면서 dns 및 dns_search 속성에 지정된 이름 서버 및 검색 도메인만 사용할 수 있습니다. 이번 개선된 기능을 통해 auto-dns 설정을 변경하여 자동 dns 레코드를 비활성화할 수 있습니다.

Bugzilla:2211194

네트워크 RHEL 시스템 역할은 no-aaa DNS 옵션 지원

이제 no- aaa 옵션을 사용하여 관리 노드에서 DNS 설정을 구성할 수 있습니다. 이전에는 getaddrinfo 와 같은 NSS 기반 인터페이스에서 트리거한 AAAA 조회를 포함하여 stub resolver에서 생성한 AAAA 쿼리를 억제할 수 있는 옵션이 없었습니다. DNS 조회만 영향을 받았습니다. 이번 개선된 기능을 통해 이제 stub 해결자가 생성한 AAAA 쿼리를 억제할 수 있습니다.

Bugzilla:2218592

ad_integration RHEL 시스템 역할이 AD 도메인에 다시 참여할 수 있음

이번 업데이트를 통해 ad_integration RHEL 시스템 역할을 사용하여 AD(Active Directory) 도메인에 다시 참여할 수 있습니다. 이 작업을 수행하려면 ad_integration_force_rejoin 변수를 true 로 설정합니다. realm_list 출력에 host가 이미 AD 도메인에 있는 것으로 표시되면 다시 가입하기 전에 기존 도메인을 남겨 둡니다.

Bugzilla:2211723

인증서 RHEL 시스템 역할로 certmonger를 사용할 때 인증서 파일 모드를 변경할 수 있습니다.

이전에는 certmonger 공급자를 사용하여 인증서 RHEL 시스템 역할에서 생성한 인증서에서 기본 파일 모드를 사용했습니다. 그러나 일부 사용 사례에서는 더 제한적인 모드가 필요할 수 있습니다. 이번 업데이트를 통해 mode 매개변수를 사용하여 다른 인증서와 키 파일 모드를 설정할 수 있습니다.

Bugzilla:2218204

postgresql RHEL 시스템 역할 사용 가능

postgresql RHEL 시스템 역할은 PostgreSQL 서버를 설치, 구성, 관리 및 시작합니다. 또한 이 역할은 데이터베이스 서버 설정을 최적화하여 성능을 향상시킵니다.

이 역할은 RHEL 8 및 RHEL 9 관리형 노드에서 현재 릴리스되고 지원되는 PostgreSQL 버전을 지원합니다.

자세한 내용은 postgresql RHEL 시스템 역할을 사용하여 PostgreSQL 설치 및 구성을 참조하십시오.

Bugzilla:2151373

podman RHEL 시스템 역할에서 Quadlets, 상태 점검 및 시크릿 지원

Podman 4.6부터 podman RHEL 시스템 역할에서 podman_quadlet_specs 변수를 사용할 수 있습니다. 단위 파일을 지정하거나 이름, 단위 유형 및 사양을 사용하여 Quadlet을 정의할 수 있습니다. 단위 유형은 컨테이너,kube,networkvolume 일 수 있습니다. Quadlets는 RHEL 8의 루트 컨테이너에서만 작동합니다. Quadlets는 RHEL 9의 rootless 컨테이너에서 작동합니다.

상태 점검은 Quadlet 컨테이너 유형에서만 지원됩니다. [Container] 섹션에서 HealthCmd 필드를 지정하여 상태 점검 명령 및 HealthOnFailure 필드를 정의하여 컨테이너가 비정상일 때 작업을 정의합니다. 가능한 옵션은 없음,종료,재시작, 중지 입니다.

podman_secrets 변수를 사용하여 보안을 관리할 수 있습니다. 자세한 내용은 업스트림 문서를 참조하십시오.

Jira:RHELPLAN-154441[1]

restorecon -T 0을 사용하여 selinux 시스템 역할의 성능 향상

이제 selinux 시스템 역할은 모든 해당 사례에서 restorecon 명령과 함께 -T 0 옵션을 사용합니다. 이렇게 하면 파일에서 기본 SELinux 보안 컨텍스트를 복원하는 작업의 성능이 향상됩니다.

Bugzilla:2179460

rhc 시스템 역할에서 프록시 서버 유형 설정을 지원

rhc_proxy 매개변수 아래에 새로 도입된 속성 스키마 를 사용하면 rhc 시스템 역할을 사용하여 프록시 서버 유형을 구성할 수 있습니다. 두 개의 값인 http, default 및 https 를 설정할 수 있습니다.

Bugzilla:2211748

방화벽 RHEL 시스템 역할은 ipsets와 관련된 변수 지원

이번 방화벽 RHEL 시스템 역할을 업데이트하면 ipsets 를 정의, 수정, 삭제할 수 있습니다. 또한 방화벽 영역에서 이러한 ipsets 를 추가하고 제거할 수 있습니다. 또는 방화벽 리치 규칙을 정의할 때 해당 ipsets 를 사용할 수 있습니다.

다음 변수를 사용하여 방화벽 RHEL 시스템 역할로 ipsets 를 관리할 수 있습니다.

  • ipset
  • ipset_type
  • ipset_entries
  • short
  • description
  • state: present 또는 state: absent
  • 영구: true

이 개선의 몇 가지 주요 이점은 다음과 같습니다.

  • 많은 IP 주소에 대한 규칙을 정의하는 리치 규칙의 복잡성을 줄일 수 있습니다.
  • 여러 규칙을 수정하지 않고 필요에 따라 세트에서 IP 주소를 추가하거나 제거할 수 있습니다.

자세한 내용은 /usr/share/doc/rhel-system-roles/firewall/ 디렉터리의 리소스를 참조하십시오.

Bugzilla:2229802

RHEL 시스템 역할에 마운트 지점 사용자 지정을 위한 새로운 볼륨 옵션이 있음

이번 업데이트를 통해 이제 마운트 디렉터리에 mount_user,mount_group, mount_permissions 매개변수를 지정할 수 있습니다.

Bugzilla:2181657

방화벽 RHEL 시스템 역할에는 충돌하는 서비스를 비활성화할 수 있는 옵션이 있으며 firewalld 가 마스킹된 경우 더 이상 실패하지 않습니다.

이전에는 firewalld 서비스가 실행된 역할 또는 충돌하는 서비스가 있을 때 방화벽 시스템 역할이 실패했습니다. 이번 업데이트에서는 두 가지 주요 개선 사항이 추가되었습니다.

linux-system-roles.firewall 역할은 항상 역할 실행에 firewalld 서비스를 설치, 해제, 활성화하려고 합니다. 이제 새 변수 firewall_disable_conflicting_services 를 플레이북에 추가하여 알려진 충돌 서비스(예: iptables.service,nftables.service, ufw.service )를 비활성화할 수 있습니다. firewall_disable_conflicting_services 변수는 기본적으로 false 로 설정됩니다. 충돌하는 서비스를 비활성화하려면 변수를 true 로 설정합니다.

Bugzilla:2222761

이제 방화벽 RHEL 시스템 역할 구성을 재설정하려면 다운타임을 최소화해야 합니다.

이전 버전에서는 이전: 대체 변수를 사용하여 방화벽 역할 구성을 재설정할 때 firewalld 서비스가 다시 시작되었습니다. 다시 시작 시 다운타임이 추가되고 firewalld 가 활성 연결의 트래픽을 차단하지 않는 열린 연결 기간이 길어집니다. 이번 개선된 기능을 통해 firewalld 서비스는 다시 시작하는 대신 다시 로드하여 구성 재설정을 완료합니다. 다시 로드하면 다운타임을 최소화하고 방화벽 규칙을 우회할 수 있는 기회를 줄일 수 있습니다. 결과적으로 이전: 대체 변수를 사용하여 방화벽 역할 구성을 재설정하려면 다운타임이 최소화됩니다.

Bugzilla:2223764

4.18. 가상화

sevctl 은 이제 AMD EPYC named 및 Milan과 완벽하게 호환됩니다.

이번 업데이트를 통해 sevctl 유틸리티는 AMD EPYC Ramam 및 AMD EPYC Milan 시리즈를 포함하여 최신 AMD EPYC 코어를 올바르게 인식합니다. 결과적으로 sevctl 을 사용하여 이러한 CPU에서 사용할 수 있는 AMD SEV(Secure Encrypted Virtualization) 기능을 구성할 수 있습니다.

그러나 SEV-ES 및 SEV-SNP와 같은 고급 SEV 기능은 RHEL 9에서는 기술 프리뷰로만 제공되므로 지원되지 않습니다.

Bugzilla:2104857[1]

virtio-vgavirtio-gpu 장치는 Blob 리소스 지원

이제 virtio-vgavirtio-gpu 장치가 Blob 메모리 리소스를 사용하여 특정 시나리오에서 성능을 향상시킬 수 있습니다. virtio 그래픽 장치에 Blob 리소스를 연결하려면 가상 머신의 XML 구성의 해당 < video > 섹션에 blob="on" 옵션을 추가합니다. 예를 들면 다음과 같습니다.

<video>
  <model type="virtio" heads="1" primary="yes" blob="on"/>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

그러나 이 기능은 현재 IBM Z 호스트에서는 작동하지 않습니다.

Bugzilla:2032406

4th Generation Intel Xeon Scalable 프로세서에 대한 가상화 지원

이번 업데이트를 통해 RHEL 9의 가상화에는 이전에 Sapphire Rapids로 알려진 4세대 Intel Xeon Scalable 프로세서에 대한 지원이 추가되었습니다. 결과적으로 RHEL 9에서 호스팅되는 가상 머신은 이제 SapphireRapids CPU 모델을 사용하고 프로세서에서 제공하는 새로운 기능을 사용할 수 있습니다.

Bugzilla:1880531[1]

IBM Z에서 보안 실행을 위한 메모리 회수 개선

IBM Z에서 IBM Secure Execution와 함께 VM(가상 머신)을 사용하는 경우 VM에 대한 향상된 메모리 회수를 설정할 수 있습니다. VM에서 32GiB 이상의 RAM을 사용하는 경우 이 설정은 VM을 재부팅하거나 중지하는 성능을 향상시킵니다.

VM에서 향상된 메모리 회수를 설정하려면 XML 구성의 < async-teardown enabled='yes'/ > 행을 XML 구성의 < features></features > 섹션에 추가합니다.

Bugzilla:2168499[1]

RHEL 웹 콘솔의 새로운 가상화 기능

이번 업데이트를 통해 RHEL 웹 콘솔에는 가상 머신 페이지에 새로운 기능이 포함되어 있습니다. 이제 다음을 수행할 수 있습니다.

  • 클라우드 이미지를 기반으로 VM(가상 머신)의 생성 및 편집 버튼을 선택하여 VM을 설치하기 전에 모든 VM 속성을 편집할 수 있습니다.
  • 가상 머신 생성 중에 원시 스토리지 볼륨을 생성합니다.
  • 가상 소켓(vsock)을 설정하여 소켓을 통해 호스트와 VM 간의 통신을 활성화합니다.

    가상 소켓에는 통신을 활성화하려면 socat 과 같은 vsock 인식 소프트웨어가 필요합니다.

Jira:RHELDOCS-16487[1]

4.19. 클라우드 환경의 RHEL

cloud-init에서 NetworkManager 키 파일 지원

이번 업데이트를 통해 cloud-init 유틸리티는 NetworkManager(NM) 키 파일을 사용하여 생성된 클라우드 인스턴스의 네트워크를 구성할 수 있습니다.

기본적으로 cloud-init 는 여전히 네트워크 설정에 sysconfig 방법을 사용합니다. 대신 NM 키 파일을 사용하도록 cloud-init 를 구성하려면 /etc/cloud/cloud.cfg 를 편집하고 network-manager 를 기본 네트워크 렌더러로 설정합니다.

# cat /etc/cloud/cloud.cfg

   network:
      renderers: ['network-manager', 'eni', 'netplan', 'sysconfig', 'networkd']

Bugzilla:2118235[1]

cloud-init 에서 기본적으로 ESXi에서 VMware 데이터 소스 사용

VMware vSphere 클라우드 플랫폼과 같이 VMware ESXi 하이퍼바이저를 사용하는 호스트에서 RHEL VM(가상 머신)을 생성할 때. 이를 통해 cloud-init 를 사용하여 RHEL의 ESXi 인스턴스를 생성하는 성능과 안정성이 향상됩니다. 그러나 ESXi는 여전히 OVF(Open Virtualization Format) 데이터 소스와 호환되며 VMware를 사용할 수 없는 경우 OVF 데이터 소스를 사용할 수 있습니다.

Bugzilla:2172341[1]

4.20. 지원 관련 기능

SOS 버전 4.6으로 업데이트

구성, 진단 및 문제 해결 데이터를 수집하는 sos 유틸리티는 버전 4.6으로 변경되었습니다. 이번 업데이트에서는 다음과 같은 향상된 기능이 있습니다.

  • SOS 보고서에는 이제 부팅 문제 해결에 중요한 정보가 포함될 수 있는 /boot/grub2/custom.cfg/boot/grub2/user.cfg 파일의 내용이 포함됩니다. (BZ#2213951)
  • OVN-Kubernetes용 sos 플러그인은 상호 연결 환경에 대한 추가 로그를 수집합니다. 이번 업데이트를 통해 ovnkube-nodeovnkube-controller 컨테이너가 모두 병합될 때 ovnkube-controller 컨테이너에서도 로그를 수집합니다.

또한 주요 버그 수정에는 다음이 포함됩니다.

  • SOS는 이제 OpenShift Container Platform 4 환경(BZ#2186361)에서 cgroup 데이터를 올바르게 수집합니다.
  • sudo 플러그인이 활성화된 상태로 sos 보고서를 수집하는 동안 이제 bindpw 옵션이 올바르게 제거됩니다. (BZ#2143272)
  • subscription_manager 플러그인은 더 이상 /var/lib/rhsm/ 경로에서 프록시 사용자 이름과 암호를 수집하지 않습니다. (BZ#2177282)
  • virsh 플러그인은 virt-manager 로그에서 SPICE 원격 표시 암호를 더 이상 수집하지 않으므로 보고서에 암호를 공개하지 않습니다. (BZ#2184062)
  • 이제 SOS는 /var/lib/iscsi/nodes/<IQN>/<PortalIP>/default 파일에 이전에 표시된 사용자 이름과 암호를 마스킹합니다.

    중요

    생성된 아카이브에는 민감한 것으로 간주되는 데이터가 포함될 수 있습니다. 따라서 타사에 전달하기 전에 항상 콘텐츠를 검토해야 합니다.

    (BZ#2187859)

  • SOS 는 로그 파일의 크기를 초과하고 플러그인이 시간 초과된 경우에도 tailed 로그 컬렉션을 완료합니다. (BZ#2203141)
  • Pacemaker 클러스터 노드에 sos collect 명령을 입력하면 동일한 클러스터 노드에서 sos 보고서를 수집합니다. (BZ#2186460)
  • OpenShift Container Platform 4 환경의 호스트에서 데이터를 수집할 때 이제 sysroot 경로를 사용하므로 올바른 데이터만 어셈블됩니다. (BZ#2075720)
  • sos report --clean 명령은 모든 MAC 주소를 의도한 대로 난독화합니다. (BZ#2207562)
  • hpssm 플러그인을 비활성화해도 더 이상 예외가 발생하지 않습니다. (BZ#2216608)
  • sos clean 명령은 간소화된 파일의 권한을 따릅니다. (BZ#2218279)

sos 의 각 릴리스에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.

Jira:RHELPLAN-156196[1]

4.21. 컨테이너

Podman은 zstd로 압축된 이미지 가져오기 및 푸시 지원

zstd 형식으로 압축된 이미지를 가져와서 푸시할 수 있습니다. zstd 압축은 gzip보다 더 효율적이고 빠릅니다. 이미지 가져오기 및 푸시와 관련된 네트워크 트래픽 및 스토리지 양을 줄일 수 있습니다.

Jira:RHELPLAN-154314[1]

Podman의 Quadlet 사용 가능

Podman v4.6부터 Quadlet을 사용하여 컨테이너 설명에서 systemd 서비스 파일을 자동으로 생성할 수 있습니다. 설명은 systemd 에서 컨테이너 실행의 기술적 복잡성 없이 관련 컨테이너 세부 정보에 중점을 두고 있기 때문에 Quadlets를 podman generate systemd 명령보다 더 쉽게 사용할 수 있습니다.

자세한 내용은 Quadlet 업스트림 문서 및 Quadlet사용하여 Podman에 대한 systemd를 더 잘 만드는 방법을 참조하십시오.

Jira:RHELPLAN-154432[1]

컨테이너 툴 패키지가 업데이트됨

Podman, Buildah, Skopeo, crun, runc 툴이 포함된 업데이트된 컨테이너 툴 RPM 메타 패키지를 사용할 수 있습니다. 이번 업데이트에서는 이전 버전에 비해 일련의 버그 수정 및 개선 사항이 적용됩니다.

Podman v4.6에서 주요 변경 사항은 다음과 같습니다.

  • 이제 podman kube play 명령에서 --configmap= <path > 옵션을 지원하여 Pod 컨테이너 내에서 사용되는 환경 변수를 Kubernetes YAML 파일에 제공합니다.
  • podman kube play 명령에서 --configmap 옵션에 대해 여러 Kubernetes YAML 파일을 지원합니다.
  • podman kube play 명령에서는 활성 프로브 내에서 containerPort 이름 및 포트 번호를 지원합니다.
  • 이제 podman kube play 명령에서 ctrName을 Pod 네트워크에 별칭으로 추가합니다.
  • podman kube 플레이podman kube generate 명령에서 SELinux filetype 레이블 및 ulimit 주석을 지원합니다.
  • 지정된 이름의 시크릿이 존재하는지 확인하는 새 명령인 podman secret이 추가되었습니다.
  • podman create,podman run,podman pod create, podman pod clone 명령에서 새 옵션인 --shm-size-systemd 를 지원하여 systemd 관련 마운트에 대해 tmpfs 크기를 제한할 수 있습니다.
  • podman create 및 podman run 명령에서 이제 제한된 컨테이너 내에서 SELinux 레이블을 지정할 수 있는 새로운 옵션 --security-opt label=nested 를 지원합니다.
  • Podman은 이제 Pod 내에서 실행되는 컨테이너에 대한 자동 업데이트를 지원합니다.
  • 이제 Podman은 안정성 향상을 위해 SQLite 데이터베이스를 백엔드로 사용할 수 있습니다. 기본값은 BoltDB 데이터베이스로 유지됩니다. containers.conf 파일에서 database_backend 필드를 설정하여 데이터베이스를 선택할 수 있습니다.
  • Podman은 이제 Quadlets를 지원하여 컨테이너 설명에서 systemd 서비스 파일을 자동으로 생성합니다. 설명은 관련 컨테이너 세부 사항에 중점을 두고 있으며 systemd 에서 실행 중인 컨테이너의 기술적 복잡성을 숨깁니다.

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

Jira:RHELPLAN-154438[1]

Podman에서 Podmansh 로그인 쉘 지원

Podman v4.6부터 Podmansh 로그인 쉘을 사용하여 사용자 액세스 및 제어를 관리할 수 있습니다. /usr/bin/podmansh 명령을 표준 쉘 명령 대신 로그인 쉘로 사용하도록 설정을 구성합니다(예: /usr/bin/bash ). 사용자가 시스템 설정에 로그인하면 podmansh 명령은 사용자의 세션을 podmansh 라는 Podman 컨테이너로 실행합니다. 사용자가 로그인하는 컨테이너는 /etc/containers/systemd/users/ 디렉터리에 생성된 Quadlet 파일을 사용하여 정의됩니다. 이러한 파일에서 [Container] 섹션의 ContainerName 필드를 podmansh 로 설정합니다. systemd는 사용자 세션이 시작될 때 podmansh 를 자동으로 시작하고 모든 사용자 세션이 종료될 때까지 계속 실행됩니다.

자세한 내용은 Podman v4.6.0 Introduces Podmansh: A#159ary Login Shell 을 참조하십시오.

Jira:RHELPLAN-163003[1]

Fulcio 및 Rekor를 사용한 sigstore 서명용 클라이언트를 사용할 수 있습니다.

Fulcio 및 Rekor 서버를 사용하면 개인 키를 수동으로 관리하는 대신 OpenID Connect(OIDC) 서버 인증을 기반으로 단기 인증서를 사용하여 서명을 생성할 수 있습니다. 이전에는 Fulcio 및 Rekor를 사용하는 sigstore 서명용 클라이언트는 이전에 기술 프리뷰로 사용할 수 있으며 이제 완전히 지원됩니다. 이 추가된 기능은 클라이언트 측 지원일 뿐이며 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 필드를 추가합니다. 자세한 내용은 containers-policy.json 도움말 페이지를 참조하십시오.

Jira:RHELPLAN-160660[1]

pasta 네트워킹 모드 사용 가능

Podman v4.4.1부터 pasta 네트워크 모드를 사용할 수 있습니다. 기본 네트워크 모드 slirp4netns 의 고성능 대체이며 IPv6 전달을 지원합니다. pasta 네트워크 모드를 선택하려면 --network=pasta 옵션과 함께 podman run 명령을 사용하도록 passt 패키지를 설치합니다. Podman v4.6을 사용하면 [network] 섹션 아래에 default_rootless_network_cmd 필드를 사용하여 /etc/containers/containers.conf 구성 파일에서 기본 rootless 네트워크 모드를 설정할 수 있습니다.

Jira:RHELDOCS-16240[1]

UBI 9 마이크로 컨테이너 이미지에 더 이상 tzdata에서 설치한 zoneinfo 가 포함되어 있지 않음

이번 업데이트를 통해 tzdata 패키지에서 제공하는 시간대 정보는 UBI 9 마이크로 컨테이너 이미지에 더 이상 포함되지 않으므로 이미지 크기가 줄어듭니다. UBI 9 Minimal 및 UBI 9 Micro 컨테이너는 UTC 전용이며 사용자는 필요한 경우 전체 zoneinfo 를 가져오도록 tzdata 패키지를 다시 설치해야 합니다.

Bugzilla:2223028

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

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

새 커널 매개변수

amd_pstate=[X86]

이 커널 매개변수를 사용하면 AMD CPU의 성능을 확장할 수 있습니다. 사용 가능한 값은 다음과 같습니다.

  • disable - 지원되는 프로세서에 대한 기본 확장 드라이버로 amd_pstate 를 활성화하지 않습니다.
  • passive - 패시브 모드와 함께 amd_pstate 를 스케일링 드라이버로 사용합니다. 이 모드에서는 자율 선택이 비활성화됩니다. 드라이버는 필요한 성능 수준을 요청하고 플랫폼이 보장된 성능 수준에 따라 충족되는 경우 동일한 성능 수준을 일치시키려 합니다.
  • active - 확장 드라이버로 amd_pstate_epp 드라이버 인스턴스를 사용합니다. 드라이버에서는 소프트웨어가 성능(0x0) 또는 에너지 효율성(0xff)을 CPPC 펌웨어에 대한 의도를 유도하려는 경우 하드웨어에 힌트를 제공합니다. 그런 다음 CPPC 전원 알고리즘은 런타임 워크로드를 계산하고 실시간 코어 빈도를 조정합니다.
  • 단계별 - 안내된 자율 모드 활성화. 드라이버는 최소 및 최대 성능 수준을 요청하며 플랫폼은 자율적으로 이 범위의 성능 수준을 선택하고 현재 워크로드에 적합합니다.
arm64.nosve=[ARM64]
이 커널 매개변수를 사용하면 확장 가능한 벡터 확장 지원을 무조건 비활성화할 수 있습니다.
arm64.nosme=[ARM64]
이 커널 매개변수를 사용하면 확장 가능 매트릭스 확장 지원을 무조건 비활성화할 수 있습니다.
gather_data_sampling=[X86,INTEL]

이 커널 매개변수를 사용하면 GDS(Greater Data Sampling) 완화를 제어할 수 있습니다.

GDS는 이전에 벡터 레지스터에 저장된 데이터에 대해 권한이 없는 추측 액세스를 허용하는 하드웨어 취약점입니다.

이 문제는 기본적으로 업데이트된 마이크로 코드에서 완화됩니다. 완화 조치에는 성능에 영향을 미칠 수 있지만 비활성화할 수 있습니다. AVX를 비활성화하는 마이크로 코드 완화 기능이 없는 시스템에서는 완화 기능을 제공합니다. 사용 가능한 값은 다음과 같습니다.

  • force - AVX를 비활성화하여 마이크로 코드 완화 없이 시스템을 완화합니다. 마이크로 코드 완화가 있는 경우에는 효과가 없습니다. buggy AVX 열거를 사용하여 사용자 공간에서 충돌을 유발하는 것으로 알려져 있습니다.
  • off - GDS 완화 기능을 비활성화합니다.
nospectre_bhb=[ARM64]
이 커널 매개변수를 사용하면 Spectre-BHB(branch history injection) 취약점에 대한 모든 완화 조치를 비활성화할 수 있습니다. 시스템에서 이 옵션을 사용하여 데이터 누수를 허용할 수 있습니다.
trace_clock=[FTRACE]

이 커널 매개변수를 사용하면 부팅 시 이벤트 추적에 사용되는 클럭을 설정할 수 있습니다. 사용 가능한 값은 다음과 같습니다.

  • local - per CPU timestamp 카운터를 사용합니다.
  • 글로벌 - 이벤트 타임스탬프는 CPU 간에 동기화됩니다. 로컬 클록보다 느릴 수 있지만 일부 경합 상태에는 더 좋습니다.
  • 카운터 - 이벤트 (1, 2,...)의 간단한 계산은 이벤트당 클럭을 두 번 이상 캡처하는 인프라로 인해 일부 개수를 건너뛸 수 있습니다.
  • uptime - jiffies를 타임 스탬프로 사용합니다.
  • perf - perf와 동일한 시계를 사용합니다.
  • Cryo stat - 타임스탬프에 ktime_get_mono_fast_ns() 함수를 사용합니다.
  • mono_raw - 타임스탬프에 ktime_get_raw_fast_ns() 함수를 사용합니다.
  • boot - 타임스탬프에 ktime_get_boot_fast_ns() 함수를 사용합니다.

    아키텍처에서 더 많은 클럭을 추가할 수 있습니다. 자세한 내용은 Documentation/trace/ftrace.rst 를 참조하십시오.

업데이트된 커널 매개변수

cgroup.memory=[KNL]

이 커널 매개변수를 사용하면 cgroup 메모리 컨트롤러에 옵션을 전달할 수 있습니다.

  • 이 매개변수는 < string> 형식을 사용합니다.

    사용 가능한 값은 다음과 같습니다.

  • nosocket - 소켓 메모리 계정을 비활성화합니다.
  • nokmem - 커널 메모리 계정을 비활성화합니다.
  • [NEW] nobpf - BPF 메모리 계산을 비활성화합니다.
hugetlb_free_vmemmap=[KNL]

이 커널 매개변수를 사용하면 부팅 시 각 hugetlb 페이지에 연결된 사용되지 않는 vmemmap 페이지를 해제하는 기능을 사용할 수 있습니다. 이 매개변수가 작동하려면 CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP 구성 옵션을 활성화해야 합니다.

이 매개변수는 { on | off (default) }형식을 사용합니다.

사용 가능한 값은 다음과 같습니다.

  • On - 이 기능을 활성화합니다.
  • off - 이 기능을 비활성화

    참고

    memory_hotplug.memmap_on_memory 모듈 매개변수가 활성화된 경우 추가된 메모리 블록 자체에서 vmemmap 페이지가 할당될 수 있습니다. 이러한 vmemmap 페이지는 이 기능이 활성화된 경우에도 최적화할 수 없습니다. 추가된 메모리 블록 자체에서 할당되지 않은 다른 vmemmap 페이지는 영향을 받지 않습니다.

intel_pstate=[X86]

CPU 성능 확장에 이 커널 매개변수를 사용할 수 있습니다. 사용 가능한 값은 다음과 같습니다.

  • disable - 지원되는 프로세서에 대한 기본 확장 드라이버로 intel_pstate 를 활성화하지 않습니다.
  • [NEW] active - intel_pstate 드라이버를 사용하여 cpufreq 의 확장 governors 계층을 무시하고 p-state selection에 대한 자체 알고리즘을 제공합니다. 활성 모드에서 intel_pstate 에서 제공하는 P 상태 선택 알고리즘은 powersave 및 performance입니다. 둘 다 작동하는 방식은 프로세서 및 프로세서 모델에서 하드웨어 관리 P-state (HWP) 기능이 활성화되어 있는지 여부에 따라 다릅니다.
  • Passive - intel_pstate 를 확장 드라이버로 사용하지만 일반 cpufreq governors(내부 governor 활성화 대신)에서 작동하도록 구성합니다. 이 모드는 하드웨어 관리 P-state(HWP) 기능과 함께 사용할 수 없습니다.
  • force - 기본적으로 acpi-cpufreq 를 금지하는 시스템에서 intel_pstate 를 활성화합니다. acpi-cpufreq 대신 intel_pstate 드라이버를 강제 적용하면 OSPM에 표시되는 ACPI P-States 정보에 의존하는 열 제어 및 전원 제한과 같은 플랫폼 기능을 비활성화할 수 있으므로 주의해서 사용해야 합니다. 이 옵션은 intel_pstate 드라이버 또는 acpi-cpufreq 대신 pcc-cpufreq 를 사용하는 플랫폼에서 지원되지 않는 프로세서에서는 작동하지 않습니다.
  • no_hwp - 사용 가능한 경우 하드웨어 P 상태 제어(HWP)를 활성화하지 마십시오.
  • hwp_only - 사용 가능한 경우 하드웨어 P 상태 제어(HWP)를 지원하는 시스템에서 intel_pstate 만 로드합니다.
  • support_acpi_ppc - Enforce ACPI _PPC 성능 제한. 고정 ACPI 설명 테이블이 기본 전원 관리 프로필을 "Enterprise Server" 또는 "Performance Server"로 지정하는 경우 이 기능은 기본적으로 켜집니다.
  • per_cpu_perf_limits - cpufreq sysfs 인터페이스를 사용하여 논리별 CPU P-State 성능 제어 제한을 허용합니다.
kvm-arm.mode=[KVM,ARM]

이 커널 매개변수를 사용하면 KVM/arm64의 작업 모드 중 하나를 선택할 수 있습니다. 사용 가능한 값은 다음과 같습니다.

  • none - KVM을 강제 비활성화합니다.
  • nvhe - 보호된 게스트를 지원하지 않고 표준 nVHE 기반 모드입니다.
  • protected - 상태를 호스트에서 비공개로 유지하는 게스트를 지원하는 nVHE 기반 모드입니다. 보호 모드로 설정하면 호스트의 kexec 및 hibernation이 비활성화됩니다.
  • [NEW] 중첩 - 중첩된 가상화를 지원하는 VHE 기반 모드입니다. 최소 ARMv8.3 하드웨어가 필요합니다. 중첩된 옵션은 실험적이며 주의해서 사용해야 합니다.

    기본값은 하드웨어 지원을 기반으로 VHE/nVHE입니다.

libata.force=[LIBATA]

이 커널 매개 변수를 사용하면 구성을 강제 적용할 수 있습니다.

형식은 쉼표로 구분된 "[ID:]VAL" 목록입니다. 여기서 ID는 PORT[.DEVICE]입니다. PORT 및 DEVICE는 포트, 링크 또는 장치와 일치하는 10진수입니다. 기본적으로 libata 가 콘솔에 인쇄된 ATA ID 문자열과 일치합니다.

  • 전체 ID 부분이 생략되면 마지막 PORTDEVICE 값이 사용됩니다.
  • ID를 아직 지정하지 않은 경우 구성이 모든 포트, 링크 및 장치에 적용됩니다.
  • DEVICE 값만 생략하면 매개변수는 포트 및 그 뒤에 있는 모든 링크 및 장치에 적용됩니다. 0의 DEVICE 수는 PMP 장치 뒤의 첫 번째 장치 또는 첫 번째 팬 아웃 링크를 선택합니다. 호스트 링크를 선택하지 않습니다. 15의 DEVICE 번호는 호스트 링크와 연결된 장치를 선택합니다.
  • VAL은 강제할 구성을 지정합니다. 모호성이 없는 한 바로 가기 표기법이 허용됩니다. 예를 들어 1.5G와 1.5G 모두 1.5Gbps에서 작동합니다.

    libata.force= 매개변수를 사용하면 다음 구성을 강제 수행할 수 있습니다.

  • Cable 유형: 40c, 80c, short40c, unk,ign 또는 sata. 일치하는 PORT가 있는 모든 ID가 사용됩니다.
  • SATA 링크 속도 제한: 1.5Gbps 또는 3.0Gbps.
  • 전송 모드: pio[0-7], mwdma[0-4] 및 udma[0-7]. udma[/][16,33,44,66,100,133] 표기법도 허용됩니다.
  • nohrst,nosrst,norst: 억제, 소프트 및 둘 다 재설정.
  • rstonce: 핫 언플러그 링크 복구 중에 하나의 재설정을 시도합니다.
  • [NEW] [no]dbdelay: 링크를 중단하기 전에 추가 200ms 지연을 활성화하거나 비활성화합니다.
  • [no]ncq: CryostatQ를 켜거나 끕니다.
  • [no]ncqtrim: 대기 중인 DSM TRIM을 활성화하거나 비활성화합니다.
  • [NEW] [no]ncqati: ATI 칩셋에서 CryostatQ 트리트를 활성화하거나 비활성화합니다.
  • [NEW] [no]trim: Enable or disable (unqueued) TRIM.
  • [NEW] trim_zero: TRIM 명령이 데이터를 0으로 표시합니다.
  • [NEW] max_trim_128m: 128M 최대 트리트 크기 제한을 설정합니다.
  • [NEW] [no]dma: 0.0.0.0 전송을 켜거나 끄십시오.
  • atapi_dmadir: ATAPI CryostatDIR 브리지 지원을 활성화합니다.
  • atapi_mod16_dma: 16바이트의 배수가 아닌 명령에 대해 ATAPI>-< 사용을 활성화합니다.
  • [no]dmalog: 로그에 액세스하기 위해 READ LOG Cryostat EXT 명령 사용을 활성화하거나 비활성화합니다.
  • [no]iddevlog: 식별 장치 데이터 로그에 대한 액세스를 활성화하거나 비활성화합니다.
  • [no]logdir: 일반 용도의 로그 디렉터리에 대한 액세스를 활성화하거나 비활성화합니다.
  • [NEW] max_sec_128: 전송 크기 제한을 128 섹터로 설정합니다.
  • [NEW] max_sec_1024: 1024 섹터로 전송 크기 제한을 설정하거나 지웁니다.
  • [NEW] max_sec_lba48: 65535 섹터로 전송 크기 제한을 설정하거나 지웁니다.
  • [NEW] [no]lpm: 링크 전원 관리를 활성화 또는 비활성화합니다.
  • [NEW] [no]setxfer: 전송 속도 모드를 건너뛰어야 하는지를 나타냅니다.
  • [NEW] [no]fua:이 기능을 지원하는 장치에 대한 FUA (Force Unit Access) 지원을 비활성화하거나 활성화합니다.
  • dump_id: Dump IDENTIFY data.
  • disable: 이 장치를 비활성화합니다.

    참고

    동일한 속성을 변경하는 일치하는 구성이 여러 개 있는 경우 마지막 구성이 사용됩니다.

mitigations=[X86,PPC,S390,ARM64]

이 커널 매개변수를 사용하면 CPU 취약점에 대한 선택적 완화 조치를 제어할 수 있습니다. 이는 선별된 아키텍처 독립적인 옵션 세트이며, 각 옵션은 기존 아키텍처별 옵션을 집계합니다. 사용 가능한 값은 다음과 같습니다.

  • off - 모든 선택적 CPU 완화 기능을 비활성화합니다. 이렇게 하면 시스템 성능이 향상되지만 사용자를 여러 CPU 취약점에 노출할 수도 있습니다. off 값은 다음과 같습니다.

    • If nokaslr then kpti=0 [ARM64]
    • gather_data_sampling=off [X86]
    • kvm.nx_huge_pages=off [X86]
    • l1tf=off [X86]
    • mds=off [X86]
    • mmio_stale_data=off [X86]
    • no_entry_flush [PPC]
    • no_uaccess_flush [PPC]
    • nobp=0 [S390]
    • nopti [X86,PPC]
    • nospectre_bhb [ARM64]
    • nospectre_v1 [X86,PPC]
    • nospectre_v2 [X86,PPC,S390,ARM64]
    • retbleed=off [X86]
    • spec_store_bypass_disable=off [X86,PPC]
    • spectre_v2_user=off [X86]
    • SRBDS=off [X86,INTEL]
    • ssbd=force-off [ARM64]
    • tsx_async_abort=off [X86]

      예외: kvm.nx_huge_pages =force 인 경우 kvm.nx_huge_pages에 영향을 미치지 않습니다.

  • Auto (기본값) - 모든 CPU 취약점을 완화하지만 취약한 경우에도 SMT를 활성화 상태로 둡니다. 이는 SMT가 커널 업그레이드를 통해 비활성화되거나 SMT 기반 공격을 방지할 수 있는 다른 방법이 있는 사용자용입니다.
  • Auto,nosmt - 필요한 경우 SMT를 비활성화하여 모든 CPU 취약점을 완화합니다. 이는 SMT 손실을 의미하더라도 항상 완전히 완화되기를 원하는 사용자를 위한 것입니다. auto,nosmt 옵션은 다음과 같습니다.

    • l1tf=flush,nosmt [X86]
    • mds=full,nosmt [X86]
    • tsx_async_abort=full,nosmt [X86]
    • mmio_stale_data=full,nosmt [X86]
    • retbleed=auto,nosmt [X86]
nomodeset

이 커널 매개변수를 사용하면 커널 모드 설정을 비활성화할 수 있습니다. 대부분의 시스템의 펌웨어는 디스플레이 모드를 설정하고 출력을 위한 프레임버퍼 메모리를 제공합니다. nomodeset 에서는 Cryostat 및 fbdev 드라이버가 미리 초기화된 출력을 대체할 수 있는 경우 로드되지 않습니다. 시스템 프레임 버퍼만 사용할 수 있습니다. 드라이버는 디스플레이 모드 변경 또는 가속화 렌더링을 수행하지 않습니다.

이 매개변수는 오류 폴백 또는 테스트 및 디버깅에 특히 유용합니다.

rdt=[HW,X86,RDT]

이 커널 매개변수를 사용하면 개별 RDT 기능을 켜거나 해제할 수 있습니다. 목록에는 cmt,mbmtotal,mbmlocal,l3cat,l3cdp,l2cat,l2cdp,mba,smba,bmec 가 포함됩니다.

예를 들어 cmt 를 켜고 mba 사용을 끄려면 다음을 수행합니다.

rdt=cmt,!mba
rodata=[KNL]

이 커널 매개변수를 사용하면 읽기 전용 커널 매핑을 비활성화할 수 있습니다. 사용 가능한 옵션은 다음과 같습니다.

  • 에서 읽기 전용 커널 메모리를 읽기 전용(기본값)으로 표시합니다.
  • off - 디버깅을 위해 쓰기 가능한 읽기 전용 커널 메모리를 유지합니다.
  • [NEW] full - 읽기 전용 커널 메모리 및 별칭을 읽기 전용 [arm64]으로 표시합니다.

제거된 커널 매개변수

nobats=[PPC]
이 커널 매개변수를 사용하면 "Classic" PPC 코어에서 커널 lowmem을 매핑하는 데 BAT를 사용할 수 있습니다.
noltlbs=[PPC]
이 커널 매개변수를 사용하면 PPC40x 및 PPC8xx의 커널 lowmem 매핑에 대규모 페이지 및 tlb 항목을 사용할 수 있습니다.
swapaccount=[0|1]=[KNL]
이 커널 매개변수를 사용하면 메모리 리소스 컨트롤러에서 스왑 계산을 활성화하거나 비활성화할 수 있습니다. 자세한 내용은 Documentation/admin-guide/cgroup-v1/memory.rst 를 참조하십시오.

6장. 장치 드라이버

6.1. 새로운 드라이버

네트워크 드라이버

  • MediaTek MT7601U(USB) 지원(mt7601u)은 MT7601U 기반 무선 USB 동글(64비트 ARM 아키텍처에서만) 지원 추가
  • MediaTek MT76x0E(PCIe) 지원(mt76x0e)은 MT7610/MT7630 기반 무선 PCIe 장치(64비트 ARM 아키텍처에서만)에 대한 지원을 추가합니다.
  • MediaTek MT76x0U (USB) 지원 (mt76x0u)은 MT7610U 기반 무선 USB 2.0 동글 (64 비트 ARM 아키텍처에서만)에 대한 지원을 추가합니다.
  • MediaTek MT76x2E(PCIe) 지원(mt76x2e)은 MT7612/MT7602/MT7662 기반 무선 PCIe 장치(64비트 ARM 아키텍처에서만)에 대한 지원을 추가합니다.
  • MediaTek MT76x2U (USB) 지원 (mt76x2u)은 MT7612U 기반 무선 USB 3.0 동글 (64 비트 ARM 아키텍처에서만)에 대한 지원을 추가합니다.
  • MediaTek MT7921E(PCIe) 지원(mt7921e)은 MT7921E Cryostatax 2x2:2SS 무선 장치(64비트 ARM 아키텍처에서만)에 대한 지원을 추가합니다.
  • Atheros 드라이버 Cryostatn Cryostat 기반 무선 장치 (ath9k_htc) (64 비트 ARM 아키텍처에서만)
  • Broadcom Cryostatn 무선 LAN 드라이버 (brcmsmac) (64 비트 ARM 아키텍처에서만)
  • Broadcom Cryostatn 무선 LAN 드라이버 유틸리티(brcmutil) (64비트 ARM 아키텍처에서만)
  • Broadcom Cryostat 무선 LAN fullmac 드라이버(brcmfmac) (64비트 ARM 아키텍처에서만)
  • Qualcomm Atheros Cryostatac 무선 LAN 카드 (ath10k_core)의 코어 모듈 (64 비트 ARM 아키텍처에서만)
  • Qualcomm Atheros Cryostatax 무선 LAN 카드 (ath11k)의 코어 모듈 (64 비트 ARM 아키텍처에서만)
  • 장치 시뮬레이터 for Cryostat 프레임 워크 (wwan_hwsim)
  • Qualcomm Atheros Cryostatac Cryostat PCIe/AHB 장치(ath10k_pci)에 대한 드라이버 지원 (64비트 ARM 아키텍처에서만)
  • Qualcomm Technologies Cryostatax PCIe 장치(ath11k_pci)에 대한 드라이버 지원 (64비트 ARM 아키텍처에서만)
  • Linux용 Intel® wireless Wi-Fi 드라이버(iwlwifi) (64비트 ARM 아키텍처에서만)
  • Intel®wire Wi-Fi Link AGN 드라이버 for Linux (iwldvm) - (64비트 ARM 아키텍처에서만)
  • IOSM 드라이버 (iosm)
  • Marvell everyone-Ex Driver 버전 1.0 (mwifiex) (64 비트 ARM 아키텍처에서만)
  • Marvell everyone-Ex PCI-Express Driver 버전 1.0 (mwifiex_pcie) (64비트 ARM 아키텍처에서만)
  • Marvell everyone-Ex SDIO 드라이버 버전 1.0 (mwifiex_sdio) (64 비트 ARM 아키텍처에서만)
  • Marvell everyone-Ex USB Driver 버전 1.0 (mwifiex_usb) (64비트 ARM 아키텍처에서만)
  • MediaTek PCIe 5G Cryostat exploit T7xx 드라이버 (mtk_t7xx)
  • MHI(mhi_wan_mbim)를 통한 네트워크/MBIM(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)
  • rtlwifi (rtl_pci)를 위한 PCI 기본 드라이버 (64 비트 ARM 아키텍처에서만)
  • Ralink RT2800 라이브러리 버전 2.3.0(rt2800lib) (64비트 ARM 아키텍처에서만)
  • Ralink RT2800 PCI & PCMCIA wireless LAN 드라이버 버전 2.3.0 (rt2800pci) (64비트 ARM 아키텍처에서만)
  • Ralink RT2800 USB wireless LAN 드라이버 버전 2.3.0 (rt2800usb) (64비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8821c 드라이버 (rtw88_8821c) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8821ce 드라이버 (rtw88_8821ce) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8822b 드라이버 (rtw88_8822b) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8822be 드라이버 (rtw88_8822be) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8822c 드라이버 (rtw88_8822c) - (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 8822ce 드라이버 (rtw88_8822ce) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 코어 모듈 (rtw88_core) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatac 무선 PCI 드라이버 (rtw88_pci) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatax 무선 8852A 드라이버(rtw89_8852a) (64비트 ARM 아키텍처에서만)
  • Realtek Cryostatax 무선 8852AE 드라이버(rtw89_8852ae) (64비트 ARM 아키텍처에서만)
  • Realtek Cryostatax 무선 8852B 드라이버(rtw89_8852b)(64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처에서만)
  • Realtek Cryostatax 무선 8852BE 드라이버(rtw89_8852be)(64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처에서만)
  • Realtek Cryostatax 무선 코어 모듈 (rtw89_core) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatax 무선 PCI 드라이버(rtw89_pci) (64비트 ARM 아키텍처에서만)
  • Realtek Cryostatn PCI 무선 코어 (btcoexist) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatn PCI 무선 코어(rtlwifi) (64비트 ARM 아키텍처에서만)
  • Realtek Cryostatn 무선 8723d 드라이버 (rtw88_8723d) (64 비트 ARM 아키텍처에서만)
  • Realtek Cryostatn 무선 8723de 드라이버(rtw88_8723de) (64비트 ARM 아키텍처에서만)
  • Realtek 8188E Cryostatn PCI 무선 (rtl8188ee) (64 비트 ARM 아키텍처에서만)
  • Realtek 8192C/8188C Cryostatn PCI 무선 (rtl8192c-common) (64 비트 ARM 아키텍처에서만)
  • Realtek 8192C/8188C Cryostatn PCI 무선 (rtl8192ce) (64비트 ARM 아키텍처에서만)
  • Realtek 8192C/8188C Cryostatn USB 무선 (rtl8192cu) (64 비트 ARM 아키텍처에서만)
  • Realtek 8192DE 192.0.2.n Dual Mac PCI 무선 (rtl8192de) (64 비트 ARM 아키텍처에서만)
  • Realtek 8192EE Cryostatn PCI 무선 (rtl8192ee) (64 비트 ARM 아키텍처에서만)
  • Realtek 8192S/8191SECDHEn PCI 무선 (rtl8192se) (64 비트 ARM 아키텍처에서만)
  • Realtek 8723BE Cryostatn PCI 무선 (rtl8723be) (64 비트 ARM 아키텍처에서만)
  • Realtek 8723E Cryostatn PCI 무선 (rtl8723ae) (64 비트 ARM 아키텍처에서만)
  • Realtek 8821ae Cryostatac PCI 무선 (rtl8821ae) (64 비트 ARM 아키텍처에서만)
  • Realtek RTL8723AE/RTL8723BE Cryostatn PCI 무선 공통 루틴(rtl8723-common) (64비트 ARM 아키텍처에서만)
  • rt2800 MMIO 라이브러리 버전 2.3.0(rt2800mmio) (64비트 ARM 아키텍처에서만)
  • rt2x00 라이브러리 버전 2.3.0(rt2x00lib) (64비트 ARM 아키텍처에서만)
  • rt2x00 mmio 라이브러리 버전 2.3.0( rt2x00mmio) (64비트 ARM 아키텍처에서만)
  • rt2x00 pci 라이브러리 버전 2.3.0 ( rt2x00pci) (64비트 ARM 아키텍처에서만)
  • rt2x00 usb 라이브러리 버전 2.3.0 (rt2x00usb) (64비트 ARM 아키텍처에서만)
  • RTL8XXXu USB mac80211 wireless LAN Driver (rtl8xxxu) (64비트 ARM 아키텍처에서만)
  • Atheros 무선 192.0.2.n LAN 카드용 공유 라이브러리(ath9k_common) (64비트 ARM 아키텍처에서만)
  • Atheros 무선 LAN 카드(ath)용 공유 라이브러리(64비트 ARM 아키텍처에서만)
  • Atheros Cryostatn 무선 LAN 카드 (ath9k_hw)에 대한 지원 (64 비트 ARM 아키텍처에서만)
  • Atheros Cryostatn 무선 LAN 카드 (ath9k) 지원 (64 비트 ARM 아키텍처에서만)
  • Linux 용 새로운 Intel® 무선 AGN 드라이버 (iwlmvm) (64 비트 ARM 아키텍처에서만)
  • Thunderbolt/ USB4 네트워크 드라이버 (thunderbolt_net)
  • rtlwifi (rtl_usb) 용 USB 기본 드라이버 (64 비트 ARM 아키텍처에서만)

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

  • Atheros AR30xx 펌웨어 드라이버 1.0(ath3k) (64비트 ARM 아키텍처에서만)
  • BlueFRITZ! USB 드라이버 버전 1.2(bfusb)(64비트 ARM 아키텍처에서만)
  • Bluetooth HCI UART 드라이버 버전 2.3 (hci_uart) (64 비트 ARM 아키텍처에서만)
  • Broadcom 장치 버전 0.1 (btbcm)에 대한 Bluetooth 지원 (64 비트 ARM 아키텍처에서만)
  • Intel 장치 버전 0.1(btintel)에 대한 Bluetooth 지원 (64비트 ARM 아키텍처에서만)
  • MediaTek 장치 버전 0.1 (btmtk)에 대한 Bluetooth 지원 (64 비트 ARM 아키텍처에서만)
  • Realtek 장치 버전 0.1 (btrtl)에 대한 Bluetooth 지원 (64 비트 ARM 아키텍처에서만)
  • Bluetooth 가상 HCI 드라이버 버전 1.5(hci_vhci) (64비트 ARM 아키텍처에서만)
  • Broadcom Blutonium 펌웨어 드라이버 버전 1.2 (bcm203x) (64 비트 ARM 아키텍처에서만)
  • Cryostatanswer Bluetooth USB 드라이버 버전 0.11 ( bpa10x) (64 비트 ARM 아키텍처에서만)
  • 일반 Bluetooth SDIO 드라이버 버전 0.1(btsdio) (64비트 ARM 아키텍처에서만)
  • 일반 Bluetooth USB 드라이버 버전 0.8 (btusb) (64 비트 ARM 아키텍처에서만)
  • Marvell Bluetooth 드라이버 버전 1.0(btmrvl) (64비트 ARM 아키텍처에서만)
  • Marvell BT-over-SDIO 드라이버 버전 1.0(btmrvl_sdio) (64비트 ARM 아키텍처에서만)
  • BMC IPMI SSIF 인터페이스의 Linux 장치 드라이버(sif_bmc) (64비트 ARM 아키텍처에서만)
  • VTPM 드라이버 버전 0.1 (tpm_vtpm_proxy)
  • AMD P-state 드라이버 테스트 모듈 (amd-pstate-ut) ( AMD 및 Intel 64비트 아키텍처에서만)
  • Compute Express Link (CXL) ACPI 드라이버 (cxl_acpi) (64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처에서만)
  • Compute Express Link (CXL) 코어 드라이버 (cxl_core)
  • Compute Express Link (CXL) 포트 드라이버 (cxl_port)
  • NVIDIA Tegra GPC>-< Controller 드라이버 (tegra186-gpc-dma) (64비트 ARM 아키텍처에서만)
  • Cryostat Buddy Al Cryostat (drm_buddy) (64 비트 IBM Z 아키텍처에서만)
  • Cryostat 디스플레이 어댑터 도우미 (drm_display_helper) (64 비트 IBM Z 아키텍처에서만)
  • Cryostat 장치(Hid-evision)의 HID 드라이버(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)
  • Texas Instruments INA3221 HWMon 드라이버 (ina3221) (64 비트 ARM 아키텍처에서만)
  • I3C 코어 (i3c) (64 비트 ARM 아키텍처에서만)
  • Silvaco 듀얼 역할 I3C 마스터 드라이버 (svc-i3c-master) (64 비트 ARM 아키텍처에서만)
  • Microsoft Azure Network Adapter IB 드라이버 (mana_ib) ( AMD 및 Intel 64비트 아키텍처에서만)
  • 소프트 RDMA 전송 (rdma_rxe)
  • I.MX8MP 상호 연결 드라이버 - i.MX SOCs용 일반 상호 연결 드라이버(imx8mp-interconnect)(64비트 ARM 아키텍처에서만)
  • Linux USB video 클래스(uvc)(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)
  • videobuf2 (videobuf2-memops)의 일반적인 메모리 처리 루틴 (64 비트 ARM 아키텍처에서만)
  • cec 드라이버의 장치 노드 등록 (cec) (64 비트 IBM Z 아키텍처에서만)
  • 미디어 드라이버(mc)에 대한 장치 노드 등록 (64비트 ARM 아키텍처에서만)
  • Linux 2용 비디오용 드라이버 도우미 프레임워크(videobuf2-v4l2) (64비트 ARM 아키텍처에서만)
  • 미디어 버퍼 코어 프레임워크(videobuf2-common) (64비트 ARM 아키텍처에서만)
  • USB 비디오 클래스 드라이버 버전 1.1.1 (uvcvideo) (64 비트 ARM 아키텍처에서만)
  • V4L2 DV Timings Helper Functions (v4l2-dv-timings) (64비트 ARM 아키텍처에서만)
  • video4Linux2 코어 드라이버(videodev) (64비트 ARM 아키텍처에서만)
  • videobuf2 (videobuf2-vmalloc)에 대한 vmalloc 메모리 처리 루틴 (64 비트 ARM 아키텍처에서만)
  • SPI NOR(spi-nor)용 프레임워크 (64비트 ARM 아키텍처에서만)
  • Marvell CN10K DRAM Cryostat(DSS) PMU(marvell_cn10k_ddr_pmu) (64비트 ARM 아키텍처에서만)
  • Marvell CN10K LLC-TAD Perf 드라이버 (marvell_cn10k_tad_pmu) (64비트 ARM 아키텍처에서만)
  • Intel Meteor Lake PCH pinctrl/GPIO 드라이버(pinctrl-meteorlake) ( AMD 및 Intel 64비트 아키텍처에서만)
  • Intel In Field Scan (IFS) 장치 (intel_ifs) ( AMD 및 Intel 64비트 아키텍처에서만)
  • NVIDIA Cryostat EC Backlight 드라이버 (nvidia-wmi-ec-backlight) ( AMD 및 Intel 64비트 아키텍처에서만)
  • QMI 인코더/디코더 도우미(qmi_helpers) (64비트 ARM 아키텍처에서만)
  • AMD soundwire 드라이버(soundwire-amd)( AMD 및 Intel 64비트 아키텍처에서만)
  • NVIDIA Tegra114 SPI 컨트롤러 드라이버 (spi-tegra114) (64 비트 ARM 아키텍처에서만)
  • STMicroelectronics STUSB160x Type-C 컨트롤러 드라이버 (stusb160x) (64 비트 ARM 아키텍처에서만)
  • MLX5 VFIO PCI - MLX5 장치 제품군의 사용자 수준 메타 드라이버 (mlx5-vfio-pci)

6.2. 업데이트된 드라이버

네트워크 드라이버 업데이트

  • Realtek RTL8152/RTL8153 기반 USB 이더넷 어댑터(r8152)가 v1.12.13 버전(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)으로 업데이트되었습니다.

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

  • Broadcom MegaRAID SAS 드라이버(megaraid_sas)가 07.725.01.00-rc1 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만).
  • Microchip Smart Family Controller(smartpqi)용 드라이버가 버전 2.1.22-040으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만).
  • Emulex LightPulse Fibre Channel SCSI 드라이버(lpfc)가 0:14.2.0.12 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만).
  • MPI3 스토리지 컨트롤러 장치 드라이버(mpi3mr)가 버전 8.4.1.0.0으로 업데이트되었습니다.

7장. 사용 가능한 BPF 기능

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

이 장에서는 bpftool feature 명령의 자동 생성된 출력이 포함되어 있습니다.

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

옵션현재의

unprivileged_bpf_disabled

2 (권한 있는 사용자로 제한 된 BPF() syscall, 관리자가 변경할 수 있음)

Cryostat 컴파일러

1 (활성화)

Cryostat 컴파일러 강화

1 (권한 없는 사용자에 대해 사용 가능)

Cryostat 컴파일러 kallsyms 내보내기

1 (root에 사용)

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

528482304

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

y

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

사용 가능

대규모 프로그램 크기 제한

사용 가능

바인딩된 루프 지원

사용 가능

ISA 확장 v2

사용 가능

ISA 확장 v3

사용 가능

표 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_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_kb_load_bytes_relative, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_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_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_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_stf, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

kprobe

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_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_strtol, bpf_strtoul, bpf_send_signal, 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_get_ns_current_pidtgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query bpf_get_task_stack, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_delete, bpf_get_current_task_delete, bpf_get_current_task_delete bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_kb_delete_elem 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_pop, bpf_skb_vlan_pop_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_redirect_key bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_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_skb_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_sk_lookup_tcp 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_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_skc_to_unix_ock, 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_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_syncookie_ipv4, bpf_raw_gen_syncookie_ipv6, bpf_raw_check_syncookie_ipv4, bpf_tcp_raw_check_syncookie_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_kb_delete_elem 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_pop, bpf_skb_vlan_pop_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_redirect_key bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_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_skb_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_sk_lookup_tcp 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_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_skc_to_unix_ock, 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_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_syncookie_ipv4, bpf_raw_gen_syncookie_ipv6, bpf_raw_check_syncookie_ipv4, bpf_tcp_raw_check_syncookie_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

tracepoint

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_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_strtol, bpf_strtoul, bpf_send_signal, 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_get_ns_current_pidtgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query bpf_get_task_stack, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_delete, bpf_get_current_task_delete, bpf_get_current_task_delete bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_adjust_map, bpf_xdp_djust_meta, bpf_get_current_task bpf_xdp_adjust_tail, bpf_fib_lookup, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_spin_unlock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_strtol, bpf_strtoul, bpf_tcp_gen_syncookie, bpf_probe_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_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_stf, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_xdp_load_load_bytes, bpf_xdp_store_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_dynptr, bpf_ringbuf_dynptr bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_raw_gen_syncookie_ipv4, bpf_tcp_raw_gen_syncookie_ipv6, bpf_tcp_raw_check_syncookie_syncookie_ipv4, bpf_raw_check_syncookie_ipv6, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

perf_event

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_prog_read_value, bpf_get_get_stack, bpf_get_stack, bpf_probe_read_value bpf_get_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_spin_unlock, bpf_strtol, bpf_strtol, bpf_strtoul, bpf_map_pop_elem 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_jiffies64, bpf_read_branch_records, 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_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, 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_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, bpf_timer_callback, bpf_timer_callback, bpf_timer_callback bpf_timer_cancel, bpf_get_func_ip, bpf_get_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get bpf_cgrp_storage_delete

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_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_kb_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_lookup_release, bpf_map_push_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_strtol, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_probe_output, bpf_jiffies64, bpf_ktime_get_boot_ns 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_sock, bpf_skc_to_tcp_sock bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_stf, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_pid_tgid, bpf_get_uid_gid, bpf_get_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_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtol, bpf_sk_storage_get, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_user_str, bpf_probe_kernel, bpf_probe_kernel 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_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_reserve bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_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_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_loop, bpf_timer_set_callback, bpf_timer_cancel bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_pust_elem bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_to_tcps bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn 0.0.0.0, bpf_timer_init, bpf_get_task_btf bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_submit_dynptr, bpf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_dynptr bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete, bpf_dynptr_delete

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_elem, bpf_map_spin_lock, bpf_get_node_id, bpf_map_push_elem bpf_spin_unlock, bpf_strtol, bpf_strtol, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_kernel_str, bpf_jiffies64, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_kc_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_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn 0.0.0.0, bpf_timer_init, bpf_get_task_btf bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_submit_dynptr, bpf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_dynptr bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete, bpf_dynptr_delete

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_kb_delete_elem bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_get_tunnel_key, bpf_skb_set_unnn_key, bpf_tail_csum_key, bpf_skb_set_key bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_set_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_map_ppin_lock, bpf_lwt_push_elem bpf_spin_unlock, bpf_strtol, bpf_strtol, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_kernel_str, bpf_jiffies64, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_sk_to_tcps, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn 0.0.0.0, bpf_timer_init, bpf_get_task_btf bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_submit_dynptr, bpf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_dynptr bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete, bpf_dynptr_delete

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_getsockopt, bpf_getsockopt, bpf_getsockopt, bpf_getsock_link_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_map_push_elem bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_kernel, bpf_probe_kernel bpf_jiffies64, bpf_get_netns_cookie, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, 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_sock, bpf_skc_to_udp6_sock, bpf_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_ttf, bpf_get_current_task_btf, bpf_reserve_opt bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_kb_delete_elem bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_sk_adjust_room, bpf_sk_redirect_map, bpf_sk_redirect_hash, bpf_sk_lookup_tcp, 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_spin_unlock, bpf_sk_lookup_tcp, bpf_map_pop_elem bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_probe_read_user bpf_ringbuf_output, 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_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_dynptr, bpf_ringbuf_discard_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete, bpf_dynptr_delete

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_pid_tgid, bpf_get_uid_gid, bpf_get_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_group_id, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_btf, bpf_ringbuf_bt, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_uid_gid, bpf_get_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_msg_redirect_map, bpf_get_cgroup_classid, bpf_get_current_task bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_msg_redirect_hash, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_map_pop_elem, bpf_msg_redirect_data bpf_map_peek_elem, bpf_msg_data, bpf_msg_pop_data, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, 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_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, 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_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_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_sn#159, bpf_get_current_task_btf 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_timer_cancel 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_dynptr, bpf_ringbuf_dynptr bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get bpf_cgrp_storage_delete

raw_tracepoint

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_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_strtol, bpf_strtoul, bpf_send_signal, 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_get_ns_current_pidtgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query bpf_get_task_stack, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_delete, bpf_get_current_task_delete, bpf_get_current_task_delete bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_lookup_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_pid_tgid, bpf_get_uid_gid, bpf_get_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_sk_lookup_tcp, 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_skc_tcp, bpf_map_peek_elem bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_read_str, bpf_probe_read_str, bpf_probe_read_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_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_reserve bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_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_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_skc_to_unix_ock, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, 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_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_lwt_seg6_store_bytes, bpf_lwt_seg6_adjust_srh, bpf_lwt_seg6_srh bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strtoul, bpf_probe_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_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_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_stf, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_skb_load_relative, bpf_sk_select_reuseport, bpf_map_push_em, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_spin_unlock, bpf_strtol, bpf_strtool, bpf_probe_read_user, bpf_probe_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_sn Cryostat_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_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_loop, bpf_timer_set_callback, bpf_timer_cancel bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_sub_mit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get bpf_cgrp_storage_delete

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_get_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_elem, bpf_map_spin_lock, bpf_get_node_id, bpf_map_push_elem bpf_spin_unlock, bpf_strtol, bpf_strtol, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_kernel_str, bpf_jiffies64, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_kc_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_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn 0.0.0.0, bpf_timer_init, bpf_get_task_btf bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_submit_dynptr, bpf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_dynptr bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete, bpf_dynptr_delete

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_pid_tgid, bpf_get_uid_gid, bpf_get_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sysctl_get_name, bpf_sysctl_get_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_new_value, bpf_strtol, bpf_strtoul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_init, bpf_timer_set_callback, 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_mem, bpf_ringbufreserve_dynpt_from_mem bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

raw_tracepoint_writable

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_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_strtol, bpf_strtoul, bpf_send_signal, 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_get_ns_current_pidtgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query bpf_get_task_stack, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_delete, bpf_get_current_task_delete, bpf_get_current_task_delete bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_loop, bpf_strncmp, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_lookup_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_pid_tgid, bpf_get_uid_gid, bpf_get_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_cgroup_id, 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_strtol, bpf_strtol, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_user bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_reserve, bpf_ringbuf_reserve bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ bpf_for_each_map_elem, bpf_sn Cryostat, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_loop, bpf_timer_set_callback, bpf_timer_cancel bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

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_map_peek_elem, bpf_map_peek_elem bpf_spin_lock, bpf_spin_unlock, bpf_strtol, bpf_strul, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel bpf_jiffies64, bpf_sk_assign, 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_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_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_sn#159, bpf_get_current_task_btf 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_timer_cancel 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_dynptr, bpf_ringbuf_dynptr bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get bpf_cgrp_storage_delete

syscall

bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_get_socket_cookie, bpf_perf_read_value, bpf_get_get_stack, bpf_get_get_stack, bpf_get_get_stack, bpf_get_get_stack bpf_get_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_spin_unlock, bpf_strtol, bpf_strtol, bpf_strtoul, bpf_map_pop_elem bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_skb_output, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_current_tgid, bpf_xdp_output, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_kc_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_get_task_stack, bpf_d_path, bpf_copy_from_user, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_delete, bpf_get_current_task_btf, bpf_per_cpu_ptr bpf_sock_from_file, bpf_for_each_map_elem, bpf_sn Cryostat, bpf_sys_bpf, bpf_btf_find_kind, bpf_sys_close, bpf_sys_close, bpf_timer_init, bpf_timer_call_call, 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_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_map_lookup_to_tcp_site, bpf_sk_to_tcp_site bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr bpf_dynptr_data, bpf_ktime_get_tai_ns, bpf_user_ringbuf_drain, bpf_cgrp_storage_get, bpf_cgrp_storage_delete

표 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

제공됨

대기열

제공됨

stack

제공됨

sk_storage

제공됨

devmap_hash

제공됨

struct_ops

제공됨

ringbuf

제공됨

inode_storage

제공됨

task_storage

제공됨

bloom_filter

제공됨

user_ringbuf

제공됨

cgrp_storage

제공됨

8장. 버그 수정

이 부분에서는 사용자에게 상당한 영향을 미치는 Red Hat Enterprise Linux 9.3에서 수정된 버그에 대해 설명합니다.

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

이제 설치 프로그램에서 url Kickstart 명령의 --proxy 옵션을 올바르게 처리합니다.

이전에는 설치 프로그램에서 url Kickstart 명령의 --proxy 옵션을 올바르게 처리하지 않았습니다. 결과적으로 지정된 프록시를 사용하여 설치 이미지를 가져올 수 없었습니다. 이번 업데이트를 통해 문제가 해결되어 --proxy 옵션이 예상대로 작동합니다.

Bugzilla:2177219

liveimg--noverifyssl 옵션은 더 이상 HTTPS를 사용하여 다운로드한 이미지의 서버의 인증서를 확인하지 않음

이전에는 설치 프로그램에서 liveimg Kickstart 명령에서 --noverifyssl 옵션을 무시했습니다. 결과적으로 HTTPS 프로토콜을 사용하여 다운로드한 이미지의 서버 인증서를 검증할 수 없는 경우 설치 프로세스가 실패했습니다. 이번 업데이트를 통해 이 문제가 수정되었으며 liveimg Kickstart 명령의 --noverifyssl 옵션이 올바르게 작동합니다.

Bugzilla:2157921

Anaconda에서 FIPS 요구 사항에 대한 LUKS 암호 확인

이전에는 기본 툴이 이 검사를 수행한 경우에도 Anaconda에서 LUKS 암호의 길이가 FIPS 요구 사항을 충족하는지 확인하지 않았습니다. 결과적으로 8자보다 짧은 암호를 사용하여 FIPS 모드로 설치하면 설치 프로그램이 조기에 중지되었습니다.

이번 업데이트를 통해 설치 프로그램이 개선되어 암호의 최소 길이를 검증하고 시행합니다. 결과적으로 설치 프로그램은 FIPS 모드에서 LUKS 암호가 너무 짧은지 확인하고 예기치 않은 중지를 방지합니다.

Bugzilla:2163497

xfsprogs 의 새 버전이 더 이상 /boot의 크기를 축소하지 않음

이전에는 RHEL 9.3에서 5.19 버전이 있는 xfsprogs 패키지로 인해 /boot 크기가 축소되었습니다. 그 결과 RHEL 9.2 버전과 비교하면 /boot 파티션에서 사용 가능한 공간이 변경되었습니다. 이번 수정을 통해 500MiB가 아닌 모든 이미지의 /boot 파티션을 600MiB로 늘리며 /boot 파티션은 더 이상 공간 문제의 영향을 받지 않습니다.

Jira:RHEL-7999

8.2. 보안

OpenSSL 명령 cm 및 s mime 은 FIPS 모드에서 파일을 암호화할 수 있습니다.

이전에는 cm 및 s mime OpenSSL 명령의 기본 구성에서 3DES 또는 PKCS #1 v1.5와 같은 레거시 암호화 알고리즘을 사용했습니다. 이러한 알고리즘은 FIPS 모드에서 비활성화되어 있습니다. 결과적으로 기본 설정과 함께 smime 명령을 사용하여 파일을 암호화하는 것이 FIPS 모드의 시스템에서 작동하지 않았습니다. 이번 업데이트에서는 다음과 같은 변경 사항이 추가되었습니다.

  • FIPS 모드에서 OpenSSL API는 기본적으로 RSA 키와 OAEP를 사용하여 CMS 데이터를 생성합니다.
  • FIPS 모드에서 cms OpenSSL 명령은 RSA 키를 제공할 때 aes-128-cbc 및 OAEP로 암호화된 CMS 파일을 생성합니다.

ECDSA 키 사용은 영향을 받지 않습니다. 비FIPS 모드에서 OpenSSL API 및 cms 명령은 기본적으로 PKCS#1 v1.5 패딩 및 3DES 암호화를 계속 사용합니다.

결과적으로 FIPS 모드에서 cm 및 s mime OpenSSL 명령을 사용하여 파일을 암호화할 수 있습니다.

Bugzilla:2160797

SELinux에서 Dovecot의 메일 복제 허용

양방향 복제 세트를 사용하여 고가용성을 위해 Dovecot 고성능 메일 전달 에이전트를 구성할 수 있지만 이전에 SELinux 정책에 런타임 파일 시스템의 파이프를 통해 통신하기 위한 dovecot-deliver utility에 대한 규칙이 포함되어 있지 않았습니다. 그 결과 Dovecot의 메일 복제가 작동하지 않았습니다. 이번 업데이트를 통해 SELinux 정책에 권한이 추가되어 Dovecot의 메일 복제가 작동합니다.

Bugzilla:2170495[1]

이제 NFS 파일 시스템에서 부팅이 SELinux를 강제 모드로 설정된 상태에서 작동합니다.

이전 버전에서는 NFS를 루트 파일 시스템으로 사용할 때 서버에서 SELinux 레이블이 전달되지 않아 SELinux가 강제 모드로 설정된 경우 부팅 오류가 발생했습니다.

이번 수정을 통해 SELinux가 초기 SELinux 정책 로드를 지원 보안 레이블로 로드하기 전에 생성된 NFS 마운트에 올바르게 플래그를 지정하도록 수정되었습니다. 결과적으로 NFS 마운트는 이제 SELinux 레이블을 서버와 클라이언트 간에 전달하고 부팅은 SELinux를 강제 모드로 설정하여 성공할 수 있습니다.

Bugzilla:2218207[1]

RabbitMQ 가 더 이상 IPv6에서 실패하지 않음

이전에는 IPv6가 활성화된 rabbitmq 서버를 배포할 때 inet_gethost 명령에서 /proc/sys/net/ipv6/conf/all/disable_ipv6 파일에 액세스하려고 했습니다. 결과적으로 시스템은 /proc/sys/net/ipv6/conf/all/disable_ipv6 에 대한 액세스를 거부했습니다. 이번 업데이트를 통해 시스템에서 /proc/sys/net/ipv6/conf/all/disable_ipv6 을 읽을 수 있으며 rabbitmq 가 IPv6에서 작동합니다.

Bugzilla:2184999

cloud-init 를 통해 Insights에 등록이 더 이상 SELinux에 의해 차단되지 않음

이전에는 SELinux 정책에 cloud-init 스크립트에서 insights-client 서비스를 실행할 수 있는 규칙이 포함되어 있지 않았습니다. 결과적으로 cloud-init 스크립트에서 insights-client --register 명령을 실행하려고 실패했습니다. 이번 업데이트를 통해 누락된 규칙이 정책에 추가되어 강제 모드에서 SELinux를 사용하여 cloud-init 를 통해 Insights에 등록할 수 있습니다.

Bugzilla:2162663

staff_r SELinux 역할의 사용자는 scap_workbench 프로브를 실행할 수 있습니다.

이전에는 selinux-policy 패키지에 scap-workbench 유틸리티를 실행하는 데 필요한 staff_r SELinux 역할의 사용자에 대한 규칙이 포함되어 있지 않았습니다. 그 결과 staff_r SELinux 역할에서 사용자가 실행할 때 scap-workbench 프로브가 실패했습니다. 이번 업데이트를 통해 selinux-policy 에 누락된 규칙이 추가되어 SELinux 사용자가 scap_workbench 프로브를 실행할 수 있습니다.

Bugzilla:2112729

Insights-client 에 대한 권한 추가 SELinux 정책

insights-client 서비스에는 이전 버전의 selinux-policy 에 없는 권한이 필요합니다. 그 결과 insights-client 의 일부 구성 요소가 올바르게 작동하지 않고 AVC(액세스 벡터 캐시) 오류 메시지가 보고되었습니다. 이번 업데이트에서는 SELinux 정책에 새 권한이 추가되었습니다. 결과적으로 Insights-client 가 AVC 오류를 보고하지 않고 올바르게 실행됩니다.

JIRA:RHELPLAN-163014[1], Bugzilla:2190178,Bugzilla:2224737, Bugzilla:2207894, Bugzilla:2214581

Keylime allowlist 생성 스크립트 업데이트

Keylime 스크립트 create_allowlist.sh 는 Keylime 정책에 대한 허용 목록을 생성합니다. RHEL 9.3에서는 allowlist를 JSON 런타임 정책으로 변환하려고 할 때 실패한 create_runtime_policy.sh 스크립트로 교체되었습니다.

이번 업데이트를 통해 스크립트는 create_allowlist.sh 로 복원되었습니다. 이제 keylime_create_policy 스크립트를 사용하여 allowlist 및 excludelist를 JSON 런타임 정책에 결합할 수 있습니다.

Jira:RHEL-11866[1]

Keylime은 더 이상 tls_dir = default에 대한 특정 파일이 필요하지 않음

이전에는 Keylime verifier 또는 등록 기관 구성에서 tls_dir 변수가 default 로 설정된 경우 Keylime은 cacert.crt 와 다른 파일 이름이 있는 CA(사용자 정의 인증 기관) 인증서를 거부했습니다. 이번 업데이트를 통해 문제가 더 이상 발생하지 않으며 tls_dir = default 설정에서도 사용자 정의 CA 인증서 파일을 사용할 수 있습니다.

Jira:RHELPLAN-157337[1]

환경 변수는 밑줄을 사용하여 Keylime 에이전트 옵션을 재정의할 수 있습니다.

이전 버전에서는 Keylime 에이전트 구성 옵션에 밑줄(_)이 포함된 경우 환경 변수를 통한 이 옵션을 재정의하지 못했습니다. 이번 업데이트를 통해 옵션 이름에 밑줄이 포함된 경우에도 환경 변수를 통한 재정의가 올바르게 작동합니다.

Jira:RHEL-395[1]

Keylime 등록 기관이 IPv6 주소를 올바르게 식별합니다.

이전에는 Keylime 등록 기관이 IPv6 주소를 올바르게 인식하지 못했기 때문에 수신 대기 포트를 바인딩하지 못했습니다. 이번 업데이트를 통해 등록 기관은 IPv6 주소를 올바르게 식별하고 결과적으로 해당 포트에 올바르게 바인딩됩니다.

Jira:RHEL-392[1]

Keylime 에이전트가 IPv6 주소를 올바르게 처리

이전 버전에서는 대괄호로 묶지 않은 IPv6 주소를 사용하여 Keylime 에이전트를 등록할 때 keylime_tenant 유틸리티가 오류로 실패했습니다. 이번 업데이트를 통해 keylime_tenant 는 대괄호로 묶지 않은 경우에도 IPv6 주소를 올바르게 처리합니다.

Jira:RHEL-393[1]

QEMU VM의 새 이벤트로 인해 Keylime이 더 이상 측정된 부팅 확인에 실패하지 않음

edk2-ovmf 패키지를 업데이트하면 QEMU에서 운영하는 가상 시스템의 측정된 부팅 로그에 새 유형의 이벤트가 도입되었습니다. 이러한 이벤트로 인해 Keylime 측정된 부팅 시 오류가 발생했습니다. 이번 업데이트를 통해 Keylime은 이러한 이벤트를 올바르게 처리합니다.

Jira:RHEL-947[1]

Keylime webhook notifier가 TLS 세션을 올바르게 닫습니다

이전에는 keylime webhook notifier가 TLS 세션을 올바르게 종료하지 않았습니다. 이로 인해 리스너 측에 경고가 보고되었습니다. 이번 업데이트에서는 이 문제가 해결되어 Webhook 알림 프로그램이 TLS 세션을 올바르게 닫습니다.

Jira:RHEL-1252[1]

이제 GPG-agent 가 FIPS 모드에서 SSH 에이전트로 작동합니다.

이전에는 FIPS 모드에서 MD5 다이제스트를 비활성화하더라도 ssh-agent 프로그램에 키를 추가할 때 gpg-agent 툴에서 MD5 지문을 생성했습니다. 그 결과 ssh-add 유틸리티에서 인증 에이전트에 키를 추가하지 못했습니다.

이번 릴리스에서는 gpg-agent 에서 더 이상 MD5 체크섬을 사용하지 않습니다. 결과적으로 gpg-agent 는 FIPS 모드에서 실행되는 시스템에서도 SSH 인증 에이전트로 작동합니다.

Bugzilla:2073567

tangd-keygen 이제 기본이 아닌 GPO를 올바르게 처리

이전에는 tangd-keygen 스크립트에서 생성된 키 파일의 파일 권한을 변경하지 않았습니다. 결과적으로 기본 사용자 파일 생성 모드 마스크(undercloud )가 있는 시스템에서 tang-show-keys 명령은 키를 표시하는 대신 Internal Error 500 오류 메시지를 반환했습니다. 이번 업데이트를 통해 tangd-keygen 은 생성된 키 파일에 대한 파일 권한을 설정하므로 이제 스크립트가 기본이 아닌 Cryostat 가 있는 시스템에서 올바르게 작동합니다.

Bugzilla:2188743

fapolicyd 서비스는 신뢰할 수 있는 데이터베이스에서 제거된 프로그램을 더 이상 실행하지 않음

이전에는 fapolicyd 서비스에서 신뢰할 수 있는 데이터베이스에서 제거된 후에도 프로그램을 신뢰할 수 있는 것으로 잘못 처리했습니다. 그 결과 fapolicyd-cli --update 명령을 입력하지 않았으며 프로그램이 제거된 후에도 실행할 수 있었습니다. 이번 업데이트를 통해 fapolicyd-cli --update 명령은 신뢰할 수 있는 프로그램 데이터베이스를 올바르게 업데이트하고 제거된 프로그램을 더 이상 실행할 수 없습니다.

Jira:RHEL-622

fapolicyd 로 인해 mountumount후 시스템이 더 이상 중단되지 않음

이전 버전에서는 mount 또는 umount 작업이 두 번 실행된 후 fapolicyd-cli --update 명령을 실행하면 fapolicyd 서비스가 무한 루프가 입력될 수 있었습니다. 그 결과 시스템이 응답을 중지했습니다. 이번 업데이트를 통해 서비스는 fapolicyd-cli --update 명령을 올바르게 실행하고 여러 마운트 또는 umount 작업을 처리합니다.

Jira:RHEL-817

Keylime에서 연결된 PEM 인증서 허용

이전에는 Keylime이 단일 파일에서 PEM 형식의 여러 인증서로 인증서 체인을 수신하면 keylime-agent-rust Keylime 구성 요소가 TLS 핸드셰이크 실패를 생성했습니다. 그 결과 클라이언트 구성 요소(keylime_verifierkeylime_tenant)가 Keylime 에이전트에 연결할 수 없었습니다. 이번 업데이트를 통해 keylime-agent-rust 는 중간 CA 인증서를 포함하여 여러 인증서를 올바르게 처리합니다. 결과적으로 Keylime과 연결된 PEM 인증서를 사용할 수 있습니다.

Jira:RHEL-396[1]

rsyslog는 기능 없이도 시작할 수 있습니다.

Rsyslog가 일반 사용자 또는 컨테이너화된 환경에서 실행되는 경우 rsyslog 프로세스에는 기능이 없습니다. 결과적으로 이 시나리오의 Rsyslog는 기능을 드롭하고 시작 시 종료할 수 없었습니다. 이번 업데이트를 통해 기능이 없는 경우 프로세스는 더 이상 기능을 삭제하려고 시도하지 않습니다. 결과적으로 Rsyslog는 기능이 없는 경우에도 시작할 수 있습니다.

Jira:RHELPLAN-160541[1]

io_uring 이제 SELinux 거부 없이 작동합니다.

이전에는 io_uring 커널 인터페이스에 SELinux 정책의 권한이 누락되었습니다. 결과적으로 mmap 시스템 호출이 실패하고 io_uring 인터페이스가 제대로 작동하지 않았습니다. 이번 업데이트를 통해 SELinux 정책에서 권한이 허용되었으며 이제 인터페이스가 SELinux 거부 없이 작동합니다.

Bugzilla:2187745

oscap-anaconda-addon 은 CIS용 네트워크 서버를 강화할 수 있음

이전 버전에서는 CIS 보안 프로필 (cis _server_l1,cis_workstation_l1 또는 cis_workstation_l2)을 사용하여 RHEL 네트워크 서버를 설치할 수 없었습니다. 이 문제는 RHEL 9.3에서 제공되는 oscap-anaconda-addon-2.0.0-17.el9 에서 tftp 패키지를 제외하여 해결되었습니다. 결과적으로 Network Servers 패키지 그룹을 사용하여 CIS가 강화된 RHEL 네트워크 서버를 설치할 수 있습니다.

Bugzilla:2172264

규칙 확인 홈 디렉터리는 로컬 사용자에게만 적용됩니다.

scap-security-guide 패키지에서 제공하는 여러 규정 준수 프로필에는 사용자 홈 디렉터리의 올바른 구성을 확인하는 다음 규칙이 포함되어 있습니다.

  • accounts_umask_interactive_users
  • accounts_user_dot_group_ownership
  • accounts_user_dot_user_ownership
  • accounts_user_interactive_home_directory_exists
  • accounts_users_home_files_groupownership
  • accounts_users_home_files_ownership
  • accounts_users_home_files_permissions
  • file_groupownership_home_directories
  • file_ownership_home_directories
  • file_permissions_home_directories

이러한 규칙은 로컬 사용자의 구성을 올바르게 확인합니다. 이전에는 수정 스크립트가 원격 사용자의 구성을 변경할 수 없는 경우에도 스캐너에서 NSS와 같은 네트워크 소스에서 제공하는 원격 사용자의 구성을 잘못 확인했습니다. 이는 OpenSCAP 스캐너에서 이전에 getpwent() 시스템 호출을 사용했기 때문입니다. 이번 업데이트에서는 /etc/passwd 파일의 데이터에만 의존하도록 이러한 규칙의 내부 구현을 변경합니다. 결과적으로 규칙은 이제 로컬 사용자의 구성에만 적용됩니다.

Bugzilla:2203791

암호 기간 규칙은 로컬 사용자에게만 적용됩니다.

일부 규정 준수 프로필(예: CIS 및 DISA STIG)에는 다음 규칙 확인 암호 사용 기간 및 사용자 계정 암호 만료가 포함됩니다.

  • accounts_password_set_max_life_existing
  • accounts_password_set_min_life_existing
  • accounts_password_set_warn_age_existing
  • accounts_set_post_pw_existing

이러한 규칙은 로컬 사용자의 구성을 올바르게 확인합니다. 이전에는 수정 스크립트가 원격 사용자의 구성을 변경할 수 없는 경우에도 스캐너에서 NSS와 같은 네트워크 소스에서 제공하는 원격 사용자의 구성을 잘못 확인했습니다. 이는 OpenSCAP 스캐너에서 이전에 getpwent() 시스템 호출을 사용했기 때문입니다.

이번 업데이트에서는 /etc/shadow 파일의 데이터만 사용하도록 이러한 규칙의 내부 구현을 변경합니다. 결과적으로 규칙은 이제 로컬 사용자의 구성에만 적용됩니다.

Bugzilla:2213958

Red Hat CVE 피드 업데이트

https://access.redhat.com/security/data/oval/의 Red Hat Common Vulnerabilities and Exposures (CVE) 피드 버전 1은 중단되었으며 https://access.redhat.com/security/data/oval/v2/ 에 있는 CVE 피드 버전 2로 교체되었습니다.

결과적으로 scap-security-guide 패키지에서 제공하는 SCAP 소스 데이터 스트림의 링크가 새 버전의 Red Hat CVE 피드에 연결되도록 업데이트되었습니다.

Bugzilla:2223178

journald 구성과 관련된 규칙은 더 이상 따옴표를 추가하지 않음

이전에는 SCAP 보안 가이드 규칙 journald_compress,journald_forward_to_syslogjournald_storage 에 이전에 수정 스크립트에 버그가 포함되어 있었습니다. 이로 인해 /etc/systemd/journald.conf 구성 파일의 구성 옵션에 추가 따옴표가 추가되었습니다. 결과적으로 journald 시스템 서비스가 구성 옵션을 구문 분석하지 못하고 무시했습니다. 따라서 구성 옵션이 적용되지 않았습니다. 이로 인해 false pass 결과가 OpenSCAP 스캔이 발생했습니다. 이번 업데이트를 통해 규칙 및 수정 스크립트가 더 이상 추가 따옴표를 추가하지 않습니다. 결과적으로 이러한 규칙은 journald 에 유효한 구성을 생성합니다.

Bugzilla:2193169

/var/lib/fdo 아래의 파일은 이제 올바른 SElinux 레이블을 얻을 수 있습니다.

이전에는 FDO 프로세스에서 전체 호스트에 액세스할 수 있는 보안 문제가 있었습니다. 이번 업데이트를 통해 SElinux와 함께 service-info-api 서버를 사용하여 /var/lib/fdo 디렉터리의 장치에 보낼 파일을 추가할 수 있으며 결과적으로 /var/lib/fdo 의 파일이 올바른 SElinux 레이블을 가져옵니다.

Bugzilla:2229722

8.3. 서브스크립션 관리

subscription-manager 가 더 이상 터미널에서 중요하지 않은 텍스트를 유지하지 않음

RHEL 9.1부터 subscription-manager 는 모든 작업을 처리하는 동안 진행 정보를 표시합니다. 이전 버전에서는 일부 언어(일반적으로 라틴어 이외의 언어)의 경우 작업이 완료된 후 진행률 메시지가 정리되지 않았습니다. 이번 업데이트를 통해 작업이 완료되면 모든 메시지가 올바르게 정리됩니다.

이전에 진행 중인 메시지를 비활성화한 경우 다음 명령을 입력하여 다시 활성화할 수 있습니다.

# subscription-manager config --rhsm.progress_messages=1

Bugzilla:2136694[1]

8.4. 소프트웨어 관리

dnf needs-restarting -s 명령으로 systemd 서비스 목록을 올바르게 표시

이전 버전에서는 -s 또는 --services 옵션과 함께 needs-restarting 명령을 사용할 때 비systemd 또는 오작동 프로세스가 감지되면 오류가 발생했습니다. 이번 업데이트를 통해 dnf needs-restarting -s 명령은 이러한 프로세스를 무시하고 영향을 받는 systemd 서비스 목록과 함께 경고를 표시합니다.

Bugzilla:2203100

dnf-automatic 명령이 트랜잭션의 종료 상태를 올바르게 보고합니다.

이전에는 이 트랜잭션 중 일부 작업이 성공적으로 완료되지 않은 경우에도 dnf-automatic 명령에서 트랜잭션의 성공적인 종료 코드를 반환했습니다. 이로 인해 에라타 자동 배포를 위해 dnf-automatic 을 사용하는 시스템에서 보안 위험이 발생할 수 있습니다. 이번 업데이트를 통해 문제가 해결되었으며 dnf-automatic 이 이제 트랜잭션 중에 패키지의 모든 문제를 보고합니다.

Bugzilla:2212262

확장된 파일 속성이 없는 파일 시스템에 IMA 서명을 사용하여 패키지를 설치하는 데 더 이상 실패하지 않음

이전에는 RPM에서 이러한 서명을 지원하지 않은 경우에도 파일에 IMA 서명을 적용하려고 했습니다. 이로 인해 패키지 설치에 실패했습니다. 이번 업데이트를 통해 RPM은 IMA 서명 적용을 건너뜁니다. 결과적으로 패키지 설치에 더 이상 실패하지 않습니다.

Bugzilla:2157836

8.5. 쉘 및 명령행 툴

복구 시스템을 부팅할 때 rsyslog 로깅 서비스가 시작됩니다.

이전에는 메시지 로깅을 위한 rsyslog 서비스가 복구 시스템에서 자동으로 시작되지 않았습니다. /dev/log 소켓은 이 소켓에서 수신 대기 중인 서비스가 없는 복구 프로세스 중에 메시지를 수신했습니다. 그 결과 /dev/log 소켓이 메시지로 채워지고 복구 프로세스가 중단되었습니다. 예를 들어 GRUB 구성을 다시 생성하는 grub2-mkconfig 명령은 마운트된 파일 시스템 수에 따라 많은 로그 메시지를 생성합니다. ReaR을 사용하여 마운트된 여러 파일 시스템이 있는 시스템을 복구하면 수많은 로그 메시지가 /dev/log 소켓을 채우고 복구 프로세스 froze가 채워집니다.

이번 수정으로 복구 시스템의 systemd 장치에는 이제 부팅 시 로깅 소켓을 시작하기 위한 부팅 절차에 소켓 대상이 포함됩니다. 결과적으로 필요한 경우 rsyslog 서비스가 복구 환경에서 시작되고 복구 중에 메시지를 기록해야 하는 프로세스는 더 이상 중단되지 않습니다. 복구 프로세스가 성공적으로 완료되고 rescue RAM 디스크의 /var/log/messages 파일에서 로그 메시지를 찾을 수 있습니다.

Bugzilla:2172912

긴 경로에서 더 이상 실패하지 않는 명령

이전 버전에서는 경로가 256자 이상인 디렉토리에서 which 명령을 실행할 때 현재 작업 디렉터리 오류 메시지와 함께 명령이 실패했습니다. 이번 수정으로 이제 어떤 명령에서 경로 길이 제한에 PATH_MAX 값을 사용합니다. 결과적으로 명령이 더 이상 실패하지 않습니다.

Bugzilla:2181974

Rear는 이제 OUTPUT=USB를 사용한 UEFI Secure Boot 지원

이전 버전에서는 복구 이미지를 부팅 가능한 디스크 드라이브에 저장하는 OUTPUT=USB ReaR 출력 방법이 0.0.0.0URE _BOOT_BOOTLOADER 설정을 고려하지 않았습니다. 결과적으로 UEFI Secure Boot가 활성화된 시스템에서 부트 로더가 서명되지 않았기 때문에 복구 이미지가 있는 디스크는 부팅되지 않았습니다.

이번 수정으로 OUTPUT=USB ReaR 출력 방법은 복구 디스크를 생성할 때 XCCDFURE _BOOT_BOOTLOADER 설정에 지정하는 부트 로더를 사용합니다. 서명된 UEFI shim 부트 로더를 사용하려면 /etc/rear/local.conf 파일에서 다음 설정을 변경합니다.

SECURE_BOOT_BOOTLOADER=/boot/efi/EFI/redhat/shimx64.efi

결과적으로 UEFI Secure Boot가 활성화되면 복구 디스크를 부팅할 수 있습니다. Secure Boot가 활성화되지 않은 경우에도 UEFI를 사용하는 모든 시스템에서 변수를 이 값으로 설정하는 것이 안전합니다. 이는 일관성을 위해 권장됩니다. UEFI 부팅 절차 및 shim 부트 로더에 대한 자세한 내용은 UEFI: 시스템을 부팅할 때 발생하는 내용을 참조하십시오.

Bugzilla:2196445

ReaR에서 복구한 시스템이 더 이상 모든 VG 논리 볼륨을 마운트하지 않음

/etc/lvm/devices/system.devices 파일은 LVM(Logical Volume Manager) 시스템 장치를 나타내며 LVM에 대한 장치 가시성 및 사용성을 제어합니다. 기본적으로 system.devices 기능은 RHEL 9에서 활성화되며 활성화된 경우 LVM 장치 필터를 대체합니다.

이전 버전에서는 ReaR을 사용하여 원래 시스템이 사용된 하드웨어 ID가 있는 디스크로 시스템을 복구할 때 복구된 시스템에서 모든 LVM 볼륨을 찾지 못하고 부팅하지 못했습니다. 이번 수정을 통해 ReaR이 system.devices 파일을 찾으면 ReaR은 복구가 끝날 때 이 파일을 /etc/lvm/devices/system.devices.rearbak 로 이동합니다. 결과적으로 복구된 시스템은 LVM 장치 파일을 사용하여 장치 가시성을 제한하지 않으며 시스템은 부팅 시 복원된 볼륨을 찾습니다.

선택 사항: 기본 동작을 복원하고 LVM 장치 파일을 다시 생성하려면 복구된 시스템을 부팅하고 복구 프로세스 전에 디스크를 연결 해제하는 경우 복구된 시스템을 부팅한 후 일반 작업에 필요한 모든 디스크 장치를 연결합니다.

Bugzilla:2145014

8.6. 네트워킹

Intel Corporation I350 기가비트 파이버 네트워크 연결에서 커널 업데이트 후 링크 제공

이전 버전에서는 External Thermal Sensor (ETS) 없이 Small Formfactor Pluggable (SFP)이 있는 하드웨어 구성으로 인해 igb 드라이버가 실수로 I2C(Integrated Circuit)를 잘못 초기화했습니다. 이로 인해 연결이 연결되지 않았습니다. 이 버그 수정을 통해 igb 드라이버는 Cryostat와 SFP를 사용할 수 있는 경우에만 I2C를 초기화합니다. 결과적으로 연결은 링크를 가져옵니다.

Bugzilla:2173594[1]

nm-cloud-setup 서비스는 더 이상 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거하지 않음

클라우드 환경에서 수신된 정보를 기반으로 nm-cloud-setup 서비스가 네트워크 인터페이스를 구성했습니다. 수동 인터페이스 구성에 nm-cloud-setup 을 비활성화하는 옵션이 있었지만 특정 시나리오가 충돌했습니다. 경우에 따라 호스트의 다른 서비스는 보조 IP 주소 추가를 포함하여 인터페이스를 독립적으로 구성합니다. nm-cloud-setupsystemd 타이머 장치에 의해 다시 트리거되면 이러한 보조 IP 주소를 잘못 제거했습니다. NetworkManager 패키지에 대한 이번 업데이트에서는 문제를 해결합니다. systemd 타이머 장치가 nm-cloud-setup 을 트리거할 때까지만 기다려야 합니다. 타이머를 기다리지 않으려면 다음 명령을 사용하여 nm-cloud-setup 을 수동으로 활성화할 수 있습니다.

# systemctl enable nm-cloud-setup.service

결과적으로 nm-cloud-setup 은 더 이상 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거하지 않습니다.

Bugzilla:2151040

8.7. 커널

VMD가 활성화된 경우 RHEL에서 NVMe 디스크를 인식하지 못했습니다

드라이버를 재설정하거나 다시 연결할 때 이전에 VMI(볼륨 관리 장치) 도메인이 소프트 재설정되지 않았습니다. 결과적으로 하드웨어가 장치를 올바르게 감지하고 열거할 수 없었습니다. 이번 업데이트를 통해 VMD가 활성화된 운영 체제는 서버를 재설정하거나 VM 머신으로 작업할 때 NVMe 디스크를 올바르게 인식합니다.

Bugzilla:2128610[1]

8.8. 부트 로더

GRUB이 디버그되지 않은 커널 변형을 올바르게 처리

이전 버전에서는 여러 커널 RPM이 설치된 시스템에서 dnf install kernel-$VERSION 또는 dnf update 명령을 입력하면 마지막으로 설치된 커널이 기본 커널로 설정되었습니다. 예를 들어 AMD 및 Intel 64비트 아키텍처의 표준 커널 및 실시간 커널이 있는 시스템 또는 64비트 ARM 아키텍처의 커널 (4k) 및 kernel-64k 가 있는 시스템에서 이 문제가 발생했습니다. 결과적으로 시스템은 나중에 재부팅 시 불필요한 커널로 부팅될 수 있었습니다. 이번 업데이트를 통해 GRUB은 /etc/sysconfig/kernel 구성 파일의 DEFAULTKERNEL 변수를 사용하고 기본 커널은 적절한 변형 및 최신 버전으로 유지됩니다.

자세한 내용은 Red Hat Enterprise Linux 8 및 9 솔루션의 기본 커널 변경을 참조하십시오.

Bugzilla:2184069[1]

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

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[1]

multipathd 는 모든 경로에 영구 예약 등록 키를 추가합니다.

이전 버전에서는 multipathd 데몬이 시작되고 기존 다중 경로 장치의 한 경로에서 영구 예약에 대한 등록 키를 인식하면 해당 장치의 모든 경로에 등록 키가 없었습니다. 이로 인해 multipathd 가 중지된 동안 영구 예약이 있는 다중 경로 장치에 새 경로가 표시되면 영구 예약이 설정되지 않았습니다. 이를 통해 예약 키로 금지된 경로의 IO 처리가 허용되었습니다.

이번 수정으로 multipathd 가 장치 경로에서 영구 예약 등록 키를 찾으면 모든 활성 경로에 키가 추가됩니다. 결과적으로 다중 경로 장치가 다중 경로가 실행되는 동안 경로 장치가 먼저 표시되는 경우에도 모든 경로에 다중 경로 장치가 올바르게 설정되어 있습니다.

Bugzilla:2164869

이제 운영 체제 설치 중에 LUN이 표시됨

이전에는 시스템에서 펌웨어 소스의 인증 정보를 사용하지 않았습니다. 특히 iSCSI iBFT(Boot Firmware Table)에 저장된 CHAP(Challenge-Handshake Authentication Protocol) 인증과 관련된 경우입니다. 결과적으로 설치 중에 iSCSI 로그인에 실패했습니다.

udisks2-2.9.4-9.el9 펌웨어 인증의 수정으로 이 문제가 해결되어 설치 및 초기 부팅 중에 LUN이 표시됩니다.

Bugzilla:2213769[1]

/etc/fstab에서 NVMe-FC 장치를 마운트 지점으로 추가할 때 시스템이 올바르게 부팅됨

이전 버전에서는 nvme-cli nvmf-autoconnect systemd 서비스의 알려진 문제로 인해 /etc/fstab 파일의 마운트 지점으로 NVMe-FC(Non-volatile Memory Express over Fibre Channel) 장치를 추가하는 동안 시스템을 부팅하지 못했습니다. 그 결과 시스템이 긴급 모드로 전환되었습니다. 이번 업데이트를 통해 NVMe-FC 장치를 마운트할 때 시스템이 문제없이 부팅됩니다.

Jira:RHEL-8171[1]

8.10. 고가용성 및 클러스터

pcs configpoint diff 명령이 모든 구성 섹션에 대해 올바르게 작동합니다.

RHEL 9.0 릴리스부터 pcs config checkpoint diff 명령은 펜싱 수준, 주문 제한, 코로케이션 제약 조건, 티켓 제약 조건, 리소스 기본값 및 운영 기본값이라는 구성 섹션에 대한 차이점을 보여주는 것을 중지했습니다. RHEL 9.1 릴리스부터 pcs config checkpoint diff 명령은 리소스 및 Stonith 장치 구성 섹션의 차이점을 표시했습니다. 이는 다양한 구성 섹션을 표시하는 코드가 CIB 파일을 로드하기 위한 새로운 메커니즘으로 전환되었으므로 로드된 콘텐츠가 캐시되었기 때문입니다. 차이점 비교에 사용된 두 번째 파일이 로드되지 않았으며 첫 번째 파일의 캐시된 콘텐츠가 대신 사용되었습니다. 그 결과 diff 명령은 출력이 없었습니다. 이번 수정으로 CIB 파일 콘텐츠가 더 이상 캐시되지 않으며 pcs config checkpoint diff 명령에 모든 구성 섹션의 차이점이 표시됩니다.

Bugzilla:2175881

차단 수준이 구성된 경우 pcsd Web UI가 클러스터 상태를 표시함

이전에는 차단 수준을 구성할 때 pcsd Web UI에서 클러스터 상태를 표시하지 않았습니다. 이번 수정을 통해 이제 차단 수준이 구성된 경우 클러스터 상태를 보고 웹 UI로 클러스터 설정을 변경할 수 있습니다.

Bugzilla:2182810

두 번째 펜싱 장치로 구성된 펜스 워치독은 첫 번째 장치가 시간 초과될 때 노드를 펜싱합니다.

이전 버전에서는 워치독 펜싱 장치가 펜싱 토폴로지에서 두 번째 장치로 구성된 경우 펜싱 작업에 대한 타임아웃을 계산할 때 워치독 시간 초과를 고려하지 않았습니다. 결과적으로 첫 번째 장치가 펜싱 작업을 시간 초과하면 워치독에서 노드를 펜싱하더라도 시간이 초과되었습니다. 이번 수정을 통해 펜싱 작업 시간 초과에 워치독 타임아웃이 포함되어 첫 번째 장치가 시간 초과되면 펜싱 작업이 성공적으로 수행됩니다.

Bugzilla:2182482

목록이 노드로 그룹화될 때 규칙이 포함된 위치 제약 조건이 더 이상 표시되지 않음

규칙이 있는 위치 제한 조건은 노드가 할당될 수 없습니다. 이전에는 노드별로 목록을 그룹화하면 규칙을 사용하여 위치 제약 조건이 빈 노드에 표시되었습니다. 이번 수정을 통해 규칙이 포함된 위치 제약 조건이 더 이상 표시되지 않으며 규칙이 포함된 제약 조건이 표시되지 않음을 나타내는 경고가 제공됩니다.

Bugzilla:1423473

다중 경로 SCSI 장치를 업데이트하는 pcs 명령이 올바르게 작동합니다.

Pacemaker CIB 파일의 변경으로 인해 pcs stonith update-scsi-devices 명령이 설계된 대로 작동을 중지하여 일부 클러스터 리소스를 원하지 않는 다시 시작합니다. 이번 수정에서는 이 명령이 올바르게 작동하고 동일한 노드에서 실행되는 다른 클러스터 리소스를 다시 시작할 필요 없이 SCSI 장치를 업데이트합니다.

Bugzilla:2177996

pscd Web UI가 열려 있을 때 pcsd-ruby 데몬의 메모리 공간 감소

이전에는 pcsd Web UI가 열려 있을 때 pcsd-ruby 데몬의 메모리 사용량이 몇 시간 동안 지속적으로 증가했습니다. 이번 수정으로 pcsd-ruby 데몬에서 실행되는 웹 서버는 이제 정상 재시작을 주기적으로 수행합니다. 이렇게 하면 할당된 메모리가 확보되고 메모리 공간이 줄어듭니다.

Bugzilla:1860626[1]

azure-events-az 리소스 에이전트에서 더 이상 Pacemaker 2.1 이상에서 오류가 발생하지 않음

azure-events-az 리소스 에이전트는 crm_simulate -Ls 명령을 실행하고 출력을 구문 분석합니다. Pacemaker 2.1 이상에서는 crm_simulate 명령의 출력에 더 이상 텍스트 Transition Summary( Transition Summary: )가 포함되어 있지 않으므로 오류가 발생했습니다. 이번 수정으로 이 텍스트가 누락되면 에이전트가 더 이상 오류를 생성하지 않습니다.

Bugzilla:2182415

이제 mysql 리소스 에이전트가 승격 가능한 복제 리소스와 함께 올바르게 작동합니다.

이전에는 mysql 리소스 에이전트가 승격된 값과 승격되지 않은 값 간에 변경되어 노드 간에 승격된 역할에서 작동하던 복제된 리소스를 이동했습니다. 이번 수정을 통해 Promoted 역할의 노드는 Promoted 역할에 남아 있습니다.

Bugzilla:2179003[1]

fence_scsi 에이전트는 공유 lvmlockd 장치를 자동으로 감지할 수 있습니다.

이전에는 fence_scsi 에이전트가 공유 lvmlockd 장치를 자동 감지하지 않았습니다. 이번 업데이트를 통해 devices 속성이 설정되지 않은 경우 fence_scsilvmlockd 장치를 자동으로 감지할 수 있습니다.

Bugzilla:2187327

8.11. 컴파일러 및 개발 도구

glibc system() 함수는 이제 이전 신호 마스크를 무조건 복원합니다.

이전 버전에서는 glibc system() 함수가 여러 스레드에서 동시에 호출된 경우 SIGCHLD 신호의 신호 마스크가 올바르게 복원되지 않을 수 있었습니다. 그 결과 일부 스레드에서 glibc system() 함수에서 반환한 후 SIGCHLD 신호가 차단되었습니다.

이번 업데이트를 통해 glibc system() 함수는 이제 병렬 system() 함수 호출이 실행되는 경우에도 이전 신호 마스크를 무조건 복원합니다. 결과적으로 glibc system() 함수가 여러 스레드에서 동시에 호출되면 SIGCHLD 신호가 더 이상 잘못 차단되지 않습니다.

Bugzilla:2177235

eu-addr2line -C 가 다른 인수를 올바르게 인식

이전에는 elfutilseu-addr2line 명령에서 -C 인수를 사용할 때 다음 단일 문자 인수가 사라졌습니다. 결과적으로 eu-addr2line -Ci 명령은 eu-addr2line -C 와 동일한 방식으로 작동하지만 eu-addr2line -iC 는 예상대로 작동했습니다. 이 버그는 수정되었으며 eu-addr2line -Ci 는 이제 두 인수를 모두 인식합니다.

Bugzilla:2182059

eu-addr2line -i now GCC link-time optimization으로 컴파일된 코드를 올바르게 처리

이전에는 elfutils 에 포함된 libdw 라이브러리의 dwarf_getscopes 함수에서 GCC 링크 타임 최적화로 컴파일된 함수의 추상적인 원본 정의를 찾을 수 없었습니다. 결과적으로 eu-addr2line 명령에서 -i 인수를 사용하면 eu-addr2line 에서 gcc -flto 로 컴파일된 코드에 대한 인라인 함수를 표시할 수 없었습니다. 이번 업데이트를 통해 libdw dwarf_getscopes 함수는 인라인 범위의 올바른 컴파일 단위를 찾고 eu-addr2line -i 가 예상대로 작동합니다.

Bugzilla:2236182

종료 시 papi 를 사용하는 프로그램이 더 이상 중지되지 않음

이전에는 papi 가 일부 구성 요소를 초기화하기 전에 papi 에서 스레드를 초기화했습니다. 이로 인해 배열의 요소 수를 설명하는 특정 구성 요소에 대한 항목이 올바른 값으로 설정되지 않았으며 0 크기의 메모리 할당이 시도되었습니다. 결과적으로 나중에 이러한 제로 크기 메모리 할당에 액세스하고 해제하면 프로그램이 중지되었습니다.

버그가 수정되었으며, 종료 시 papi 를 사용하는 프로그램이 더 이상 중지되지 않습니다.

Bugzilla:2215582

OpenJDK XML 서명 공급자가 FIPS 모드에서 작동합니다.

이전에는 OpenJDK XML 서명 공급자가 FIPS 모드에서 작동할 수 없었습니다. FIPS 모드의 개선으로 OpenJDK XML 서명 공급자가 FIPS 모드에서 활성화됩니다.

Bugzilla:2186647

8.12. IdM (Identity Management)

일반 사용자의 페이지 검색이 성능에 영향을 미치지 않음

이전 버전에서는 Directory Server가 검색 로드에 있을 때 일반 사용자의 호출이 네트워크 이벤트를 폴링하는 스레드와 충돌하기 때문에 서버 성능에 영향을 미칠 수 있었습니다. 또한 페이지 검색을 보내는 동안 네트워크 문제가 발생하면 nsslapd-iotimeout 매개변수가 만료될 때까지 전체 서버가 응답하지 않았습니다. 이번 업데이트를 통해 네트워크 이벤트와의 경합을 방지하기 위해 잠금이 여러 부분으로 분할되었습니다. 결과적으로 일반 사용자로부터 페이징된 검색 중에 성능에 영향을 미치지 않습니다.

Bugzilla:1974242

Directory Server에서 스키마 복제가 올바르게 작동함

이전 버전에서는 Directory Server가 새 서버에 스키마를 복제할 때 원격 복제본의 99user.ldif 파일에 모든 스키마를 추가했습니다. X-ORIGIN 키워드가 모든 정의에 대해 정의된 사용자로 설정되었기 때문에 모든 사용자 지정 스키마가 포함된 것처럼 보였습니다. 결과적으로 웹 콘솔과 스키마를 모니터링하고 X-ORIGIN 키워드에 특정 값이 있을 것으로 예상되는 고객에게 문제가 발생할 수 있었습니다. 이번 업데이트를 통해 스키마 복제가 예상대로 작동합니다.

Bugzilla:1759941

Directory Server에서 참조 모드가 올바르게 작동하고 있음

이전에는 CLI에서 nsslapd-referral 구성 특성을 매핑 트리에 설정하지 않고 백엔드에 설정했습니다. 그 결과 추천 모드가 작동하지 않았습니다. 이번 업데이트를 통해 nsslapd-referral 속성이 올바르게 설정되고 추천 모드가 예상대로 작동합니다.

Bugzilla:2053204

LMDB 가져오기가 더 빠르게 작동합니다.

이전 버전에서는 진입점 인덱스를 빌드하기 위해 LMDB 가져오기 작업자 스레드는 다른 작업자 스레드가 상위 항목이 처리되었는지 확인하기 위해 대기했습니다. 이렇게 생성된 잠금 경합으로 인해 가져오기 속도가 크게 느려졌습니다. 이번 업데이트를 통해 LDIF 가져오기를 LMDB 데이터베이스를 통해 다시 만들고 공급자 스레드가 항목 RDN 및 해당 부모에 대한 데이터를 작업자 스레드가 항목을 빌드하는 데 사용하는 임시 데이터베이스에 저장합니다. 결과적으로 작업자 스레드 동기화가 더 이상 필요하지 않으며 평균 가져오기 속도가 향상됩니다.

LMDB는 동시 쓰기 트랜잭션을 지원하지 않기 때문에 LMDB 가져오기에는 BDB 가져오기보다 가져오기 속도가 3배 느립니다.

Bugzilla:2116948

재부팅 후 dirsrv 서비스가 올바르게 시작됨

이전에는 dirsrv 서비스가 systemd-tmpfiles-setup.service 가 완료될 때까지 명시적으로 기다리지 않았기 때문에 재부팅 후 dirsrv 서비스가 시작되지 않았습니다. 이로 인해 경쟁 조건이 발생했습니다. 이번 업데이트를 통해 dirsrv 서비스는 systemd-tmpfiles-setup.service 가 완료될 때까지 대기하고 재부팅 후 더 이상 시작되지 않습니다.

Bugzilla:2179278

보안 매개변수 변경 사항이 올바르게 작동합니다.

이전 버전에서는 dsconf instance_name security set 명령을 사용하여 보안 매개변수를 변경하면 오류로 인해 작업이 실패했습니다.

Name 'log' is not defined

이번 업데이트를 통해 보안 매개변수 변경 사항이 예상대로 작동합니다.

Bugzilla:2189717

GPO 기반 액세스 제어를 평가할 때 SSSD에서 sAMAccountName 사용

이전 버전에서는 ldap_user_name 이 AD 클라이언트에서 sAMAccountName 이외의 값으로 설정된 경우 GPO 기반 액세스 제어에 실패했습니다. 이번 업데이트를 통해 SSSD는 GPO 기반 액세스 제어를 평가할 때 sAMAccountName 을 항상 사용합니다. ldap_user_name 이 AD 클라이언트의 sAMAccountName 과 다른 값으로 설정되어 있어도 GPO 기반 액세스 제어가 올바르게 작동합니다.

Jira:SSSD-6107

SSSD에서 사용자를 검색할 때 user_attributes 옵션에서 중복 특성 처리

이전에는 sssd.confuser_attributes 옵션에 중복 속성이 포함된 경우 SSSD에서 이러한 중복을 올바르게 처리하지 않았습니다. 결과적으로 해당 속성을 가진 사용자를 검색할 수 없었습니다. 이번 업데이트를 통해 SSSD에서 중복을 올바르게 처리합니다. 결과적으로 중복 특성이 있는 사용자를 검색할 수 있습니다.

Jira:SSSD-6177

동적 Kerberos PAC 티켓 서명 적용 메커니즘에서 IdM의 버전 간 비호환성 수정

이전 버전에서는 IdM(Identity Management) 배포에서 RHEL 9 및 RHEL 8 모두에서 실행되는 서버를 제공하는 경우 PAC(Privilege Attribute Certificate) 티켓 서명 지원의 업스트림 구현으로 인한 비호환성이 특정 작업이 실패했습니다. 이번 업데이트를 통해 RHEL 9의 동적 티켓 서명 적용 메커니즘 기능을 구현하면 이러한 상호 버전 비호환성이 수정되었습니다. 이 기능을 실제로 적용하려면 다음을 수행해야 합니다.

  1. 도메인의 모든 서버를 업데이트합니다.
  2. 모든 IdM Kerberos Distribution Center(KDC) 서비스를 다시 시작합니다.

이 두 가지 동작의 순서가 중요합니다. 시작 시 KDCs는 도메인에 있는 다른 모든 서버의 메타데이터를 쿼리하여 모두 PAC 티켓 서명을 지원하는지 확인합니다. 그렇지 않은 경우 서명이 적용되지 않습니다.

제한된 위임 요청 예제를 포함하여 동적 Kerberos PAC 티켓 서명 적용 메커니즘에 대한 자세한 내용은 이 지식 베이스 문서를 참조하십시오.

Jira:RHELDOCS-17011[1], Bugzilla:2182683, Bugzilla:2178298

이제 FIPS 모드에서 SHA-1 서명 확인이 허용될 수 있습니다.

이전에는 IdM(Identity Management)이 FIPS 모드인 경우 SHA-1 서명 확인을 사용할 수 없었습니다. IdM은 SHA-1 서명을 허용하지 않는 FIPS-140-3 표준을 사용하기 때문입니다. 이 경우 AD(Active Directory) 상호 운용성에 문제가 발생했습니다. AD는 이전 FIPS-140-2 표준만 준수하므로 SHA-1 서명이 필요하기 때문입니다.

이번 업데이트에서는 PKINIT 서명 확인에 대한 FIPS 예외가 도입되었습니다. IdM에서 FIPS 모드가 활성화되면 해당 제한 사항이 무시됩니다. 기본 모드 제한만 적용되어 FIPS 모드에서도 SHA1 암호화 모듈을 사용할 수 있습니다. 결과적으로 FIPS 모드의 AD 상호 운용성이 의도한 대로 작동합니다.

IdM/AD 신뢰 시나리오 또는 RHEL 9.2 이상 호스트를 AD 클라이언트로 사용하는 경우 FIPS 모드에서 PKINIT를 지원하도록 암호화 정책을 FIPS:AD-SUPPORT:SHA1로 설정해야 합니다.

Bugzilla:2155607

IdM 관리자 삭제는 더 이상 허용되지 않음

이전에는 admins 그룹의 멤버인 경우 IdM(Identity Management) 관리자 사용자를 삭제할 수 없었습니다. admin 사용자가 없으면 IdM과 AD(Active Directory) 간의 신뢰가 올바르게 작동하지 않습니다. 이번 업데이트를 통해 더 이상 admin 사용자를 삭제할 수 없습니다. 결과적으로 IdM-AD 신뢰가 올바르게 작동합니다.

Bugzilla:2229712

ipa-kdb 가 더 이상 krb5kdc 가 실패하지 않음

이전에는 ipa-kdb 드라이버에서 서버 호스트 오브젝트와 연결 실패의 부재를 구분하지 않았습니다. 그 결과 LDAP 서버의 연결 문제로 생성된 NULL LDAP 컨텍스트로 인해 krb5kdc 서버가 예기치 않게 중지되는 경우가 있었습니다.

이번 업데이트를 통해 ipa-kdb 드라이버는 연결 오류를 올바르게 식별하고 서버 호스트 오브젝트가 없는 것과 구별됩니다. 결과적으로 krb5kdc 서버가 더 이상 실패하지 않습니다.

Bugzilla:2227831

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. 웹 콘솔

웹 콘솔 NBDE 바인딩 단계가 루트 파일 시스템이 있는 볼륨 그룹에서도 작동합니다.

RHEL 9.2에서는 사용자가 root 파일 시스템에 Tang 키를 추가했는지 여부를 확인하기 위한 코드의 버그로 인해 LUKS 컨테이너에 파일 시스템이 전혀 충돌할 때 웹 콘솔의 바인딩 프로세스가 충돌했습니다. 웹 콘솔에 Verify 키 대화 상자에서 신뢰 키 버튼을 클릭하면 TypeError: Qe(…​) 오류 메시지가 표시되지 않기 때문에 설명된 시나리오에서 명령줄 인터페이스에서 필요한 모든 단계를 수행해야 했습니다.

이번 업데이트를 통해 웹 콘솔은 root 파일 시스템에 Tang 키 추가를 올바르게 처리합니다. 결과적으로 웹 콘솔은 다양한 시나리오에서 NBDE(Network-Bound Disk Encryption)를 사용하여 LUKS 암호화 볼륨의 자동 잠금 해제에 필요한 모든 바인딩 단계를 완료합니다.

Bugzilla:2203361

이제 VNC 콘솔이 대부분의 해상도에서 작동합니다.

이전에는 특정 디스플레이 해상도에서 VNC(Virtual Network Computing) 콘솔을 사용할 때 마우스 오프셋 문제가 있거나 인터페이스의 일부만 표시되었습니다. 결과적으로 VNC 콘솔을 사용할 수 없었습니다.

이번 업데이트를 통해 문제가 해결되었으며 VNC 콘솔은 3840x2160과 같은 울트라 높은 해상도를 제외하고 대부분의 해결 방법으로 올바르게 작동합니다.

커서의 기록된 위치와 표시된 위치 간의 작은 오프셋이 계속 존재할 수 있습니다. 그러나 이는 VNC 콘솔의 유용성에 크게 영향을 미치지 않습니다.

Bugzilla:2030836

8.14. Red Hat Enterprise Linux 시스템 역할

스토리지 역할을 마운트 해제하지 않고 마운트된 파일 시스템의 크기를 조정할 수 있음

이전에는 파일 시스템이 온라인 크기 조정을 지원하더라도 스토리지 역할이 마운트된 장치의 크기를 조정할 수 없었습니다. 결과적으로 스토리지 역할은 크기 조정 전에 모든 파일 시스템을 마운트 해제했습니다. 이는 예를 들어 실행 중인 시스템의 / 디렉터리 크기를 조정하는 동안 사용 중인 파일 시스템에 실패했습니다.

이번 업데이트를 통해 스토리지 역할은 이제 XFS 및 Ext4와 같은 온라인 크기 조정을 지원하는 마운트된 파일 시스템 크기 조정을 지원합니다. 결과적으로 마운트 해제하지 않고 마운트된 파일 시스템의 크기를 조정할 수 있습니다.

Bugzilla:2168692

podman_registries_conf 변수가 unqualified-search-registries 필드를 올바르게 구성

이전에는 podman_registries_conf 변수를 구성한 후 podman RHEL 시스템 역할이 실패했습니다. 결과적으로 unqualified-search-registries = ["registry.access.redhat.com"] 설정이 /etc/containers/registries.conf.d/50-systemroles.conf 파일에 생성되지 않았습니다. 이번 업데이트를 통해 이 문제가 해결되었습니다.

Bugzilla:2211984

kdump 역할은 authorized_keys idempotent를 추가합니다.

이전에는 authorized_key 를 추가하는 작업이 매번 줄 바꿈 문자를 추가했습니다. 이로 인해 역할이 멱등을 수행하지 않았습니다. 이번 수정을 통해 새 authorized_key 가 올바르게 추가되고 단일 키 값 idempotent만 추가됩니다.

Bugzilla:2232241

kdump _authorized_keys 가 누락된 경우 kdump 시스템 역할이 실패하지 않음

이전에는 kdump _ssh_user 변수에 정의된 사용자가 디렉터리 또는 빈 .ssh/authorized_keys 파일에 있는 .ssh 디렉터리에 액세스할 수 없는 경우 kdump 시스템 역할이 SSH 인증 키를 추가하지 못했습니다. 이번 수정으로 kdump 시스템 역할은 SSH 구성에 인증된 키를 올바르게 추가합니다. 결과적으로 키 기반 인증은 설명된 시나리오에서 안정적으로 작동합니다.

Bugzilla:2232231

생성이 더 이상 유지되지 않기 전에 멤버 디스크에서 데이터를 제거하지 못했습니다

이전에는 RAID 볼륨을 생성할 때 RAID 볼륨을 구성하기 전에 시스템에서 멤버 디스크에서 기존 데이터를 효과적으로 제거하지 못했습니다. 이번 업데이트를 통해 RAID 볼륨은 필요에 따라 멤버 디스크에서 기존 데이터를 모두 제거합니다.

Bugzilla:2224090

존재하지 않는 서비스를 사용하여 점검 모드에서 방화벽 RHEL 시스템 역할을 실행하면 더 이상 실패하지 않음

이전에는 존재하지 않는 서비스가 있는 검사 모드에서 firewall 역할을 실행하는 데 실패했습니다. 이번 수정에서는 점검 모드에 대한 Ansible 모범 사례를 보다 잘 준수하는 방법을 구현합니다. 결과적으로 존재하지 않는 서비스가 활성화되거나 비활성화되어 더 이상 검사 모드에서 역할이 실패하지 않습니다. 대신 서비스가 이전 플레이북에서 정의되었는지 확인하라는 경고 메시지가 표시됩니다.

Bugzilla:2222428

RHEL 7의 방화벽 RHEL 시스템 역할은 더 이상 존재하지 않는 Python 패키지를 설치하려고 하지 않습니다.

이전 버전에서는 RHEL 7의 방화벽 역할이 다른 역할에서 호출되고 해당 역할이 python3 을 사용하는 경우 방화벽 역할은 해당 Python 버전에 대한 python3-firewall 라이브러리를 설치하려고 했습니다. 그러나 해당 라이브러리는 RHEL 7에서 사용할 수 없습니다. 그 결과 python3-firewall 라이브러리를 찾을 수 없어 다음 오류 메시지가 표시되었습니다.

No package matching 'python3-firewall' found available, installed or updated

이번 업데이트를 통해 firewall 역할은 python-firewall 또는 python3-firewall 라이브러리를 설치하지 않습니다. 결과적으로 python3 이 관리 노드에 설치된 경우 RHEL 7에서 firewall 역할이 실패하지 않습니다.

Bugzilla:2216520

kdump RHEL 시스템 역할 업데이트

kdump RHEL 시스템 역할이 최신 버전으로 업데이트되어 다음과 같은 주요 개선 사항이 추가되었습니다.

  • kexec-tools 를 설치한 후 이 파일을 더 이상 관리할 필요가 없기 때문에 유틸리티 제품군에서 더 이상 /etc/sysconfig/kdump 파일을 생성하지 않습니다.
  • 역할은 auto_reset_crashkerneldracut_args 변수를 지원합니다.

자세한 내용은 /usr/share/doc/rhel-system-roles/kdump/ 디렉터리의 리소스를 참조하십시오.

Bugzilla:2211187

rhc 역할을 사용하여 생성한 Insights 태그가 이제 올바르게 적용됨

이전에는 rhc 역할을 사용하여 Insights 태그를 생성할 때 태그가 올바른 파일에 저장되지 않았습니다. 결과적으로 태그가 Insights로 전송되지 않아 Insights 인벤토리의 시스템에 적용되지 않았습니다.

이번 수정을 통해 태그가 올바르게 저장되고 Insights 인벤토리에 있는 시스템에 적용됩니다.

Bugzilla:2209200

raid_chunk_size 매개변수가 더 이상 오류 메시지를 반환하지 않음

이전에는 raid_chunk_size 속성이 RAID 풀 및 볼륨에 허용되지 않았습니다. 이번 업데이트를 통해 제한이 발생하지 않고 RAID 풀 및 볼륨에 대해 raid_chunk_size 속성을 구성할 수 있습니다.

Bugzilla:2193058

인증서 RHEL 시스템 역할은 새 인증서 요청 수행 여부를 결정할 때 인증서 키 크기를 확인합니다.

이전에는 인증서 RHEL 시스템 역할이 새 인증서를 요청할지 여부를 평가할 때 인증서의 키 크기를 확인하지 않았습니다. 그 결과 이 역할에서 새 인증서 요청을 발행하지 않는 경우가 있었습니다. 이번 업데이트를 통해 인증서 에서 key_size 매개변수를 확인하여 새 인증서 요청을 수행해야 하는지 확인합니다.

Bugzilla:2186057

kdump 역할은 authorized_keys idempotent에 여러 키를 추가합니다.

이전 버전에서는 authorized_keys 파일에 여러 SSH 키를 동시에 추가하면 한 호스트의 키 값이 다른 호스트 값으로 대체되었습니다. 이번 업데이트에서는 lineinfile 모듈을 사용하여 authorized_keys 파일을 관리하여 문제를 해결합니다. lineinfile 은 작업을 순서대로 반복하여 기존 키를 확인하고 한 번에 단일 호스트에서 하나의 원자 작업으로 새 키를 작성합니다. 결과적으로 여러 호스트에 SSH 키를 추가하면 제대로 작동하고 다른 호스트의 키 값을 대체하지 않습니다.

참고: 플레이 수준에서 serial: 1 play serial 키워드를 사용하여 한 번에 실행되는 호스트 수를 제어합니다.

Jira:RHEL-1499[1]

kdump 역할은 kdump_ssh_server 인증의 .ssh/authorized_keys 를 성공적으로 업데이트합니다.

이전에는 kdump 역할로 인해 kdump _ssh_server 에 로그인할 사용자를 안전하게 인증하기 위해 .ssh 디렉터리에 액세스할 수 없었습니다. 그 결과 kdump 역할은 .ssh/authorized_keys 파일을 업데이트하지 않고 kdump_ssh_server 가 실패했는지 확인하는 SSH 메커니즘을 업데이트하지 않았습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. 그 결과 kdump_ssh_server 에서 kdump_ssh_user 인증이 안정적으로 작동합니다.

Jira:RHEL-1397[1]

시스템 역할에 kdump 를 활성화하려면 RHEL 9 이상 버전에서 failure_action 구성 매개변수를 사용해야 합니다.

이전에는 kdump 설정 중에 기본 옵션을 사용하는 데 성공하지 못하고 로그에 다음 경고를 출력했습니다.

kdump: warning: option 'default' was renamed 'failure_action' and will be removed in the future.
please update /etc/kdump.conf to use option 'failure_action' instead.

결과적으로 기본 옵션을 사용하는 경우 역할이 kdump 를 성공적으로 활성화하지 않았습니다. 이번 업데이트에서는 문제가 해결되어 failure_action 매개변수를 사용하여 여러 시스템에서 커널 덤프 매개변수를 구성할 수 있습니다. 결과적으로 kdump 를 활성화하면 설명된 시나리오에서 성공적으로 작동합니다.

Jira:RHEL-906[1]

이전: 방화벽 시스템 역할의 교체 매개변수는 이제 삭제하지 않고 이전 구성을 재정의합니다.

이전 버전에서는 이전: replaced 매개변수를 변수 목록에 추가한 경우 방화벽 시스템 역할이 기존 사용자 정의 설정을 모두 제거하고 firewalld 를 기본 설정으로 재설정합니다. 이번 수정에서는 EL7 릴리스에 도입된 firewalld 의 대체 구성을 사용하여 이전 구성을 유지합니다. 결과적으로 변수 목록에서 previous: replaced 매개 변수를 사용하면 firewall.conf 구성 파일이 재설정 시 삭제되지 않지만 파일의 파일 및 주석이 유지됩니다.

Jira:RHEL-1495[1]

이전을 사용할 때 방화벽 RHEL 시스템 역할이 변경 사항을 올바르게 보고합니다. 검사 모드에서 교체됨

이전에는 방화벽 역할이 검사 모드에서 이전: replaced 매개변수를 사용할 때 파일이 변경되었는지 확인하지 않았습니다. 결과적으로 역할에 정의되지 않은 변수에 대한 오류가 발생했습니다. 이번 수정에서는 검사 모드에 새 검사 변수가 추가되어 이전: replaced 매개변수에서 파일이 변경되었는지 여부를 평가합니다. firewalld.conf 파일을 검사하여 rpm 데이터베이스를 평가하여 파일에 제공된 버전에서 파일이 변경되었는지 확인합니다. 결과적으로 이전: replaced 매개 변수를 사용할 때 방화벽 역할이 변경 사항을 올바르게 보고합니다.

Jira:RHEL-898[1]

방화벽 RHEL 시스템 역할은 네트워크 관리자 인터페이스에 영역을 할당할 때 변경 사항을 올바르게 보고합니다.

이전에는 Network Manager 인터페이스 할당에서 변경 사항이 없는 경우 변경 사항을 보고했습니다. 이번 수정을 통해 파일 library/firewall_lib.py 파일의 try_set_zone_of_interface 모듈은 인터페이스 영역의 변경 여부를 나타내는 두 번째 값을 반환합니다. 결과적으로 모듈은 Network Manager에서 처리하는 인터페이스에 영역을 할당할 때 변경 사항을 올바르게 보고합니다.

Jira:RHEL-885[1]

rhc _auth 에 활성화 키가 포함된 경우 등록된 시스템에서 rhc 시스템 역할이 더 이상 실패하지 않음

이전에는 rhc_auth 매개변수에 지정된 활성화 키를 사용하여 등록된 시스템에서 플레이북 파일을 실행할 때 오류가 발생했습니다. 이 문제가 해결되었습니다. 이제 rhc_auth 매개 변수에 활성화 키가 제공된 경우에도 이미 등록된 시스템에서 플레이북 파일을 실행할 수 있습니다.

Bugzilla:2186218

8.15. 가상화

NVIDIA 그래픽 장치는 VM 종료 후에도 계속 작동합니다.

이전에는 RHEL 커널에서 장치 전원 전환 지연이 PCIe 사양에 필요한 장치에 더 근접하게 조정되었습니다. 결과적으로 연결된 VM이 종료된 후 일부 NVIDIA GPU가 장치 할당에 사용될 때 응답하지 않을 수 있었습니다. 이 업데이트는 NVIDIA 오디오 장치 기능에 대한 장치 전원 전환 지연을 확장합니다. 결과적으로 NVIDIA GPU는 이 시나리오에서 계속 올바르게 작동합니다.

Bugzilla:2178956[1]

장애 조치 virtio NIC가 Windows 가상 머신에 IP 주소가 올바르게 할당됨

이전 버전에서는 장애 조치 virtio NIC만 사용하여 Windows VM(가상 머신)을 시작할 때 VM이 NIC에 IP 주소를 할당하지 못했습니다. 그 결과 NIC에서 네트워크 연결을 설정할 수 없었습니다. 이 문제가 해결되었으며 VM NIC가 설명된 시나리오에서 예상대로 네트워크 연결을 설정합니다.

Bugzilla:1969724

설치 프로그램에서 VM에 RHEL을 설치할 것으로 예상되는 시스템 디스크를 보여줍니다.

이전 버전에서는 virtio-scsi 장치를 사용하여 VM에 RHEL을 설치할 때 device-mapper-multipath 버그로 인해 이러한 장치가 설치 프로그램에 표시되지 않을 수 있었습니다. 결과적으로 설치 중에 일부 장치에 직렬이 설정되어 있지 않은 경우 multipath 명령이 직렬로 설정된 모든 장치를 요청했습니다. 이로 인해 설치 프로그램에서 VM에서 RHEL을 설치할 예상 시스템 디스크를 찾을 수 없었습니다.

이번 업데이트를 통해 다중 경로는 WWID(World Wide Identifier)가 없는 직렬 장치를 올바르게 설정하고 무시합니다. 설치 시 다중 경로 의 장치만 다중 경로 장치를 바인딩하는 데 사용하고 설치 프로그램에는 VM에 RHEL을 설치하는 데 필요한 시스템 디스크가 표시됩니다.

Bugzilla:1926147[1]

Broadcom 네트워크 어댑터가 실시간 마이그레이션 후 Windows VM에서 올바르게 작동함

이전 버전에서는 Broadcom, Qlogic 또는 Marvell과 같은 Broadcom 제품군의 네트워크 어댑터는 Windows VM(가상 머신)의 실시간 마이그레이션 중에 핫 플러그를 해제할 수 없었습니다. 결과적으로 마이그레이션이 완료된 후 어댑터가 잘못 작동했습니다. 이 문제는 SR-IOV(Single-root I/O Virtualization)를 사용하여 Windows VM에 연결된 어댑터에만 영향을 미쳤습니다. 이번 업데이트를 통해 기본 코드가 수정되어 문제가 더 이상 발생하지 않습니다.

Jira:RHEL-910, Bugzilla:2091528, Bugzilla:2111319

nodedev-dumpxml 은 특정 중재된 장치에 대해 속성을 올바르게 나열합니다.

이번 업데이트 이전에는 nodedev-dumpxml 유틸리티에서 nodedev-create 명령을 사용하여 생성된 중재된 장치에 대해 속성을 올바르게 나열하지 않았습니다. 이 문제가 수정되었으며 nodedev-dumpxml 에 영향을 받는 장치의 속성이 올바르게 표시됩니다.

Bugzilla:2143158

virtqemud 또는 libvirtd를 다시 시작한 후 virtiofs 장치를 연결할 수 없습니다

이전 버전에서는 virtqemud 또는 libvirtd 서비스를 다시 시작하면 virtiofs 스토리지 장치가 호스트의 VM(가상 머신)에 연결되지 않았습니다. 이 버그가 수정되었으며 이제 설명된 시나리오에서 virtiofs 장치를 예상대로 연결할 수 있습니다.

Bugzilla:2078693

가상 머신에 Watchdog 카드를 핫플러그하는 데 더 이상 실패하지 않음

이전 버전에서는 PCI 슬롯을 사용할 수 없는 경우 실행 중인 VM(가상 머신)에 Watchdog 카드를 추가하는 데 실패했습니다.

Failed to configure watchdog
ERROR Error attempting device hotplug: internal error: No more available PCI slots

이번 업데이트를 통해 문제가 해결되어 실행 중인 VM에 Watchdog 카드를 추가할 수 있습니다.

Bugzilla:2173584

IBM Z의 virtio-gpu 에서 Blob 리소스가 제대로 작동하지 않음

virtio-gpu 장치는 현재 IBM Z 시스템의 Blob 메모리 리소스와 호환되지 않습니다. 결과적으로 IBM Z 호스트에서 virtio-gpu 를 사용하여 Blob 리소스를 사용하여 VM(가상 머신)을 구성하면 VM에 그래픽 출력이 없습니다.

Jira:RHEL-7135

9장. 기술 프리뷰

이 부분에서는 Red Hat Enterprise Linux 9에서 사용 가능한 모든 기술 프리뷰 목록을 제공합니다.

기술 프리뷰 기능에 대한 Red Hat 지원 범위 정보는 기술 프리뷰 기능 지원 범위를 참조하십시오.

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

RHEL 설치 프로그램에서 NVMe over Fibre Channel 장치를 기술 프리뷰로 사용 가능

이제 RHEL 설치에 NVMe over Fibre Channel 장치를 기술 프리뷰로 추가할 수 있습니다. RHEL 설치 프로그램의 설치 대상 화면에 디스크를 추가하는 동안 NVMe Fabrics Devices 섹션에서 이러한 장치를 선택할 수 있습니다.

Bugzilla:2107346

9.2. 보안

Gnu TLS에서 kTLS를 기술 프리뷰로 사용

업데이트된 gnutls 패키지는 커널 TLS(kTLS)를 사용하여 암호화된 채널에서 데이터 전송을 기술 프리뷰로 가속화할 수 있습니다. kTLS를 활성화하려면 modprobe 명령을 사용하여 tls.ko 커널 모듈을 추가하고 다음 콘텐츠를 사용하여 시스템 전체 암호화 정책에 대한 새 구성 파일 /etc/crypto-policies/local.d/gnutls-ktls.txt 를 생성합니다.

[global]
ktls = true

현재 버전은 TLS KeyUpdate 메시지를 통해 트래픽 키 업데이트를 지원하지 않으므로 AES-GCM 암호화suite의 보안에 영향을 미칩니다. 자세한 내용은 RFC 7841 - TLS 1.3 문서를 참조하십시오.

Bugzilla:2108532[1]

9.3. 쉘 및 명령행 툴

GIMP를 RHEL 9에서 기술 프리뷰로 사용 가능

이제 RHEL 9에서 기술 프리뷰로 GNU Image Manipulation Program (GIMP) 2.99.8을 사용할 수 있습니다. gimp 패키지 버전 2.99.8은 개선 사항 세트이지만 제한된 기능 세트이며 안정성은 보장되지 않습니다. 공식 GIMP 3이 릴리스되는 즉시 이 시험판 버전의 업데이트로 RHEL 9에 도입될 예정입니다.

RHEL 9에서는 gimp 를 RPM 패키지로 쉽게 설치할 수 있습니다.

Bugzilla:2047161[1]

9.4. 인프라 서비스

TuneD용 소켓 API를 기술 프리뷰로 사용 가능

이제 UNIX 도메인 소켓을 통해 TuneD를 제어하는 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 소켓 API는 D-Bus API를 사용하여 일대일로 매핑하고 D-Bus를 사용할 수 없는 경우에 대한 대체 통신 방법을 제공합니다. 소켓 API를 사용하면 TuneD 데몬을 제어하여 성능을 최적화하고 다양한 튜닝 매개변수 값을 변경할 수 있습니다. 소켓 API는 기본적으로 비활성화되어 있으며 tuned-main.conf 파일에서 활성화할 수 있습니다.

Bugzilla:2113900

9.5. 네트워킹

WireGuard VPN은 기술 프리뷰로 사용 가능

Red Hat이 지원되지 않는 기술 프리뷰로 제공되는 WireGuard는 Linux 커널에서 실행되는 고성능 VPN 솔루션입니다. 최신 암호화를 사용하며 다른 VPN 솔루션보다 쉽게 구성할 수 있습니다. 또한 WireGuard의 작은 코드베이스는 공격에 대한 표면을 줄이고 보안을 향상시킵니다.

자세한 내용은 WireGuard VPN 설정을 참조하십시오.

Bugzilla:1613522[1]

kTLS를 기술 프리뷰로 사용 가능

RHEL은 기술 프리뷰로 커널 전송 계층 보안(KTLS)을 제공합니다. kTLS는 AES-GCM 암호화의 커널의 대칭 암호화 또는 암호 해독 알고리즘을 사용하여 TLS 레코드를 처리합니다. kTLS에는 이 기능을 제공하는 NIC(Network Interface Controllers)에 TLS 레코드 암호화를 오프로드하는 인터페이스도 포함됩니다.

Bugzilla:1570255[1]

systemd-resolved 서비스는 기술 프리뷰로 사용 가능

systemd-resolved 서비스는 로컬 애플리케이션에 대한 이름 확인을 제공합니다. 이 서비스는 캐싱 및 검증 DNS 스텁 확인자, LLMNR(Link-Local Multicast Name Resolution) 및 멀티 캐스트 DNS 확인자 및 응답자를 구현합니다.

systemd-resolved 는 지원되지 않는 기술 프리뷰입니다.

Bugzilla:2020529

PRP 및 CryostatR 프로토콜은 이제 기술 프리뷰로 사용 가능

이번 업데이트에서는 다음 프로토콜을 제공하는 hsr 커널 모듈이 추가되었습니다.

  • 병렬 중복 프로토콜(PRP)
  • HSM(High-availability Seamless Redundancy)

Cryostat 62439-3 표준은 이러한 프로토콜을 정의하고 이 기능을 사용하여 이더넷 네트워크에서 제로 손실 중복을 구성할 수 있습니다.

Bugzilla:2177256[1]

NIC에 IPsec 캡슐화를 오프로드하면 기술 프리뷰로 사용 가능

이번 업데이트에서는 IPsec 패킷 오프로드 기능이 커널에 추가되었습니다. 이전에는 NIC(네트워크 인터페이스 컨트롤러)로 암호화를 오프로드할 수 있었습니다. 이번 개선된 기능을 통해 커널은 전체 IPsec 캡슐화 프로세스를 NIC로 오프로드하여 워크로드를 줄일 수 있습니다.

IPsec 캡슐화 프로세스를 NIC로 오프로드하면 커널에서 이러한 패킷을 모니터링하고 필터링할 수 있는 기능도 줄어듭니다.

Bugzilla:2178699[1]

RHEL에서 가상 머신의 네트워크 드라이버를 기술 프리뷰로 사용할 수 있습니다.

장치 제조업체는 FCC(Federal Commission) 잠금을 기본 설정으로 지원합니다. Cryostat는 드라이버를 특정 시스템에 바인딩할 수 있는 잠금을 제공합니다. 여기서 Cryostat 드라이버는 시뮬레이터와 통신할 수 있는 채널을 제공합니다. 제조업체에서는 PCI ID를 기반으로 ModemManager용 Red Hat Enterprise Linux에서 잠금 해제 툴을 통합합니다. 그러나 이전에 잠금 해제되지 않은 경우 이전에는 driver가 호환되고 기능적인 경우에도 사용할 수 없는 상태로 유지됩니다. Red Hat Enterprise Linux는 기술 프리뷰로 제한된 기능을 갖춘 다음과 같은 가상 시스템의 드라이버를 제공합니다.

  • Qualcomm MHI WWAMMBIM - Telit FN990Axx
  • Intel IPC over Shared Memory (IOSM) - Intel XMM 7360 game Advanced
  • MediaTek t7xx (W Cryostat) - Fibocom FM350GL
  • Intel IPC over Shared Memory (IOSM) - Fibocom L860GL 구현

Jira:RHELDOCS-16760[1], Bugzilla:2123542, Jira:RHEL-6564, Bugzilla:2110561, Bugzilla:2222914

SRv6 (SRv6)을 통한 세그먼트 라우팅을 기술 프리뷰로 사용 가능

RHEL 커널은 SRv6(Segment Routing over IPv6)을 기술 프리뷰로 제공합니다. 이 기능을 사용하여 에지 컴퓨팅의 트래픽 흐름을 최적화하거나 데이터 센터의 네트워크 프로그래밍 가능성을 개선할 수 있습니다. 그러나 가장 중요한 사용 사례는 5G 배포 시나리오에서 E2E(End-to-end) 네트워크 분할입니다. 이 영역에서 SRv6 프로토콜은 특정 애플리케이션 또는 서비스에 대한 네트워크 요구 사항을 해결하기 위해 프로그래밍 가능한 사용자 지정 네트워크 슬라이스 및 리소스 예약을 제공합니다. 동시에 솔루션을 단일 용도 어플라이언스에 배포할 수 있으며 더 작은 컴퓨팅 공간의 필요성을 충족합니다.

Bugzilla:2186375[1]

kTLS 버전 6.3로 업데이트됨

KTLS(커널 전송 계층 보안) 기능은 기술 프리뷰입니다. 이 RHEL 릴리스에서 kTLS는 6.3 업스트림 버전을 기반으로 변경되었으며 주요 변경 사항은 다음과 같습니다.

  • TX 장치 오프로드를 사용하여 256비트 키에 대한 지원 추가
  • 다양한 버그 수정

Bugzilla:2183538[1]

9.6. 커널

통합 커널 이미지가 있는 kdump 메커니즘은 기술 프리뷰로 사용 가능

통합 커널 이미지(UKI)에 포함된 커널 이미지가 포함된 kdump 메커니즘은 기술 프리뷰로 사용할 수 있습니다. UKI는 initramfs,vmlinuz 및 커널 명령줄을 단일 파일에 결합하는 단일 실행 파일입니다. UKI 주요 이점은 SecureBoot의 암호화 서명을 한 번에 모든 구성 요소로 확장할 수 있습니다.

기능이 작동하려면 UKI에 포함된 커널 명령줄과 함께 crashkernel= 매개변수를 적절한 값으로 설정합니다. 그러면 kdump 에 필요한 메모리가 예약됩니다.

참고: 현재 Linux 커널의 kexec_file_load 시스템 호출은 UKI를 로드할 수 없습니다. 따라서 UKI에 포함된 커널 이미지만 kexec_file_load 시스템 호출을 사용하여 크래시 커널을 로드할 때 사용됩니다.

Bugzilla:2169720[1]

SGX를 기술 프리뷰로 사용 가능

SGX( Software Guard Extensions )는 소프트웨어 코드와 데이터를 공개 및 수정으로부터 보호하는 Intel® 기술입니다. RHEL 커널은 부분적으로 SGX v1 및 v1.5 기능을 제공합니다. 버전 1은 유연한 시작 제어 메커니즘을 사용하는 플랫폼에서 SGX 기술을 사용할 수 있도록 합니다. 버전 2에는 Enclave Dynamic Memory Management (EDMM)가 추가되었습니다. 주요 기능은 다음과 같습니다.

  • 초기화된 enclave에 속하는 일반 enclave 페이지의 EPCM 권한 수정.
  • 초기화된 enclave에 일반 enclave 페이지의 동적 추가
  • 더 많은 스레드를 수용하기 위해 초기화된 enclave를 확장합니다.
  • 초기화된 enclave에서 일반 및 TCS 페이지 제거.

Bugzilla:1874182[1]

커널용 Intel 데이터 스트리밍 가속기 드라이버는 기술 프리뷰로 사용 가능

커널의 IDXD(Intel 데이터 스트리밍 액셀러레이터 드라이버)는 현재 기술 프리뷰로 사용할 수 있습니다. Intel CPU 통합 액셀러레이터이며 프로세스 주소 공간 ID(pasid) 제출 및 공유 가상 메모리(SVM)와 함께 공유 작업 큐를 포함합니다.

Bugzilla:2030412

Soft-iWARP 드라이버는 기술 프리뷰로 사용 가능

소프트 iWARP(siw)는 Linux용 커널 드라이버인 IWARP(Internet Wide-area RDMA Protocol)입니다. soft-iWARP는 TCP/IP 네트워크 스택을 통해 iWARP 프로토콜 제품군을 구현합니다. 이 프로토콜 제품군은 소프트웨어로 완전히 구현되며 특정 RDMA(Remote Direct Memory Access) 하드웨어가 필요하지 않습니다. 소프트-iWARP를 사용하면 표준 이더넷 어댑터가 있는 시스템이 iWARP 어댑터 또는 이미 설치된 Soft-iWARP에 설치된 다른 시스템에 연결할 수 있습니다.

Bugzilla:2023416[1]

SGX를 기술 프리뷰로 사용 가능

SGX( Software Guard Extensions )는 소프트웨어 코드와 데이터를 공개 및 수정으로부터 보호하는 Intel® 기술입니다. RHEL 커널은 부분적으로 SGX v1 및 v1.5 기능을 제공합니다. 버전 1은 유연한 시작 제어 메커니즘을 사용하는 플랫폼에서 SGX 기술을 사용할 수 있도록 합니다. 버전 2에는 Enclave Dynamic Memory Management (EDMM)가 추가되었습니다. 주요 기능은 다음과 같습니다.

  • 초기화된 enclave에 속하는 일반 enclave 페이지의 EPCM 권한 수정.
  • 초기화된 enclave에 일반 enclave 페이지의 동적 추가
  • 더 많은 스레드를 수용하기 위해 초기화된 enclave를 확장합니다.
  • 초기화된 enclave에서 일반 및 TCS 페이지 제거.

Bugzilla:1660337[1]

rvu_af,rvu_nicpf, 및 기술 프리뷰로 사용 가능한 rvu_nicvf

다음 커널 모듈은 Marvell OCTEON TX2 Infrastructure Processor 제품군의 기술 프리뷰로 사용할 수 있습니다.

  • rvu_nicpf - Marvell OcteonTX2 NIC 물리 기능 드라이버
  • rvu_nicvf - Marvell OcteonTX2 NIC 가상 기능 드라이버
  • rvu_nicvf - Marvell OcteonT2 RVU 관리 기능 드라이버

Bugzilla:2040643[1]

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

이제 ext4 및 XFS에서 기술 프리뷰로 DAX를 사용할 수 있습니다.

RHEL 9에서 DAX 파일 시스템은 기술 프리뷰로 사용할 수 있습니다. DAX는 애플리케이션이 영구 메모리를 해당 주소 공간에 직접 매핑할 수 있는 수단을 제공합니다. DAX를 사용하려면 시스템에서 일반적으로 하나 이상의 NVMe(Non-Volatile Dual In-line Memory Modules) 형식으로 사용 가능한 영구 메모리가 있어야 하며 NVDIMM(s)에서 DAX 호환 파일 시스템을 생성해야 합니다. 또한 dax 마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. 그런 다음 dax로 마운트된 파일 시스템의 파일 mmap 이 있으면 스토리지가 애플리케이션의 주소 공간에 직접 매핑됩니다.

Bugzilla:1995338[1]

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 TP를 참조하십시오.

Bugzilla:2021672[1]

NVMe-stas 패키지를 기술 프리뷰로 사용 가능

Linux용 중앙 검색 컨트롤러(CDC) 클라이언트인 nvme-stas 패키지는 이제 기술 프리뷰로 사용할 수 있습니다. AEN(Asynchronous Event Notifications), 자동화된 NVMe 하위 시스템 연결 제어, 오류 처리 및 보고, 자동(0conf) 및 수동 구성을 처리합니다.

이 패키지는 두 개의 데몬, Storage 어플라이언스 찾기(stafd) 및 스토리지 어플라이언스 커넥터(stacd)로 구성됩니다.

Bugzilla:1893841[1]

NVMe TP 8006 인 대역 인증 기술 프리뷰로 사용 가능

NVMe(Non-Volatile Memory Express) TP 8006을 구현하는 것은 이제 지원되지 않는 기술 프리뷰로 NVMe over Fabrics(NVMe-oF)에 대한 대역 내 인증입니다. NVMe Technical Proposal 8006은 이 향상된 기능을 통해 NVMe-oF의 DH-HMAC-CHAP In-band authentication 프로토콜을 정의합니다.

자세한 내용은 nvme-connect(1) 도움말 페이지의 dhchap-secretdhchap-ctrl-secret 옵션 설명을 참조하십시오.

Bugzilla:2027304[1]

io_uring 인터페이스는 기술 프리뷰로 사용 가능

io_uring 은 새롭고 효과적인 비동기 I/O 인터페이스이며 이제 기술 프리뷰로 사용할 수 있습니다. 이 기능은 기본적으로 비활성화되어 있습니다. kernel.io_uring_disabled sysctl 변수를 다음 값 중 하나로 설정하여 이 인터페이스를 활성화할 수 있습니다.

0
모든 프로세스는 io_uring 인스턴스를 정상적으로 생성할 수 있습니다.
1
권한이 없는 프로세스에 대해 io_uring 생성이 비활성화됩니다. CAP_SYS_ADMIN 기능을 통해 호출 프로세스의 권한을 부여하지 않는 한 io_uring_setup-EPERM 오류로 실패합니다. 기존 io_uring 인스턴스를 계속 사용할 수 있습니다.
2
모든 프로세스에 대해 io_uring 생성이 비활성화됩니다. io_uring_setup 은 항상 -EPERM. 기존 io_uring 인스턴스를 계속 사용할 수 있습니다. 이 설정은 기본 설정입니다.

이 기능을 사용하려면 익명 inode에서 mmap 시스템 호출을 활성화하는 업데이트된 SELinux 정책 버전이 필요합니다.

애플리케이션은 io_uring 명령 pass-through를 사용하여 nvme 와 같은 기본 하드웨어에 직접 명령을 실행할 수 있습니다. io_uring 명령 pass-through를 사용하려면 현재 사용자 지정 SELinux 정책 모듈이 필요합니다. 사용자 지정 SELinux 정책 모듈을 생성합니다.

  1. 다음 행을 io_uring_cmd_passthrough.cil 파일로 저장합니다.

    ---cut here---
    ( allow unconfined_domain_type device_node ( io_uring ( cmd )))
    ( allow unconfined_domain_type file_type ( io_uring ( cmd )))
    ---cut here---
  2. policy 모듈을 로드합니다.

    # semodule -i io_uring_cmd_passthrough.cil

Bugzilla:2068237[1]

9.8. 컴파일러 및 개발 도구

JMC-coreowasp-java-encoder 를 기술 프리뷰로 사용 가능

RHEL 9는 AMD 및 Intel 64비트 아키텍처의 기술 프리뷰 기능으로 jmc-coreowasp-java-encoder 패키지와 함께 배포됩니다.

JMC -core 는 JDK Flight Recording 파일을 구문 분석하고 쓰기 위한 라이브러리와 JDK(Java Discovery Protocol)를 통한 JVM(Java Virtual Machine) 검색용 라이브러리 등 JDK(Java Development Kit) 미션 제어를 위한 핵심 API를 제공하는 라이브러리입니다.

owasp-java-encoder 패키지는 Java에 대한 고성능 저차 컨텍스트 인코더 컬렉션을 제공합니다.

RHEL 9.2, jmc-coreowasp-java-encoder 는 명시적으로 활성화해야 하는 CRB(CodeReady Linux Builder) 리포지토리에서 사용할 수 있습니다. 자세한 내용은 CodeReady Linux Builder 내에서 콘텐츠를 활성화하고 사용하는 방법을 참조하십시오.

Bugzilla:1980981

9.9. IdM (Identity Management)

DNSSEC를 IdM에서 기술 프리뷰로 사용 가능

통합 DNS가 있는 IdM(Identity Management) 서버는 DNS 프로토콜의 보안을 강화하는 DNS 확장 프로그램 세트인 DNSSEC(DNS Security Extensions)를 구현합니다. IdM 서버에서 호스팅되는 DNS 영역은 DNSSEC를 사용하여 자동으로 로그인할 수 있습니다. 암호화 키가 자동으로 생성되고 순환됩니다.

DNSSEC로 DNS 영역을 보호하기로 결정한 사용자는 다음 문서를 읽고 따르는 것이 좋습니다.

통합 DNS가 있는 IdM 서버는 DNSSEC를 사용하여 다른 DNS 서버에서 얻은 DNS 응답을 검증합니다. 이는 권장되는 이름 지정 방식에 따라 구성되지 않은 DNS 영역의 가용성에 영향을 미칠 수 있습니다.

Bugzilla:2084180

Identity Management JSON-RPC API를 기술 프리뷰로 사용 가능

IdM(Identity Management)에 API를 사용할 수 있습니다. API를 보기 위해 IdM은 API 브라우저도 기술 프리뷰로 제공합니다.

이전에는 여러 버전의 API 명령을 사용하도록 IdM API가 향상되었습니다. 이러한 개선 사항으로 인해 호환되지 않는 방식으로 명령의 동작이 변경될 수 있습니다. 이제 IdM API가 변경되어도 기존 툴과 스크립트를 계속 사용할 수 있습니다. 이를 통해 다음을 활성화합니다.

  • 관리자는 관리 클라이언트보다 서버에서 이전 또는 이후 버전의 IdM을 사용해야 합니다.
  • 서버에서 IdM 버전이 변경되어도 개발자는 특정 버전의 IdM 호출을 사용할 수 있습니다.

모든 경우에 한 쪽이 사용하는지에 관계없이 서버와의 통신이 가능합니다(예: 기능에 대한 새로운 옵션을 도입하는 최신 버전).

API 사용에 대한 자세한 내용은 Using the Identity Management API to Communicate with the IdM Server (undercloudNOLOGY PREVIEW) 를 참조하십시오.

Bugzilla:2084166

sssd-idp 하위 패키지를 기술 프리뷰로 사용 가능

SSSD의 sssd-idp 하위 패키지에는 IdM(Identity Management) 서버에 대해 OAuth2 인증을 수행하는 클라이언트 측 구성 요소인 oidc_child 및 krb5 idp 플러그인이 포함되어 있습니다. 이 기능은 RHEL 9.1 이상의 IdM 서버에서만 사용할 수 있습니다.

Bugzilla:2065693

SSSD 내부 krb5 idp 플러그인을 기술 프리뷰로 사용 가능

SSSD krb5 idp 플러그인을 사용하면 OAuth2 프로토콜을 사용하여 외부 ID 공급자(IdP)에 대해 인증할 수 있습니다. 이 기능은 RHEL 9.1 이상의 IdM 서버에서만 사용할 수 있습니다.

Bugzilla:2056482

RHEL IdM을 사용하면 외부 ID 공급자에 대한 사용자 인증을 기술 프리뷰로 위임할 수 있습니다.

RHEL IdM에서 OAuth 2 장치 권한 부여 흐름을 지원하는 외부 ID 공급자(IdP)와 사용자를 연결할 수 있습니다. 이러한 사용자가 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를 기술 프리뷰로 사용 가능

ACME(Automated Certificate Management Environment) 서비스는 이제 IdM(Identity Management)에서 기술 프리뷰로 사용할 수 있습니다. ACME는 자동 식별자 검증 및 인증서 발행을 위한 프로토콜입니다. 이는 인증서 수명을 줄이고 인증서 라이프사이클 관리에서 수동 프로세스를 방지하여 보안을 개선하는 것입니다.

RHEL에서 ACME 서비스는 RHCS(Red Hat Certificate System) PKI ACME 응답자를 사용합니다. RHCS ACME 하위 시스템은 IdM 배포의 모든 CA(인증 기관) 서버에 자동으로 배포되지만 관리자가 이를 활성화할 때까지 서비스 요청은 수행하지 않습니다. RHCS는 ACME 인증서를 발행할 때 acmeIPAServerCert 프로필을 사용합니다. 발급된 인증서의 유효 기간은 90일입니다. ACME 서비스를 활성화하거나 비활성화하면 전체 IdM 배포에 영향을 미칩니다.

중요

모든 서버가 RHEL 8.4 이상을 실행하는 IdM 배포에서만 ACME를 활성화하는 것이 좋습니다. 이전 RHEL 버전에는 ACME 서비스가 포함되어 있지 않으므로 혼합 버전 배포에서 문제가 발생할 수 있습니다. 예를 들어 ACME가 없는 CA 서버는 다른 DNS Subject Alternative Name(SAN)을 사용하므로 클라이언트 연결이 실패할 수 있습니다.

주의

현재 RHCS는 만료된 인증서를 제거하지 않습니다. ACME 인증서는 90일 후에 만료되므로 만료된 인증서는 누적될 수 있으며 이는 성능에 영향을 미칠 수 있습니다.

  • 전체 IdM 배포에서 ACME를 활성화하려면 ipa-acme-manage enable 명령을 사용합니다.

    # ipa-acme-manage enable
    The ipa-acme-manage command was successful
  • 전체 IdM 배포에서 ACME를 비활성화하려면 ipa-acme-manage disable 명령을 사용합니다.

    # ipa-acme-manage disable
    The ipa-acme-manage command was successful
  • ACME 서비스가 설치되어 있고 활성화되어 있는지 확인하려면 ipa-acme-manage status 명령을 사용합니다.

    # ipa-acme-manage status
    ACME is enabled
    The ipa-acme-manage command was successful

Bugzilla:2084181[1]

9.10. 데스크탑

64비트 ARM 아키텍처용 GNOME은 기술 프리뷰로 사용 가능

64비트 ARM 아키텍처에서 GNOME 데스크탑 환경은 기술 프리뷰로 사용할 수 있습니다.

이제 VNC를 사용하여 64비트 ARM 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.

제한된 그래픽 애플리케이션 세트는 64비트 ARM에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Firefox 웹 브라우저
  • Red Hat Subscription Manager (subscription-manager-cockpit)
  • 방화벽 설정(firewall-config)
  • 디스크 사용량 분석기(baobab)

Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.

LibreOffice와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스는 비활성화되어 있습니다.

Jira:RHELPLAN-27394[1]

IBM Z 아키텍처용 GNOME은 기술 프리뷰로 사용 가능

IBM Z 아키텍처에서 GNOME 데스크탑 환경은 기술 프리뷰로 사용할 수 있습니다.

이제 VNC를 사용하여 IBM Z 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.

IBM Z에서 제한된 그래픽 애플리케이션 세트를 사용할 수 있습니다. 예를 들면 다음과 같습니다.

  • Firefox 웹 브라우저
  • Red Hat Subscription Manager (subscription-manager-cockpit)
  • 방화벽 설정(firewall-config)
  • 디스크 사용량 분석기(baobab)

Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.

LibreOffice와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스는 비활성화되어 있습니다.

Jira:RHELPLAN-27737[1]

9.11. 가상화

중첩된 가상 머신 생성

중첩된 KVM 가상화는 RHEL 9가 있는 Intel, AMD64 및 IBM Z 호스트에서 실행되는 KVM 가상 머신(VM)용 기술 프리뷰로 제공됩니다. 이 기능을 사용하면 물리적 RHEL 9 호스트에서 실행되는 RHEL 7, RHEL 8 또는 RHEL 9 VM이 하이퍼바이저 역할을 하며 자체 VM을 호스팅할 수 있습니다.

Jira:RHELDOCS-17040[1]

KVM 가상 머신용 AMD SEV 및 SEV-ES

RHEL 9는 기술 프리뷰로 KVM 하이퍼바이저를 사용하는 AMD EPYC 호스트 시스템에 대한 SEV(Secure Encrypted Virtualization) 기능을 제공합니다. VM(가상 시스템)에서 활성화된 경우 SEV는 VM의 메모리를 암호화하여 호스트의 액세스로부터 보호합니다. 이렇게 하면 VM의 보안이 향상됩니다.

또한 SEV (SEV-ES)의 향상된 암호화 상태 버전도 기술 프리뷰로 제공됩니다. SEV-ES는 VM 실행이 중지되면 모든 CPU 레지스터 콘텐츠를 암호화합니다. 이렇게 하면 호스트에서 VM의 CPU 레지스터를 수정하거나 해당 항목에서 정보를 읽지 않습니다.

SEV 및 SEV-ES는 2 세대의 AMD EPYC CPU (코드명 Ramam) 이상에서만 작동합니다. 또한 RHEL 9에는 SEV 및 SEV-ES 암호화가 포함되어 있지만 SEV 및 SEV-ES 보안 테스트에는 포함되지 않습니다.

Jira:RHELPLAN-65217[1]

ARM 64에서 가상화 사용 가능

이제 기술 프리뷰로 ARM 64 CPU를 사용하는 시스템에서 KVM 가상 머신을 생성할 수 있습니다.

Jira:RHELPLAN-103993[1]

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 메모리 장치를 정의하고, VM이 실행되는 동안 virsh update-memory-device 명령을 사용하여 메모리 장치 크기 변경을 요청합니다. 이러한 메모리 장치에서 실행 중인 VM에 노출된 현재 메모리 크기를 보려면 VM의 XML 구성을 확인합니다.

그러나 virtio-mem 은 현재 Windows 운영 체제를 사용하는 VM에서 작동하지 않습니다.

Bugzilla:2014487, Bugzilla:2044162, Bugzilla:2044172

RHEL 게스트의 Intel TDX

이제 RHEL 9.2 이상 게스트 운영 체제에서 TDX(Intel Trust Domain Extension) 기능을 사용할 수 있습니다. 호스트 시스템이 TDX를 지원하는 경우 신뢰 도메인(TD)이라는 하드웨어 격리 RHEL 9 VM(가상 머신)을 배포할 수 있습니다. 그러나 TDX는 현재 kdump 에서는 작동하지 않으며 TDX를 활성화하면 VM에서 kdump 가 실패합니다.

Bugzilla:1955275[1]

RHEL의 통합 커널 이미지를 기술 프리뷰로 사용 가능

이제 기술 프리뷰로 VM(가상 머신)의 통합 커널 이미지(UKI)로 RHEL 커널을 가져올 수 있습니다. 통합 커널 이미지는 커널, initramfs 및 커널 명령줄을 하나의 서명된 바이너리 파일에 결합합니다.

영국I는 가상화 및 클라우드 환경, 특히 강력한 SecureBoot 기능이 필요한 기밀 VM에서 사용할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt 패키지로 사용할 수 있습니다.

현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.

Bugzilla:2142102[1]

Intel vGPU를 기술 프리뷰로 사용 가능

기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라고 하는 여러 가상 장치로 나눌 수 있습니다. 그런 다음 이러한 중재된 장치를 가상 GPU로 여러 VM(가상 머신)에 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유합니다.

이 기능은 더 이상 사용되지 않으며 RHEL 9.3 릴리스에서 완전히 제거되었습니다.

Jira:RHELDOCS-17050[1]

9.12. 클라우드 환경의 RHEL

이제 Azure 기밀 VM에서 기술 프리뷰로 RHEL을 사용할 수 있습니다.

업데이트된 RHEL 커널을 사용하면 Microsoft Azure에서 RHEL 기밀 가상 머신(VM)을 기술 프리뷰로 생성하고 실행할 수 있습니다. 이제 새로 추가된 통합 커널 이미지(UKI)에서 Azure에서 암호화된 기밀 VM 이미지를 부팅할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt 패키지로 사용할 수 있습니다.

현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.

Jira:RHELPLAN-139800[1]

9.13. 컨테이너

Podman의 SQLite 데이터베이스 백엔드는 기술 프리뷰로 사용 가능

Podman v4.6부터 Podman의 SQLite 데이터베이스 백엔드는 기술 프리뷰로 사용할 수 있습니다. 데이터베이스 백엔드를 SQLite로 설정하려면 /etc/containers/containers.conf 구성 파일에 database_backend = "sqlite" 옵션을 추가합니다. SQLite 데이터베이스 백엔드로 전환하기 전에 podman system reset 명령을 실행하여 스토리지를 초기 상태로 되돌립니다. 모든 컨테이너와 Pod를 다시 생성해야 합니다. SQLite 데이터베이스는 좋은 안정성과 일관성을 보장합니다. 컨테이너 스택의 다른 데이터베이스도 SQLite로 이동합니다. BoltDB는 기본 데이터베이스 백엔드로 유지됩니다.

Jira:RHELPLAN-154429[1]

podman-machine 명령은 지원되지 않음

가상 머신을 관리하는 podman-machine 명령은 기술 프리뷰로만 사용할 수 있습니다. 대신 명령줄에서 직접 Podman을 실행합니다.

Jira:RHELDOCS-16861[1]

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[1]

edge-commitedge-container 블루프린트의 사용자 및 그룹 사용자 지정이 더 이상 사용되지 않음

이미지를 업그레이드하고 블루프린트에 사용자를 다시 지정하지 않으면 사용자 사용자 지정이 사라지기 때문에 블루프린트에 사용자 또는 그룹 사용자 지정은 edge-commitedge-container 이미지 유형에 대해 더 이상 사용되지 않습니다.

edge-raw-image,edge-installer, edge-simplified-installer 이미지 유형과 같은 기존 OSTree 커밋을 배포하는 데 사용되는 사용자 또는 그룹 사용자 지정을 블루프린트에 지정하는 것은 계속 지원됩니다.

Bugzilla:2173928

initial-setup 패키지가 더 이상 사용되지 않음

initial-setup 패키지는 Red Hat Enterprise Linux 9.3에서 더 이상 사용되지 않으며 다음 주요 RHEL 릴리스에서 제거됩니다. 대신 그래픽 사용자 인터페이스에 gnome-initial-setup 을 사용합니다.

Jira:RHELDOCS-16393[1]

inst.geoloc 부팅 옵션의 provider_hostipprovider_fedora_geoip 값은 더 이상 사용되지 않습니다.

inst.geoloc= 부팅 옵션에 GeoIP API를 지정한 provider_hostipprovider_fedora_geoip 값은 더 이상 사용되지 않습니다. 대체 방법으로 geolocation_provider=URL 옵션을 사용하여 설치 프로그램 구성 파일에 필요한 geolocation을 설정할 수 있습니다. inst.geoloc=0 옵션을 사용하여 geolocation을 비활성화할 수 있습니다.

Bugzilla:2127473

10.2. 보안

SHA-1은 암호화 목적으로 더 이상 사용되지 않습니다.

암호화 목적으로 SHA-1 메시지 다이제스트의 사용은 RHEL 9에서 더 이상 사용되지 않습니다. SHA-1에 의해 생성된 다이제스트는 해시 충돌을 찾기 위해 문서화된 많은 성공적인 공격으로 인해 안전한 것으로 간주되지 않습니다. RHEL 핵심 암호화 구성 요소는 기본적으로 SHA-1을 사용하여 더 이상 서명을 생성하지 않습니다. RHEL 9의 애플리케이션은 보안 관련 사용 사례에서 SHA-1을 사용하지 않도록 업데이트되었습니다.

예외적으로 HMAC-SHA1 메시지 인증 코드와 UUID(Universal Unique Identifier) 값은 SHA-1을 사용하여 계속 생성할 수 있습니다. 이러한 사용 사례에서는 현재 보안 위험이 발생하지 않기 때문입니다. SHA-1은 Kerberos 및 Cryostat-2와 같은 중요한 상호 운용성 및 호환성 문제와 관련된 제한된 경우에 사용할 수도 있습니다. 자세한 내용은 RHEL 9 보안 강화 문서의 FIPS 140-3 섹션과 호환되지 않는 암호화를 사용하는 RHEL 애플리케이션 목록을 참조하십시오.

기존 또는 타사 암호화 서명을 확인하는 데 SHA-1을 사용해야 하는 경우 다음 명령을 입력하여 활성화할 수 있습니다.

# update-crypto-policies --set DEFAULT:SHA1

또는 시스템 전체 암호화 정책을 LEGACY 정책으로 전환할 수 있습니다. LEGACY 는 안전하지 않은 다른 많은 알고리즘도 활성화합니다.

Jira:RHELPLAN-110763[1]

fapolicyd.rules 가 더 이상 사용되지 않음

허용 및 실행 규칙을 포함하는 파일의 /etc/fapolicyd/rules.d/ 디렉토리에서 /etc/fapolicyd/fapolicyd.rules 파일을 대체합니다. fagenrules 스크립트는 이 디렉터리의 모든 구성 요소 규칙 파일을 /etc/fapolicyd/compiled.rules 파일에 병합합니다. /etc/fapolicyd/fapolicyd.trust 의 규칙은 여전히 fapolicyd 프레임 워크에서 처리되지만 이전 버전과의 호환성을 위해서만 처리됩니다.

Bugzilla:2054740

RHEL 9에서 SCP가 더 이상 사용되지 않음

보안 복사 프로토콜(SCP)은 알려진 보안 취약점이 있기 때문에 더 이상 사용되지 않습니다. SCP API는 RHEL 9 라이프사이클에서 계속 사용할 수 있지만 이를 사용하면 시스템 보안이 줄어듭니다.

  • scp 유틸리티에서 SCP는 기본적으로 SSH 파일 전송 프로토콜(SFTP)으로 교체됩니다.
  • OpenSSH 제품군은 RHEL 9에서는 SCP를 사용하지 않습니다.
  • SCP는 libssh 라이브러리에서 더 이상 사용되지 않습니다.

Jira:RHELPLAN-99136[1]

OpenSSL을 사용하려면 FIPS 모드에서 RSA 암호화를 위한 패딩이 필요합니다.

OpenSSL은 FIPS 모드에서 패딩하지 않고 RSA 암호화를 더 이상 지원하지 않습니다. 패딩이 없는 RSA 암호화는 드문 일이 아니며 거의 사용되지 않습니다. RSA(RSASVE)가 포함된 키 캡슐화는 패딩을 사용하지 않지만 계속 지원됩니다.

Bugzilla:2168665

NTLM 및 Krb4는 Cyrus SASL에서 더 이상 사용되지 않습니다.

NTLM 및 Kerberos 4 인증 프로토콜은 더 이상 사용되지 않으며 향후 주요 RHEL 버전에서 제거될 수 있습니다. 이러한 프로토콜은 더 이상 안전한 것으로 간주되지 않으며 이미 업스트림 구현에서 제거되었습니다.

Jira:RHELDOCS-17380[1]

SASL의 digest-MD5는 더 이상 사용되지 않음

SASL(Simple Authentication Security Layer) 프레임워크의 Digest-MD5 인증 메커니즘은 더 이상 사용되지 않으며 향후 주요 릴리스의 cyrus-sasl 패키지에서 제거될 수 있습니다.

Bugzilla:1995600[1]

OpenSSL은 MD2, MD4, MDC2, Whirlpool, Blowfish, CAST, DES, IDEA, RC2, RC4, RC5, SEED 및 PBKDF1을 사용 중단

OpenSSL 프로젝트는 안전하지 않거나 일반적으로 사용되지 않거나 둘 다이므로 암호화 알고리즘 세트를 더 이상 사용하지 않습니다. Red Hat은 이러한 알고리즘의 사용을 권장하지 않으며 RHEL 9에서는 암호화된 데이터를 마이그레이션하여 새 알고리즘을 사용하기 위해 이를 제공합니다. 사용자는 시스템 보안을 위해 이러한 알고리즘에 의존해서는 안 됩니다.

다음 알고리즘의 구현은 OpenSSL: MD2, MD4, MDC2, Whirlpool, Blowfish, CAST, DES, IDEA, RC2, RC4, RC5, 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[1]

libcrypt.so.1 이 더 이상 사용되지 않음

libcrypt.so.1 라이브러리는 더 이상 사용되지 않으며 향후 RHEL 버전에서 제거될 수 있습니다.

Bugzilla:2034569

10.3. 서브스크립션 관리

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--activationkey 와 같은 다른 권한 부여 방법을 사용하여 시스템을 계속 등록할 수 있습니다.

Bugzilla:2163716

10.4. 쉘 및 명령행 툴

dump 패키지의 dump 유틸리티가 더 이상 사용되지 않음

파일 시스템의 백업에 사용되는 덤프 유틸리티는 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다.

RHEL 9에서는 ext2, ext3 및 ext4 파일 시스템에서 전체 및 안전한 백업을 제공하는 사용 유형에 따라 tar,dd 또는 bacula, backup 유틸리티를 사용하는 것이 좋습니다.

dump 패키지의 복원 유틸리티는 RHEL 9에서 사용 가능하고 지원되며 복원 패키지로 사용할 수 있습니다.

Bugzilla:1997366[1]

Bacula의 SQLite 데이터베이스 백엔드가 더 이상 사용되지 않음

Bacula 백업 시스템은 PostgreSQL, MySQL, SQLite 등 여러 데이터베이스 백엔드를 지원했습니다. SQLite 백엔드는 더 이상 사용되지 않으며 이후 RHEL 릴리스에서 지원되지 않습니다. 대신 다른 백엔드(PostgreSQL 또는 MySQL) 중 하나로 마이그레이션하고 새 배포에서 SQLite 백엔드를 사용하지 않습니다.

Jira:RHEL-6856

10.5. 네트워킹

RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음

teamd 서비스와 libteam 라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 대신 네트워크 팀 대신 본딩을 구성합니다.

Red Hat은 유사한 기능을 갖춘 두 가지 기능, 본딩 및 팀 유지를 방지하기 위해 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 높은 고객 채택을 보유하고 있으며 적극적인 커뮤니티 개발을 제공합니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 수신합니다.

팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션 을 참조하십시오.

Bugzilla:1935544[1]

ifcfg 형식의 NetworkManager 연결 프로필이 더 이상 사용되지 않음

RHEL 9.0 이상에서는 ifcfg 형식의 연결 프로필이 더 이상 사용되지 않습니다. 다음 주요 RHEL 릴리스에서는 이 형식에 대한 지원이 제거됩니다. 그러나 RHEL 9에서는 수정 시 NetworkManager는 이 형식의 기존 프로필을 계속 처리하고 업데이트합니다.

기본적으로 NetworkManager는 이제 /etc/NetworkManager/system-connections/ 디렉터리에 있는 키 파일 형식으로 연결 프로필을 저장합니다. ifcfg 형식과 달리 키 파일 형식은 NetworkManager가 제공하는 모든 연결 설정을 지원합니다. 키 파일 형식 및 프로필을 마이그레이션하는 방법에 대한 자세한 내용은 키 파일 형식의 NetworkManager 연결 프로필을 참조하십시오.

Bugzilla:1894877[1]

firewalldiptables 백엔드가 더 이상 사용되지 않음

RHEL 9에서는 iptables 프레임워크가 더 이상 사용되지 않습니다. 결과적으로 firewalldiptables 백엔드 및 직접 인터페이스 도 더 이상 사용되지 않습니다. 직접 인터페이스 대신 firewalld 의 기본 기능을 사용하여 필요한 규칙을 구성할 수 있습니다.

Bugzilla:2089200

PF_KEYv2 커널 API가 더 이상 사용되지 않음

애플리케이션은 PV_KEYv2 및 최신 netlink API를 사용하여 커널의 IPsec 구현을 구성할 수 있습니다. PV_KEYv2 는 적극적으로 업스트림에서 유지 관리되지 않으며 최신 암호, 오프로드 및 확장된 시퀀스 번호 지원과 같은 중요한 보안 기능을 놓치고 있습니다. 결과적으로 RHEL 9.3부터 PV_KEYv2 API가 더 이상 사용되지 않으며 다음 주요 RHEL 릴리스에서 제거됩니다. 애플리케이션에서 이 커널 API를 사용하는 경우 최신 netlink API를 대안으로 사용하도록 마이그레이션합니다.

Jira:RHEL-1015[1]

10.6. 커널

RHEL 9에서는 CloudEvent 캡슐화가 더 이상 사용되지 않음

ATM(Asynchronous Transfer Mode) 캡슐화를 사용하면 SRV Adaptation Layer 5(AAL-5)에 Layer-2(Point-to-Point Protocol, Ethernet) 또는 Layer-3(IP) 연결을 사용할 수 있습니다. Red Hat은 RHEL 7 이후 Cryostat NIC 드라이버를 지원하지 않습니다. Cryostat 구현에 대한 지원은 RHEL 9에서 중단되고 있습니다. 이러한 프로토콜은 현재 칩셋에서만 사용되며, 이는 ADSL 기술을 지원하며 제조업체에 의해 단계적으로 제거되고 있습니다. 따라서 CloudEvent 캡슐화는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않습니다.

자세한 내용은 PPP Over AAL5, CryostatAdaptation Layer 5를 통한 Multiprotocol Encapsulation, and Classical IP and ARP over AAL5 를 참조하십시오.

Bugzilla:2058153

kexec-toolskexec_load 시스템 호출이 더 이상 사용되지 않음

두 번째 커널을 로드하는 kexec_load 시스템 호출은 향후 RHEL 릴리스에서 지원되지 않습니다. kexec_file_load 시스템 호출은 kexec_load 를 대체하며 이제 모든 아키텍처의 기본 시스템 호출입니다.

자세한 내용은 Is kexec_load supported in RHEL9? 를 참조하십시오.

Bugzilla:2113873[1]

RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음

teamd 서비스와 libteam 라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 대신 네트워크 팀 대신 본딩을 구성합니다.

Red Hat은 유사한 기능을 갖춘 두 가지 기능, 본딩 및 팀 유지를 방지하기 위해 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 높은 고객 채택을 보유하고 있으며 적극적인 커뮤니티 개발을 제공합니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 수신합니다.

팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션 을 참조하십시오.

Bugzilla:2013884[1]

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

RHEL 9.0에서 제거된 lvm2-activation-generator 및 생성된 서비스

lvm2-activation-generator 프로그램과 생성된 서비스 lvm2-activation,lvm2-activation-early, lvm2-activation-net 은 RHEL 9.0에서 제거됩니다. 서비스를 활성화하는 데 사용되는 lvm.conf event_activation 설정은 더 이상 작동하지 않습니다. 볼륨 그룹을 자동 활성화하는 유일한 방법은 이벤트 기반 활성화입니다.

Bugzilla:2038183

RHEL 9에서 영구 메모리 개발 키트(pmdk) 및 지원 라이브러리가 더 이상 사용되지 않음

pmdk 는 영구 메모리 장치 관리 및 액세스를 단순화하기 위한 시스템 관리자 및 애플리케이션 개발자를 위한 라이브러리 및 툴 컬렉션입니다. RHEL 9에서는 pmdk 및 지원 라이브러리가 더 이상 사용되지 않습니다. 여기에는 -debuginfo 패키지도 포함됩니다.

nvml 소스 패키지를 포함하여 pmdk 에서 생성한 다음 바이너리 패키지 목록은 더 이상 사용되지 않습니다.

  • libpmem
  • libpmem-devel
  • libpmem-debug
  • libpmem2
  • libpmem2-devel
  • libpmem2-debug
  • libpmemblk
  • libpmemblk-devel
  • libpmemblk-debug
  • libpmemlog
  • libpmemlog-devel
  • libpmemlog-debug
  • libpmemobj
  • libpmemobj-devel
  • libpmemobj-debug
  • libpmempool
  • libpmempool-devel
  • libpmempool-debug
  • pmempool
  • daxio
  • pmreorder
  • pmdk-convert
  • libpmemobj++
  • libpmemobj++-devel
  • libpmemobj++-doc

Jira:RHELDOCS-16432[1]

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

libdb 가 더 이상 사용되지 않음

RHEL 8 및 RHEL 9는 현재 LGPLv2 라이센스에 따라 배포되는 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)의 기술 자료 문서 사용 가능 대체 항목을 참조하십시오.

Bugzilla:1927780[1], Jira:RHELPLAN-80695, Bugzilla:1974657

10.9. 컴파일러 및 개발 도구

2048보다 작은 키 크기는 Go의 FIPS 모드에서 openssl 3.0에서 더 이상 사용되지 않습니다.

2048비트보다 작은 키 크기는 openssl 3.0에서 더 이상 사용되지 않으며 Go의 FIPS 모드에서 더 이상 작동하지 않습니다.

Bugzilla:2111072

일부 PKCS1 v1.5 모드는 Go의 FIPS 모드에서 더 이상 사용되지 않음

일부 PKCS1 v1.5 모드는 암호화를 위해 FIPS-140-3 에서 승인되지 않으며 비활성화되어 있습니다. Go의 FIPS 모드에서 더 이상 작동하지 않습니다.

Bugzilla:2092016[1]

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[1]

SSSD 파일 공급자가 더 이상 사용되지 않음

RHEL(Red Hat Enterprise Linux) 9에서는 SSSD 파일 공급자가 더 이상 사용되지 않습니다. 파일 공급자는 향후 RHEL 릴리스에서 제거될 수 있습니다.

Jira:RHELPLAN-139805[1]

nsslapd-ldapimaprootdn 매개변수가 더 이상 사용되지 않음

Directory Server에서 nsslapd-ldapimaprootdn 구성 매개 변수는 시스템 루트 항목을 루트 DN 항목에 매핑하는 데 사용됩니다. 일반적으로 nsslapd-ldapimaprootdn 매개변수의 값은 nsslapd-rootdn 매개변수와 동일합니다. 또한 하나의 속성을 변경하되 다른 속성을 변경하지 않으면 dsconf 유틸리티 및 웹 콘솔에 대한 액세스를 중단하는 작동하지 않는 자동 바인딩 구성으로 이어집니다.

이번 업데이트를 통해 Directory Server는 nsslapd-rootdn 매개변수만 사용하여 시스템 루트 항목을 루트 DN 항목에 매핑합니다. 결과적으로 nsslapd-ldapimaprootdn 매개변수가 더 이상 사용되지 않으며 root DN 변경으로 인해 dsconf 유틸리티와 웹 콘솔에 대한 액세스가 손상되지 않습니다.

Bugzilla:2170494

nsslapd-conntablesize 구성 매개변수가 389-ds-base에서 제거되었습니다.

nsslapd-conntablesize 구성 매개변수가 RHEL 9.3의 389-ds-base 패키지에서 제거되었습니다. 이전에는 nsslapd-conntablesize 구성 속성이 설정된 연결을 관리하는 연결 테이블의 크기를 지정했습니다. 설정된 연결의 관리를 개선하는 multi-listener 기능이 도입되면서 Directory Server는 이제 연결 테이블의 크기를 동적으로 계산합니다. 이렇게 하면 연결 테이블 크기가 너무 낮고 서버가 지원할 수 있는 연결 수에 영향을 미치는 경우에도 문제가 해결되었습니다. RHEL 9.3부터 nsslapd-maxdescriptorsnsslapd-reservedescriptors 속성만 사용하여 지원할 수 있는 TCP/IP 연결 수를 관리합니다.

Bugzilla:2098236

SMB1 프로토콜은 Samba에서 더 이상 사용되지 않음

Samba 4.11부터 비보안 SMB1(Server Message Block 버전 1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.

보안을 개선하기 위해 기본적으로 SMB1은 Samba 서버 및 클라이언트 유틸리티에서 비활성화되어 있습니다.

Jira:RHELDOCS-16612[1]

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[1]

LibreOffice가 더 이상 사용되지 않음

LibreOffice RPM 패키지는 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제거될 예정입니다. LibreOffice는 RHEL 7, 8 및 9의 전체 라이프 사이클을 통해 계속 지원됩니다.

RPM 패키지를 대체하기 위해 The Document Foundation에서 제공하는 다음 소스 중 하나에서 LibreOffice를 설치하는 것이 좋습니다.

Jira:RHELDOCS-16300[1]

10.12. 그래픽 인프라

motif가 더 이상 사용되지 않음

업스트림 Motif 커뮤니티의 개발이 비활성화되었기 때문에 RHEL에서 Motif 위젯 툴킷이 더 이상 사용되지 않습니다.

다음 Motif 패키지는 개발 및 디버깅 변형을 포함하여 더 이상 사용되지 않습니다.

  • motif
  • openmotif
  • openmotif21
  • openmotif22

또한 motif-static 패키지가 제거되었습니다.

Red Hat은 GTK 툴킷을 교체로 사용할 것을 권장합니다. GTK는 유지 보수가 가능하며 Motif에 비해 새로운 기능을 제공합니다.

Jira:RHELPLAN-98983[1]

10.13. Red Hat Enterprise Linux 시스템 역할

RHEL 9 노드에서 팀을 구성할 때 네트워크 시스템 역할에 사용 중단 경고가 표시됩니다.

RHEL 9에서는 네트워크 팀 기능이 더 이상 사용되지 않습니다. 결과적으로 RHEL 8 제어 노드에서 네트워크 RHEL 시스템 역할을 사용하여 RHEL 9 노드에서 네트워크 팀을 구성하면 사용 중단에 대한 경고가 표시됩니다.

Bugzilla:1999770

10.14. 가상화

SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인이 더 이상 사용되지 않음

UEFI (PE/COFF) 실행 파일에서 SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인을 수행하는 것은 더 이상 사용되지 않습니다. 대신 SHA2 알고리즘을 기반으로 서명을 사용하는 것이 좋습니다.

Bugzilla:1935497[1]

가상 머신 스냅샷에 대한 제한된 지원

가상 머신(VM)의 스냅샷 생성은 현재 UEFI 펌웨어를 사용하지 않는 VM에서만 지원됩니다. 또한 스냅샷 작업 중에 QEMU 모니터가 차단되어 특정 워크로드의 하이퍼바이저 성능에 부정적인 영향을 미칠 수 있습니다.

또한 VM 스냅샷 생성의 현재 메커니즘이 더 이상 사용되지 않으며 Red Hat은 프로덕션 환경에서 VM 스냅샷을 사용하는 것을 권장하지 않습니다. 그러나 새로운 VM 스냅샷 메커니즘이 개발 중이며 향후 RHEL 9의 마이너 릴리스에서 완전히 구현될 예정입니다.

Jira:RHELDOCS-16948[1], Bugzilla:1621944

가상 플로피 드라이버가 더 이상 사용되지 않음

가상 플로피 디스크 장치를 제어하는 isa-fdc 드라이버는 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 지원되지 않습니다. 따라서 마이그레이션된 VM(가상 머신)과의 호환성을 보장하기 위해 RHEL 9에서 호스팅되는 VM의 플로피 디스크 장치를 사용하지 않는 것이 좋습니다.

Bugzilla:1965079

qcow2-v2 이미지 형식이 더 이상 사용되지 않음

RHEL 9에서는 가상 디스크 이미지의 qcow2-v2 형식이 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 지원되지 않을 예정입니다. 또한 RHEL 9 이미지 빌더는 qcow2-v2 형식으로 디스크 이미지를 생성할 수 없습니다.

qcow2-v2 대신 Red Hat은 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[1]

libvirtd 가 더 이상 사용되지 않음

모놀리식 libvirt 데몬인 libvirtd 는 RHEL 9에서 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 제거됩니다. 하이퍼바이저에서 가상화를 관리하는 데 여전히 libvirtd 를 사용할 수 있지만 Red Hat은 새로 도입된 모듈식 libvirt 데몬으로 전환하는 것이 좋습니다. 자세한 내용은 RHEL 9 가상화 구성 및 관리 문서를 참조하십시오.

Jira:RHELPLAN-113995[1]

레거시 CPU 모델이 더 이상 사용되지 않음

상당한 수의 CPU 모델이 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 VM(가상 머신)에서 사용할 수 없습니다. 더 이상 사용되지 않는 모델은 다음과 같습니다.

  • Intel: Intel Xeon 55xx 및 75xx 프로세서 제품군 이전 모델 ( Nehalem라고도 함)
  • 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 기반 실시간 마이그레이션은 더 이상 사용되지 않음

이번 업데이트를 통해 RDMA(Remote Direct Memory Access)를 사용하여 실행 중인 가상 머신의 마이그레이션이 더 이상 사용되지 않습니다. 결과적으로 rdma:// 마이그레이션 URI를 사용하여 RDMA를 통한 마이그레이션을 요청할 수 있지만 이 기능은 향후 RHEL 주요 릴리스에서 지원되지 않습니다.

Jira:RHELPLAN-153267[1]

Intel vGPU 기능이 제거되었습니다.

이전에는 기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라는 여러 가상 장치로 나눌 수 있었습니다. 그런 다음 이러한 중재된 장치를 가상 GPU로 여러 VM(가상 머신)에 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유했지만 선택한 Intel GPU만 이 기능과 호환되었습니다.

RHEL 9.3부터 Intel vGPU 기능이 완전히 제거되었습니다.

Bugzilla:2206599[1]

10.15. 컨테이너

RHEL 7 호스트에서 RHEL 9 컨테이너를 실행하는 것은 지원되지 않습니다.

RHEL 7 호스트에서 RHEL 9 컨테이너를 실행하는 것은 지원되지 않습니다. 작동할 수 있지만 보장되지는 않습니다.

자세한 내용은 Red Hat Enterprise Linux 컨테이너 호환성 매트릭스 를 참조하십시오.

Jira:RHELPLAN-100087[1]

Podman 내의 SHA1 해시 알고리즘이 더 이상 사용되지 않음

rootless 네트워크 네임스페이스의 파일 이름을 생성하는 데 사용되는 SHA1 알고리즘은 Podman에서 더 이상 지원되지 않습니다. 따라서 Podman 4.1.1 이상으로 업데이트하기 전에 rootless 컨테이너가 시작되어 업그레이드 후 컨테이너에 연결할 수 있도록 네트워크에 가입한 경우( slirp4netns를 사용하는 것이 아님)를 다시 시작해야 합니다.

Bugzilla:2069279[1]

rhel9/pause 가 더 이상 사용되지 않음

rhel9/pause 컨테이너 이미지가 더 이상 사용되지 않습니다.

Bugzilla:2106816

CNI 네트워크 스택이 더 이상 사용되지 않음

CNI(Container Network Interface) 네트워크 스택은 더 이상 사용되지 않으며 RHEL의 향후 마이너 릴리스에서 Podman에서 제거됩니다. 이전에는 단일 CNI(Container Network Interface) 플러그인에 연결된 컨테이너는 DNS를 통해서만 연결되었습니다. podman v.4.0에는 새로운 Netavark 네트워크 스택이 도입되었습니다. Podman 및 기타 OCI(Open Container Initiative) 컨테이너 관리 애플리케이션과 함께 Netavark 네트워크 스택을 사용할 수 있습니다. Podman용 Netavark 네트워크 스택은 고급 Docker 기능과도 호환됩니다. 여러 네트워크의 컨테이너가 해당 네트워크의 컨테이너에 액세스할 수 있습니다.

자세한 내용은 CNI에서 Netavark로 네트워크 스택 전환 을 참조하십시오.

Jira:RHELDOCS-16756[1]

Inkscape 및 LibreOffice Flatpak 이미지는 더 이상 사용되지 않습니다.

기술 프리뷰로 사용할 수 있는 rhel9/inkscape-flatpak 및 rhel9/libre pak Flatpak 이미지는 더 이상 사용되지 않습니다.

Red Hat은 다음 이미지에 대해 다음 대안을 권장합니다.

Jira:RHELDOCS-17102[1]

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에서는 다음 패키지가 더 이상 사용되지 않습니다.

  • adwaita-gtk2-theme
  • autocorr-af
  • autocorr-bg
  • autocorr-ca
  • autocorr-cs
  • autocorr-da
  • autocorr-de
  • autocorr-dsb
  • autocorr-el
  • autocorr-en
  • autocorr-es
  • autocorr-fa
  • autocorr-fi
  • autocorr-fr
  • autocorr-ga
  • autocorr-hr
  • autocorr-hsb
  • autocorr-hu
  • autocorr-is
  • autocorr-it
  • autocorr-ja
  • autocorr-ko
  • autocorr-lb
  • autocorr-lt
  • autocorr-mn
  • autocorr-nl
  • autocorr-pl
  • autocorr-pt
  • autocorr-ro
  • autocorr-ru
  • autocorr-sk
  • autocorr-sl
  • autocorr-sr
  • autocorr-sv
  • autocorr-tr
  • autocorr-vi
  • autocorr-vro
  • autocorr-zh
  • Cheese
  • cheese-libs
  • clutter
  • clutter-gst3
  • clutter-gtk
  • cogl
  • daxio
  • dbus-glib
  • dbus-glib-devel
  • enchant
  • enchant-devel
  • EOG
  • 진화
  • evolution-bogofilter
  • evolution-devel
  • evolution-help
  • evolution-langpacks
  • evolution-mapi
  • evolution-mapi-langpacks
  • evolution-pst
  • evolution-spamassassin
  • 마케스트리
  • Farial-data
  • festvox-slt-arctic-hts
  • flite
  • flite-devel
  • Cryostat
  • gedit-plugin-bookmarks
  • gedit-plugin-bracketcompletion
  • gedit-plugin-codecomment
  • gedit-plugin-colorpicker
  • gedit-plugin-colorschemer
  • gedit-plugin-commander
  • gedit-plugin-drawspaces
  • gedit-plugin-findinfiles
  • gedit-plugin-joinlines
  • gedit-plugin-multiedit
  • gedit-plugin-sessionsaver
  • gedit-plugin-smartspaces
  • gedit-plugin-synctex
  • gedit-plugin-terminal
  • gedit-plugin-textsize
  • gedit-plugin-translate
  • gedit-plugin-wordcompletion
  • gedit-plugins
  • gedit-plugins-data
  • gnome-common
  • gnome-photos
  • gnome-photos-tests
  • gnome-screenshot
  • gnome-themes-extra
  • gtk2
  • gtk2-devel
  • gtk2-devel-docs
  • gtk2-immodule-xim
  • gtk2-immodules
  • highcontrast-icon-theme
  • Inkscape
  • Inkscape-docs
  • Inkscape-view
  • iptables-devel
  • iptables-libs
  • iptables-nft
  • iptables-nft-services
  • iptables-utils
  • libdb
  • libgdata
  • libgdata-devel
  • libpmem
  • libpmem-debug
  • libpmem-devel
  • libpmem2
  • libpmem2-debug
  • libpmem2-devel
  • libpmemblk
  • libpmemblk-debug
  • libpmemblk-devel
  • libpmemlog
  • libpmemlog-debug
  • libpmemlog-devel
  • libpmemobj
  • libpmemobj-debug
  • libpmemobj-devel
  • libpmempool
  • libpmempool-debug
  • libpmempool-devel
  • libreoffice
  • libreoffice-base
  • libreoffice-calc
  • libreoffice-core
  • libreoffice-data
  • libreoffice-draw
  • libreoffice-emailmerge
  • libreoffice-filters
  • libreoffice-gdb-debug-support
  • libreoffice-graphicfilter
  • libreoffice-gtk3
  • libreoffice-help-ar
  • libreoffice-help-bg
  • libreoffice-help-bn
  • libreoffice-help-ca
  • libreoffice-help-cs
  • libreoffice-help-da
  • libreoffice-help-de
  • libreoffice-help-dz
  • libreoffice-help-el
  • libreoffice-help-en
  • libreoffice-help-eo
  • libreoffice-help-es
  • libreoffice-help-et
  • libreoffice-help-eu
  • libreoffice-help-fi
  • libreoffice-help-fr
  • libreoffice-help-gl
  • libreoffice-help-gu
  • libreoffice-help-he
  • libreoffice-help-hi
  • libreoffice-help-hr
  • libreoffice-help-hu
  • libreoffice-help-id
  • libreoffice-help-it
  • libreoffice-help-ja
  • libreoffice-help-ko
  • libreoffice-help-lt
  • libreoffice-help-lv
  • libreoffice-help-nb
  • libreoffice-help-nl
  • libreoffice-help-nn
  • libreoffice-help-pl
  • libreoffice-help-pt-BR
  • libreoffice-help-pt-PT
  • libreoffice-help-ro
  • libreoffice-help-ru
  • libreoffice-help-si
  • libreoffice-help-sk
  • libreoffice-help-sl
  • libreoffice-help-sv
  • libreoffice-help-ta
  • libreoffice-help-tr
  • libreoffice-help-uk
  • libreoffice-help-zh-Hans
  • libreoffice-help-zh-Hant
  • libreoffice-impress
  • libreoffice-langpack-af
  • libreoffice-langpack-ar
  • libreoffice-langpack-as
  • libreoffice-langpack-bg
  • libreoffice-langpack-bn
  • libreoffice-langpack-br
  • libreoffice-langpack-ca
  • libreoffice-langpack-cs
  • libreoffice-langpack-cy
  • libreoffice-langpack-da
  • libreoffice-langpack-de
  • libreoffice-langpack-dz
  • libreoffice-langpack-el
  • libreoffice-langpack-en
  • libreoffice-langpack-eo
  • libreoffice-langpack-es
  • libreoffice-langpack-et
  • libreoffice-langpack-eu
  • libreoffice-langpack-fa
  • libreoffice-langpack-fi
  • libreoffice-langpack-fr
  • libreoffice-langpack-fy
  • libreoffice-langpack-ga
  • libreoffice-langpack-gl
  • libreoffice-langpack-gu
  • libreoffice-langpack-he
  • libreoffice-langpack-hi
  • libreoffice-langpack-hr
  • libreoffice-langpack-hu
  • libreoffice-langpack-id
  • libreoffice-langpack-it
  • libreoffice-langpack-ja
  • libreoffice-langpack-kk
  • libreoffice-langpack-kn
  • libreoffice-langpack-ko
  • libreoffice-langpack-lt
  • libreoffice-langpack-lv
  • libreoffice-langpack-mai
  • libreoffice-langpack-ml
  • libreoffice-langpack-mr
  • libreoffice-langpack-nb
  • libreoffice-langpack-nl
  • libreoffice-langpack-nn
  • libreoffice-langpack-nr
  • libreoffice-langpack-nso
  • libreoffice-langpack-or
  • libreoffice-langpack-pa
  • libreoffice-langpack-pl
  • libreoffice-langpack-pt-BR
  • libreoffice-langpack-pt-PT
  • libreoffice-langpack-ro
  • libreoffice-langpack-ru
  • libreoffice-langpack-si
  • libreoffice-langpack-sk
  • libreoffice-langpack-sl
  • libreoffice-langpack-sr
  • libreoffice-langpack-ss
  • libreoffice-langpack-st
  • libreoffice-langpack-sv
  • libreoffice-langpack-ta
  • libreoffice-langpack-te
  • libreoffice-langpack-th
  • libreoffice-langpack-tn
  • libreoffice-langpack-tr
  • libreoffice-langpack-ts
  • libreoffice-langpack-uk
  • libreoffice-langpack-ve
  • libreoffice-langpack-xh
  • libreoffice-langpack-zh-Hans
  • libreoffice-langpack-zh-Hant
  • libreoffice-langpack-zu
  • libreoffice-math
  • libreoffice-ogltrans
  • libreoffice-opensymbol-fonts
  • libreoffice-pdfimport
  • libreoffice-pyuno
  • libreoffice-sdk
  • libreoffice-sdk-doc
  • libreoffice-ure
  • libreoffice-ure-common
  • libreoffice-wiki-publisher
  • libreoffice-writer
  • libreoffice-x11
  • libreoffice-xsltfilter
  • libreofficekit
  • libsoup
  • libsoup-devel
  • libuser
  • libuser-devel
  • libwpe
  • libwpe-devel
  • mcpp
  • mod_auth_mellon
  • motif
  • motif-devel
  • pmdk-convert
  • pmempool
  • python3-pytz
  • qt5
  • qt5-assistant
  • qt5-designer
  • qt5-devel
  • qt5-doctools
  • qt5-linguist
  • qt5-qdbusviewer
  • qt5-qt3d
  • qt5-qt3d-devel
  • qt5-qt3d-doc
  • qt5-qt3d-examples
  • qt5-qtbase
  • qt5-qtbase-common
  • qt5-qtbase-devel
  • qt5-qtbase-doc
  • qt5-qtbase-examples
  • qt5-qtbase-gui
  • qt5-qtbase-mysql
  • qt5-qtbase-odbc
  • qt5-qtbase-postgresql
  • qt5-qtbase-private-devel
  • qt5-qtbase-static
  • qt5-qtconnectivity
  • qt5-qtconnectivity-devel
  • qt5-qtconnectivity-doc
  • qt5-qtconnectivity-examples
  • qt5-qtdeclarative
  • qt5-qtdeclarative-devel
  • qt5-qtdeclarative-doc
  • qt5-qtdeclarative-examples
  • qt5-qtdeclarative-static
  • qt5-qtdoc
  • qt5-qtgraphicaleffects
  • qt5-qtgraphicaleffects-doc
  • qt5-qtimageformats
  • qt5-qtimageformats-doc
  • qt5-qtlocation
  • qt5-qtlocation-devel
  • qt5-qtlocation-doc
  • qt5-qtlocation-examples
  • qt5-qtmultimedia
  • qt5-qtmultimedia-devel
  • qt5-qtmultimedia-doc
  • qt5-qtmultimedia-examples
  • qt5-qtquickcontrols
  • qt5-qtquickcontrols-doc
  • qt5-qtquickcontrols-examples
  • qt5-qtquickcontrols2
  • qt5-qtquickcontrols2-devel
  • qt5-qtquickcontrols2-doc
  • qt5-qtquickcontrols2-examples
  • qt5-qtscript
  • qt5-qtscript-devel
  • qt5-qtscript-doc
  • qt5-qtscript-examples
  • qt5-qtsensors
  • qt5-qtsensors-devel
  • qt5-qtsensors-doc
  • qt5-qtsensors-examples
  • qt5-qtserialbus
  • qt5-qtserialbus-devel
  • qt5-qtserialbus-doc
  • qt5-qtserialbus-examples
  • qt5-qtserialport
  • qt5-qtserialport-devel
  • qt5-qtserialport-doc
  • qt5-qtserialport-examples
  • qt5-qtsvg
  • qt5-qtsvg-devel
  • qt5-qtsvg-doc
  • qt5-qtsvg-examples
  • qt5-qttools
  • qt5-qttools-common
  • qt5-qttools-devel
  • qt5-qttools-doc
  • qt5-qttools-examples
  • qt5-qttools-libs-designer
  • qt5-qttools-libs-designercomponents
  • qt5-qttools-libs-help
  • qt5-qttools-static
  • qt5-qttranslations
  • qt5-qtwayland
  • qt5-qtwayland-devel
  • qt5-qtwayland-doc
  • qt5-qtwayland-examples
  • qt5-qtwebchannel
  • qt5-qtwebchannel-devel
  • qt5-qtwebchannel-doc
  • qt5-qtwebchannel-examples
  • qt5-qtwebsockets
  • qt5-qtwebsockets-devel
  • qt5-qtwebsockets-doc
  • qt5-qtwebsockets-examples
  • qt5-qtx11extras
  • qt5-qtx11extras-devel
  • qt5-qtx11extras-doc
  • qt5-qtxmlpatterns
  • qt5-qtxmlpatterns-devel
  • qt5-qtxmlpatterns-doc
  • qt5-qtxmlpatterns-examples
  • qt5-rpm-macros
  • qt5-srpm-macros
  • webkit2gtk3
  • webkit2gtk3-devel
  • webkit2gtk3-jsc
  • webkit2gtk3-jsc-devel
  • wpebackend-fdo
  • wpebackend-fdo-devel
  • xorg-x11-server-Xorg

11장. 확인된 문제

이 부분에서는 Red Hat Enterprise Linux 9.3의 알려진 문제에 대해 설명합니다.

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

authauthconfig Kickstart 명령에는 AppStream 리포지토리가 필요

authselect-compat 패키지는 설치하는 동안 authauthconfig Kickstart 명령이 필요합니다. 이 패키지가 없으면 auth 또는 authconfig가 사용되는 경우 설치에 실패합니다. 설계에 따라 authselect-compat 패키지는 AppStream 리포지토리에서만 사용할 수 있습니다.

이 문제를 해결하려면 설치 프로그램에서 BaseOS 및 AppStream 리포지토리를 사용할 수 있는지 확인하거나 설치 중에 authselect Kickstart 명령을 사용합니다.

Bugzilla:1640697[1]

reboot --kexecinst.kexec 명령은 예측 가능한 시스템 상태를 제공하지 않습니다.

reboot --kexec Kickstart 명령 또는 inst.kexec 커널 부팅 매개변수를 사용하여 RHEL 설치를 수행하면 전체 재부팅과 동일한 예측 가능한 시스템 상태가 제공되지 않습니다. 결과적으로 재부팅하지 않고 설치된 시스템으로 전환하면 예기치 않은 결과가 발생할 수 있습니다.

kexec 기능은 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 릴리스에서 제거될 예정입니다.

Bugzilla:1697896[1]

Anaconda가 애플리케이션으로 실행되는 시스템에서 예기치 않은 SELinux 정책

Anaconda가 이미 설치된 시스템에서 애플리케이션으로 실행 중인 경우(예: -image anaconda 옵션을 사용하여 이미지 파일에 다른 설치를 수행하기 위해) 설치 중에 SELinux 유형과 속성을 수정하는 것은 금지되지 않습니다. 결과적으로 Anaconda가 실행 중인 시스템에서 SELinux 정책의 특정 요소가 변경될 수 있습니다.

이 문제를 해결하려면 프로덕션 시스템에서 Anaconda를 실행하지 마십시오. 대신 임시 가상 시스템에서 Anaconda를 실행하여 프로덕션 시스템에서 SELinux 정책을 변경하지 않고 유지합니다. boot.iso 또는 dvd.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[1]

Anaconda에서 USB CD-ROM 드라이브를 설치 소스로 사용할 수 없습니다.

USB CD-ROM 드라이브가 소스이고 Kickstart ignoredisk --only-use= 명령이 지정되면 설치에 실패합니다. 이 경우 Anaconda에서 이 소스 디스크를 찾아서 사용할 수 없습니다.

이 문제를 해결하려면 harddrive --partition=sdX --dir=/ 명령을 사용하여 USB CD-ROM 드라이브에서 설치합니다. 이로 인해 설치에 실패하지 않습니다.

Jira:RHEL-4707

iso9660 파일 시스템이 있는 하드 드라이브 파티셔닝 설치 실패

하드 드라이브가 iso9660 파일 시스템으로 분할되는 시스템에는 RHEL을 설치할 수 없습니다. 이는 iso9660 파일 시스템 파티션이 포함된 하드 디스크를 무시하도록 설정된 업데이트된 설치 코드 때문입니다. 이는 DVD를 사용하지 않고 RHEL을 설치하는 경우에도 발생합니다.

이 문제를 해결하려면 Kickstart 파일에 다음 스크립트를 추가하여 설치가 시작되기 전에 디스크를 포맷합니다.

참고: 해결 방법을 수행하기 전에 디스크에서 사용 가능한 데이터를 백업하십시오. wipefs 명령은 디스크의 모든 기존 데이터를 포맷합니다.

%pre
wipefs -a /dev/sda
%end

결과적으로 설치는 오류 없이 예상대로 작동합니다.

Jira:RHEL-4711

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 커널은 XFS 파일 시스템에 bigtime=1inobtcount=1 기능을 도입하여 버전 5.10 이전의 펌웨어 커널을 인식하지 못합니다.

이 문제를 해결하려면 /boot (예: ext4 )에 다른 파일 시스템을 사용할 수 있습니다.

Bugzilla:1997832[1]

rpm-ostree 페이로드를 설치할 때 RHEL for Edge 설치 관리자 이미지가 마운트 지점을 생성하지 못했습니다

예를 들어 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) 및 다음 표준 디렉터리( /, /boot,/var )입니다.

결과적으로 설치 프로세스가 성공적으로 완료됩니다.

Jira:RHEL-4741

네트워크에 연결할 때 설치 후 NetworkManager가 시작되지 않지만 DHCP 또는 고정 IP 주소가 구성되지 않은 경우

RHEL 9.0부터 특정 ip= 또는 Kickstart 네트워크 구성이 설정되지 않은 경우 Anaconda는 네트워크 장치를 자동으로 활성화합니다. 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[1]

설치 환경의 드라이버 업데이트 디스크에서 업데이트된 드라이버를 로드할 수 없음

설치 초기 RM 디스크의 동일한 드라이버가 이미 로드된 경우 드라이버 업데이트 디스크의 새 버전의 드라이버가 로드되지 않을 수 있습니다. 결과적으로 업데이트된 버전의 드라이버를 설치 환경에 적용할 수 없습니다.

이 문제를 해결하려면 inst.dd 옵션과 함께 modprobe.blacklist= 커널 명령줄 옵션을 사용합니다. 예를 들어 드라이버 업데이트 디스크에서 virtio_blk 드라이버의 업데이트된 버전이 로드되었는지 확인하려면 modprobe.blacklist=virtio_blk 를 사용하여 드라이버 업데이트 디스크의 드라이버를 적용합니다. 결과적으로 시스템은 업데이트된 버전의 드라이버를 로드하여 설치 환경에서 사용할 수 있습니다.

Jira:RHEL-4762

Kickstart 설치가 네트워크 연결을 구성하지 못했습니다

Anaconda는 NetworkManager API를 통해서만 Kickstart 네트워크 구성을 수행합니다. Anaconda는 %pre Kickstart 섹션 뒤에 네트워크 구성을 처리합니다. 결과적으로 Kickstart %pre 섹션의 일부 작업이 차단되었습니다. 예를 들어 %pre 섹션에서 패키지를 다운로드하는 것은 네트워크 구성을 사용할 수 없기 때문에 실패합니다.

이 문제를 해결하려면 다음을 수행합니다.

  • 예를 들어 nmcli 툴을 %pre 스크립트의 일부로 사용하여 네트워크를 구성합니다.
  • 설치 프로그램 부팅 옵션을 사용하여 %pre 스크립트의 네트워크를 구성합니다.

결과적으로 %pre 섹션의 작업에 네트워크를 사용할 수 있으며 Kickstart 설치 프로세스가 완료됩니다.

Bugzilla:2173992

RHEL 이미지 빌더로 rpm-ostree 이미지를 빌드할 때 FIPS 모드 활성화는 지원되지 않습니다.

현재 RHEL 이미지 빌더를 사용하여 rpm-ostree 이미지를 빌드할 때 FIPS 모드를 활성화할 수 없습니다.

Jira:RHEL-4655

stig 프로필 수정을 사용하여 빌드된 이미지가 FIPS 오류로 부팅되지 않음

RHEL 이미지 빌더에서 FIPS 모드를 지원하지 않습니다. xccdf_org.ssgproject.content_profile_stig 프로필 수정으로 사용자 정의된 RHEL 이미지 빌더를 사용하면 다음 오류와 함께 시스템이 부팅되지 않습니다.

Warning: /boot//.vmlinuz-<kernel version>.x86_64.hmac does not exist
FATAL: FIPS integrity test failed
Refusing to continue

fips-mode-setup --enable 명령을 사용하여 시스템 이미지 설치 후 수동으로 FIPS 정책을 활성화하면 /boot 디렉터리가 다른 파티션에 있기 때문에 작동하지 않습니다. FIPS가 비활성화된 경우 시스템이 성공적으로 부팅됩니다. 현재는 사용할 수 있는 해결방법이 없습니다.

참고

fips-mode-setup --enable 명령을 사용하여 이미지를 설치한 후 수동으로 FIPS를 활성화할 수 있습니다.

Jira:RHEL-4649

드라이버 디스크 메뉴가 콘솔에 사용자 입력을 표시하지 못했습니다

드라이버 디스크와 함께 커널 명령행에서 inst.dd 옵션을 사용하여 RHEL 설치를 시작하면 콘솔에 사용자 입력이 표시되지 않습니다. 결과적으로 애플리케이션이 사용자 입력에 응답하지 않고 응답을 중지하지만 사용자에게 혼동되는 출력이 표시됩니다. 그러나 이 동작은 기능에 영향을 미치지 않으며 Enter 를 누른 후 사용자 입력이 등록됩니다.

해결 방법으로 예상 결과를 보려면 콘솔에 사용자 입력이 없는 것을 무시하고 입력 추가 완료 시 Enter 키를 누릅니다.

Jira:RHEL-4737

11.2. 보안

PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명 생성을 지원하는 경우 OpenSSL이 탐지되지 않음

TLS 1.3 프로토콜은 RSA-PSS 서명을 지원해야 합니다. PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 경우 PKCS #11 토큰이 있는 경우 OpenSSL 라이브러리를 사용하는 서버 애플리케이션이 RSA 키로 작동하지 않습니다. 결과적으로 설명된 시나리오에서 TLS 통신이 실패합니다.

이 문제를 해결하려면 TLS 버전 1.2를 사용 가능한 최고 TLS 프로토콜 버전으로 사용하도록 서버 및 클라이언트를 구성합니다.

Bugzilla:1681178[1]

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[1]

특정 구문을 사용하여 자체적으로 복사된 파일을 scp empties합니다.

scp 유틸리티는 SCP(Secure copy protocol)에서 더 안전한 SSH 파일 전송 프로토콜(SFTP)으로 변경되었습니다. 결과적으로 위치에서 동일한 위치로 파일을 복사하면 파일 콘텐츠가 지워집니다. 이 문제는 다음 구문에 영향을 미칩니다.

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 맞춤형 프로필에 대해 그래픽 설치를 사용할 수 있습니다.

Jira:RHEL-1824

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 콘텐츠를 활성화하는 것으로 제한됩니다.

Jira:RHEL-1800

Keylime이 연결된 PEM 인증서를 허용하지 않음

Keylime이 단일 파일에 연결된 PEM 형식의 여러 인증서로 인증서 체인을 수신하면 keylime-agent-rust Keylime 구성 요소가 서명 확인 중에 제공된 모든 인증서를 올바르게 사용하지 않아 TLS 핸드셰이크 오류가 발생합니다. 결과적으로 클라이언트 구성 요소(keylime_verifierkeylime_tenant)는 Keylime 에이전트에 연결할 수 없습니다. 이 문제를 해결하려면 여러 인증서 대신 하나의 인증서만 사용하십시오.

Jira:RHELPLAN-157225[1]

Keylime은 다이제스트가 백슬래시로 시작하는 런타임 정책을 거부합니다.

런타임 정책 생성을 위한 현재 스크립트인 create_runtime_policy.sh 에서는 SHA 체크섬 함수(예: sha256sum )를 사용하여 파일 다이제스트를 계산합니다. 그러나 입력 파일 이름에 백슬래시 또는 \n 이 포함된 경우 체크섬 함수는 출력의 다이제스트 앞에 백슬래시를 추가합니다. 이러한 경우 생성된 정책 파일이 잘못된 형식으로 표시됩니다. 잘못된 형식의 정책 파일을 제공하면 Keylime 테넌트에서 다음과 같은 오류 메시지를 생성합니다 . me.tenant - ERROR - 응답 코드 400: 런타임 정책은 잘못된 형식 입니다. 이 문제를 해결하려면 다음 명령을 입력하여 잘못된 정책 파일에서 백슬래시를 수동으로 제거하십시오. sed -i 's/^\\//g' <malformed_file_name>.

Jira:RHEL-11867[1]

Keylime 에이전트는 업데이트 후 확인자 요청 거부

Keylime 에이전트의 API 버전 번호(keylime-agent-rust)가 업데이트되면 에이전트는 다른 버전을 사용하는 요청을 거부합니다. 결과적으로 Keylime 에이전트가 확인자에 추가된 후 업데이트되면 확인자가 이전 API 버전을 사용하여 에이전트에 연결을 시도합니다. 에이전트는 이 요청을 거부하고 인증에 실패합니다. 이 문제를 해결하려면 에이전트를 업데이트하기 전에 검증자(keylime-verifier)를 업데이트합니다(keylime-agent-rust). 결과적으로 에이전트가 업데이트되면 검증기에서 API 변경을 감지하고 그에 따라 저장된 데이터를 업데이트합니다.

Jira:RHEL-1518[1]

fapolicyd 유틸리티에서 변경된 파일을 잘못 실행할 수 있습니다.

올바르게 파일의 IMA 해시는 파일을 변경한 후 업데이트해야 하며 fapolicyd 는 변경된 파일의 실행을 방지해야 합니다. 그러나 이는 IMA 정책 설정의 차이점과 evctml 유틸리티의 파일 해시로 인해 발생하지 않습니다. 결과적으로 IMA 해시는 변경된 파일의 확장된 속성에서 업데이트되지 않습니다. 결과적으로 fapolicyd 에서 변경된 파일을 잘못 실행할 수 있습니다.

Jira:RHEL-520[1]

기본 SELinux 정책을 사용하면 제한되지 않은 실행 파일이 스택을 실행 가능하게 만들 수 있습니다.

SELinux 정책에서 selinuxuser_execstack 부울의 기본 상태는 on입니다. 즉, 제한되지 않은 실행 파일이 스택을 실행 가능하게 만들 수 있습니다. 실행 파일은 이 옵션을 사용하지 않아야 하며 잘못 코딩된 실행 파일 또는 가능한 공격을 나타낼 수 있습니다. 그러나 다른 툴, 패키지 및 타사 제품과의 호환성으로 인해 Red Hat은 기본 정책의 부울 값을 변경할 수 없습니다. 시나리오가 이러한 호환성 측면에 의존하지 않는 경우 setsebool -P selinuxuser_execstack off 명령을 입력하여 로컬 정책에서 부울을 끌 수 있습니다.

Bugzilla:2064274

STIG 프로필의 SSH 시간 제한 규칙에서 잘못된 옵션 구성

OpenSSH 업데이트는 다음 Defense Information Systems Agency Security Technical Implementation Guide (DISA STIG) 프로파일의 규칙에 영향을 미쳤습니다.

  • DISA STIG for RHEL 9 (xccdf_org.ssgproject.content_profile_stig)
  • DISA STIG with GUI for RHEL 9 (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 for RHEL 9 프로필의 DISA STIG에서 일시적으로 제거되었습니다.

Bugzilla:2038978

GnuPG는 crypto-policies에서 허용하지 않는 경우에도 SHA-1 서명을 잘못 사용할 수 있습니다.

GNU Privacy Guard(GnuPG) 암호화 소프트웨어는 시스템 전체 암호화 정책에 정의된 설정과 관계없이 SHA-1 알고리즘을 사용하는 서명을 생성하고 확인할 수 있습니다. 결과적으로 DEFAULT 암호화 정책의 암호화 목적으로 SHA-1을 사용할 수 있습니다. 이는 서명에 대해 안전하지 않은 알고리즘의 시스템 전체 사용 중단과 일치하지 않습니다.

이 문제를 해결하려면 SHA-1과 관련된 GnuPG 옵션을 사용하지 마십시오. 결과적으로 GnuPG가 비보안 SHA-1 서명을 사용하여 기본 시스템 보안을 낮추지 않도록 합니다.

Bugzilla:2070722

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.3. RHEL for Edge

edge-vsphere 이미지에서 open-vm-tools 패키지를 사용할 수 없습니다.

현재 open-vm-tools 패키지는 기본적으로 edge-vsphere 이미지에 설치되지 않습니다. 이 문제를 해결하려면 블루프린트 사용자 지정에 패키지를 포함합니다. edge-vsphere 이미지 유형을 사용하는 경우 RHEL for Edge Container 이미지 또는 RHEL for Edge 커밋 이미지의 블루프린트에 open-vm-tools 를 추가합니다.

Jira:RHELDOCS-16574[1]

11.4. 소프트웨어 관리

설치 프로세스가 응답하지 않는 경우가 있음

RHEL을 설치하면 설치 프로세스가 응답하지 않는 경우가 있습니다. /tmp/packaging.log 파일에는 끝에 다음 메시지가 표시됩니다.

10:20:56,416 DDEBUG dnf: RPM transaction over.

이 문제를 해결하려면 설치 프로세스를 다시 시작하십시오.

Bugzilla:2073510

로컬 리포지토리에서 createrepo_c 를 실행하면 중복 repodata 파일이 생성됩니다.

로컬 리포지토리에서 createrepo_c 명령을 실행하면 repodata 파일의 중복 복사본을 생성합니다. 사본 중 하나는 압축되어 있지 않습니다. 사용 가능한 해결방법은 없지만 중복 파일을 무시해도 됩니다. createrepo_c 명령은 createrepo_c 를 사용하여 생성된 리포지토리에 의존하는 다른 툴의 요구 사항 및 차이로 인해 중복 복사본을 생성합니다.

Bugzilla:2056318

11.5. 쉘 및 명령행 툴

ifcfg 파일을 사용하여 네트워크 인터페이스 이름 변경 실패

RHEL 9에서는 initscripts 패키지가 기본적으로 설치되지 않습니다. 결과적으로 ifcfg 파일을 사용하여 네트워크 인터페이스 이름을 변경할 수 없습니다. 이 문제를 해결하려면 udev 규칙 또는 링크 파일을 사용하여 인터페이스 이름을 바꾸는 것이 좋습니다. 자세한 내용은 Consistent 네트워크 인터페이스 장치 이름 지정systemd.link(5) 도움말 페이지를 참조하십시오.

권장 솔루션 중 하나를 사용할 수 없는 경우 initscripts 패키지를 설치합니다.

Bugzilla:2018112[1]

chkconfig 패키지는 RHEL 9에 기본적으로 설치되지 않음

시스템 서비스에 대한 실행 수준 정보를 업데이트하고 쿼리하는 chkconfig 패키지는 RHEL 9에 기본적으로 설치되지 않습니다.

서비스를 관리하려면 systemctl 명령을 사용하거나 chkconfig 패키지를 수동으로 설치합니다.

systemd 에 대한 자세한 내용은 systemd 소개를 참조하십시오. systemctl 유틸리티를 사용하는 방법에 대한 자세한 내용은 systemctl을 사용하여 시스템 서비스 관리를 참조하십시오.

Bugzilla:2053598[1]

콘솔 키맵 을 설정하려면 최소 설치 시 libxkbcommon 라이브러리가 필요합니다.

RHEL 9에서는 특정 systemd 라이브러리 종속성이 동적 연결에서 동적 로드로 변환되어 시스템이 열려 있을 때 런타임 시 라이브러리가 열립니다. 이 변경으로 필요한 라이브러리를 설치하지 않는 한 이러한 라이브러리에 종속되는 기능을 사용할 수 없습니다. 이는 최소 설치가 있는 시스템의 키보드 레이아웃 설정에도 영향을 미칩니다. 그 결과 localectl --no-convert set-x11-keymap gb 명령이 실패합니다.

이 문제를 해결하려면 libxkbcommon 라이브러리를 설치합니다.

# dnf install libxkbcommon

Jira:RHEL-6105

Cryo stat 패키지의 %vmeff 메트릭에 잘못된 값이 표시됩니다.

Cryo stat 패키지는 %vmeff 메트릭을 제공하여 페이지 회수 효율성을 측정합니다. Cryostat는 이후 커널 버전에서 제공하는 모든 관련 /proc/vm stat 값을 구문 분석하지 않기 때문에 sar -B 명령에서 반환된 %vmeff 열의 값이 올바르지 않습니다. 이 문제를 해결하려면 /proc/vmstat 파일에서 %vmeff 값을 수동으로 계산할 수 있습니다. 자세한 내용은 sar(1) 툴이 RHEL 8 및 RHEL 9에서 % 100 %를 초과하는 %를 보고하는이유를 참조하십시오.

Jira:RHEL-12009

SLP(Service Location Protocol)는 UDP를 통한 공격에 취약합니다.

OpenSLP는 프린터 및 파일 서버와 같은 로컬 영역 네트워크의 애플리케이션에 대한 동적 구성 메커니즘을 제공합니다. 그러나 SLP는 인터넷에 연결된 시스템에서 UDP를 통한 서비스 확장 공격에 취약합니다. SLP를 사용하면 인증되지 않은 공격자가 SLP 구현에 의해 설정된 제한 없이 새 서비스를 등록할 수 있습니다. UDP를 사용하여 소스 주소를 스푸핑하면 공격자는 서비스 목록을 요청하여 스푸핑된 주소에 서비스 거부를 생성할 수 있습니다.

외부 공격자가 SLP 서비스에 액세스하지 못하도록 인터넷에 직접 연결된 네트워크와 같이 신뢰할 수 없는 네트워크에서 SLP를 비활성화합니다. 또는 이 문제를 해결하려면 UDP 및 TCP 포트 427에서 트래픽을 차단하거나 필터링하도록 방화벽을 구성합니다.

Jira:RHEL-6995[1]

11.6. 인프라 서비스

bindunbound 모두 SHA-1 기반 서명의 검증을 비활성화합니다.

바인딩 및 바인딩 되지 않은 구성 요소는 모든 RSA/SHA1(알고리치 번호 5) 및 RSASHA1-NSEC3-SHA1(algorithm 번호 7) 서명의 유효성 검사를 비활성화하며 서명에 대한 SHA-1 사용은 DEFAULT 시스템 전체 암호화 정책에서 제한됩니다.

결과적으로 SHA-1, RSA/SHA1 및 RSASHA1-NSEC3-SHA1 다이제스트 알고리즘과 서명된 특정 DNSSEC 레코드가 Red Hat Enterprise Linux 9에서 확인하지 못하고 영향을 받는 도메인 이름이 취약해집니다.

이 문제를 해결하려면 RSA/SHA-256 또는 elliptic 곡선 키와 같은 다른 서명 알고리즘으로 업그레이드하십시오.

영향을 받는 도메인 및 영향을 받는 최상위 도메인 목록은 RSASHA1로 서명된 DNSSEC 레코드가 솔루션을 확인하지 못했습니다.

Bugzilla:2070495

동일한 쓰기 가능 영역 파일이 여러 영역에서 사용되는 경우 named 가 시작되지 않습니다.

BIND에서는 여러 영역에서 동일한 쓰기 가능 영역 파일을 허용하지 않습니다. 결과적으로 구성에 이름이 지정된 서비스에서 수정할 수 있는 파일의 경로를 공유하는 여러 영역이 포함된 경우 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

11.7. 네트워킹

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[1]

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[1]

세션 키를 업데이트하지 않으면 연결이 중단됨

kTLS(커널 전송 계층 보안) 프로토콜은 대칭 암호화에서 사용되는 세션 키 업데이트를 지원하지 않습니다. 결과적으로 사용자가 키를 업데이트할 수 없으므로 연결이 끊어집니다. 이 문제를 해결하려면 kTLS를 비활성화합니다. 결과적으로 해결방법을 사용하면 세션 키를 성공적으로 업데이트할 수 있습니다.

Bugzilla:2013650[1]

initscripts 패키지는 기본적으로 설치되지 않습니다.

기본적으로 initscripts 패키지는 설치되지 않습니다. 결과적으로 ifupifdown 유틸리티를 사용할 수 없습니다. 또는 nmcli connection upnmcli connection down 명령을 사용하여 연결을 활성화 및 비활성화합니다. 제안된 대체 방법이 작동하지 않는 경우 문제를 보고하고 ifupifdown 유틸리티에 대한 NetworkManager 솔루션을 제공하는 NetworkManager-initscripts-updown 패키지를 설치합니다.

Bugzilla:2082303

Mellanox ConnectX-5 어댑터를 사용하는 동안 mlx5 드라이버가 실패합니다.

이더넷 스위치 장치 드라이버 모델(switchdev) 모드에서 mlx5 드라이버는 장치 관리 흐름 스트링(DMFS) 매개변수 및 ConnectX-5 어댑터 지원 하드웨어를 사용하여 구성된 경우 실패합니다. 결과적으로 다음과 같은 오류 메시지가 표시됩니다.

BUG: Bad page cache in process umount pfn:142b4b

이 문제를 해결하려면 DMFS 대신SMFS(Software managed flow steering) 매개변수를 사용하십시오.

Jira:RHEL-9897[1]

Intel® i40e 어댑터가 IBM Power10에서 영구적으로 실패합니다.

IBM Power10 시스템에서 i40e 어댑터가 I/O 오류가 발생하면EEH(Enhanced I/O Error Handling) 커널 서비스가 네트워크 드라이버의 재설정 및 복구를 트리거합니다. 그러나 EEH는 i40e 드라이버가 사전 정의된 최대 EEH 정지에 도달할 때까지 I/O 오류를 반복적으로 보고합니다. 결과적으로 EEH로 인해 장치가 영구적으로 실패합니다.  

Jira:RHEL-15404[1]

xdp-loader features 명령 실패

xdp-loader 유틸리티는 이전 버전의 libbpf 에 대해 컴파일되었습니다. 그 결과 xdp-loader features 명령이 오류와 함께 실패합니다.

Cannot display features, because xdp-loader was compiled against an old version of libbpf without support for querying features.

해결방법은 없습니다. 따라서 xdp-loader features 명령을 사용하여 인터페이스 기능을 표시할 수 없습니다.

Jira:RHEL-3382[1]

11.8. 커널

커널의 kdump 메커니즘으로 인해 64K 커널에서 OOM 오류가 발생합니다.

64비트 ARM 아키텍처의 64K 커널 페이지 크기는 4KB 커널보다 더 많은 메모리를 사용합니다. 결과적으로 kdump 로 인해 커널 패닉이 발생하고 메모리 할당이 OOM(메모리 부족) 오류로 인해 실패합니다. 작업에 따라 crashkernel 값을 640MB로 수동으로 구성합니다. 예를 들어 crashkernel= 매개 변수를 crashkernel=2G- :640M 로 설정합니다.

결과적으로 kdump 메커니즘은 설명된 시나리오의 64K 커널에서 실패하지 않습니다.

Bugzilla:2160676[1]

커널 페이지 크기에 따라 종속 항목이 있는 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다.

RHEL은 4k 및 64k 페이지 크기 커널과 호환됩니다. 4k 커널 페이지 크기에 종속된 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다. 알려진 인스턴스에는 jemalloc 및 종속 애플리케이션이 포함됩니다.

jemalloc 메모리 al Cryostat 라이브러리는 시스템의 런타임 환경에서 사용되는 페이지 크기에 민감합니다. 라이브러리는 4k 및 64k 페이지 크기 커널(예: --with-lg-page=16 또는 env JEMALLOC_SYS_WITH_LG_PAGE=16 )과 호환되도록 빌드할 수 있습니다. 결과적으로 런타임 환경의 페이지 크기와 jemalloc 에 의존하는 바이너리를 컴파일할 때 존재하는 페이지 크기 간에 불일치가 발생할 수 있습니다. 결과적으로 jemalloc기반 애플리케이션을 사용하면 다음 오류가 트리거됩니다.

<jemalloc>: Unsupported system page size

이 문제를 방지하려면 다음 방법 중 하나를 사용하십시오.

  • 적절한 빌드 구성 또는 환경 옵션을 사용하여 4k 및 64k 페이지 크기 호환 바이너리를 생성합니다.
  • 최종 64k 커널 및 런타임 환경으로 부팅한 후 jemalloc 을 사용하는 사용자 공간 패키지를 빌드합니다.

예를 들어, Rust 패키지 관리자와 함께 jemalloc 도 사용하는 fd-find 툴을 빌드할 수 있습니다. 최종 64k 환경에서 다음을 입력하여 모든 종속 항목의 새 빌드를 트리거하여 페이지 크기의 불일치를 해결합니다.

# cargo install fd-find --force

Bugzilla:2167783[1]

dnf 를 사용하여 최신 실시간 커널로 업그레이드해도 여러 커널 버전이 병렬로 설치되지 않음

dnf 패키지 관리자를 사용하여 최신 실시간 커널을 설치하려면 패키지 종속성을 확인해야 새 커널 버전과 현재 커널 버전을 동시에 유지해야 합니다. 기본적으로 dnf 는 업그레이드 중에 이전 kernel-rt 패키지를 제거합니다.

이 문제를 해결하려면 /etc/yum.conf 구성 파일의 installonlypkgs 옵션에 현재 kernel-rt 패키지를 추가합니다(예: installonlypkgs=kernel-rt ).

installonlypkgs 옵션은 dnf 에서 사용하는 기본 목록에 kernel-rt 를 추가합니다. installonlypkgs 지시문에 나열된 패키지는 자동으로 제거되지 않으므로 동시에 설치할 여러 커널 버전을 지원합니다.

여러 커널이 설치되어 있는 것은 새 커널 버전으로 작업할 때 대체 옵션을 사용하는 방법입니다.

Bugzilla:2181571[1]

지연 계정 기능은 기본적으로 SWAPINIO% 통계 열을 표시하지 않습니다.

초기 버전과 달리 지연된 계정 기능은 기본적으로 비활성화되어 있습니다. 결과적으로 iotop 애플리케이션에 SWAPINIO% 통계 열이 표시되지 않고 다음 경고가 표시됩니다.

CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%

작업stats 인터페이스를 사용하여 스레드 그룹에 속하는 모든 작업 또는 스레드에 대한 지연 통계를 제공합니다. 작업 실행 지연은 커널 리소스가 제공될 때까지 기다립니다(예: 사용 가능한 CPU가 실행될 때까지 기다리는 작업). 작업의 CPU 우선 순위, I/O 우선 순위 및 rss 제한 값을 적절하게 설정하는 데 도움이 됩니다.

이 문제를 해결하려면 런타임 또는 부팅 시 delayacct 부팅 옵션을 활성화할 수 있습니다.

  • 런타임에 delayacct 를 활성화하려면 다음을 입력합니다.

    echo 1 > /proc/sys/kernel/task_delayacct

    이 명령은 기능 시스템 전체 기능을 활성화하지만 이 명령을 실행한 후에 시작하는 작업에만 적용됩니다.

  • 부팅 시 지연을 영구적으로 활성화하려면 다음 절차 중 하나를 사용합니다.

결과적으로 iotop 애플리케이션에 SWAPINIO% 통계 열이 표시됩니다.

Bugzilla:2132480[1]

코어가 큰 시스템에서 실시간 커널의 하드웨어 인증으로 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 을 활성화하면 전력 소비가 크게 증가하므로 대기 시간에 민감한 실시간 워크로드를 실행하는 경우에만 활성화해야 합니다.

Jira:RHEL-9318[1]

kdump 메커니즘이 LUKS 암호화 대상에서 vmcore 파일을 캡처하지 못했습니다

Linux 통합 키 설정(LUKS) 암호화된 파티션이 있는 시스템에서 kdump 를 실행하는 경우 시스템에 특정 양의 사용 가능한 메모리가 필요합니다. 사용 가능한 메모리가 필요한 메모리 양보다 작으면 systemd-cryptsetup 서비스가 파티션을 마운트하지 못합니다. 결과적으로 두 번째 커널은 LUKS 암호화 대상에서 크래시 덤프 파일을 캡처하지 못합니다.

이 문제를 해결하려면 Recommended crashkernel 값을 쿼리하고 메모리 크기를 적절한 값으로 점진적으로 늘립니다. Recommended crashkernel 값은 필요한 메모리 크기를 설정하는 참조 역할을 할 수 있습니다.

  1. 추정된 크래시 커널 값을 출력합니다.

    # kdumpctl estimate
  2. crashkernel 값을 늘려 필요한 메모리 양을 구성합니다.

    # grubby --args=crashkernel=652M --update-kernel=ALL
  3. 변경 사항을 적용하려면 시스템을 재부팅합니다.

    # reboot

결과적으로 kdump 는 LUKS 암호화 파티션이 있는 시스템에서 올바르게 작동합니다.

Jira:RHEL-11196[1]

kdump 서비스가 IBM Z 시스템에서 initrd 파일을 빌드하지 못했습니다

64비트 IBM Z 시스템에서 s390-subchannels 와 같은 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

iwl7260-firmware 는 Intel Wi-Fi 6 AX200, AX210 및 CryostatPad P1 Cryostat 4에서 Wi-Fi를 분리합니다.

iwl7260-firmware 또는 iwl7260-wifi 드라이버를 RHEL 9.1 이상에서 제공하는 버전으로 업데이트한 후 하드웨어가 잘못된 내부 상태가 됩니다. 상태를 잘못 보고합니다. 결과적으로 Intel Wifi 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[1]

kmod 의 약한 모듈이 모듈 상호 의존과 함께 작동하지 않음

kmod 패키지에서 제공하는 weak-modules 스크립트는 설치된 커널과 kABI와 호환되는 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은 빌드된 커널의 상위 릴리스에서 더 낮은 릴리스까지 종속성을 기호화합니다. 결과적으로 다른 커널 릴리스에 빌드된 상호 종속 관계가 있는 모듈은 호환되지 않는 것으로 해석될 수 있으므로 이 시나리오에서는 weak-modules 스크립트가 작동하지 않을 수 있습니다.

이 문제를 해결하려면 새 커널을 설치하기 전에 최신 커널에 대해 추가 모듈을 빌드하거나 배치하십시오.

Bugzilla:2103605[1]

dkms 는 64비트 ARM CPU에서 올바르게 컴파일된 드라이버를 사용하여 프로그램 오류에 대한 잘못된 경고를 제공합니다.

동적 커널 모듈 지원(dkms) 유틸리티는 64비트 ARM CPU의 커널 헤더가 4 킬로바이트 및 64 킬로바이트 페이지 크기가 있는 커널 모두에서 작동하는지 인식하지 못합니다. 결과적으로 커널 업데이트가 수행되고 kernel-64k-devel 패키지가 설치되지 않은 경우 dkms 는 프로그램이 올바르게 컴파일된 드라이버에서 실패한 이유에 대한 잘못된 경고를 제공합니다. 이 문제를 해결하려면 두 가지 유형의 ARM CPU 아키텍처에 대한 헤더 파일이 포함된 kernel-headers 패키지를 설치하고 dkms 및 해당 요구 사항에 국한되지 않습니다.

JIRA:RHEL-25967[1]

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

Anaconda에서 CHAP 인증 시도에 실패한 후 no authentication 방법을 사용하여 iSCSI 서버에 로그인하지 못했습니다

CHAP 인증을 사용하여 iSCSI 디스크를 추가하고 잘못된 인증 정보로 인해 로그인 시도가 실패하면 no authentication 방법이 있는 디스크에 다시 로그인 시도가 실패합니다. 이 문제를 해결하려면 현재 세션을 닫고 no authentication 방법을 사용하여 로그인합니다.

Bugzilla:1983602[1]

NVMe/TCP에서 장치 매퍼 멀티패스가 지원되지 않음

nvme-tcp 드라이버와 함께 장치 매퍼 Multipath를 사용하면 호출 추적 경고 및 시스템 불안정성이 발생할 수 있습니다. 이 문제를 해결하려면 NVMe/TCP 사용자는 네이티브 NVMe 멀티패스를 활성화하고 NVMe에서 device-mapper-multipath 툴을 사용하지 않아야 합니다.

기본적으로 RHEL 9에서는 Native NVMe 멀티패스가 활성화됩니다. 자세한 내용은 NVMe 장치에서 다중 경로 활성화를 참조하십시오.

Bugzilla:2033080[1]

blk-availability systemd 서비스는 복잡한 장치 스택을 비활성화합니다.

systemd 에서 기본 블록 비활성화 코드는 항상 복잡한 가상 블록 장치 스택을 올바르게 처리하지는 않습니다. 일부 구성에서는 종료 중에 가상 장치가 제거되지 않을 수 있으므로 오류 메시지가 기록됩니다. 이 문제를 해결하려면 다음 명령을 실행하여 복잡한 블록 장치 스택을 비활성화합니다.

# systemctl enable --now blk-availability.service

결과적으로 종료 중에 복잡한 가상 장치 스택이 올바르게 비활성화되고 오류 메시지가 생성되지 않습니다.

Bugzilla:2011699[1]

할당량이 활성화된 XFS 파일 시스템에 더 이상 할당량 계산을 비활성화할 수 없습니다.

RHEL 9.2부터 할당량이 활성화된 XFS 파일 시스템에서 할당량 계정을 더 이상 비활성화할 수 없습니다.

이 문제를 해결하려면 할당량 옵션이 제거된 상태에서 파일 시스템을 다시 마운트하여 할당량 계산을 비활성화합니다.

Bugzilla:2160619[1]

NVMe 장치의 udev 규칙 변경

OPTIONS="string_escape=replace" 매개변수를 추가하는 NVMe 장치에 대한 udev 규칙 변경 사항이 있습니다. 이로 인해 장치의 일련 번호가 선행 공백을 가진 경우 일부 공급 업체의 이름 지정 변경으로 인해 디스크가 발생합니다.

Bugzilla:2185048

Kickstart 파일에서 NVMe/FC 장치를 안정적으로 사용할 수 없습니다

Kickstart 파일의 사전 스크립트를 구문 분석하거나 실행하는 동안 NVMe/FC 장치를 사용할 수 없으므로 Kickstart 설치에 실패할 수 있습니다. 이 문제를 해결하려면 부팅 인수를 inst.wait_for_disks=30 로 업데이트합니다. 이 옵션을 사용하면 30초가 지연되고 NVMe/FC 장치가 연결할 수 있는 충분한 시간을 제공해야 합니다. 이 해결 방법으로 NVMe/FC 장치 연결과 함께 Kickstart 설치는 문제 없이 진행됩니다.

Jira:RHEL-8164[1]

qedi 드라이버를 사용하는 동안 커널 패닉

qedi iSCSI 드라이버를 사용하는 동안 OS가 부팅된 후 커널이 패닉됩니다. 이 문제를 해결하려면 kfence.sample_interval=0 을 커널 부팅 명령줄에 추가하여 kfence 런타임 메모리 오류 탐지 기능을 비활성화합니다.

Jira:RHEL-8466[1]

커널-64k 페이지 크기로 ARM 기반 시스템을 부팅할 수 없음

vdo 패키지를 설치하는 동안 4k 페이지 크기가 있는 커널이 종속성으로 설치됩니다. 결과적으로 소프트웨어 선택 화면에서 64k 페이지 크기를 선택한 경우에도 4k 페이지 크기 커널로 시스템이 부팅됩니다. 이 문제를 해결하려면 기본 환경에서 최소 설치를 선택하고 커널 옵션에서 페이지 크기로 64k를 선택합니다. 시스템이 처음 부팅되면 DNF 패키지 관리자를 사용하여 추가 소프트웨어를 설치합니다.

Jira:RHEL-8354

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

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에서 --ssl-fips-modemysqld 또는 mariadbd 데몬의 인수로 사용하거나 MySQL 또는 MariaDB 서버 구성 파일에서 ssl-fips-mode 를 사용하는 경우 --ssl-fips-mode 는 이러한 데이터베이스 서버의 FIPS 모드를 변경하지 않습니다.

대신 다음을 수행합니다.

  • --ssl-fips-modeON 으로 설정하면 mysqld 또는 mariadbd 서버 데몬이 시작되지 않습니다.
  • FIPS 지원 시스템에서 --ssl-fips-modeOFF 로 설정하면 mysqld 또는 mariadbd 서버 데몬이 FIPS 모드에서 계속 실행됩니다.

이는 특정 구성 요소에 대해 FIPS 모드가 전체 RHEL 시스템에 대해 활성화되거나 비활성화되어야 하기 때문에 예상됩니다.

따라서 RHEL의 MySQL 또는 MariaDB 에서 --ssl-fips-mode 옵션을 사용하지 마십시오. 대신 전체 RHEL 시스템에서 FIPS 모드가 활성화되어 있는지 확인합니다.

  • FIPS 모드가 활성화된 RHEL을 설치하는 것이 좋습니다. 설치 중에 FIPS 모드를 활성화하면 시스템이 FIPS 승인 알고리즘 및 지속적인 모니터링 테스트로 모든 키를 생성합니다. FIPS 모드에서 RHEL을 설치하는 방법에 대한 자세한 내용은 FIPS 모드에서 시스템 설치를 참조하십시오.
  • 또는 시스템을 FIPS 모드로 전환하는 절차에 따라 전체 RHEL 시스템의 FIPS 모드를 전환할 수 있습니다.

Bugzilla:1991500

11.11. IdM (Identity Management)

MIT Kerberos는 PKINIT의 ECC 인증서를 지원하지 않음

MIT Kerberos는 초기 인증(PKINIT)을 위한 공개 키 암호화(Public Key Cryptography) 지원의 설계를 설명하는 댓글 문서에 대한 RFC5349 요청을 구현하지 않습니다. 결과적으로 RHEL에서 사용하는 MIT krb5-pkinit 패키지는 ECC 인증서를 지원하지 않습니다. 자세한 내용은 PKINIT (PKINIT)의 초기 인증을 위한 공개 키 암호화에 대한 ECC(Elliptic Curve Cryptography) 지원을 참조하십시오.

Jira:RHEL-4902

PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다.

SHA-1 다이제스트 알고리즘은 RHEL 9에서 더 이상 사용되지 않으며 초기 인증(PKINIT)을 위한 공개 키 암호화(PKINIT)의 CMS 메시지가 더 강력한 SHA-256 알고리즘으로 서명됩니다.

그러나 AD(Active Directory) Kerberos Distribution Center(KDC)는 여전히 SHA-1 다이제스트 알고리즘을 사용하여 CMS 메시지에 서명합니다. 결과적으로 RHEL 9 Kerberos 클라이언트가 AD KDC에 대해 PKINIT를 사용하여 사용자를 인증하지 못합니다.

이 문제를 해결하려면 다음 명령을 사용하여 RHEL 9 시스템에서 SHA-1 알고리즘에 대한 지원을 활성화합니다.

 # update-crypto-policies --set DEFAULT:SHA1

Bugzilla:2060798

RHEL 9 Kerberos 에이전트가 RHEL-9 및 비AD Kerberos 에이전트와 통신하면 사용자의 PKINIT 인증이 실패합니다.

클라이언트 또는 Kerberos Distribution Center(KDC) 중 하나인 RHEL 9 Kerberos 에이전트가 Active Directory(AD) 에이전트가 아닌 RHEL-9 Kerberos 에이전트와 상호 작용하는 경우 사용자의 PKINIT 인증이 실패합니다. 이 문제를 해결하려면 다음 작업 중 하나를 수행합니다.

  • SHA-1 서명을 확인할 수 있도록 RHEL 9 에이전트의 crypto-policy를 DEFAULT:SHA1 로 설정합니다.

    # update-crypto-policies --set DEFAULT:SHA1
  • 비 RHEL-9 및 AD가 아닌 에이전트를 업데이트하여 SHA-1 알고리즘을 사용하여 CMS 데이터에 서명하지 않도록 합니다. 이를 위해 Kerberos 클라이언트 또는 KDC 패키지를 SHA-1 대신 SHA-256을 사용하는 버전으로 업데이트합니다.

    • CentOS 9 스트림: krb5-1.19.1-15
    • RHEL 8.7: krb5-1.18.2-17
    • RHEL 7.9: krb5-1.15.1-53
    • Fedora Rawhide/36: krb5-1.19.2-7
    • Fedora 35/34: krb5-1.19.2-3

결과적으로 사용자의 PKINIT 인증이 올바르게 작동합니다.

다른 운영 체제의 경우 에이전트가 SHA-1 대신 CMS 데이터에 서명하도록 하는 krb5-1.20 릴리스입니다.

PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다. 을 참조하십시오.

Jira:RHEL-4875

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

Heimdal 클라이언트가 RHEL 9 KDC에 PKINIT를 사용하여 사용자를 인증하지 못했습니다.

기본적으로 Heimdal Kerberos 클라이언트는 인터넷 키 교환(IKE)용 Modular Exponential (MODP) Diffie-Hellman Group 2를 사용하여 IdM 사용자의 PKINIT 인증을 시작합니다. 그러나 RHEL 9의 MIT Kerberos Distribution Center(KDC)는 MODP 그룹 14 및 16만 지원합니다.

결과적으로 krb5_get_init_creds: Heimdal 클라이언트의 PREAUTH_FAILED 오류와 RHEL MIT KDC에서 허용되지 않는 키 매개변수를 사용하여 사전 확인 요청이 실패합니다.

이 문제를 해결하려면 Heimdal 클라이언트가 MODP 그룹 14를 사용하는지 확인하십시오. 클라이언트 구성 파일의 libdefaults 섹션에서 pkinit_dh_min_bits 매개변수를 1759로 설정합니다.

[libdefaults]
pkinit_dh_min_bits = 1759

결과적으로 Heimdal 클라이언트는 RHEL MIT KDC에 대해 PKINIT 사전 인증을 완료합니다.

Jira:RHEL-4889

FIPS 모드에서 IdM은 NTLMSSP 프로토콜 사용을 지원하지 않습니다.

NTLMSSP(New Technology LAN Manager Security Support Provider) 인증이 FIPS와 호환되지 않기 때문에 FIPS(Active Directory)와 FIPS 모드가 활성화된 IdM(Identity Management) 간 양방향 교차 포리스트 트러스트를 설정할 수 없습니다. FIPS 모드의 IdM은 AD 도메인 컨트롤러에서 인증을 시도할 때 사용하는 RC4 NTLM 해시를 허용하지 않습니다.

Jira:RHEL-12154[1]

FIPS 모드에서 IdM Vault 암호화 및 암호 해독이 실패합니다.

FIPS 모드가 활성화된 경우 OpenSSL RSA-PKCS1v15 패딩 암호화가 차단됩니다. 결과적으로 IdM(Identity Management) Vault가 현재 전송 인증서로 세션 키를 래핑하는 데 PKCS1v15 패딩을 사용하므로 제대로 작동하지 않습니다.

Jira:RHEL-12143[1]

SID가 없는 사용자는 업그레이드 후 IdM에 로그인할 수 없습니다.

IdM 복제본을 RHEL 9.2로 업그레이드한 후 IdM Kerberos Distribution Center(KDC)는 계정에 할당된 SID(보안 식별자)가 없는 사용자에게 TGT( ticket-granting ticket)를 발행하지 못할 수 있습니다. 결과적으로 사용자는 계정에 로그인할 수 없습니다.

이 문제를 해결하려면 토폴로지의 다른 IdM 복제본에서 IdM 관리자로 다음 명령을 실행하여 SID를 생성합니다.

# ipa config-mod --enable-sid --add-sids

이후에도 사용자가 계속 로그인할 수 없는 경우 Directory Server 오류 로그를 검사합니다. 사용자 POSIX ID를 포함하도록 ID 범위를 조정해야 할 수도 있습니다.

자세한 내용은 RHEL9로 업그레이드할 때 IDM 사용자가 더 이상 지식베이스 솔루션에 로그인할 수 없습니다.

Jira:RHELPLAN-157939[1]

마이그레이션된 IdM 사용자는 일치하지 않는 도메인 SID로 인해 로그인할 수 없을 수 있습니다.

ipa migrate-ds 스크립트를 사용하여 IdM 배포에서 사용자를 다른 IdM 배포로 마이그레이션한 경우 이전 SID(보안 식별자)에 현재 IdM 환경의 도메인 SID가 없기 때문에 IdM 서비스를 사용하는 데 문제가 있을 수 있습니다. 예를 들어 해당 사용자는 kinit 유틸리티를 사용하여 Kerberos 티켓을 검색할 수 있지만 로그인할 수 없습니다. 이 문제를 해결하려면 다음 지식 베이스 문서를 참조하십시오. 마이그레이션된 IdM 사용자는 일치하지 않는 도메인 SID로 인해 로그인할 수 없습니다.

Jira:RHELPLAN-109613[1]

MIT krb5 사용자가 사용자 PAC를 생성하는 호환되지 않는 암호화 유형으로 인해 AD TGT를 얻지 못했습니다.

MIT krb5 1.20 이상 패키지에서는 기본적으로 모든 Kerberos 티켓에 PAC(Privilege Attribute Certificate)가 포함되어 있습니다. MIT Kerberos Distribution Center(KDC)는 현재 RFC8009에 정의된 AES HMAC-SHA2 암호화 유형인 PAC에서 KDC 체크섬을 생성하는 데 사용할 수 있는 가장 강력한 암호화 유형을 선택합니다. 그러나 AD(Active Directory)는 이 RFC를 지원하지 않습니다. 결과적으로, AD-MIT 교차 영역 설정에서 MIT krb5 사용자는 MIT KDC에서 생성한 교차 영역 TGT에 의해 생성된 교차 영역 TGT에 PAC의 호환되지 않는 KDC 체크섬 유형이 포함되어 있기 때문에 MIT krb5 사용자가 AD 티켓 부여 티켓(TGT)을 얻지 못합니다.

이 문제를 해결하려면 /var/kerberos/krb5kdc/kdc.conf 구성 파일의 [realms] 섹션에서 MIT 영역에 대해 disable_pac 매개변수를 true 로 설정합니다. 결과적으로 MIT KDC는 PAC 없이 티켓을 생성합니다. 즉, AD는 실패한 체크섬 확인을 건너뛰고 MIT krb5 사용자는 AD TGT를 받을 수 있습니다.

Bugzilla:2016312

ldap_id_use_start_tls 옵션에 기본값을 사용할 때 발생할 위험이 있습니다.

ID 조회에 TLS 없이 ldap:// 를 사용하는 경우 공격 벡터가 발생할 수 있습니다. 특히 MITTM(man-in-the-middle) 공격으로 공격자가 LDAP 검색에서 반환된 오브젝트의 UID 또는 GID를 변경하여 사용자를 가장할 수 있습니다.

현재 TLS, ldap_id_use_start_tls 를 적용하는 SSSD 구성 옵션은 기본값은 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[1]

RHEL 8.6 또는 이전 버전으로 초기화된 FIPS 모드의 IdM 배포에 FIPS 모드에서 RHEL 9 복제본을 추가하는 데 실패합니다.

FIPS 140-3을 준수하기 위한 기본 RHEL 9 FIPS 암호화 정책은 AES HMAC-SHA1 암호화 유형의 키 파생 기능을 RFC3961, 섹션 5.1에 정의된 대로 사용할 수 없습니다.

이 제약 조건은 첫 번째 서버가 RHEL 8.6 시스템 또는 이전 버전에 설치된 FIPS 모드의 RHEL 8 IdM 환경에 FIPS 모드의 RHEL 9 IdM(Identity Management) 복제본을 추가할 때 차단 프로그램입니다. 이는 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-encrypted Kerberos 키를 생성하는 절차를 제공하기 위한 작업이 진행 중입니다. 이렇게 하면 RHEL 9 복제본에서 FIPS 140-3 준수가 수행됩니다. 그러나 Kerberos 키 암호화의 설계로 기존 키를 다른 암호화 유형으로 변환할 수 없기 때문에 이 프로세스는 완전히 자동화되지 않습니다. 유일한 방법은 사용자에게 암호를 업데이트하도록 요청하는 것입니다.

Jira:RHEL-4888

SSSD에서 DNS 이름을 올바르게 등록합니다.

이전 버전에서는 DNS가 잘못 설정된 경우 SSSD가 항상 DNS 이름을 등록하려는 첫 번째 시도에 실패했습니다. 문제를 해결하기 위해 이번 업데이트에서는 새 매개변수 dns_resolver_use_search_list 를 제공합니다. DNS 검색 목록을 사용하지 않도록 dns_resolver_use_search_list = false 를 설정합니다.

Bugzilla:1608496[1]

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 클라이언트 설치에 성공합니다.

Jira:RHEL-4955

nsslapd-numlisteners 속성 값이 2 개 이상이면 Directory Server가 실패합니다.

nsslapd-numlisteners 속성 값이 2 보다 크면 Directory Server에서 허용되는 파일 설명자 대신 수신 대기 파일 설명자를 닫을 수 있습니다. 결과적으로 일정 시간이 지나면 Directory Server가 일부 포트에서 수신 대기를 중지하고 실패합니다.

이 문제를 해결하려면 nsslapd-numlisteners 특성 값을 1 로 설정합니다.

Jira:RHEL-17178[1]

11.12. 데스크탑

RHEL 9로 업그레이드한 후 VNC가 실행되지 않음

RHEL 8에서 RHEL 9로 업그레이드한 후 이전에 활성화된 경우에도 VNC 서버가 시작되지 않습니다.

이 문제를 해결하려면 시스템 업그레이드 후 vncserver 서비스를 수동으로 활성화합니다.

# systemctl enable --now vncserver@:port-number

결과적으로 VNC가 활성화되고 모든 시스템 부팅 후 예상대로 시작됩니다.

Bugzilla:2060308

사용자 생성 화면이 응답하지 않음

그래픽 사용자 인터페이스를 사용하여 RHEL을 설치할 때 사용자 생성 화면이 응답하지 않습니다. 결과적으로 설치 중에 사용자를 생성하는 것이 더 어렵습니다.

이 문제를 해결하려면 다음 솔루션 중 하나를 사용하여 사용자를 생성합니다.

  • VNC 모드에서 설치를 실행하고 VNC 창의 크기를 조정합니다.
  • 설치 프로세스를 완료한 후 사용자를 생성합니다.

Jira:RHEL-11924[1]

WebKitGTK가 IBM Z에 웹 페이지를 표시하지 못했습니다

IBM Z 아키텍처에 웹 페이지를 표시하려고 할 때 WebKitGTK 웹 브라우저 엔진이 실패합니다. 웹 페이지는 비워 두고 WebKitGTK 프로세스가 예기치 않게 종료됩니다.

결과적으로 WebKitGTK를 사용하여 다음과 같은 웹 페이지를 표시하는 애플리케이션의 특정 기능을 사용할 수 없습니다.

  • Evolution 메일 클라이언트
  • GNOME 온라인 계정 설정
  • GNOME Help 애플리케이션

Jira:RHEL-4157

11.13. 그래픽 인프라

NVIDIA 드라이버는 X.org로 되돌릴 수 있습니다

특정 조건에서 독점 NVIDIA 드라이버는 Wayland 디스플레이 프로토콜을 비활성화하고 X.org 디스플레이 서버로 되돌립니다.

  • NVIDIA 드라이버의 버전이 470보다 낮은 경우
  • 시스템이 하이브리드 그래픽을 사용하는 랩탑인 경우.
  • 필요한 NVIDIA 드라이버 옵션을 활성화하지 않은 경우

또한 Wayland는 활성화되어 있지만 NVIDIA 드라이버 버전이 510 미만이면 기본적으로 데스크탑 세션에서 X.org를 사용합니다.

Jira:RHELPLAN-119001[1]

Night Light는 NVIDIA와 함께 Wayland에서 사용할 수 없습니다.

시스템에서 독점 NVIDIA 드라이버가 활성화되면 Wayland 세션에서 GNOME의 Night Light 기능을 사용할 수 없습니다. NVIDIA 드라이버는 현재 Night Light 를 지원하지 않습니다.

Jira:RHELPLAN-119852[1]

X.org 구성 유틸리티는 Wayland에서 작동하지 않음

화면을 조작하는 X.org 유틸리티는 Wayland 세션에서 작동하지 않습니다. 특히 xrandr 유틸리티는 해상도, 회전 및 레이아웃 처리 방법이 다르기 때문에 Wayland에서 작동하지 않습니다.

Jira:RHELPLAN-121049[1]

11.14. Red Hat Enterprise Linux 시스템 역할

firewalld.service 가 마스크된 경우 RHEL 시스템 역할을 사용하여 실패합니다.

firewalld.service 가 RHEL 시스템에서 마스킹되면 방화벽 RHEL 시스템 역할이 실패합니다. 이 문제를 해결하려면 firewalld.service 를 마스킹 해제하십시오.

systemctl unmask firewalld.service

Bugzilla:2123859

환경 이름으로 시스템을 등록할 수 없음

rhc 시스템 역할은 rhc_environment 에 환경 이름을 지정할 때 시스템을 등록하지 못합니다. 이 문제를 해결하려면 등록하는 동안 환경 이름 대신 환경 ID를 사용합니다.

Jira:RHEL-1172

11.15. 가상화

경우에 따라 https 또는 ssh를 통한 가상 머신 설치 실패

현재 https 또는 ssh 연결을 통해 ISO 소스에서 게스트 운영 체제(OS)를 설치하려고 할 때 virt-install 유틸리티가 실패합니다(예: virt-install --cdrom https://example/path/to/image.iso ). VM(가상 머신)을 생성하는 대신 설명된 작업은 메시지를 모니터링하는 동안 내부 오류(프로세스 종료)로 예 기치 않게 종료됩니다.

마찬가지로, RHEL 9 웹 콘솔을 사용하여 게스트 운영 체제를 설치하는 데 실패하고 https 또는 ssh URL 또는 다운로드 OS 기능을 사용하는 경우 알 수 없는 드라이버 'https' 오류가 표시됩니다.

이 문제를 해결하려면 호스트에 qemu-kvm-block-curlqemu-kvm-block-ssh 를 설치하여 https 및 ssh 프로토콜 지원을 활성화합니다. 또는 다른 연결 프로토콜 또는 다른 설치 소스를 사용합니다.

Bugzilla:2014229

가상 머신에서 NVIDIA 드라이버를 사용하면 Wayland가 비활성화됨

현재 NVIDIA 드라이버는 Wayland 그래픽 세션과 호환되지 않습니다. 결과적으로 NVIDIA 드라이버를 사용하는 RHEL 게스트 운영 체제는 자동으로 Wayland를 비활성화하고 대신 Xorg 세션을 로드합니다. 이는 주로 다음 시나리오에서 발생합니다.

  • NVIDIA GPU 장치를 RHEL VM(가상 머신)에 전달하는 경우
  • NVIDIA vGPU 미디어 장치를 RHEL VM에 할당하는 경우

Jira:RHELPLAN-117234[1]

AMD Milan 시스템에서 Milan VM CPU 유형을 사용할 수 없는 경우가 있습니다.

특정 AMD Milan 시스템에서는 Enhanced REP MOVSB(erms) 및 Fast Short REP MOVSB(fsrm) 기능 플래그가 기본적으로 BIOS에서 비활성화되어 있습니다. 결과적으로 Milan CPU 유형을 이러한 시스템에서 사용할 수 없습니다. 또한 다른 기능 플래그 설정이 있는 Milan 호스트 간에 VM 실시간 마이그레이션이 실패할 수 있습니다. 이러한 문제를 해결하려면 호스트의 BIOS에서 수동으로 ermsfsrm 을 켭니다.

Bugzilla:2077767[1]

장애 조치 설정이 있는 hostdev 인터페이스는 핫 플러그 해제된 후 핫 플러그할 수 없습니다

실행 중인 VM(가상 머신)에서 장애 조치 구성을 사용하여 hostdev 네트워크 인터페이스를 제거한 후 현재 실행 중인 동일한 VM에 다시 연결할 수 없습니다.

Jira:RHEL-7337

장애 조치 VF가 있는 VM의 실시간 복사 후 마이그레이션 실패

현재 VM에서 VF(가상 기능) 페일오버 기능이 활성화된 장치를 사용하는 경우 실행 중인 VM(가상 머신)을 post-copy가 실패합니다. 이 문제를 해결하려면 복사 후 마이그레이션 대신 표준 마이그레이션 유형을 사용합니다.

Jira:RHEL-7335

호스트 네트워크는 실시간 마이그레이션 중에 VF를 사용하여 VM을 ping할 수 없습니다.

가상 SR-IOV 소프트웨어를 사용하는 VM(가상 기능)과 같이 구성된 VF(가상 기능)를 사용하여 VM(가상 머신)을 실시간 마이그레이션하는 경우 VM의 네트워크가 다른 장치에 표시되지 않으며 ping 과 같은 명령을 통해 VM에 연결할 수 없습니다. 그러나 마이그레이션이 완료되면 문제가 더 이상 발생하지 않습니다.

Jira:RHEL-7336

AVX를 비활성화하면 VM을 부팅할 수 없게 됩니다.

AVX(Advanced Vector Extensions) 지원이 포함된 CPU를 사용하는 호스트 시스템에서 AVX가 명시적으로 비활성화된 VM을 부팅하려고 시도하면 현재 VM에서 커널 패닉이 트리거됩니다.

Bugzilla:2005173[1]

네트워크 인터페이스 재설정 후 Windows VM에서 IP 주소를 얻지 못했습니다

경우에 따라 자동 네트워크 인터페이스를 재설정한 후 Windows 가상 머신이 IP 주소를 얻지 못하는 경우가 있습니다. 결과적으로 VM이 네트워크에 연결되지 못합니다. 이 문제를 해결하려면 Windows 장치 관리자에서 네트워크 어댑터 드라이버를 비활성화하고 다시 활성화합니다.

Jira:RHEL-11366

Windows Server 2016 VM이 vCPU 핫플러그 후 작동하지 않는 경우가 있습니다.

현재 Windows Server 2016 게스트 운영 체제에서 실행 중인 VM(가상 머신)에 vCPU를 할당하면 VM이 예기치 않게 종료되거나 응답하지 않거나 재부팅과 같은 다양한 문제가 발생할 수 있습니다.

Bugzilla:1915715

다수의 큐를 사용하면 VM이 실패할 수 있습니다.

vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 장치가 활성화되고 다중 대기열 virtio-net 기능이 250개 이상의 큐를 사용하도록 구성된 경우 가상 머신(VM)이 실패할 수 있습니다.

이 문제는 vTPM 장치의 제한으로 인해 발생합니다. vTPM 장치에는 열린 파일 설명자의 최대 수에 하드 코딩된 제한이 있습니다. 모든 새 큐에 대해 여러 파일 설명자가 열리기 때문에 내부 vTPM 제한을 초과하여 VM이 실패할 수 있습니다.

이 문제를 해결하려면 다음 두 가지 옵션 중 하나를 선택합니다.

  • vTPM 장치를 계속 활성화하되 250개 미만의 대기열을 사용합니다.
  • 250개 이상의 대기열을 사용하도록 vTPM 장치를 비활성화합니다.

Jira:RHEL-13335[1]

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[1]

일부 Windows 게스트는 AMD EPYC CPU가 있는 호스트에서 v2v 변환 후 부팅되지 않음

virt-v2v 유틸리티를 사용하여 Windows 11 또는 Windows Server 2022를 게스트 OS로 사용하는 VM(가상 머신)을 변환한 후 현재 VM이 부팅되지 않습니다. 이는 AMD EPYC 시리즈 CPU를 사용하는 호스트에서 발생합니다.

Bugzilla:2168082[1]

호스트에서 OVS 서비스를 다시 시작하면 실행 중인 VM에서 네트워크 연결이 차단될 수 있습니다.

OVS(Open vSwitch) 서비스가 호스트에서 다시 시작되거나 중단되면 이 호스트에서 실행 중인 VM(가상 머신)은 네트워킹 장치의 상태를 복구할 수 없습니다. 결과적으로 VM이 패킷을 수신하지 못할 수 있습니다.

이 문제는 virtio 네트워킹 스택에서 패키징된 virtqueue 형식을 사용하는 시스템에만 영향을 미칩니다.

이 문제를 해결하려면 virtio 네트워킹 장치 정의에서 packed=off 매개 변수를 사용하여 패키징된 virtqueue를 비활성화합니다. 패키징된 virtqueue가 비활성화된 상태에서 네트워킹 장치의 상태는 RAM에서 복구할 수 있습니다.

Jira:RHEL-333

중단된 VM 마이그레이션 복구에 실패할 수 있습니다.

VM(가상 머신)의 복사 후 마이그레이션이 중단되고 수신되는 동일한 포트에서 즉시 다시 시작되면 마이그레이션이 실패할 수 있습니다. 이미 사용 중인 주소

이 문제를 해결하려면 복사 후 마이그레이션을 다시 시작하거나 마이그레이션 복구를 위해 다른 포트로 전환하기 전에 10초 이상 기다립니다.

Jira:RHEL-7096

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를 지원하지 않기 때문입니다.

자세한 내용은 Red Hat KnowledgeBase 를 참조하십시오.

Bugzilla:2073872

virsh blkiotune --weight 명령이 올바른 cgroup I/O 컨트롤러 값을 설정하지 못했습니다.

현재 virsh blkiotune --weight 명령을 사용하여 VM weight가 예상대로 작동하지 않습니다. 이 명령은 cgroup I/O 컨트롤러 인터페이스 파일에 올바른 io.bfq.weight 값을 설정하지 못합니다. 현재는 해결방법이 없습니다.

Bugzilla:1970830

NVIDIA A16 GPU로 VM을 시작하면 호스트 GPU가 작동하지 않는 경우가 있습니다.

현재 NVIDIA A16 GPU 패스스루 장치를 사용하는 VM을 시작하면 경우에 따라 호스트 시스템의 NVIDIA A16 GPU 물리적 장치가 작동하지 않습니다.

이 문제를 해결하려면 하이퍼바이저를 재부팅하고 GPU 장치의 reset_method버스로 설정합니다.

# echo bus > /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method
# cat /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method
bus

자세한 내용은 Red Hat 지식베이스를 참조하십시오.

Jira:RHEL-7212[1]

FIFO 스케줄러가 있는 RT VM은 부팅할 수 없습니다

현재 vCPU 스케줄러의 fifo 설정을 사용하도록 실시간(RT) 가상 머신(VM)을 설정한 후 부팅을 시도할 때 VM이 응답하지 않습니다. 대신 VM에 게스트가 디스플레이(yet) 오류가 초기화되지 않았습니다.

Jira:RHEL-2815[1]

스토리지 오류로 인해 Windows VM이 응답하지 않을 수 있음

Windows 게스트 운영 체제를 사용하는 VM(가상 머신)에서 I/O 로드가 높은 경우 시스템이 응답하지 않는 경우도 있습니다. 이 경우 시스템은 viostor Reset to device, \Device\RaidPort3 오류가 발생했습니다.

Jira:RHEL-1609[1]

특정 PCI 장치가 있는 Windows 10 VM이 부팅 시 응답하지 않을 수 있음

현재 로컬 디스크 백엔드가 VM에 연결된 virtio-win-scsi PCI 장치가 VM에 연결된 경우 Windows 10 게스트 운영 체제를 사용하는 VM(가상 머신)이 부팅 중에 응답하지 않을 수 있습니다. 이 문제를 해결하려면 multi_queue 옵션이 활성화된 VM을 부팅합니다.

Jira:RHEL-1084[1]

virtio-win 드라이버용 virtio-win-guest-tool의 복구 기능이 작동하지 않음

현재 virtio-win 드라이버(예: Virtio Cryostatoon 드라이버)에 virtio-win-guest-tool복구 버튼을 사용할 때 버튼에는 영향을 미치지 않습니다. 결과적으로 게스트에서 제거된 후에는 드라이버를 다시 설치할 수 없습니다.

Jira:RHEL-1517[1]

메모리 balloon 장치가 설정된 Windows 11 VM은 재부팅 중에 예기치 않게 종료될 수 있습니다.

현재 Windows 11 게스트 운영 체제 및 메모리 풍선 장치를 사용하는 VM(가상 머신)을 재부팅하면 DRIVER POWER STAT FAILURE blue-screen 오류와 함께 실패합니다.

Jira:RHEL-935[1]

네트워크 로드가 높은 Windows 11 또는 Windows Server 2022 VM 마이그레이션에 실패하는 경우가 있습니다.

Windows Server 2022 또는 Windows 11을 게스트 운영 체제로 사용하는 VM(가상 머신)을 실시간 마이그레이션하면 마이그레이션이 응답하지 않거나 팩이 높은 손실의 영향을 받는 경우 예기치 않게 종료될 수 있습니다.

Jira:RHEL-2316[1]

경우에 따라 postcopy VM 마이그레이션을 다시 시작할 수 없습니다.

현재 VM(가상 머신)의 postcopy 마이그레이션을 수행할 때 마이그레이션의 RECOVER 단계에서 프록시 네트워크 오류가 발생하면 VM이 응답하지 않고 마이그레이션을 다시 시작할 수 없습니다. 대신 복구 명령은 다음과 같은 오류를 표시합니다.

error: Requested operation is not valid: QEMU reports migration is still running

Jira:RHEL-7115

virtio balloon 드라이버는 Windows 10 VM에서 작동하지 않는 경우가 있습니다.

특정 상황에서는 virtio-balloon 드라이버가 Windows 10 게스트 운영 체제를 사용하는 VM(가상 머신)에서 제대로 작동하지 않습니다. 결과적으로 이러한 VM은 할당된 메모리를 효율적으로 사용하지 못할 수 있습니다.

Jira:RHEL-12118

Windows VM에서 virtio 파일 시스템의 최적의 성능이 있습니다.

현재 Windows 게스트 운영 체제를 사용하는 가상 머신(virtiofs)에 virtio 파일 시스템(virtiofs)이 구성된 경우 VM의 virtiofs 성능은 Linux 게스트를 사용하는 VM에서보다 훨씬 더 심각합니다.

Jira:RHEL-1212[1]

Windows VM에서 스토리지 장치를 핫플러그 해제하는 데 실패할 수 있습니다.

Windows 게스트 운영 체제를 사용하는 VM(가상 머신)에서 VM이 실행 중일 때 스토리지 장치를 제거합니다(장치 핫 언플러그라고도 함). 결과적으로 스토리지 장치는 VM에 연결된 상태로 유지되고 디스크 관리자 서비스가 응답하지 않을 수 있습니다.

Jira:RHEL-869

Windows VM에 CPU를 핫플러그하면 시스템 오류가 발생할 수 있습니다.

대규모 페이지가 활성화된 Windows VM(가상 머신)에 최대 CPU 수를 핫 플러그로 연결하면 게스트 운영 체제가 다음 중지 오류와 충돌할 수 있습니다.

PROCESSOR_START_TIMEOUT

Jira:RHEL-1220

Windows VM에서 virtio 드라이버 업데이트 실패

Windows 가상 머신(VM)에서 KVM 반가상화(virtio) 드라이버를 업데이트할 때 업데이트로 인해 마우스의 작동이 중지되고 새로 설치된 드라이버가 서명되지 않을 수 있습니다. 이 문제는 virtio -win.iso 파일의 일부인 virtio-win-guest-tools 패키지에서 설치하여 virtio 드라이버를 업데이트할 때 발생합니다.

이 문제를 해결하려면 Windows 장치 관리자를 사용하여 virtio 드라이버를 업데이트합니다.

Jira:RHEL-574[1]

11.16. 클라우드 환경의 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 장치 설정 다시 생성: Cryo statimportdevices -a
  3. VM 재부팅

이렇게 하면 복제 또는 복원된 VM이 올바르게 부팅될 수 있습니다.

또는 VM을 복제하거나 VM 스냅샷을 생성하기 전에 문제가 발생하지 않도록 하려면 다음을 수행합니다.

  1. /etc/lvm/lvm.conf 파일에서 use_devicesfile = 0 행의 주석을 제거합니다.
  2. VM 재부팅

Bugzilla:2059545[1]

ESXi에서 RHEL 9 게스트를 사용자 정의하면 네트워킹 문제가 발생하는 경우가 있습니다.

현재 VMware ESXi 하이퍼바이저에서 RHEL 9 게스트 운영 체제를 사용자 정의하면 NetworkManager 키 파일에서 올바르게 작동하지 않습니다. 결과적으로 게스트가 키 파일을 사용하는 경우 IP 주소 또는 게이트웨이와 같은 잘못된 네트워크 설정이 됩니다.

자세한 내용 및 해결 방법은 VMware 기술 자료 를 참조하십시오.

Bugzilla:2037657[1]

cloud-init 에서 프로비저닝하고 NFSv3 마운트 항목으로 구성된 경우 Azure의 RHEL 인스턴스가 부팅되지 않음

현재 Microsoft Azure 클라우드 플랫폼에서 RHEL VM(가상 머신)을 부팅하면 VM이 cloud-init 툴에 의해 프로비저닝되고 VM의 게스트 운영 체제에 /etc/fstab 파일에 NFSv3 마운트 항목이 있는 경우 실패합니다.

Bugzilla:2081114[1]

VMware 호스트의 RHEL 가상 머신에서 고정 IP 설정이 작동하지 않음

현재 RHEL을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 DatasourceOVF 기능이 올바르게 작동하지 않습니다. 결과적으로 cloud-init 유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM 네트워크가 DHCP로 변경됩니다.

이 문제를 해결하려면 VMware 기술 자료 를 참조하십시오.

Jira:RHEL-12122

kmemleak 옵션이 활성화된 경우 대규모 VM이 디버그 커널에 부팅되지 않을 수 있습니다.

RHEL 9 VM(가상 머신)을 디버그 커널에 부팅할 때 머신 커널이 kmemleak=on 인수를 사용하는 경우 다음 오류로 인해 부팅이 실패할 수 있습니다.

Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.

Press Enter to continue.

이 문제는 부팅 순서에서 더 많은 시간을 소비하기 때문에 주로 대규모 VM에 영향을 미칩니다.

이 문제를 해결하려면 시스템에서 /etc/fstab 파일을 편집하고 /boot 및 / boot /efi 마운트 지점에 시간 초과 옵션을 추가합니다. 예를 들면 다음과 같습니다.

UUID=e43ead51-b364-419e-92fc-b1f363f19e49 /boot xfs defaults,x-systemd.device-timeout=600,x-systemd.mount-timeout=600 0 0

UUID=7B77-95E7 /boot/efi vfat defaults,uid=0,gid=0,umask=077,shortname=winnt,x-systemd.device-timeout=600,x-systemd.mount-timeout=600 0 2

Jira:RHELDOCS-16979[1]

11.17. 지원 관련 기능

IBM Power Systems, Little Endian에 대한 보고서 실행 시간 초과

IBM Power Systems, Little Endian with hundreds or thousands of CPUs에서 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[1]

11.18. 컨테이너

이전 컨테이너 이미지 내에서 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[1]

부록 A. 구성 요소별 티켓 목록

이 문서에는 Bugzilla 및 JIRA 티켓이 기재되어 있습니다. 링크는 티켓을 설명하는 이 문서의 릴리스 노트로 이어집니다.

Component티켓

389-ds-base

Bugzilla:2188627,Bugzilla:1987471,Bugzilla:2149025,Bugzilla:2166332,Bugzilla:2189946,Bugzilla:2189954,Bugzilla:1975930, Bugzilla:1974242,Bugzilla:1759941,Bugzilla:2053204,Bugzilla:2116948,Bugzilla:2179278,Bugzilla:2189717, Bugzilla:2170494,Bugzilla:2098236,Jira:RHEL-17178

NetworkManager

Bugzilla:2176137,Bugzilla:21619 1515 ,Bugzilla:2151986,Bugzilla:2190375,Bugzilla:206 #159 ,Bugzilla:2069004,Bugzilla:2148684, Bugzilla:2158328,Bugzilla:2180966,Bugzilla:2151040,Bugzilla:1894877

릴리스 노트

JIRA:RHELDOCS-16861,Jira:RHELDOCS-16760,Jira:RHELDOCS-16756,Jira:RHELDOCS-16612,Jira:RHELDOCS-17102,Jira:RHELDOCS-16979

anaconda

Bugzilla:2171811,Bugzilla:2164819,Bugzilla:2177219,Bugzilla:2157921,Bugzilla:2065754,Bugzilla:2107346,Bugzilla:2127473, Bugzilla:2050140,Bugzilla:1877697,Jira:RHEL-4707,Jira:RHEL-4711,Bugzilla:1997832,Jira:RHEL-4741,Bugzilla:2115783, , JIRA:RHEL-4762,Bugzilla:2163497,Jira:RHEL-4737

ansible-freeipa

Bugzilla:2175767, Bugzilla:2127903, Bugzilla:2127907

audit

Jira:RHELPLAN-161087

bacula

Jira:RHEL-6856

bind

Bugzilla:1984982

cloud-init

Bugzilla:2118235, Bugzilla:2172341, Jira:RHEL-12122

cockpit

Bugzilla:2203361

cockpit-appstream

Bugzilla:2030836

cockpit-machines

Bugzilla:2173584

크래시

Bugzilla:2170283

createrepo_c

Bugzilla:2056318

crypto-policies

Bugzilla:2216257, Bugzilla:2193324, Jira:RHEL-591, Bugzilla:2225222

cups-filters

Bugzilla:2229784

cyrus-sasl

Bugzilla:1995600

debugedit

Bugzilla:2177302

device-mapper-multipath

JIRA:RHEL-782,Bugzilla:2164869,Bugzilla:2033080,Bugzilla:2011699,Bugzilla:1926147

device-mapper-persistent-data

Bugzilla:2175198

dnf

Bugzilla:2124793, Bugzilla:2212262, Bugzilla:2073510

dnf-plugins-core

Bugzilla:2157844, Bugzilla:2134638, Bugzilla:2203100

edk2

Bugzilla:1935497

elfutils

Bugzilla:2182061, Bugzilla:2182059

fapolicyd

JIRA:RHEL-624,Jira:RHEL-622,Jira:RHEL-817,Bugzilla:2054740,Jira:RHEL-520

fence-agents

Bugzilla:2187327

fuse3

Bugzilla:2188182

gcc

Bugzilla:2193180, Bugzilla:2168204, Bugzilla:2208908

gcc-toolset-13

Bugzilla:2171919

gcc-toolset-13-annobin

Bugzilla:2171923

gcc-toolset-13-binutils

Bugzilla:2171926

gcc-toolset-13-gcc

Bugzilla:2172093

gcc-toolset-13-gdb

Bugzilla:2172096

gfs2-utils

Bugzilla:2170017

gimp

Bugzilla:2047161

glibc

Bugzilla:2169978, Bugzilla:2213907, Bugzilla:2177235

gnupg2

Bugzilla:2073567, Bugzilla:2070722

GnuTLS

Bugzilla:2157953, Bugzilla:2108532

golang

Bugzilla:2185259, Bugzilla:2111072, Bugzilla:2092016

grafana

Bugzilla:2193018, Bugzilla:2190025

grub2

Bugzilla:2184069

gssproxy

Bugzilla:2181465

gtk3

Jira:RHEL-11924

httpd

Bugzilla:2184403, Bugzilla:2173295

ipa

Bugzilla:2196426,Bugzilla:2165880,Bugzilla:2229712,Bugzilla:2227831,Bugzilla:2084180, Bug84166 ,Bugzilla:2069illa: 2069202 ,Bugzilla:2069202, Bugzilla:2094673,Bugzilla:2057471,Jira:RHEL-12154,Jira:RHEL-12143,Jira:RHEL-4955

iproute

Jira:RHEL-428

java-17-openjdk

Bugzilla:2186647

jmc-core

Bugzilla:1980981

kdump-anaconda-addon

Jira:RHEL-11196

kernel

Bugzilla:1898184,Bugzilla:2177180,Bugzilla:2144528,Bugzilla:2210263,Bugzilla:2180124,Bugzilla:2192730,Bugzilla:2178741, Bugzilla:2195986,Bugzilla:2208365,Bugzilla:2187856,Bugzilla:2192722,Bugzilla:2171093,Bugzilla:2189292, , Bugzilla:2193330,Bugzilla:2178930,Bugzilla:2092194,Bugzilla:2101598,Bugzilla:2218207,Bugzilla:2173947, Bugzilla:2178956,Bugzilla:2173594,Bugzilla:1613522,Bugzilla:1874182,Bugzilla:1995338,Bugzilla:1570255,Bugzilla:2177256, Bugzilla:2178699,Bugzilla:2023416,Bugzilla:2021672,Bugzilla:2027304,Bugzilla:1660337,Bugzilla:1955275,Bugzilla:2142102, Bugzilla:2068237,Bugzilla:2040643,Bugzilla:2186375,Bugzilla:2183538,Bugzilla:2206599,Bugzilla:2167783,Bugzilla:2000616, Bugzilla:2013650,Bugzilla:2132480,Bugzilla:2059545,Bugzilla:2005173,Bugzilla:2128610,Bugzilla:2129288,Bugzilla:2013884, Bugzilla:2149989

커널 / 네트워킹 / IPSec

Jira:RHEL-1015

커널 / 네트워킹 / NIC 드라이버

Jira:RHEL-6496, Jira:RHEL-9897, Jira:RHEL-15404

kernel / Platform Enablement / NVMe

Jira:RHEL-8171, Jira:RHEL-8164

커널 / 스토리지 / 스토리지 드라이버

Jira:RHEL-8466

커널 / 가상화 / KVM

Jira:RHEL-7212, Jira:RHEL-2815

kernel-rt

Bugzilla:2181571

kernel-rt / 기타

Jira:RHEL-9318

kexec-tools

Bugzilla:2083475,Bugzilla:2173815,Bugzilla:2169720,Bugzilla:2160676,Bugzilla:2113873,Bugzilla:2064708

keylime

JIRA:RHEL-595,Jira:RHEL-11866,Jira:RHEL-392,Jira:RHEL-393,Jira:RHEL-947,Jira:RHEL-1252,Jira:RHEL-11867,Jira:RHEL-1518

keylime-agent-rust

Jira:RHEL-476, Jira:RHEL-395, Jira:RHEL-396

kmod

Bugzilla:2103605

kmod-kvdo

Jira:RHEL-8354

krb5

Bugzilla:2178298,Bugzilla:2155607,Jira:RHEL-4902,Bugzilla:2060798,Jira:RHEL-4875,Jira:RHEL-4889,Bugzilla:2060421,Bugzilla:2016312,Jira:RHEL-4888

libabigail

Bugzilla:2186931

libotr

Bugzilla:2086562

libpfm

Bugzilla:2185652

libvirt

Bugzilla:2032406,Bugzilla:2168499,Bugzilla:2014487,Bugzilla:2143158,Bugzilla:2078693

libxcrypt

Bugzilla:2034569

llvm-toolset

Bugzilla:2178796

lvm2

Bugzilla:2038183

mysql

Bugzilla:1991500

nfs-utils

Bugzilla:2081114

nginx-1.22-module

Bugzilla:2170808

nmstate

Bugzilla:2179916,Bugzilla:2180795,Bugzilla:2177733,Bugzilla:2183214,Bugzilla:2187622

nodejs

Bugzilla:2186717

nss

Bugzilla:2157950

nvme-cli

Bugzilla:2159929

nvme-stas

Bugzilla:1893841

open-vm-tools

Bugzilla:2037657

opencryptoki

Bugzilla:2160061

opensc

Jira:RHEL-280

openscap

Bugzilla:2217442, Bugzilla:2161499

openslp

Jira:RHEL-6995

openssh

Bugzilla:2070163, Bugzilla:2056884

OpenSSL

Bugzilla:2216256,Bugzilla:2153471,Bugzilla:2188180,Bugzilla:2160797,Bugzilla:2168665,Bugzilla:1975836,Bugzilla:1681178,Bugzilla:1685470

osbuild

Jira:RHEL-4655

osbuild-composer

Bugzilla:2173928, Jira:RHEL-7999, Jira:RHEL-4649

oscap-anaconda-addon

Bugzilla:2172264, Jira:RHEL-1824

pacemaker

Bugzilla:2189301, Bugzilla:2182482

papi

Bugzilla:2111923, Bugzilla:2186927, Bugzilla:2215582

pause-container

Bugzilla:2106816

pcp

Bugzilla:2175602, Bugzilla:2185803

pcs

Bugzilla:2168155,Bugzilla:2163953,Bugzilla:2175881,Bugzilla:2182810,Bugzilla:1423473,Bugzilla:2177996,Bugzilla:1860626,Bugzilla:2163914

pcsc-lite-ccid

Bugzilla:2209457

perl-HTTP-Tiny

Bugzilla:2228412

pki-core

Bugzilla:2084181

podman

JIRA:RHELPLAN-154314,Jira:RHELPLAN-154432,Jira:RHELPLAN-154441,Jira:RHELPLAN-154438,Jira:RHELPLAN-163003,Jira:RHELPLAN-160660,Jira:RHELPLAN-154429,Bugzilla:

postfix

Bugzilla:2134789

python-greenlet

Bugzilla:2149497

python3.11-lxml

Bugzilla:2157708

qemu-kvm

Bugzilla:1880531,Bugzilla:1965079,Bugzilla:1951814,Bugzilla:2060839,Bugzilla:2014229,Jira:RHEL-7335, Jira:RHEL-7336 ,Jira:RHEL-7336, Bugzilla:1915715,Jira:RHEL-13335,Jira:RHEL-333,Bugzilla:2176010,Bugzilla:2058982,Bugzilla:2073872

qemu-kvm / devices

Jira:RHEL-1220

qemu-kvm / Graphics

Jira:RHEL-7135

qemu-kvm / Live Migration

Jira:RHEL-7096, Jira:RHEL-2316, Jira:RHEL-7115

qemu-kvm / Networking

Jira:RHEL-7337

Rear

Bugzilla:2188593, Bugzilla:2172912, Bugzilla:2196445, Bugzilla:2145014

redis

Bugzilla:2129826

resource-agents

Bugzilla:2174911,Bugzilla:2142518,Bugzilla:2142002,Bugzilla:2182415,Bugzilla:2179003

Restore

Bugzilla:1997366

rhel-system-roles

Bugzilla:2224384,Bugzilla:2216753,Bugzilla:2224385,Bugzilla:2185065,Bugzilla:2181656, Bug11194,Bugzilla:2218592, Bugzilla:2211723,Bugzilla:2218204,Bugzilla:2151373,Bugzilla:2179460,Bugzilla:2211748,Bugzilla:2229802, Bugzilla:2181657,Bugzilla:2168692,Bugzilla:2211984,Bugzilla:2232241,Bugzilla:2232231,Bugzilla:2224090, Bugzilla:2222761,Bugzilla:2223764,Bugzilla:2222428,Bugzilla:2216520,Bugzilla:2211187,Bugzilla:2209200, Bugzilla:2193058,Bugzilla:2186057,Jira:RHEL-1499,Jira:RHEL-1397,Jira:RHEL-1495,Jira:RHEL-898, Jira:RHEL- 885 , Jira:RHEL-885 ,Jira:RHEL-885 Bugzilla:1999770,Bugzilla:2123859 Jira:RHEL-1172,Bugzilla:2186218

rpm

Bugzilla:2157836

rsyslog

Jira:RHELPLAN-160541

rust

Bugzilla:2191743, Bugzilla:2227082

s390utils

Bugzilla:1932480

samba

Bugzilla:2190415

scap-security-guide

Bugzilla:2221697,Bugzilla:2155790,Jira:RHEL-1905,Bugzilla:2203791,Bugzilla:2213958,Bugzilla:2223178,Bugzilla:2193169,Jira:RHEL-1800,Bugzilla:2038978

selinux-policy

Bugzilla:2080443,Bugzilla:2170495,Bugzilla:2184999,Bugzilla:2162663,Bugzilla:2112729,Jira:RHELPLAN-163014,Bugzilla:2187745, Bugzilla:2229722,Bugzilla:2064274

setools

Bugzilla:2231801

sevctl

Bugzilla:2104857

sos

Bugzilla:1869561

squid-container

Bugzilla:2178953

sssd

Bugzilla:2065693, Bugzilla:2056482, Bugzilla:1608496

stratisd

Bugzilla:2041558

subscription-manager

Bugzilla:2163716, Bugzilla:2136694

sysstat

Jira:RHEL-12009

systemd

Bugzilla:2018112, Jira:RHEL-6105

systemtap

Bugzilla:2186934

Tang

Bugzilla:2188743

tigervnc

Bugzilla:2060308

tuned

Bugzilla:2113900

ubi9-micro-container

Bugzilla:2223028

udisks2

Bugzilla:1983602, Bugzilla:2213769

unbound

Bugzilla:2070495

valgrind

Bugzilla:2124346

virt-v2v

Bugzilla:2168082

virtio-win

Bugzilla:1969724,Jira:RHEL-11366,Jira:RHEL-910,Jira:RHEL-1609,Jira:RHEL-869

virtio-win / distribution

Jira:RHEL-1517, Jira:RHEL-574

virtio-win / virtio-win-prewhql

Jira:RHEL-1084, Jira:RHEL-935, Jira:RHEL-12118, Jira:RHEL-1212

webkit2gtk3

Jira:RHEL-4157

다음 중

Bugzilla:2181974

xdp-tools

Bugzilla:2218500, Jira:RHEL-3382

기타

Bugzilla:2232554,Jira:RHELDOCS-17055,Jira:RHELPLAN-163133,Jira:RHELPLAN-163665,Jira:RHELDOCS-16405,Jira:RHELDOCS-16247,Bugzilla:2136937, JIRA:RHELDOCS-16474,Jira:RHELDOCS-16462,Jira:RHELDOCS-16386,Jira:RHELPLAN-156196,Jira:RHELDOCS-16708,Jira:RHELDOCS-16709,Jira:RHELDOCS-16339, Jira:RHELDOCS-156196 , Jira:RHELDOCS-16708 , Jira JIRA:RHELDOCS-16877,Jira:RHELPLAN-122345,Jira:RHELDOCS-16487,Jira:RHELDOCS-16752,Jira:RHELDOCS-17101,Bugzilla:2236182,Jira:RHELDOCS-17040, Jira Bugzilla:2020529,Bugzilla:2030412,Jira:RHELPLAN-103993,Jira:RHELPLAN-27394,Jira:RHELPLAN-27737,Jira:RHELDOCS-16861,Jira:RHELDOCS-17050, Jira Bugzilla:1927780,Jira:RHELPLAN-110763,Bugzilla:1935544,Bugzilla:2089200,Jira:RHELDOCS-16948,Jira:RHELPLAN-99136,Jira:RHELDOCS-17380, JIRA:RHELPLAN-103232,Bugzilla:1899167,Bugzilla:1979521,Jira:RHELPLAN -100639 ,Jira:RHELPLAN-100639,Bugzilla:2058153,Jira:RHELPLAN-113995, Jira JIRA:RHELPLAN-98983,Jira:RHELPLAN-131882,Jira:RHELPLAN-139805,Jira:RHELDOCS-16756,Jira:RHELPLAN-153267,Jira:RHELDOCS-16300,Jira:RHELDOCS-16432, Jira:RHELPLAN-139805 , Jira JIRA:RHELDOCS-16393,Jira:RHELDOCS-16612,Jira:RHEL PLAN-157225,Jira:RHELPLAN-157337,Bugzilla:1640697,Bugzilla:1697896, , Bugzilla:2047713,Jira:RHELPLAN-96940,Jira:RHELPLAN-117234,Jira:RHELPLAN -1198 ,Jira:RHELPLAN-119852,Bugzilla:2077767,Bugzilla:2053598, , Bugzilla:2082303,Jira:RHELPLAN-121049,Jira:RHELPLAN-157939,Jira:RHELPLAN-109613,Bugzilla:2160619,Bugzilla:2173992,Bugzilla:2185048, , Bugzilla:1970830 Jira:RHELDOCS-16574

부록 B. 버전 내역

0.1-9

2024년 4월 18일 Gabriela Fialová (gfialova@redhat.com)

  • 개선된 RHEL-19142 (네트워크)가 추가되었습니다.
0.1-8

2024년 4월 11일 Gabriela Fialová (gfialova@redhat.com)

0.1-7

2024년 3월 14일 Gabriela Fialová (gfialova@redhat.com)

0.1-6

Mon Mar 04 2024, Gabriela Fialová (gfialova@redhat.com)

  • 버그 수정 Jira:SSSD-6096 (Identity Management)이 추가되었습니다.
0.1-5

2024년 2월 28일 Gabriela Fialová (gfialova@redhat.com)

  • 버그 수정 RHEL-8171 (Storage)에 대해 알려진 문제가 업데이트되었습니다.
0.1-4

2024년 2월 7일 Lucie Vaová (lvarakova@redhat.com)

  • 새로운 기능 RHEL-14694 (네트워크)가 추가되었습니다.
0.1-3

2024년 2월 1일 Gabriela Fialová (gfialova@redhat.com)

0.1-2

Mon Jan 29 2024, Gabriela Fialová (gfialova@redhat.com)

0.1-1

Thu Jan 2024, Lenka Špačková (lspackova@redhat.com)

  • Python RHELDOCS-17369 (Dynamic 프로그래밍 언어, 웹 및 데이터베이스 서버)와 관련된 개선 사항이 추가되었습니다.
0.1-0

2024년 1월 10일 Gabriela Fialová (gfialova@redhat.com)

  • 더 이상 사용되지 않는 기능 RHELDOCS-17380 (Security) 추가
0.0-9

2024년 1월 2일 Gabriela Fialová (gfialova@redhat.com)

  • 기능 강화에 대한 업데이트된 설명 BZ#2184403
0.0-8

2023년 11월 23일 Gabriela Fialová (gfialova@redhat.com)

0.0-7

2023년 11월 22일 Gabriela Fialová (gfialova@redhat.com)

0.0-6

2023년 11월 21일, David V#159enilek (dvozenil@redhat.com)

0.0-5

2023년 11월 20일, Jana Heves (jsvarova@redhat.com)

0.0-4

2023년 11월 19일, Filip>-<zelka (fhanzelk@redhat.com)

0.0-3

Thu November 16 2023, Marek Suchnek (msuchane@redhat.com)

0.0-2

2023년 11월 16일 Lenka Cryostatková (lspackova@redhat.com)

  • Node.js 20 이 이제 완전히 지원됩니다 (BZ#2186717).
0.0-1

2023년 11월 8일 Gabriela Fialová (gfialova@redhat.com)

  • Red Hat Enterprise Linux 9.3 릴리스 노트 릴리스 정보.
0.0-0

2023년 9월 27일 Gabriela Fialová (gfialova@redhat.com)

  • Red Hat Enterprise Linux 9.3 베타 릴리스 노트 릴리스.

법적 공지

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.