9.2 릴리스 노트
Red Hat Enterprise Linux 9.2 릴리스 정보
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 개요
1.1. RHEL 9.2의 주요 변경 사항
설치 프로그램 및 이미지 생성
이미지 빌더의 주요 주요 주요 내용:
- 이미지 빌더는 이제 이미지 빌더 웹 콘솔에서 청사진 및 이미지를 생성할 수 있는 새롭고 향상된 방법을 제공합니다.
-
이제
/etc
디렉터리에 사용자 지정 파일 및 디렉터리를 생성할 수 있습니다. - 이제 이미지 빌더 웹 콘솔에서 RHEL for Edge Simplified Installer 이미지 유형을 사용할 수 있습니다.
자세한 내용은 새로운 기능 - 설치 관리자 및 이미지 생성을 참조하십시오.
엣지용 RHEL
에지용 RHEL의 주요 주요 주요 주요 내용:
-
이제
simplified-installer
이미지에 대한 사용자 지정이 지원됩니다. - 이제 Edge Simplified 이미지에 대해 RHEL에서 Ignition 프로비저닝 유틸리티가 지원됩니다.
- 간소화된 설치 관리자 이미지는 이제 청사진의 FDO 사용자 지정 섹션 없이 구성할 수 있습니다.
자세한 내용은 새로운 기능 - 엣지용 RHEL을 참조하십시오.
보안
주요 보안 관련 주요 강조 사항:
- OpenSSL 보안 통신 라이브러리가 버전 3.0.7로 변경되었습니다.
- SELinux 사용자 공간 패키지가 버전 3.5로 업데이트되었습니다.
- Keylime 은 버전 6.5.2로 변경되었습니다.
- OpenSCAP 은 버전 1.3.7로 변경되었습니다.
- SCAP 보안 가이드가 0.1.66 버전으로 변경되었습니다.
- 유휴 세션 종료에 대한 새로운 규칙이 SCAP 보안 가이드에 추가되었습니다.
- Clevis 에서 외부 토큰을 허용합니다.
- rsyslog TLS 암호화 로깅은 이제 여러 CA 파일을 지원합니다.
- rsyslog 권한은 보안 노출을 최소화하기 위해 제한됩니다.
- 이제 fapolicyd 프레임워크에서 RPM 데이터베이스 필터링을 제공합니다.
자세한 내용은 새로운 기능 - 보안을 참조하십시오.
동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
다음 Application Streams의 이후 버전을 사용할 수 있습니다.
- Python 3.11
- nginx 1.22
- PostgreSQL 15
다음 구성 요소가 업그레이드되었습니다.
- git 버전 2.39.1
- Git LFS 버전 3.2.0
자세한 내용은 새로운 기능 - 동적 프로그래밍 언어, 웹 및 데이터베이스 서버를 참조하십시오.
컴파일러 및 개발 도구
업데이트된 시스템 툴체인
다음 시스템 툴체인 구성 요소가 RHEL 9.2에서 업데이트되었습니다.
- GCC 11.3.1
- glibc 2.34
- binutils 2.35.2
업데이트된 성능 도구 및 디버거
다음 성능 도구 및 디버거가 RHEL 9.2에서 업데이트되었습니다.
- GDB 10.2
- Valgrind 3.19
- SystemTap 4.8
- Dyninst 12.1.0
- elfutils 0.188
업데이트된 성능 모니터링 툴
다음 성능 모니터링 도구가 RHEL 9.2에서 업데이트되었습니다.
- PCP 6.0.1
- Grafana 9.0.9
업데이트된 컴파일러 툴셋
RHEL 9.2에서 다음과 같은 컴파일러 도구 세트가 업데이트되었습니다.
- GCC Toolset 12
- LLVM Toolset 15.0.7
- Rust Toolset 1.66
- Go Toolset 1.19.6
자세한 내용은 새로운 기능 - 컴파일러 및 개발 도구를 참조하십시오.
RHEL 9의 Java 구현
RHEL 9 AppStream 리포지토리에는 다음이 포함됩니다.
-
OpenJDK 17 Java Runtime Environment 및 OpenJDK 17 Java Software Development Kit를 제공하는
java-17-openjdk
패키지. -
OpenJDK 11 Java 런타임 환경과 OpenJDK 11 Java 소프트웨어 개발 키트를 제공하는
java-11-openjdk
패키지. -
OpenJDK 8 Java 런타임 환경과 OpenJDK 8 Java 소프트웨어 개발 키트를 제공하는
java-1.8.0-openjdk
패키지.
Red Hat build of OpenJDK 패키지는 이식 가능한 Linux 릴리스와 RHEL 9.2 이후 릴리스 사이에 단일 바이너리 세트를 공유합니다. 이번 업데이트를 통해 소스 RPM에서 RHEL에서 OpenJDK 패키지를 다시 빌드하는 프로세스가 변경되었습니다. 새로운 재구축 프로세스에 대한 자세한 내용은 OpenJDK의 Red Hat 빌드의 SRPM 패키지에서 사용할 수 있으며 /usr/share/doc
트리 아래의 java-*-openjdk-headless
패키지에서도 설치하는 README.md 파일을 참조하십시오.
자세한 내용은 OpenJDK 설명서를 참조하십시오.
웹 콘솔
RHEL 웹 콘솔은 이제 LUKS 암호화 루트 볼륨을 CloudEvent 배포에 바인딩하기 위한 추가 단계를 수행합니다.
이제 그래픽 인터페이스를 통해 다음 암호화 하위 정책을 적용할 수 있습니다. DEFAULT:SHA1
,LEGACY:AD-SUPPORT
및 FIPS:OSPP
.
자세한 내용은 새로운 기능 - 웹 콘솔 을 참조하십시오.
컨테이너
주요 변경 사항은 다음과 같습니다.
-
podman
RHEL 시스템 역할을 사용할 수 있습니다. - Fulcio 및 Rekor를 사용한 시그 저장소 서명용 클라이언트를 사용할 수 있습니다.
- Skopeo에서 sigstore 키 쌍 생성을 지원합니다.
- Podman에서 감사 이벤트를 지원합니다.
- 컨테이너 도구 패키지가 업데이트되었습니다.
- Aardvark 및 Netavark 네트워크 스택에서 이제 사용자 정의 DNS 서버 선택을 지원합니다.
- 이제 Toolbox를 사용할 수 있습니다.
- 이제 podman Quadlet을 기술 프리뷰로 사용할 수 있습니다.
- CNI 네트워크 스택이 더 이상 사용되지 않습니다.
자세한 내용은 새로운 기능 - 컨테이너를 참조하십시오.
1.2. 인플레이스 업그레이드
RHEL 8에서 RHEL 9로 인플레이스 업그레이드
현재 지원되는 인플레이스 업그레이드 경로는 다음과 같습니다.
RHEL 8.6에서 RHEL 9.0 및 RHEL 8.8에서 RHEL 9.2로 다음 아키텍처의 경우 다음을 수행합니다.
- 64비트 Intel
- 64비트 AMD
- 64비트 ARM
- IBM POWER 9 (little endian)
- IBM Z 아키텍처, z13 제외
- SAP HANA가 있는 시스템에서 RHEL 8.6에서 RHEL 9.0 및 RHEL 8.8로 RHEL 9.2로
자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.
인플레이스 업그레이드를 수행하는 방법에 대한 자세한 내용은 RHEL 8에서 RHEL 9로 업그레이드를 참조하십시오.
SAP HANA로 RHEL 9.2로 업그레이드하는 경우 업그레이드하기 전에 시스템이 SAP에 대해 인증되었는지 확인하십시오. SAP 환경에서 시스템에서 인플레이스 업그레이드를 수행하는 방법은 RHEL 8에서 RHEL 9로 SAP 환경을 인플레이스 업그레이드하는 방법을 참조하십시오.
주요 개선 사항은 다음과 같습니다.
- RHEL 업그레이드 경로 전략이 변경되었습니다. 자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.
- RHEL 9.2가 릴리스되면서 RHEL 8에서 RHEL 9로 인플레이스 업그레이드에 여러 가지 업그레이드 경로를 사용할 수 있습니다. 현재 릴리스에서는 RHEL 8.8에서 RHEL 9.2 또는 RHEL 8.6에서 RHEL 9.0로 인플레이스 업그레이드를 수행할 수 있습니다. 사용 가능한 업그레이드 경로는 SAP HANA를 사용하여 표준 RHEL 시스템과 RHEL 시스템 간에 다를 수 있습니다.
-
leapp-upgrade-el8toel9
패키지의 최신 릴리스에는 필요한 모든 leapp 데이터 파일이 포함됩니다. 고객은 더 이상 이러한 데이터 파일을 수동으로 다운로드할 필요가 없습니다. - FIPS 모드에서 RHEL 8.8 시스템의 인플레이스 업그레이드가 지원됩니다.
- 이제 대상 버전이 포함된 ISO 이미지를 사용하여 인플레이스 업그레이드를 수행할 수 있습니다.
-
이제 RPM 서명이 인플레이스 업그레이드 중에 자동으로 확인됩니다. 자동 검사를 비활성화하려면 업그레이드를 수행할 때
--nogpgcheck
옵션을 사용합니다. -
RHSM에 가입된 시스템은 이제 Red Hat Insights에 자동으로 등록됩니다. 자동 등록을 비활성화하려면
LEAPP_NO_INSIGHTS_REGISTER
환경 변수를1
로 설정합니다. -
Red Hat은 이제 업그레이드 시작 및 종료 시간 및 유틸리티 사용 분석을 위해 업그레이드 성공 여부와 같은 업그레이드 관련 데이터를 수집합니다. 데이터 수집을 비활성화하려면
LEAPP_NO_RHSM_FACTS
환경 변수를1
로 설정합니다.
RHEL 7에서 RHEL 9로 인플레이스 업그레이드
RHEL 7에서 RHEL 9로 직접 인플레이스 업그레이드를 수행할 수 없습니다. 그러나 RHEL 7에서 RHEL 8으로 인플레이스 업그레이드를 수행한 다음 RHEL 9로 두 번째 인플레이스 업그레이드를 수행할 수 있습니다. 자세한 내용은 RHEL 7에서 RHEL 8로 업그레이드에서 참조하십시오.
1.3. Red Hat Customer Portal 랩
Red Hat Customer Portal 랩 은 https://access.redhat.com/labs/ 에서 사용할 수 있는 고객 포털의 섹션에 있는 툴 집합입니다. Red Hat 고객 포털 랩의 애플리케이션은 성능 향상, 신속한 문제 해결, 보안 문제 식별, 복잡한 애플리케이션 배포 및 구성을 지원합니다. 가장 인기있는 애플리케이션 중 일부는 다음과 같습니다.
- 등록 도우미
- Kickstart 생성기
- Red Hat 제품 certificate
- Red Hat CVE Checker
- Kernel Oops Analyzer
- Red Hat Code Browser
- VNC 구성기
- Red Hat OpenShift Container Platform 업데이트 그래프
- Red Hat Satellite 업그레이드 도우미
- JVM 옵션 구성 도구
- 로드 밸런서 구성 툴
- Red Hat OpenShift Data Foundation 지원 및 상호 운용성 검사기
- Ansible Automation Platform 업그레이드 도우미
- 풀 계산기당 Ceph PG(배치 그룹)
1.4. 추가 리소스
기타 시스템 버전과 비교하여 Red Hat Enterprise Linux 9의 기능 및 제한사항 은 지식베이스 문서 Red Hat Enterprise Linux 기술 기능 및 제한 에서 확인할 수 있습니다.
Red Hat Enterprise Linux 라이프 사이클에 대한 정보는 Red Hat Enterprise Linux 라이프 사이클 문서를 참조하십시오.
패키지 매니페스트 문서에서는 라이센스 및 애플리케이션 호환성 수준을 포함하여 RHEL 9의 패키지 목록을 제공합니다.
애플리케이션 호환성 수준은 Red Hat Enterprise Linux 9: 애플리케이션 호환성 가이드 문서에 설명되어 있습니다.
제거된 기능을 포함하여 RHEL 8과 RHEL 9의 주요 차이점은 RHEL 9 채택 고려 사항에 설명되어 있습니다.
RHEL 8 에서 RHEL 9로 인플레이스 업그레이드를 수행하는 방법에 대한 지침은 RHEL 8 에서 RHEL 9 로 업그레이드 문서를 통해 제공됩니다.
알려진 기술 문제를 사전에 식별, 검토 및 해결할 수 있는 Red Hat Insights 서비스는 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. Red Hat Insights 클라이언트를 설치하고 서비스에 시스템을 등록하는 방법에 대한 자세한 내용은 Red Hat Insights 시작하기 페이지를 참조하십시오.
2장. 아키텍처
Red Hat Enterprise Linux 9.2는 최소 필수 버전에서 다음 아키텍처를 지원하는 커널 버전 5.14.0-284.11.1과 함께 배포됩니다.
- AMD 및 Intel 64비트 아키텍처(x86-64-v2)
- 64비트 ARM 아키텍처(ARMv8.0-A)
- IBM Power Systems, Little Endian (POWER9)
- 64비트 IBM Z(z14)
각 아키텍처에 적합한 서브스크립션을 구매해야 합니다. 자세한 내용은 Get Started with Red Hat Enterprise Linux - 추가 아키텍처.
3장. RHEL 9의 콘텐츠 배포
3.1. 설치
Red Hat Enterprise Linux 9는 ISO 이미지를 사용하여 설치합니다. AMD64, Intel 64비트, 64비트 ARM, IBM Power Systems, IBM Z 아키텍처에서는 두 가지 유형의 ISO 이미지를 사용할 수 있습니다.
설치 ISO: BaseOS 및 AppStream 리포지토리가 포함된 전체 설치 이미지로, 추가 리포지토리 없이 설치를 완료할 수 있습니다. 제품 다운로드 페이지에서
설치 ISO
를바이너리 DVD
라고 합니다.참고설치 ISO 이미지는 여러 GB 크기이며, 결과적으로 광 미디어 형식에 맞지 않을 수 있습니다. 설치 ISO 이미지를 사용하여 부팅 가능한 설치 미디어를 생성하는 경우 USB 키 또는 USB 하드 드라이브를 사용하는 것이 좋습니다. Image Builder 툴을 사용하여 사용자 지정된 RHEL 이미지를 생성할 수도 있습니다. 이미지 빌더에 대한 자세한 내용은 사용자 지정 RHEL 시스템 이미지 구성 문서를 참조하십시오.
- 부트 ISO: 설치 프로그램으로 부팅하는 데 사용하는 최소 부트 ISO 이미지입니다. 리포지토리는 설치 ISO 이미지의 일부입니다. 설치 중에 Red Hat CDN 또는 Satellite에 등록하여 Red Hat CDN 또는 Satellite의 최신 BaseOS 및 AppStream 콘텐츠를 사용할 수도 있습니다.
ISO 이미지 다운로드, 설치 미디어 생성 및 RHEL 설치 완료에 대한 자세한 내용은 표준 RHEL 9 설치 문서를 참조하십시오. 자동화된 Kickstart 설치 및 기타 고급 주제는 고급 RHEL 9 설치 문서를 참조하십시오.
3.2. 리포지토리
Red Hat Enterprise Linux 9는 다음 두 가지 주요 리포지토리를 통해 배포됩니다.
- BaseOS
- AppStream
두 리포지토리 모두 기본 RHEL 설치에 필요하며 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다.
BaseOS 리포지토리의 콘텐츠는 모든 설치의 기반이 되는 기본 OS 기능의 코어 세트를 제공하는 데 사용됩니다. 이 콘텐츠는 RPM 형식으로 사용 가능하며 이전 RHEL 릴리스와 비슷한 지원 조건이 적용됩니다. 자세한 내용은 적용 범위 세부 정보 문서를 참조하십시오.
AppStream 리포지토리의 콘텐츠에는 다양한 워크로드 및 사용 사례를 지원하는 추가 사용자 공간 애플리케이션, 런타임 언어 및 데이터베이스가 포함되어 있습니다.
또한 CodeReady Linux Builder 리포지토리는 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. 이는 개발자가 사용할 수 있는 추가 패키지를 제공합니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.
RHEL 9 리포지토리 및 제공하는 패키지에 대한 자세한 내용은 패키지 매니페스트 를 참조하십시오.
3.3. Application Streams
여러 버전의 사용자 공간 구성 요소가 Application Streams로 제공되며 코어 운영 체제 패키지보다 더 자주 업데이트됩니다. 따라서 플랫폼 또는 특정 배포의 기본 안정성에 영향을 주지 않고 RHEL을 사용자 지정할 수 있는 유연성이 향상됩니다.
Application Streams는 친숙한 RPM 형식으로, 모듈이라는 RPM 형식, 소프트웨어 컬렉션으로 또는 Flatpaks로 사용할 수 있습니다.
각 Application Stream 구성 요소에는 RHEL 9 이상과 동일한 라이프 사이클이 있습니다. RHEL 라이프 사이클 정보는 Red Hat Enterprise Linux 라이프 사이클을 참조하십시오.
RHEL 9는 기존 dnf install
명령을 사용하여 RPM 패키지로 설치할 수 있는 초기 Application Stream 버전을 제공하여 Application Streams 환경을 향상시킵니다.
RPM 형식의 특정 초기 Application Streams는 Red Hat Enterprise Linux 9보다 라이프 사이클이 짧습니다.
일부 추가 Application Stream 버전은 향후 RHEL 9 릴리스에서 더 짧은 라이프 사이클로 모듈로 배포됩니다. 모듈은 논리 단위, 애플리케이션, 언어 스택, 데이터베이스 또는 툴 세트를 나타내는 패키지 컬렉션입니다. 이러한 패키지는 함께 빌드, 테스트, 릴리스됩니다.
항상 설치하려는 Application Stream 버전을 확인하고 Red Hat Enterprise Linux Application Stream Lifecycle 을 먼저 검토하십시오.
대체 컴파일러 및 컨테이너 툴과 같은 빠른 업데이트가 필요한 콘텐츠는 롤링 스트림에서 동시에 대체 버전을 제공하지 않습니다. 롤링 스트림은 RPM 또는 모듈로 패키징할 수 있습니다.
RHEL 9에서 사용 가능한 Application Streams 및 애플리케이션 호환성 수준에 대한 자세한 내용은 패키지 매니페스트 를 참조하십시오. 애플리케이션 호환성 수준은 Red Hat Enterprise Linux 9: 애플리케이션 호환성 가이드 문서에 설명되어 있습니다.
3.4. YUM/DNF를 사용한 패키지 관리
Red Hat Enterprise Linux 9에서 소프트웨어 설치는 DNF 에서 보장합니다. Red Hat은 이전 RHEL 주요 버전과의 일관성을 위해 yum
용어 사용을 계속 지원합니다. yum
.f 대신 dnf
를 입력하면 두 명령이 모두 호환성을 위한 별칭이므로 예상대로 작동합니다.
RHEL 8 및 RHEL 9는 DNF 를 기반으로 하지만 RHEL 7에서 사용되는 YUM 과 호환됩니다.
자세한 내용은 DNF 툴을 사용한 소프트웨어 관리를 참조하십시오.
4장. 새로운 기능
이 부분에서는 Red Hat Enterprise Linux 9.2에 도입된 새로운 기능 및 주요 개선 사항에 대해 설명합니다.
4.1. 설치 프로그램 및 이미지 생성
이미지 빌더 웹 콘솔에서 developers 및 이미지를 생성하는 새롭고 향상된 방법
이번 개선된 기능을 통해 이미지 빌더 툴의 통합 버전에 액세스하고 사용자 환경이 크게 개선되었습니다.
이미지 빌더 대시보드 GUI의 주요 개선 사항은 다음과 같습니다.
- 이제 커널, 파일 시스템, 방화벽, 로케일 및 기타 사용자 정의와 같이 이전에 지원되었던 모든 사용자 정의를 사용하여 청사진을 사용자 지정할 수 있습니다.
-
.JSON
또는.TOML
형식으로 청사진을 업로드하거나 드래그하여 가져온 청사진에서 이미지를 생성하여 청사진을 가져올 수 있습니다. -
또한
.JSON
또는.TOML
형식으로 청사진을 내보내거나 저장할 수도 있습니다. - 정렬, 필터링, 대/소문자를 구분합니다.
이미지 빌더 대시보드를 사용하면 다음 탭을 탐색하여 청사진, 이미지 및 소스에 액세스할 수 있습니다.
- 청사진 - 청사진 탭에서는 이제 청사진을 가져오거나 내보내거나 삭제할 수 있습니다.
이미지 - 이미지 탭 아래 다음을 수행할 수 있습니다.
- 이미지를 다운로드합니다.
- 이미지 로그를 다운로드합니다.
- 이미지를 삭제합니다.
소스 - 소스 탭의 경우 다음을 수행할 수 있습니다.
- 이미지를 다운로드합니다.
- 이미지 로그를 다운로드합니다.
- 이미지 소스를 생성합니다.
- 이미지를 삭제합니다.
Jira:RHELPLAN-139448
/etc
디렉토리에 사용자 정의 파일 및 디렉터리 생성 기능
이번 개선된 기능을 통해 두 개의 새로운 청사진 사용자 지정을 사용할 수 있습니다. [[customizations.files]]]
및 [customizations.directories]]
를 사용하면 이미지의 /etc
디렉터리에 사용자 지정 파일 및 디렉터리를 생성할 수 있습니다. 현재는 /etc
디렉토리에서만 이러한 사용자 지정을 사용할 수 있습니다.
[customizations.directories]를
사용하면 다음을 수행할 수 있습니다.
- 새 디렉터리 생성
- 디렉터리에 대한 사용자 및 그룹 소유권 설정
- 8진수 형식으로 모드 권한 설정
[customizations.files]]
청사진 사용자 정의를 사용하면 다음을 수행할 수 있습니다.
-
상위
/
디렉터리에 새 파일 만들기 - 기존 파일 수정 - 기존 콘텐츠가 재정의됨
- 생성 중인 파일의 사용자 및 그룹 소유권 설정
- 8진수 형식으로 모드 권한 설정
새로운 Blueprint 사용자 지정은 edge-container
,edge-commit
과 같은 모든 이미지 유형에서 지원됩니다. Edge-raw-image,
생성하는 데 사용되는 청사진에서 지원되지 않는 사용자 정의
edge-installer
및 edge-simplified-installer
와 같은 설치 관리자 이미지를
Jira:RHELPLAN-147428
간소화된 설치 프로그램
이미지를 위한 CloudEvent에서 사용자를 지정할 수 있는 기능
이전에는 간소화된 설치 프로그램 이미지에 대한 청사진을 생성할 때 사용자 지정이 사용되지 않고 삭제되었기 때문에 사용자 지정에서 사용자를 지정할 수 없었습니다. 이번 업데이트를 통해 청사진에서 이미지를 생성할 때 이 청사진은 설치 시 /usr/lib/passwd
디렉터리에 사용자와 암호를 /usr/etc/shadow
디렉터리에 생성합니다. 사용자 이름과 청사진을 위해 작성한 암호를 사용하여 장치에 로그인할 수 있습니다. 시스템에 액세스한 후 useradd
명령을 사용하여 사용자를 생성해야 합니다.
Jira:RHELPLAN-149091
이미지 빌더로 빌드된 .vhd
이미지에 64비트 ARM 지원
이전에는 이미지 빌더 도구로 생성된 Microsoft Azure .vhd
이미지가 64비트 ARM 아키텍처에서 지원되지 않았습니다. 이번 업데이트에서는 64비트 ARM Microsoft Azure .vhd
이미지에 대한 지원이 추가되어 이제 이미지 빌더를 사용하여 .vhd
이미지를 빌드하고 Microsoft Azure 클라우드에 업로드할 수 있습니다.
Jira:RHELPLAN-139424
최소 RHEL 설치에서 s390utils-core
패키지만 설치합니다.
RHEL 8.4 이상에서는 s390utils-base
패키지가 s390utils-core
패키지 및 s390utils-base
패키지로 나뉩니다. 결과적으로 RHEL 설치를 minimal-environment
로 설정하면 s390utils-base
패키지가 아닌 필요한 s390utils-core
패키지만 설치됩니다. 최소한의 RHEL 설치와 함께 s390utils-base
패키지를 사용하려면 RHEL 설치를 완료한 후 패키지를 수동으로 설치하거나 kickstart 파일을 사용하여 s390utils-base
를 명시적으로 설치해야 합니다.
Bugzilla:1932480
4.2. 엣지용 RHEL
RHEL에서 Edge Simplified 이미지에 대한 Ignition 지원
이번 개선된 기능을 통해 청사진을 사용자 정의하여 간소화된 설치 관리자 이미지에 Ignition 파일을 추가할 수 있습니다. GUI와 CLI 모두 Ignition 사용자 지정을 지원합니다. RHEL for Edge는 Ignition 프로비저닝 유틸리티를 사용하여 부팅 프로세스의 초기 단계에 있는 이미지에 사용자 구성을 삽입합니다. 첫 번째 부팅 시 Ignition은 간단한 설치 관리자 이미지에 포함된 원격 URL 또는 파일에서 구성을 읽고 해당 구성을 이미지에 적용합니다.
Jira:RHELPLAN-139659
간소화된 설치 관리자 이미지는 이제 청사진의 FDO 사용자 지정 섹션 없이 구성할 수 있습니다.
이전에는 Edge Simplified Installer 이미지를 위해 RHEL을 빌드하려면 FIDO 장치 온보딩(FDO) 사용자 지정 섹션에 세부 정보를 추가해야 했습니다. 그렇지 않으면 이미지 빌드가 실패합니다. 이번 업데이트를 통해 이제 청사진의 FDO 사용자 지정이 선택 사항이며 오류 없이 Edge Simplified Installer 이미지에 대해 RHEL을 빌드할 수 있습니다.
Jira:RHELPLAN-139655
Red Hat build of MicroShift Support for RHEL for Edge images
이번 개선된 기능을 통해 RHEL for Edge 시스템에서 Red Hat build of MicroShift 서비스를 활성화할 수 있습니다. [[customizations.firewalld.zones]]
사용자 지정을 사용하면 attributes 사용자 지정에서 firewalld
소스에 대한 지원을 추가할 수 있습니다. 이를 위해 영역의 이름과 해당 특정 영역의 소스 목록을 지정합니다. 소스는 source[/mask]|MAC|ipset:ipset
형식일 수 있습니다.
다음은 RHEL for Edge 시스템에서 Red Hat 빌드에 대한 Red Hat 빌드에 대한 지원을 구성하고 사용자 지정하는 방법에 대한 예제입니다.
[[packages]] name = "microshift" version = "*" [customizations.services] enabled = ["microshift"] [[customizations.firewall.zones]] name = "trusted" sources = ["10.42.0.0/16", "169.254.169.1"]
Red Hat build of MicroShift 설치 요구 사항(예: 방화벽 정책, MicroShift RPM, systemd
서비스)을 통해 최소 필드 배포 엣지 장치 및 기본 LVM 장치 매퍼 활성화로 워크로드 이식성을 실현할 수 있는 배포를 생성할 수 있습니다.
Jira:RHELPLAN-136489
4.3. 소프트웨어 관리
RHEL에서 오프라인 업데이트를 위한 새로운 dnf offline-upgrade
명령
이번 개선된 기능을 통해 DNF system-upgrade
플러그인의 새로운 dnf offline-upgrade
명령을 사용하여 RHEL에 오프라인 업데이트를 적용할 수 있습니다.
system-upgrade
플러그인에 포함된 dnf system-upgrade
명령은 RHEL에서 지원되지 않습니다.
dnf 오프라인
업그레이드에 권고 보안 필터 적용 지원
이번 개선된 기능을 통해 권고 필터링의 새로운 기능이 추가되었습니다. 결과적으로 권고 보안 필터 (--advisory
,--security
,--bugfix
, 기타 필터)와 함께 dnf offline-upgrade
명령을 사용하여 지정된 권고에서만 패키지와 해당 종속성을 다운로드할 수 있습니다.
DNF API에서 unload_plugins
기능을 사용할 수 있습니다.
이번 개선된 기능을 통해 새로운 언로드_plugins
기능이 DNF API에 추가되어 플러그인을 언로드할 수 있습니다.
먼저 init_plugins
함수를 실행한 다음 unload_plugins
함수를 실행해야 합니다.
rpm2archive
의 새로운 --nocompression
옵션
이번 개선된 기능을 통해 rpm2archive
유틸리티에 --nocompression
옵션이 추가되었습니다. RPM 패키지의 압축을 직접 해제할 때 이 옵션을 사용하면 압축을 방지할 수 있습니다.
Bugzilla:2150804
4.4. 쉘 및 명령행 툴
Rear는 64비트 IBM Z 아키텍처에서도 완전 지원됩니다.
이전에는 64비트 IBM Z 아키텍처에서 기술 프리뷰로 사용할 수 있는 Relax 및 Recover(ReaR) 기능은 리어
패키지 버전 2.6-17.el9 이상에서 완전하게 지원됩니다. IBM Z 아키텍처에서는 z/VM 환경에서만 ReaR 복구 이미지를 생성할 수 있습니다. LPAR(Logical partitions) 백업 및 복구는 현재 지원되지 않습니다. Rear는 ECKD(Extended Count Key Data) 다이렉트 액세스 스토리지 장치(DASD)에서만 디스크 레이아웃 저장 및 복원을 지원합니다. FBA(Fibt Block Access) DASD 및FCP(Fibre Channel Protocol)를 통해 연결된 SCSI 디스크는 이러한 목적으로 지원되지 않습니다. 현재 사용 가능한 유일한 출력 방법은 커널 및 zIPL
부트 로더와 호환되는 초기 램디스크(initrd)를 생성하는 Initial Program Load(IPL)입니다.
자세한 내용은 64비트 IBM Z 아키텍처에서 ReaR 복구 이미지 사용을 참조하십시오.
Bugzilla:2046653
systemd
를 버전 252로 재기반
systemd
패키지가 버전 252로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.
-
system.conf
및user.conf
파일에서DefaultDeviceTimeoutSec=
옵션을 사용하여 장치 단위가 활성화되기를 기다리는 경우 기본 타임아웃을 지정할 수 있습니다. -
시스템 종료 시
systemd
는 이제 파일 시스템의 마운트를 해제하는 프로세스를 기록합니다. - 이제 일시적인 유닛에도 드롭인을 사용할 수 있습니다.
-
ConditionMemory=
옵션에서 K, M, G, T 등과 같은 크기 접미사를 사용할 수 있습니다. -
systemctl list-automounts
명령을 사용하여 points를 나열할 수 있습니다. -
systemd-logind
유틸리티를 사용하여StopIdleSessionSec=
옵션을 사용하여 사전 구성된 타임아웃 후 유휴 세션을 중지할 수 있습니다. -
systemd-udev
유틸리티는 Infiniband 동사 장치에 대한infiniband by-path
및infiniband by-ibdev
링크를 생성합니다. -
이제
systemd-tmpfiles
유틸리티는C
복사의 absent 소스를 정상적으로 처리합니다. -
systemd-repart
유틸리티는 서명을 포함하여dm-verity
파티션을 생성합니다.
업데이트된 systemd-udevd
는 InfiniBand 인터페이스에 일관된 네트워크 장치 이름을 할당합니다.
RHEL 9에 도입된 systemd
패키지의 새 버전에는 업데이트된 systemd-udevd
장치 관리자가 포함되어 있습니다. 장치 관리자는 InfiniBand 인터페이스의 기본 이름을 systemd-udevd
에서 선택한 일관된 이름으로 변경합니다.
IPoIB 장치 Renaming IPoIB 장치 절차에 따라 InfiniBand 인터페이스 이름에 대한 사용자 정의 이름 지정 규칙을 정의할 수 있습니다.
이름 지정 체계에 대한 자세한 내용은 systemd.net-naming-scheme(7)
매뉴얼 페이지를 참조하십시오.
4.5. 인프라 서비스
chrony
는 버전 4.3으로 재기반
chrony
제품군이 버전 4.3으로 업데이트되었습니다. 버전 4.2 이상의 주요 개선 사항은 다음과 같습니다.
-
NTP(Network Time Protocol) 측정의 장기 정량 기반 필터링이 추가되었습니다.
풀
,server
또는peer
지시문에maxdelayquant
옵션을 추가하여 이 기능을 활성화할 수 있습니다. -
선택 로그를 추가하여
chronyd
소스 선택에 대한 자세한 정보를 제공합니다. 선택 로그를log
지시문에 추가하여 활성화할 수 있습니다. - 하드웨어 타임스탬프 및 Pulse-Per-Second Hardware Clock(PHC) 참조 시계를 사용할 때 동기화 안정성이 향상되었습니다.
- 무료 실행 안정 시계(Temperature Compensated hieradata Oscillator), Oven-Controlledanchor Oscillator (OCXO) 또는 원자 시계와 같은 시스템 클럭에 대한 지원이 추가되었습니다.
- 최대 폴링 속도를 초당 128개의 메시지로 늘립니다.
FR
R 버전 8.3.1로 업데이트
동적 라우팅 스택을 관리하기 위한 frr
패키지가 버전 8.3.1로 업데이트되었습니다. 버전 8.2.2의 주요 변경 사항은 다음과 같습니다.
BGP(Border Gateway Protocol)와 상호 작용할 수 있는 새로운 명령 세트를 추가했습니다.
-
set as-path
명령은 BGP 경로의 Autonomous System(AS) 경로 속성을 새 값으로 대체합니다. -
BGP 경로 맵을 구성할 때 특정 BGP 피어 또는 그룹과 일치하는 match 피어 명령입니다.
-
ead-es-frag evi-limit
명령은 Eknative에서 주어진 기간 내에 보낼 수 있는 Ethernet A-D 조각 수에 제한을 설정합니다. -
match evpn route-type
명령은 route-target, route-distinguisher 또는 MAC/IP 경로와 같은 특정 유형의 E#177 경로에 대한 특정 작업을 수행합니다.
-
-
FRR 데몬과 상호 작용하기 위해 VTYSH 명령줄 인터페이스에
show thread
timer 명령을 추가했습니다. -
show ip ospf reachable-routers
명령을 추가하여 현재 OSPF 프로토콜을 통해 연결할 수 있는 라우터 목록을 표시합니다. PIM( Protocol>-< Multicast) 데몬과 상호 작용할 수 있는 새 명령이 추가되었습니다.
-
debug igmp trace detail
명령은 자세한 추적으로 IGMP(Internet Group Management Protocol) 메시지 디버깅을 활성화합니다. -
인터페이스를 수동적으로 구성하는
ip pim passive
명령은 PIM 메시지를 전송하지 않고 수동적으로 설정합니다.
-
-
show zebra
명령에 ECMP, EECDHE, MPLS 상태와 같은 새로운 출력이 추가되었습니다. -
커널의
mroute
테이블에서 멀티 캐스트 관련 정보를 표시하기 위해show ip nht mrib
명령을 ZEBRA 구성 요소에 추가했습니다.
version 3.0.5로 다시 기반
Very Secure FTP Daemon(Forwarded
)은 호스트 간에 파일을 전송하는 안전한 방법을 제공합니다. ScanSetting
패키지가 버전 3.0.5로 업데이트되었습니다. 주요 변경 사항 및 개선 사항에는 다음과 같은 SSL 현대화가 포함됩니다.
-
기본적으로 CloudEvent
유틸리티
에는 보안 연결을 위해 TLS 버전 1.2 이상을 사용해야 합니다. -
이제
ScanSetting
유틸리티가 최신 FileZ 대개 클라이언트와 호환됩니다.
frr
패키지에 대상 SELinux 정책 포함
동적 라우팅 스택을 관리하기 위한 frr
패키지의 빠른 개발로 인해 새로운 기능 및 AVC(Access Vector cache)가 자주 발생합니다. 이번 개선된 기능을 통해 이제 SELinux 규칙이 FRR과 함께 패키징되어 모든 문제를 보다 신속하게 해결할 수 있습니다. SELinux는 필수 액세스 제어 정책을 적용하여 패키지에 추가 수준의 보호를 추가합니다.
PowerTOP
rebased to 버전 2.15
에너지 효율성을 개선하기 위한 전원 데스크탑
패키지가 버전 2.15로 업데이트되었습니다. 주요 변경 사항 및 개선 사항은 다음과 같습니다.
-
여러 개의 Valgrind 오류 및 가능한 버퍼 오버런이
전원 장치
안정성을 개선하기 위해 수정되었습니다. - Rytripleo 프로세서 및 Kaby Lake 플랫폼과의 호환성 개선
- enabled Lake Field, Alder Lake N 및 Raptor Lake 플랫폼을 지원합니다.
- Ice Lake NNPI 및 Meteor Lake 모바일 및 데스크탑 지원 활성화
Bugzilla:2044132
systemd-sysusers
유틸리티는 chrony
,dhcp
,ra
ECDHE , squid
패키지에서 사용할 수 있습니다.
systemd-sysusers
유틸리티는 패키지 설치 중에 시스템 사용자 및 그룹을 생성하고 패키지를 제거하는 동안 제거합니다. 이번 개선된 기능을 통해 다음 패키지에는 스크립트릿에 systemd-sysusers
유틸리티가 포함되어 있습니다.
-
chrony
, -
dhcp
, -
radvd
, -
squid
.
Jira:RHELPLAN-136485
빈도 동기화를 위한 새로운 synce4l
패키지 사용 가능
SyncE(Synchronous Ethernet)는 PTP 클럭이 물리 계층에서 빈도를 정확하게 동기화할 수 있도록 하는 하드웨어 기능입니다. SyncE는 특정 NIC(네트워크 인터페이스 카드) 및 네트워크 스위치에서 지원됩니다.
이번 개선된 기능을 통해 이제 SyncE를 지원하는 새로운 synce4l
패키지를 사용할 수 있습니다. 그 결과 RAN(Telco radio Access Network) 애플리케이션이 보다 정확한 시간 동기화로 인해 보다 효율적인 통신을 수행할 수 있게 되었습니다.
Bugzilla:2143264
버전 2.20.0에 따라 조정
애플리케이션 및 워크로드의 성능을 최적화하는 TuneD 유틸리티가 버전 2.20.0으로 업데이트되었습니다. 버전 2.19.0에 대한 주요 변경 사항 및 개선 사항은 다음과 같습니다.
- API 확장을 사용하면 런타임에 플러그인 인스턴스 간에 장치를 이동할 수 있습니다.
CPU 관련 성능 설정을 세밀하게 조정하는
plugin_cpu
모듈에는 다음과 같은 향상된 기능이 도입되었습니다.-
pm_qos_resume_latency_us
기능을 사용하면 각 CPU가 유휴 상태에서 활성 상태로 전환되는 데 허용되는 최대 시간을 제한할 수 있습니다. -
tuned는 다양한 사용 시나리오를 기반으로 시스템의 전원 관리를 조정하는 확장 알고리즘을 제공하는
intel_pstate
스케일링 드라이버를 지원합니다.
-
- Unix 도메인 소켓을 통해 TuneD를 제어하는 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 자세한 내용은 기술 프리뷰로 사용 가능한 TuneD의 소켓 API 를 참조하십시오.
Bugzilla:2133815, Bugzilla:2113925, Bugzilla:2118786, Bugzilla:2095829
4.6. 보안
libreswan은 4.9로 다시 설정
libreswan
패키지가 4.9 버전으로 업그레이드되었습니다. 이전 버전의 주요 변경 사항은 다음과 같습니다.
-
addconn
및whack
유틸리티에 대한{left,right}pubkey=
옵션을 지원 - KDF 자체 테스트
호스트의 인증 키 표시(
showhostkey
).- ECDSA 공개 키 지원
-
PEM 인코딩 공개 키를 출력하는 새로운
--pem
옵션
인터넷 키 교환 프로토콜 버전 2 (IKEv2):
- 확장 가능한 인증 프로토콜 - 전송 계층 보안 (EAP-TLS) 지원
- EAP 전용 인증 지원
pluto
IKE 데몬:-
maxbytes
및maxpacket
카운터 지원
-
Bugzilla:2128669
OpenSSL이 3.0.7로 다시 시작
OpenSSL 패키지는 다양한 버그 수정 및 개선 사항이 포함된 버전 3.0.7로 변경되었습니다. 특히 기본 공급자에는 이제 RIPEMD160
해시 기능이 포함됩니다.
libssh
에서 스마트 카드 지원
이제 PKI(Public-Key Cryptography Standard) #11 URI(Uniform Resource Identifier)를 통해 스마트 카드를 사용할 수 있습니다. 결과적으로 libssh
SSH 라이브러리와 libssh
를 사용하는 애플리케이션에서 스마트 카드를 사용할 수 있습니다.
libssh
rebased to 0.10.4
시스템 간 보안 원격 액세스 및 파일 전송을 위해 SSH 프로토콜을 구현하는 libssh
라이브러리가 버전 0.10.4로 업데이트되었습니다.
새로운 기능:
- OpenSSL 3.0 지원이 추가되었습니다.
- 스마트 카드에 대한 지원이 추가되었습니다.
-
IdentityAgent
및ModuliFile
두 가지 새로운 구성 옵션이 추가되었습니다.
기타 주요 변경 사항은 다음과 같습니다.
- 1.0.1 이전 버전 OpenSSL은 더 이상 지원되지 않습니다.
- 기본적으로 DSL(Digital Signature Algorithm) 지원은 빌드 시 비활성화되었습니다.
- SCP API는 더 이상 사용되지 않습니다.
-
catalog
key
및privatekey
API는 더 이상 사용되지 않습니다.
3.5로 업데이트 된 SELinux 사용자 공간 패키지
SELinux 사용자 공간 패키지 libselinux
,
,libse
managecheckpolicy
,mcstrans
, policycoreutils
, sepolicy
유틸리티를 포함하는 버전 3.5로 업데이트되었습니다. 주요 개선 사항 및 버그 수정 사항은 다음과 같습니다.
sepolicy
유틸리티:- man 페이지에 누락된 부울 추가
- 여러 Python 및 GTK 업데이트
-
PCRE2
라이브러리의 힙 메모리 사용량을 줄이는libselinux
에 해결방법이 추가되었습니다. libsepol
패키지:- 커널 정책에 대한 type AV 규칙의 속성 거부
- 더 이상 간단한 왕복 테스트를 허용하는 빈 클래스 정의를 작성하지 않습니다.
- 엄격한 정책 검증
-
fixfiles
스크립트는SIGINT
신호에 임시 바인드 마운트를 마운트 해제합니다. - 많은 코드 및 맞춤법 버그가 수정됨
-
더 이상 사용되지 않는 Python 모듈
distutils
및 PIP를 사용한 설치에 대한 종속성 제거 -
semodule
옵션--rebuild-if-modules-changed
의 이름이--refresh
로 변경됨 - 생성된 설명을 위해 번역 업데이트 및 지원되지 않는 언어의 처리 개선
- 많은 정적 코드 분석 버그, 퍼저 문제 및 컴파일러 경고가 수정됨
Bugzilla:2145224,Bugzilla:2145228,Bugzilla:2145229,Bugzilla:2145226,Bugzilla:2145230,Bugzilla:2145231
OpenSCAP이 1.3.7로 재기반
OpenSCAP 패키지는 업스트림 버전 1.3.7로 변경되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
- OVAL 필터를 처리할 때 발생한 오류 수정 (RHBZ#2126882)
-
InstallPlan이 일치하지 않는 경우 OpenSCAP에서 잘못된 빈
xmlfilecontent
항목을 더 이상 내보내지 않습니다(RHBZ#2139060). -
사용 가능한 메모리 오류 (RHBZ#2111040)를확인하지 못했습니다
.
SCAP 보안 가이드 0.1.66으로 업데이트
SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.66으로 변경되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다.
- 새로운 CIS RHEL9 프로필
-
account_passwords_pam_faillock_audit
규칙 사용 중단:accounts_passwords_pam_faillock_audit
유휴 세션 종료를 위한 새로운 SCAP 규칙
새로운 SCAP 규칙 logind_session_timeout
이 강화 및 높은 수준의 ANSSI-BP-028 프로파일의 scap-security-guide
패키지에 추가되었습니다. 이 규칙은 systemd
서비스 관리자의 새로운 기능을 사용하고 특정 시간 후에 유휴 사용자 세션을 종료합니다. 이 규칙은 여러 보안 정책에 필요한 강력한 유휴 세션 종료 메커니즘의 자동 구성을 제공합니다. 결과적으로 OpenSCAP은 유휴 사용자 세션 종료와 관련된 보안 요구 사항을 자동으로 확인하고 필요한 경우 문제를 해결할 수 있습니다.
Rsyslog 로그 파일에 대한 SCAP -security-guide
규칙은 RainerScript 로그와 호환됩니다.
Rsyslog 로그 파일의 소유권 확인 및 수정, 그룹 소유권 및 권한에 대한 scap-security-guide
의 규칙도 이제 RainerScript 구문과 호환됩니다. 최신 시스템에서는 Rsyslog 구성 파일에서 RainerScript 구문을 이미 사용하고 있으며 해당 규칙은 이 구문을 인식하지 못했습니다. 결과적으로 scap-security-guide
규칙은 이제 사용 가능한 두 구문에서 소유권, 그룹 소유권 및 권한을 확인하고 수정할 수 있습니다.
Keylime re based to 6.5.2
keylime
패키지는 업스트림 버전인 keylime-6.5.2-5.el9로 변경되었습니다. 이 버전에는 다양한 개선 사항 및 버그 수정이 포함되어 있으며 특히 다음과 같습니다.
- 해결된 취약점 CVE-2022-3500
- 다른 RHBZ#2138167이후 하나의 스크립트가 빠르게 실행되면 Keylime 에이전트가 더 이상 IMA 검사에 실패하지 않습니다.
-
/usr/share/keylime/create_mb_refstate
스크립트 RHBZ#2140670의 분할 오류 수정 -
require_ek_cert
옵션이 활성화되면 EK 검증 중에 Registrar가 더 이상 충돌하지 않습니다 RHBZ#2142009
Clevis에서 외부 토큰 허용
Clevis 자동 암호화 툴에 도입된 새로운 -e
옵션을 사용하면 cryptsetup
중에 암호를 입력하지 않도록 외부 토큰 ID를 제공할 수 있습니다. 이 기능을 사용하면 구성 프로세스를 보다 자동화하고 편리하게 수행할 수 있으며 Clevis를 사용하는 stratis
과 같은 패키지에 특히 유용합니다.
rsyslog TLS 암호화 로깅이 여러 CA 파일 지원
새로운 NetstreamDriverCaExtraFiles
지시문을 사용하면 TLS 암호화 원격 로깅을 위한 추가 CA(인증 기관) 파일 목록을 지정할 수 있습니다. 새 지시문은 ossl
(OpenSSL) Rsyslog 네트워크 스트림 드라이버에서만 사용할 수 있습니다.
rsyslog 권한은 제한됩니다.
이제 Rsyslog 로그 처리 시스템의 권한은 Rsyslog에 명시적으로 필요한 권한으로만 제한됩니다. 이렇게 하면 입력 리소스 오류(예: 네트워킹 플러그인)의 경우 보안 노출이 최소화됩니다. 그 결과 Rsyslog는 동일한 기능을 가지지만 불필요한 권한은 없습니다.
SELinux 정책을 통해 Rsyslog는 시작 시 권한을 삭제할 수 있습니다.
Rsyslog 로그 처리 시스템의 권한이 보안 노출 최소화로 제한되기 때문에 (RH#2127404) SELinux 정책이 업데이트되어 rsyslog
서비스가 시작 시 권한을 삭제할 수 있습니다.
Tang에서 systemd-sysusers
사용
Tang 네트워크 존재 서버는 이제 useradd
명령을 포함하는 쉘 스크립트 대신 systemd-sysusers
서비스를 통해 시스템 사용자 및 그룹을 추가합니다. 이를 통해 시스템 사용자 목록을 쉽게 확인할 수 있으며, sysuser.d
파일을 더 높은 우선 순위로 제공하여 시스템 사용자 정의도 재정의할 수 있습니다.
Opencryptoki
rebased to 3.19.0
opencryptoki
패키지는 많은 개선 사항 및 버그 수정을 제공하는 3.19.0 버전으로 변경되었습니다. 특히 opencryptoki
는 다음과 같은 기능을 지원합니다.
- IBM 특정 dilithium 키
- 듀얼 기능 암호화 함수
-
PKCS #11 cryptographic Token Interface Base Specification v3.0에 설명된 대로 새로운
C_SessionCancel
함수를 사용하여 활성 세션 기반 작업 취소 -
CKM_IBM_ECDSA_OTHER
메커니즘을 통해 Schnorr 서명 -
CKM_IBM_B Cortex_DERIVE
메커니즘을 통한 NetworkPolicy 키 파생 - IBM z16 시스템의 EP11 토큰
Bugzilla:2110314
이제 SELinux가 CloudEvent tcpd
및 udftools
를 제한합니다.
이 selinux-policy
패키지가 업데이트되면 SELinux는 다음 서비스를 제한합니다.
-
mptcpd
-
udftools
Bugzilla:1972222
fapolicyd에서 RPM 데이터베이스 필터링 제공
새 구성 파일 /etc/fapolicyd/rpm-filter.conf
를 사용하면 fapolicyd
소프트웨어 프레임워크가 trust 데이터베이스에 저장하는 RPM-database 파일 목록을 사용자 지정할 수 있습니다. 이렇게 하면 RPM으로 설치된 특정 애플리케이션을 차단하거나 기본 구성 필터로 거부된 애플리케이션을 허용할 수 있습니다.
Jira:RHEL-192
GnuTLS는 암호 해독 및 암호화 중에 패딩을 추가 및 제거할 수 있습니다.
특정 프로토콜을 구현하려면 암호 해독 및 암호화 중에 PKCS#7 패딩이 필요합니다. gnutls_cipher_encrypt3
및 gnutls_cipher_decrypt3
블록 암호화 기능이 GnuTLS에 추가되었습니다. 결과적으로 GNUTLS_CIPHER_PADDING_PKCS7
플래그와 함께 이러한 함수를 사용하여 원래 일반 텍스트의 길이가 블록 크기 중 다수가 아닌 경우 패딩을 자동으로 추가하거나 제거할 수 있습니다.
NSS는 1023비트보다 짧은 RSA 키를 더 이상 지원하지 않음
NSS(Network Security Services) 라이브러리 업데이트에서는 모든 RSA 작업의 최소 키 크기를 128비트에서 1023비트로 변경합니다. 즉 NSS가 다음 기능을 더 이상 수행하지 않습니다.
- 1023비트보다 짧은 RSA 키를 생성합니다.
- 1023비트보다 짧은 RSA 키를 사용하여 RSA 서명을 서명하거나 확인합니다.
- 1023비트보다 짧은 RSA 키를 사용하여 값을 암호화하거나 해독합니다.
EUS ( Extended Master Secret
TLS Extension)가 FIPS 지원 시스템에서 적용됩니다.
RHSA-2023:3722 권고가 릴리스되면서 TLS 확장 마스터 시크릿
(ECDSA) 확장(RFC 7627)은 FIPS 지원 RHEL 9 시스템에서 TLS 1.2 연결에 필요합니다. 이는 FIPS-140-3 요구 사항에 따라 수행됩니다. TLS 1.3은 영향을 받지 않습니다.
ECDSA 또는 TLS 1.3을 지원하지 않는 레거시 클라이언트는 이제 RHEL 9에서 실행되는 FIPS 서버에 연결할 수 없습니다. 마찬가지로 FIPS 모드의 RHEL 9 클라이언트는 ECDSA 없이 TLS 1.2만 지원하는 서버에 연결할 수 없습니다. 실제로 이러한 클라이언트는 RHEL 6, RHEL 7 및 비 RHEL 레거시 운영 체제의 서버에 연결할 수 없습니다. 이는 OpenSSL의 기존 1.0.x 버전이 ECDSA 또는 TLS 1.3을 지원하지 않기 때문입니다.
또한 FIPS 지원 RHEL 클라이언트에서 VMWare ESX와 같은 하이퍼바이저에 연결하는 것은 이제 하이퍼바이저에서 TLS 1.2 없이 TLS 1.2를 사용하는 경우 공급자 루틴::ems not enabled
오류와 함께 실패합니다. 이 문제를 해결하려면 ECDSA 확장을 사용하여 TLS 1.3 또는 TLS 1.2를 지원하도록 하이퍼바이저를 업데이트합니다. VMWare vSphere의 경우 이는 버전 8.0 이상을 의미합니다.
자세한 내용은 Red Hat Enterprise Linux 9.2에서 적용된 TLS 확장 "확장 마스터 시크릿" 을 참조하십시오.
4.7. 네트워킹
NetworkManager가 버전 1.42.2로 다시 설정
NetworkManager
패키지가 업스트림 버전 1.42.2로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다.
- 이더넷 본딩은 소스 로드 밸런싱을 지원합니다.
-
NetworkManager는
루프백
장치에서 연결을 관리할 수 있습니다. - IPv4 ECMP(Equal-cost multi-path) 경로 지원이 추가되었습니다.
-
VLAN(Virtual Local Area Networks) 연결에서
802.1ad
태그 지정 기능이 추가되었습니다. -
nmtui
애플리케이션은 Wi-FiECDHE-Enterprise, 802.1X 인증이 포함된 이더넷 및 MACsec 연결 프로필을 지원합니다. - NetworkManager는 모든 주소가 IPv6 중복 주소 탐지(DAD)에 실패하는 경우 DHCPv6 리스를 거부합니다.
주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.
NetworkManager를 사용한 ECMP 라우팅의 weight
속성 소개
이번 업데이트를 통해 RHEL 9는 IPv4 Equal-Cost Multi-Path(ECMP) 경로를 정의할 때 새 속성 가중치
를 지원합니다. NetworkManager를 사용하여 다중 경로 라우팅을 구성하여 네트워크 트래픽을 로드 밸런싱하고 안정화할 수 있습니다. 이를 통해 두 노드 간 데이터 전송에 여러 경로를 사용할 수 있으므로 네트워크 효율성을 개선하고 링크 실패 시 중복성을 제공합니다. weight
속성을 사용하는 조건은 다음과 같습니다.
- 유효한 값은 1-256입니다.
-
weight
속성을 사용하여 단일 홉 경로로 여러 개의 next-hop 경로를 정의합니다. -
weight
를 설정하지 않으면 NetworkManager는 경로를 ECMP 경로로 병합할 수 없습니다.
NetworkManager 업데이트: 여러 네트워크에서 DNS 구성에 대한 유연성 향상
이번 업데이트를 통해 /etc/Networkmanager/NetworkManager.conf
파일에서 기존 [global-dns]
섹션을 사용하여 [global-dns-domain-*]
섹션에 nameserver
값을 지정하지 않고 DNS 옵션을 구성할 수 있습니다. 이를 통해 실제 DNS 확인을 위해 네트워크 연결에 의해 제공되는 DNS 서버를 계속 사용하는 동안 /etc/resolv.conf
파일에서 DNS 옵션을 구성할 수 있습니다. 결과적으로 이 기능을 사용하면 다른 DNS 서버를 사용하여 다른 네트워크에 연결할 때 DNS 설정을 보다 쉽고 유연하게 관리할 수 있습니다. 특히 /etc/resolv.conf
파일을 사용하여 DNS 옵션을 구성할 때 더욱 그러합니다.
NetworkManager에서 새로운 vlan.protocol
속성 지원
이번 업데이트를 통해 vlan
인터페이스 유형이 이제 새 프로토콜
속성을 허용합니다. 속성 유형은 string입니다. 허용되는 값은 802.1Q
(기본값) 또는 802.1ad
입니다. new 속성은 캡슐화의 태그 식별자를 제어하는 VLAN 프로토콜을 지정합니다.
NetworkManager에서 관리되지 않는 인터페이스를 통한 VLAN 설정 허용
이 향상된 기능을 통해 NetworkManager를 사용하여 VLAN(가상 LAN)을 구성할 때 관리되지 않는 네트워킹 인터페이스를 기본 인터페이스로 사용할 수 있습니다. 결과적으로 nmcli 장치 set enp1s0 managed true
명령 또는 NetworkManager의 기타 API를 통해 명시적으로 변경되지 않는 한 VLAN 기본 인터페이스는 그대로 유지됩니다.
NetworkManager를 사용하여 Multipath TCP 구성을 완전히 지원
이번 업데이트를 통해 NetworkManager 유틸리티는 MPTCP(Multipath TCP) 기능을 제공합니다. nmcli
명령을 사용하여 MPTCP를 제어하고 설정을 영구적으로 만들 수 있습니다.
자세한 내용은 다음을 참조하십시오.
NetworkManager 유틸리티에서 루프백
인터페이스에서 연결 활성화 지원
관리자는 다음과 같이 루프백
인터페이스를 관리할 수 있습니다.
-
루프백
인터페이스에 IP 주소 추가 - DNS 구성 정의
- 인터페이스에 바인딩되지 않는 특수 경로 정의
- 인터페이스와 관련이 없는 경로 규칙을 정의합니다.
-
루프백
인터페이스의 최대 전송 단위(MTU) 크기 변경
balance-slb
bonding 모드 지원
새로운 balance-slb
bonding 모드 소스 로드 밸런싱에는 스위치 구성이 필요하지 않습니다. balance-slb
는 xmit_hash_policy
=vlan+srcmac
을 사용하여 소스 이더넷 주소에서 트래픽을 나누고 NetworkManager는 트래픽 필터링에 필요한 nftables
규칙을 추가합니다. 그 결과 NetworkManager를 사용하여 balance-slb
옵션을 활성화한 본딩 프로필을 생성할 수 있습니다.
firewalld
버전 1.2로 재기반
firewalld
패키지가 여러 개선 사항을 제공하는 버전 1.2로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.
- 새로운 서비스 지원 (예: netdata, IPFS)
-
시스템이 보호되고
firewalld
서비스가 시작 중에 오류가 발생하면 네트워크 통신이 중단되지 않도록 하기 위한 장애 조치 모드 -
일부
firewalld
정책 명령에 대한 CLI(명령줄)의 Tab-completion
firewalld
에서 시작 failsafe 메커니즘 지원
이번 개선된 기능을 통해 시작 실패 시 firewalld
가 failsafe 기본값으로 대체됩니다. 이 기능은 잘못된 구성 또는 기타 시작 문제가 발생한 경우 호스트를 보호합니다. 결과적으로 사용자 구성이 유효하지 않더라도 firewalld
를 실행하는 호스트가 이제 failsafe 상태로 시작됩니다.
conntrack-tools
는 버전 1.4.7로 변경되었습니다.
conntrack-tools
패키지가 버전 1.4.7로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 주요 변경 사항은 다음과 같습니다.
-
하드웨어에
conntrack
항목의 오프로드를 지정하는IPS_HW_OFFLOAD
플래그를 추가합니다. -
clash_resolve
및chaintoolong
통계 카운터 추가 - IP 주소 제품군별 이벤트 필터링 지원
-
conntrackd.conf
파일에서 설정 또는 해제로 yes 또는 no를 허용합니다. -
데몬 시작 시 사용자 공간 도우미 자동 로드를 지원합니다. 사용자는
nfct add 도우미
명령을 수동으로 실행할 필요가 없습니다. -
-o userspace
명령 옵션을 제거하고 항상 사용자 공간을 트리거한 이벤트를 태그합니다. - 외부 삽입 문제를 경고로만 기록
- 이전 항목을 교체할 수 있도록 캐시 항목을 찾을 때 conntrack ID를 무시합니다.
-
ssdp cthelper
모듈에서 IPv6M-
SDiscoveryCH 요청의 손상된 구문 분석 수정 -
nfct
라이브러리에서 지연 바인딩 기술이 필요하지 않음 - 프로토콜 값 구문 분석, 잘못된 값 검색
nmstate
API에서 IPv6 링크 로컬 주소를 DNS 서버로 지원
이번 개선된 기능을 통해 nmstate
API를 사용하여 IPv6 링크 로컬 주소를 DNS 서버로 설정할 수 있습니다. < link-local_address>%<interface
> 형식을 사용합니다. 예를 들면 다음과 같습니다.
dns-resolver: config: server: - fe80::deef:1%enp1s0
nmstate
API에서 MPTCP 플래그 지원
이번 업데이트에서는MPTCP(MultiPath TCP) 플래그를 지원하여 nmstate
API를 향상시킵니다. 결과적으로 nmstate
를 사용하여 고정 또는 동적 IP 주소가 있는 인터페이스에서 MPTCP 주소 플래그를 설정할 수 있습니다.
모든 인터페이스의 MTU에 추가된 min-mtu
및 max-mtu
속성
이전에는 지원되는 MTU 범위를 이해하기에 충분한 예외 메시지가 명확하지 않았습니다. 이번 업데이트에서는 min-mtu
및 max-mtu
속성이 모든 인터페이스에 도입되었습니다. 그 결과, nmstate
는 원하는 MTU가 범위를 벗어나는 경우 지원되는 MTU 범위를 나타냅니다.
NetworkManager에서 관리되지 않는 인터페이스를 통한 VLAN 설정 허용
이 향상된 기능을 통해 NetworkManager를 사용하여 VLAN(가상 LAN)을 구성할 때 관리되지 않는 네트워킹 인터페이스를 기본 인터페이스로 사용할 수 있습니다. 결과적으로 nmcli 장치 set enp1s0 managed true
명령 또는 NetworkManager의 기타 API를 통해 명시적으로 변경되지 않는 한 VLAN 기본 인터페이스는 그대로 유지됩니다.
balance-slb
bonding 모드 지원
새로운 balance-slb
bonding 모드 소스 로드 밸런싱에는 스위치 구성이 필요하지 않습니다. balance-slb
는 xmit_hash_policy
=vlan+srcmac
을 사용하여 소스 이더넷 주소에서 트래픽을 나누고 NetworkManager는 트래픽 필터링에 필요한 nftables
규칙을 추가합니다. 그 결과 NetworkManager를 사용하여 balance-slb
옵션을 활성화한 본딩 프로필을 생성할 수 있습니다.
Nmstate의 새로운 weight
속성
이번 업데이트에서는 Nmstate API 및 툴 모음에 weight
속성이 도입되었습니다. Equal Cost Multi-Path routes (ECMP) 그룹에서 각 경로의 상대적 가중치를 지정하려면 weight
를 사용할 수 있습니다. 가중치는 1에서 256 사이의 숫자입니다. 결과적으로 Nmstate의 weight
속성은 ECMP 그룹의 트래픽 분배에 대한 유연성을 향상시키고 제어할 수 있습니다.
X DP-tools
rebased to version 1.3.1
xdp-tools
패키지가 업스트림 버전 1.3.1로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다.
다음 유틸리티가 추가되었습니다.
-
X
DP-bench
: 수신에서 XDP 벤치마크를 수행합니다. -
X
DP-monitor
: 커널 추적 포인트를 사용하여 XDP 오류 및 통계를 모니터링합니다. -
X
DP-trafficgen
: XDP 드라이버 후크를 통해 트래픽을 생성하고 보냅니다.
-
X
다음 기능이
libxdp
라이브러리에 추가되었습니다.-
xdp_multiprog_xdp_frags_support()
,xdp_program_xdp_frags_support()
함수 및xdp_program__xdp_frags_support()
함수가 XDPfrags
지원으로 알려진 로딩 프로그램을 지원하기 위해 추가되었습니다. -
라이브러리는
AF_XDP
소켓에 프로그램을 연결할 때 적절한 참조 계산을 수행합니다. 따라서 소켓을 사용할 때 애플리케이션에서 더 이상 XDP 프로그램을 수동으로 분리할 필요가 없습니다.libxdp
라이브러리는 프로그램이 더 이상 사용되지 않을 때 이제 자동으로 프로그램을 분리합니다. 다음 함수가 라이브러리에 추가되었습니다.
-
xdp_ program
오브젝트를 생성하기 위한xdp_program__create()
-
xdp_ program
참조를 복제하기 위한xdp_program__clone()
-
BPF
_PROG_TEST_RUN
커널 API를 통해 XDP 프로그램을 실행하기 위한 Xdp_program__test_run()
-
-
LIBXDP_BPFFS_AUTOMOUNT
환경 변수가 설정되면libxdp
라이브러리에서 존재하지 않는 경우bpffs
가상 파일 시스템의 자동 마운트를 지원합니다. 이제bpffs
가 마운트되지 않은 경우 라이브러리 기능의 하위 집합도 작동할 수 있습니다.
-
이 버전은 네트워크 장치에 로드 중인 XDP 디스패치 프로그램의 버전 번호도 변경합니다. 즉, 이전 버전과 새 버전의 libxdp
및 xdp-tools
를 동시에 사용할 수 없습니다. libxdp
1.3 라이브러리는 디스패처의 이전 버전을 표시하지만 자동으로 업그레이드하지는 않습니다. 또한 libxdp
1.3으로 프로그램을 로드한 후에는 이전 버전이 최신 버전과 상호 운용되지 않습니다.
iproute
는 버전 6.1.0으로 재기반
iproute
패키지가 여러 버그 수정 및 개선 사항을 제공하는 버전 6.1.0으로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.
vdpa
장치 통계 읽기 지원1 인덱스에서
virtqueue
데이터 구조에 대한 통계 읽기의 설명# vdpa dev vstats show vdpa-a qidx 1 vdpa-a: vdpa-a: queue_type tx received_desc 321812 completed_desc 321812
인덱스 16에서
virtqueue 데이터
구조에 대한 통계 읽기의 설명을 표시합니다.# vdpa dev vstats show vdpa-a qidx 16 vdpa-a: queue_type control_vq received_desc 17 completed_desc 17
- 해당 도움말 페이지 업데이트
커널은 이제 SYN 플러드 메시지에 수신 대기 주소를 기록합니다.
이번 개선된 기능에는 수신 대기 IP 주소가 SYN 플러드 메시지에 추가됩니다.
Possible SYN flooding on port <ip_address>:<port>.
결과적으로 많은 프로세스가 다른 IP 주소의 동일한 포트에 바인딩되면 이제 관리자가 영향을 받는 소켓을 명확하게 확인할 수 있습니다.
Bugzilla:2143850
VLAN 인터페이스에 대한 새로운 nmstate
속성 도입
이 nmstate
프레임워크 업데이트를 통해 다음 VLAN 속성이 도입되었습니다.
-
등록 프로토콜
: VLAN 등록 프로토콜. 유효한 값은gvrp
(GARP VLAN 등록 프로토콜),mvrp
(Multiple VLAN Registration Protocol) 및none
입니다. -
reorder-headers
: 출력 패킷 헤더를 다시 정렬합니다. 유효한 값은true
및false
입니다. -
loose-binding
: 인터페이스가 기본 장치의 작동 상태에 대한 느슨한 바인딩입니다. 유효한 값은true
및false
입니다.
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
4.8. 커널
RHEL 9.2의 커널 버전
Red Hat Enterprise Linux 9.2는 커널 버전 5.14.0-284.11.1과 함께 배포됩니다.
64k 페이지 크기 커널 사용 가능
Red Hat은 4k 페이지를 지원하는 RHEL 9 for ARM 커널 외에도 64k 페이지 ( kernel-64k
)를 지원하는 선택적 커널 패키지를 제공합니다.
64k 페이지 크기 커널은 ARM 플랫폼의 대규모sets에 유용한 옵션입니다. 이는 일부 유형의 메모리 및 CPU 집약적 작업에 대해 더 나은 성능을 제공합니다.
설치 시 64비트 ARM 아키텍처 시스템에서 페이지 크기를 선택해야 합니다. Kickstart
파일의 패키지 목록에 kernel-64k
패키지를 추가하여 Kickstart를 통해서만 kernel-64k
를 설치할 수 있습니다.
kernel-64k
설치에 대한 자세한 내용은 고급 RHEL 9 설치 수행을 참조하십시오.
Bugzilla:2153073
kexec-tools
활성화에 대한 virtiofs
지원
이번 개선된 기능에서는 새로운 옵션인
를 도입하여 virtiofs
myfskexec-tools
의 virtiofs 기능을 추가합니다. 여기서 myfs
는 qemu
명령줄에 설정할 변수 태그 이름입니다(예: -device vhost-user-fs-pci,tag=myfs
).
virtiofs
파일 시스템은 게스트가 호스트에서 내보낸 디렉터리를 마운트할 수 있는 드라이버를 구현합니다. 이 향상된 기능을 사용하면 가상 머신의 vmcore
덤프 파일을 다음에 저장할 수 있습니다.
-
virtiofs
공유 디렉터리입니다. -
루트 파일 시스템이
virtiofs
공유 디렉토리인 경우/var/crash
와 같은 하위 디렉터리입니다. -
가상 머신의 루트 파일 시스템이
virtiofs
공유 디렉토리인 경우 다른virtiofs
공유 디렉터리입니다.
kexec-tools
패키지에서 원격 kdump
대상에 대한 개선 사항 추가
이번 개선된 기능을 통해 kexec-tools
패키지는 중요한 버그 수정 및 개선 사항을 추가합니다. 주요 변경 사항은 다음과 같습니다.
-
필요한 네트워크 인터페이스만 활성화하여
kdump
용 메모리 사용을 최적화합니다. 연결 시간 초과 오류 발생 시
kdump
의 네트워크 효율성 향상.네트워크가 설정될 때까지 기본 대기 시간은 최대 10분입니다. 이렇게 하면 통신 업체를 식별하기 위한 해결 방법으로
rd.net.timeout.carrier
또는rd.net.timeout.dhcp
와 같은dracut
매개변수를 전달할 필요가 없습니다.
BPF 버전 6.0으로 재기반
BPF(Berkeley Packet Filter) 기능은 Linux 커널 버전 6.0으로 변경되었습니다. 이번 업데이트에서는 커널 모듈에 BPF 유형 형식(BTF)에 의존하는 모든 BPF 기능을 활성화합니다. 이러한 기능에는 추적을 위한 BPF trampolines 사용, Compile Once - Run Everywhere(CO-RE) 메커니즘 및 여러 네트워킹 관련 기능이 포함됩니다. 또한 커널 모듈에 디버깅 정보가 포함되어 있으므로 실행 중인 모듈을 검사하기 위해 더 이상 debuginfo
패키지를 설치할 필요가 없습니다.
실행 중인 커널에서 사용 가능한 BPF 기능 전체 목록에 대한 자세한 내용은 bpftool 기능
명령을 사용합니다.
Jira:RHELPLAN-133650
rtla
meta-tool은 추적 기능 개선을 위해 osnoise
및 timerlat
추적기를 추가합니다.
Real-Time Linux Analysis(rtla
)는 Linux의 실시간 속성을 분석하는 명령 집합이 포함된 meta-tool입니다. rtla
는 커널 추적 기능을 활용하여 예기치 않은 시스템 결과의 속성 및 근본 원인에 대한 정확한 정보를 제공합니다. rtla
는 현재 osnoise
및 timerlat
tracer 명령에 대한 지원을 추가합니다.
-
osnoise
tracer는 운영 체제의 노이즈에 대한 정보를 보고합니다. -
timerlat
추적기는 타이머 IRQ 처리기 및 스레드 처리기에서 타이머 대기 시간을 주기적으로 출력합니다.
rtla
의 timerlat
기능을 사용하려면 sysctl -w kernel.sched_rt_runtime_us=-1
스크립트를 사용하여 승인 제어를 비활성화해야 합니다.
Bugzilla:2075216
Tuna의 argparse
모듈에서 CPU 소켓 구성을 지원합니다.
이번 개선된 기능을 통해 CPU 소켓이 여러 개 있는 경우 특정 CPU 소켓을 지정할 수 있습니다. 하위 명령에 -h
를 사용하여 도움말 사용을 볼 수 있습니다(예: tuna show_threads -h
).
특정 CPU 소켓을 구성하려면 CPU 소켓을 사용해야 하는 각 tuna
명령으로 -S
옵션을 지정합니다.
tuna <command> [-S CPU_SOCKET_LIST]
예를 들어, tuna show_threads -S 2,3
를 사용하여 스레드를 보거나 tuna show_irqs -S 2,3
을 사용하여 연결된 인터럽트 요청(IRQ)을 확인합니다.
결과적으로 이러한 개선 사항으로 인해 각 CPU를 개별적으로 지정할 필요 없이 CPU 소켓을 기반으로 CPU 사용량이 용이해집니다.
더 나은 가독성을 제공하기 위해 cgroup
및 Tuna 의 irq의
출력 형식이 개선되었습니다.
이번 개선된 기능을 통해 cgroup
유틸리티의 tuna show_threads
명령 출력이 터미널 크기에 따라 구성됩니다. new -z
또는 --spaced
옵션을 show_threads
명령에 추가하여 cgroups
출력에 추가 간격을 구성할 수도 있습니다.
결과적으로 cgroups
출력에는 터미널 크기에 맞게 조정할 수 있는 읽기 쉬운 형식이 향상되었습니다.
새로운 명령행 인터페이스가 실시간으로 tuna
툴에 추가되었습니다.
이번 개선된 기능에는 argparse
구문 분석 모듈을 기반으로 하는 tuna
툴에 새 명령줄 인터페이스가 추가되었습니다. 이번 업데이트를 통해 다음 작업을 수행할 수 있습니다.
- 애플리케이션 및 커널 스레드의 속성을 변경합니다.
- 이름 또는 번호로 인터럽트 요청(IRQ)에서 작동합니다.
- 프로세스 식별자를 사용하여 작업 또는 스레드에서 작동합니다.
- CPU 또는 소켓 번호를 사용하여 CPU 및 CPU 세트를 지정합니다.
tuna -h
명령을 사용하면 명령줄 인수와 해당 옵션을 출력할 수 있습니다. 각 명령에는 tuna <command> -h
명령으로 볼 수 있는 선택적 인수가 있습니다.
결과적으로 tuna
는 이제 명령행 인터페이스보다 사용 및 유지 관리가 용이한 명령 및 옵션의 표준화된 메뉴를 제공하는 인터페이스를 제공합니다.
이제 rteval
명령 출력에 프로그램 로드 및 측정 스레드 정보가 포함됩니다.
이제 rteval
명령에서는 프로그램 로드 수, 측정 스레드 및 이러한 스레드를 실행한 해당 CPU의 수와 함께 보고서 요약을 표시합니다. 이 정보는 특정 하드웨어 플랫폼에서 로드되는 실시간 커널의 성능을 평가하는 데 도움이 됩니다.
rteval
보고서는 시스템의 부팅 로그와 함께 XML 파일에 기록되어 rteval-<date>-N-tar.bz2
압축 파일에 저장됩니다. 날짜는
보고서 생성 날짜를 지정하고 N
th 실행에 대한 카운터입니다.
rteval
보고서를 생성하려면 다음 명령을 입력합니다.
# rteval --summarize rteval-<date>-N.tar.bz2
대기 시간을 측정하기 위해 -W
및 --bucket-width
옵션이 oslat
프로그램에 추가되었습니다.
이번 개선된 기능을 통해 나노초 정확도로 단일 버킷에 대기 시간 범위를 지정할 수 있습니다. 1000 나노초의 다중이 아닌 너비는 나노초 정확도를 나타냅니다. 새로운 옵션인 -W
또는 --bucket-width
를 사용하면 버킷 간 대기 시간 간격을 수정하여 하위 마이크로초 지연 시간 내에 대기 시간을 측정할 수 있습니다.
예를 들어 1-4의 CPU 범위에서 실행하기 위해 10초 동안 32 버킷에 대해 대기 시간 버킷 너비를 설정하고 버킷 크기가 0개를 생략하려면 다음 명령을 실행합니다.
# oslat -b 32 -D 10s -W 100 -z -c 1-4
옵션을 사용하기 전에 오류 측정과 관련하여 중요한 정확도 수준을 결정해야합니다.
kdump
스토리지 대상으로 활성화된 NVMe/FC
전송 프로토콜
kdump
메커니즘은 이제 덤프 대상으로 파이버 채널(NVMe/FC)을 통한 NVMe(Nonvolatile Memory Express) 프로토콜을 지원합니다. 이번 업데이트를 통해 NVMe/FC 스토리지 대상에 커널 크래시 덤프 파일을 저장하도록 kdump
를 구성할 수 있습니다.
결과적으로 kdump
는 시간 초과
또는 재연결
오류 없이 커널 충돌 시 NVMe/FC
에 vmcore
파일을 캡처하고 저장할 수 있습니다.
NVMe/FC 구성에 대한 자세한 내용은 스토리지 장치 관리를참조하십시오.
Bugzilla:2080110
crash-utility
툴이 버전 8.0.2로 변경되었습니다.
크래시 활용도는
활성 시스템 상태 또는 커널 충돌 후 버전 8.0.2로 다시 사용되었습니다. 주요 변경 사항에는 다중 큐(blk-mq)
장치에 대한 지원이 추가되었습니다. dev -d
또는 dev -D
명령을 사용하면 다중 큐(blk-mq)
장치에 대한 디스크 I/O 통계를 표시할 수 있습니다.
OpenSSL-ibmca
버전 2.3.1로 업데이트
64비트 IBM Z 아키텍처의 IBMCA용 동적 OpenSSL 엔진 및 공급자는 업스트림 버전 2.3.1로 변경되었습니다. RHEL 9 사용자는 OpenSSL 공급자를 사용하여 향후 OpenSSL 업데이트와 호환되는 것이 좋습니다. 엔진 기능은 OpenSSL 버전 3에서 더 이상 사용되지 않습니다.
Bugzilla:2110378
고객 키로 실행 게스트 덤프 암호화 보안
이 새로운 기능을 통해 Secure Execution 게스트의 하이퍼바이저 시작 덤프가 kdump
유틸리티가 작동하지 않는 시나리오에서 KVM에서 커널 충돌 정보를 수집할 수 있습니다. 보안 실행을 위한 하이퍼바이저 시작 덤프는 IBM Z Series z16 및 LinuxONE emperor 4 하드웨어용으로 설계되었습니다.
Bugzilla:2044204
실시간 TSN 프로토콜이 ADL-S 플랫폼에서 활성화되어 있습니다.
이 향상된 기능을 통해 IEEE Time S(TSN) 사양은 Intel Alder Lake S(ADL-S) 플랫폼의 네트워크를 통해 실시간 워크로드의 시간 동기화 및 결정적 처리를 가능하게 합니다. 다음과 같은 네트워크 장치를 지원합니다.
- TSN을 지원하는 개별 2.5GbE MAC-PHY 콤보: Intel® i225/i226
-
1GbE 및 2.5Gbe 속도를 다루는 Marvell, Maxlinear 및 2.5Gbe 속도를 다루는 타사 PHY 칩을 포함한 3rd party PHY 칩이 포함된 2.5GbE MAC은 일부
skus
및ECDHEs에서 사용할 수 있습니다.
TSN 프로토콜을 사용하면 임베디드 구현에서 결정적 애플리케이션 스케줄링, 선점 및 정확한 시간 동기화 유형 워크로드를 관리할 수 있습니다. 이러한 구현에는 전용, 특수 및 독점 네트워크가 필요한 반면 워크로드는 표준 이더넷, Wi-Fi 및 5G 네트워크에서 실행됩니다.
결과적으로 TSN은 다음을 위한 개선된 기능을 제공합니다.
- 하드웨어: IoT에서 실시간 워크로드를 구현하는 데 사용되는 Intel 기반 시스템
- 결정적 및 시간에 민감한 애플리케이션
Bugzilla:2100606
Intel impossible driver
가 버전 6.0.0으로 다시 설정
Intel 아이러니 드라이버
가 업스트림 버전 6.0.0으로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다. 주요 개선 사항은 다음과 같습니다.
-
이더넷을 통한 point-to-point Protocol over Ethernet (
ECDHEoE
) 프로토콜 하드웨어 오프로드 -
Inter-Integrated Circuit (
I2C
) 프로토콜 쓰기 명령 -
이더넷 스위치 장치 드라이버 모델의
TPID
(VLAN Tag Protocol Identifier)
필터 -
switchdev
에서 VLAN 태그 지정 두 배
Bugzilla:2104468
gnss
모듈에 대한 데이터를 쓰는 옵션 사용 가능
이 업데이트는 gnss
수신자에 데이터를 쓰는 옵션을 제공합니다. 이전에는 gnss
를 완전히 구성할 수 없었습니다. 이번 개선된 기능을 통해 모든 G nss
기능을 사용할 수 있습니다.
Bugzilla:2111048
IBM zSystems용 Secure Boot 인증서 호스팅
IBM z16 A02/AGZ 및 LinuxONE Rockhopper 4 LA2/AGL부터 HMC(Hardware Management Console)에서 Secure Boot가 활성화된 시스템을 시작할 때 Linux 커널을 확인하는 데 사용되는 인증서를 관리할 수 있습니다. 특히 다음과 같습니다.
- HMC에서 액세스할 수 있는 FTP 서버에서 DPM의 HMC 및 클래식 모드를 사용하여 시스템 인증서 저장소의 인증서를 로드할 수 있습니다. HMC에 연결된 USB 장치에서 인증서를 로드할 수도 있습니다.
- 인증서 저장소에 저장된 인증서를 LPAR 파티션과 연결할 수 있습니다. 여러 인증서를 파티션과 연결할 수 있으며 인증서를 여러 파티션과 연결할 수 있습니다.
- HMC 인터페이스를 사용하여 파티션의 인증서 저장소의 인증서를 연결할 수 있습니다.
- 인증서 저장소에서 인증서를 제거할 수 있습니다.
- 최대 20개의 인증서를 파티션에 연결할 수 있습니다.
기본 제공 펌웨어 인증서는 계속 사용할 수 있습니다. 특히 사용자 관리 인증서 저장소를 사용하는 즉시 기본 제공 인증서를 더 이상 사용할 수 없습니다.
인증서 저장소에 로드된 인증서 파일은 다음 요구 사항을 충족해야 합니다.
-
PEM
또는DER로 인코딩된 X.509v3
형식과 다음 파일 이름 확장 중 하나(.pem
,.cer
,.crt
또는.der
)가 있습니다. - 만료되지 않습니다.
- 키 사용 속성은 디지털 서명 이어야 합니다.
- 확장된 키 사용 속성에는 코드 서명이 포함되어야 합니다.
펌웨어 인터페이스를 사용하면 논리 파티션에서 실행되는 Linux 커널이 이 파티션과 연결된 인증서를 로드할 수 있습니다. IBM Z의 Linux는 이러한 인증서를 .platform
인증 키에 저장하므로 Linux 커널은 kexec
커널 및 타사 커널 모듈을 해당 파티션과 연결된 인증서를 사용하여 확인할 수 있습니다.
Operator는 확인된 인증서만 업로드하고 취소된 인증서만 제거해야 합니다.
HMC에 로드해야 하는 Red Hat Secureboot 302
인증서는 제품 서명 키 에서 사용할 수 있습니다.
Bugzilla:2190123
64비트 IBM Z에서 Secure Boot IPL 및 덤프에 대한 zipl
지원
이번 업데이트를 통해 zipl
유틸리티는 64비트 IBM Z 아키텍처의 ECKD(Extended Count Key Data) Direct Access Storage Devices(DASD)에서 List-Directed IPL 및 List-Directed 덤프를 지원합니다. 결과적으로 IBM Z의 RHEL 용 Secure Boot는 ECKD 유형 DASD에서도 작동합니다.
Bugzilla:2044200
rtla
는 업스트림 커널
소스 코드의 버전 6.6으로 다시 기반
rtla
유틸리티가 최신 업스트림 버전으로 업그레이드되어 여러 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
기본
rtla
스레드와 별도로rtla
스레드에 대한 추가 제어 그룹을 지정하려면-C
옵션을 추가했습니다. -
하우스
키핑 옵션을 추가하여 하우스키핑 CPU에rtla
스레드를 배치하고 다른 CPU에 측정 스레드를 배치했습니다. -
사용자 공간의
timerlat
histtimerlat top
threads를 실행할 수 있도록 타이머lat 추적기에 지원이 추가되었습니다.
Jira:RHEL-18359
4.9. 파일 시스템 및 스토리지
NVMe-cli
버전 2.2.1로 업데이트
nvme-cli
패키지가 버전 2.2.1로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 주요 변경 사항은 다음과 같습니다.
-
모든 NVMe 하위 시스템의 토폴로지를 표시하는 새로운
nvme show-topology
명령을 추가했습니다. -
libuuid
종속성을 삭제했습니다. -
uint128
데이터 필드가 올바르게 표시됩니다. -
libnvme
종속성을 버전 1.2로 업데이트했습니다.
Bugzilla:2139753
libnvme
버전 1.2 기반
libnvme
패키지가 버전 1.2로 업그레이드되어 여러 버그 수정 및 개선 사항이 제공됩니다. 가장 주목할 만한 변경은 libuuid
라이브러리의 삭제된 종속성입니다.
Stratis가 풀에 일관된 블록 크기를 적용
Stratis는 이제 풀에서 일관된 블록 크기를 적용하여 풀에 혼합된 블록 크기 장치가 있을 때 발생할 수 있는 잠재적인 에지 케이스 문제를 해결합니다. 이 향상된 기능을 통해 사용자는 더 이상 풀을 생성하거나 풀의 기존 장치와 다른 블록 크기를 갖는 새 장치를 추가할 수 없습니다. 이로 인해 풀 실패 위험이 줄어듭니다.
Stratis 풀 내의 기존 디스크 증가 지원
이전에는 사용자가 RAID 배열에 새 디스크를 추가할 때 일반적으로 RAID 배열의 크기가 증가했습니다. 그러나 모든 경우에 Stratis는 크기 증가를 무시하고 풀에 처음 추가할 때 RAID 배열에서 사용 가능한 공간만 계속 사용합니다. 이로 인해 Stratis가 새 장치를 확인할 수 없어 사용자가 풀 크기를 늘릴 수 없었습니다.
이 향상된 기능을 통해 Stratis는 이제 크기가 확장된 모든 풀 장치 멤버를 식별합니다. 결과적으로 사용자는 요구 사항에 따라 명령을 실행하여 풀을 확장할 수 있습니다.
Stratis는 이제 새 디스크를 추가하여 풀을 확장하는 기존 기능 외에도 풀 내에서 기존 디스크의 확장을 지원합니다.
lvreduce
명령의 기능 개선
이번 개선된 기능을 통해 논리 볼륨(LV)이 활성 상태이면 lvreduce
명령을 실행하면 LV 크기를 줄이는 경우 파일 시스템이 손상되는지 확인합니다. LV의 파일 시스템에 축소가 필요하고 lvreduce resizefs
옵션이 활성화되지 않은 경우 LV를 줄일 수 없습니다.
또한 이제 LV를 줄이는 동안 파일 시스템 처리를 제어하는 새로운 옵션을 사용할 수 있습니다. 이러한 옵션을 사용하면 lvreduce
명령을 사용할 때 유연성 및 제어가 향상됩니다.
statx
에 대한 직접 I/O 정렬 정보가 추가되었습니다.
이번 업데이트에서는 statx(2)
호출에 "STATX_DIOALIGN"
라는 새로운 마스크 값을 도입합니다. 이 값은 stx_mask
필드에 설정되면 각각 이 파일의 직접 I/O(O_DIRECT)에 대한 사용자 메모리 버퍼 및 파일 오프셋에 필요한 정렬(바이트 단위)과 I/O 세그먼트 길이를 나타내는 stx_dio_mem_align
및 stx_dio_offset_align
값을 요청합니다. 파일에서 직접 I/O가 지원되지 않으면 두 값이 모두 0이 됩니다. 이 인터페이스는 RHEL9의 xfs 및 ext4 파일 시스템에 있는 파일뿐만 아니라 블록 장치에 대해 구현됩니다.
Bugzilla:2150284
NFSv4.1 세션 트렁크 검색
이번 업데이트를 통해 클라이언트는 동일한 서버 및 세션에 대한 여러 연결을 사용하여 데이터를 더 빠르게 전송할 수 있습니다. NFS 클라이언트가 다른 IP 주소로 다중 홈 NFS 서버를 마운트하는 경우 기본적으로 나머지는 무시해도 하나의 연결만 사용됩니다. 성능을 개선하기 위해 이 업데이트에서는 트렁크discovery
및 max_connect
마운트 옵션에 대한 지원이 추가되어 클라이언트가 각 연결을 테스트하고 동일한 NFSv4.1+ 서버 및 세션과 여러 연결을 연결할 수 있습니다.
Bugzilla:2066372
NFS IO 크기는 TCP 및 RDMA의 경우 PAGE_SIZE의 다중 값으로 설정할 수 있습니다.
이번 업데이트를 통해 사용자는 TCP 및 RDMA 연결에 대해 NFS IO 크기를 다수의 PAGE_SIZE
로 설정할 수 있습니다. 따라서 일부 아키텍처에서 NFS 성능을 최적화할 때 유연성이 향상됩니다.
Bugzilla:2107347
RHEL 9에 nfsrahead
추가
nfsrahead
툴이 도입되면 이를 사용하여 NFS 마운트의 readahead
값을 수정하여 NFS 읽기 성능에 영향을 미칠 수 있습니다.
4.10. 고가용성 및 클러스터
새로운 enable-authfile
Booth 구성 옵션
클러스터 구성에서 Booth 티켓 관리자를 사용하기 위해 Booth 구성을 생성하면 pcs booth setup
명령으로 기본적으로 새로운 enable-authfile
Booth 구성 옵션을 활성화합니다. pcs booth enable-authfile
명령을 사용하여 기존 클러스터에서 이 옵션을 활성화할 수 있습니다. 또한 pcs status
및 pcs booth status
명령으로 가능한 enable-authfile
잘못된 구성을 탐지할 때 경고가 표시됩니다.
pcs
는 이제 리소스 및 stonith 에이전트의 validate-all
작업을 실행할 수 있습니다.
리소스 또는 STONITH 장치를 생성하거나 업데이트할 때 --agent-validation
옵션을 지정할 수 있습니다. 이 옵션을 사용하면 pcs
는 에이전트의 메타 데이터에 따라 pcs
에서 수행한 유효성 검사 외에도 에이전트의 validate-all
작업을 사용합니다.
4.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
RHEL 9에서 사용 가능한 Python 3.11
RHEL 9.2에는 새로운 패키지 python3.11
에서 제공하는 Python 3.11과 ubi9/python-311
컨테이너 이미지용으로 빌드된 패키지 제품군이 도입되었습니다.
이전에 릴리스된 Python 3.9에 비해 주요 개선 사항은 다음과 같습니다.
- 성능이 크게 향상되었습니다.
-
구조 패턴 새로운
match
키워드를 사용하여 일치 (다른 언어로전환
하는 것과 유사). - 예를 들어 닫히지 않은 대괄호 또는 대괄호를 나타내는 오류 메시지가 개선되었습니다.
- 디버깅 및 기타 사용 사례를 위한 정확한 라인 번호입니다.
- 정의를 요약하여 여러 줄에 컨텍스트 관리자를 정의하도록 지원합니다.
-
새로운
X | Y
type union 연산자, variadic generic 및 새로운Self
유형과 같은 type hints 및typing
모듈과 관련된 다양한 새로운 기능입니다. - 역추적에서 오류를 발생시킨 표현식을 가리키는 정확한 오류 위치입니다.
-
TOML 구문 분석을 지원하는 새로운
tomllib
표준 라이브러리 모듈입니다. -
예외 그룹 및 새로운
except*
구문을 사용하여 여러 관련이 없는 예외를 동시에 작성하고 처리하는 기능.
Python 3.11 및 이를 위해 빌드된 패키지는 동일한 시스템에서 Python 3.9와 병렬로 설치할 수 있습니다.
python3.11
스택에서 패키지를 설치하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
# dnf install python3.11 # dnf install python3.11-pip
인터프리터를 실행하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
$ python3.11 $ python3.11 -m pip --help
자세한 내용은 Python 설치 및 사용을 참조하십시오.
Python 3.11은 RHEL 9의 기본 Python 구현인 Python 3.9보다 라이프 사이클이 짧습니다. Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
nodejs:18
rebased to version 18.14 with npm
rebased to version 9
업데이트된 Node.js 18.14
에는 버전 8에서 버전 9로 npm
의 SemVer 주요 업그레이드가 포함되어 있습니다. 이 업데이트는 유지 관리 이유로 필요했으며 npm
구성을 조정해야 할 수 있습니다.
특히 특정 레지스트리에 범위가 지정되지 않은 인증 관련 설정은 더 이상 지원되지 않습니다. 이러한 변경은 보안상의 이유로 변경되었습니다. 범위가 지정되지 않은 인증 구성을 사용하면 제공된 토큰이 .npmrc
파일에 나열된 모든 레지스트리로 전송되었습니다.
범위가 지정되지 않은 인증 토큰을 사용하는 경우 .npmrc
파일에서 레지스트리 범위 토큰을 생성하고 제공합니다.
.npmrc
파일의 //registry.npmjs.org/: _auth
와 같이 _auth를 사용하는 구성 행이 있는 경우 해당 행을
로 바꾸고 생성한 범위가 지정된 토큰을 제공합니다.
//registry.npmjs.org/:_auth
Token=${NPM_TOKEN}
전체 변경 사항 목록은 업스트림 변경 로그를 참조하십시오.
Git
버전 2.39.1로 업데이트
Git
버전 관리 시스템이 버전 2.39.1로 업데이트되어 이전에 릴리스된 버전 2.31에 대한 버그 수정, 개선 사항 및 성능 개선 사항을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
git log
명령에서git describe
출력의 형식 자리 표시자 지원:git log --format=%(describe)
이제
git commit
명령에서--fixup<commit
> 옵션을 지원하여 로그 메시지를 변경하지 않고 커밋 내용을 수정할 수 있습니다. 이번 업데이트를 통해 다음을 사용할 수도 있습니다.-
메시지와 콘텐츠를 모두 변경하는
--fixup=amend:<commit
> 옵션입니다. -
커밋 메시지만 업데이트하는 --fixup=reword:&
lt;commit> 옵션입니다.
-
메시지와 콘텐츠를 모두 변경하는
-
새로운
--reject-shallow
옵션을git clone
명령과 함께 사용하여 단순 리포지토리에서 복제를 비활성화할 수 있습니다. -
git branch
명령에서--recurse-submodules
옵션을 지원합니다. 이제
git merge-tree
명령을 사용하여 다음을 수행할 수 있습니다.- 두 개의 분기가 병합될 수 있는지 테스트합니다.
- 분기가 병합되면 병합 커밋이 발생하는 트리를 계산합니다.
-
새로운
safe.bareRepository
구성 변수를 사용하여 베어 리포지토리를 필터링할 수 있습니다.
git-lfs
버전 3.2.0으로 업데이트
Git LFS(Large File Storage)
확장이 버전 3.2.0으로 업데이트되어 이전에 릴리스된 버전 2.13에 대한 버그 수정, 개선 사항 및 성능이 향상되었습니다.
주요 변경 사항은 다음과 같습니다.
-
Git LFS
에는 순수한 SSH 기반 전송 프로토콜이 도입되었습니다. -
Git LFS
는 이제 병합 드라이버를 제공합니다. -
이제
git lfs fsck
유틸리티에서 포인터가 정식이고 예상되는 LFS 파일의 형식이 올바른지 추가로 확인합니다. - NTLM(NT LAN Manager) 인증 프로토콜 지원이 제거되었습니다. 대신 Kerberos 또는 기본 인증을 사용합니다.
새 모듈 스트림: nginx:1.22
이제 nginx 1.22
웹 및 프록시 서버를 nginx:1.22
모듈 스트림으로 사용할 수 있습니다. 이번 업데이트에서는 이전에 출시된 버전 1.20에 비해 여러 버그 수정, 보안 수정, 새로운 기능 및 개선 사항을 제공합니다.
새로운 기능:
Nginx는
이제 다음을 지원합니다.-
OpenSSL 3.0을 사용할 때 OpenSSL 3.0 및
SSL_sendfile()
함수입니다. - PCRE2 라이브러리입니다.
-
메일
프록시 모듈에서 POP3 및 CloudEvent 파이프 개요
-
OpenSSL 3.0을 사용할 때 OpenSSL 3.0 및
-
Nginx
는 이제Auth-SSL-Protocol
및Auth-SSL-Cipher
헤더 행을 메일 프록시 인증 서버에 전달합니다.
향상된 지시문:
-
이제
ssl_conf_command
및ssl_reject_handshake
와 같은 여러 개의 새 지시문을 사용할 수 있습니다. -
proxy_cookie_flags
지시문에서 이제 변수를 지원합니다. -
Nginx는 이제 proxy_ssl_certificate ,
proxy_ssl_certificate
_key ,grpc
,_ssl_certificate
_keygrpc_ssl_certificate_key
,uwsgi_ssl_certificate
,uwsgi_ssl_certificate_key
등의 지시문을 지원합니다. -
stream 모듈의
listen
지시문은 이제 수신 대기 소켓에TCP Fast Open
모드를 활성화하는 새로운fastopen
매개 변수를 지원합니다. -
새로운
max_errors
지시문이mail
프록시 모듈에 추가되었습니다.
다른 변경 사항:
Nginx
는 다음과 같은 경우 항상 오류를 반환합니다.-
CONNECT
방법이 사용됩니다. -
Content-Length
및Transfer-Encoding
헤더는 요청에 지정됩니다. - 요청 헤더 이름에는 공백 또는 제어 문자가 포함되어 있습니다.
-
Host
요청 헤더 줄에는 공백 또는 제어 문자가 포함되어 있습니다.
-
-
Nginx
는 이제Transfer-Encoding
헤더를 포함하는 모든 HTTP/1.0 요청을 차단합니다. -
Nginx
는 이제 ALPN(Application Layer Protocol Negotiation)을 사용하여 HTTP/2 연결을 설정하고 NPN(Next Protocol Negotiation) 프로토콜을 더 이상 지원하지 않습니다.
nginx:1.22
스트림을 설치하려면 다음을 사용합니다.
# dnf module install nginx:1.22
자세한 내용은 NGINX 설정 및 구성을 참조하십시오.
nginx
모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
Bugzilla:2096174
mod_security
는 버전 2.9.6로 재기반
Apache HTTP Server의 mod_security
모듈이 2.9.6 버전으로 업데이트되어 이전에 사용 가능한 버전 2.9.3에 새로운 기능, 버그 수정, 보안 수정 사항을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
modsecurity.conf-recommended
파일에서 조정된 구문 분석기 활성화 규칙입니다. -
mod_security
가 HTTP 다중 파트 요청을 구문 분석하는 방식 개선 -
새로운
MULTIPART_PART_HEADERS
컬렉션을 추가했습니다. - 포맷된 로그 타임 스탬프에 마이크로초 타임스탬프 확인이 추가되었습니다.
- 누락된 지오국가가 추가되었습니다.
새 패키지: tomcat
RHEL 9.2에는 Apache Tomcat 서버 버전 9가 도입되었습니다. Tomcat은 Java Servlet 및 JavaServer Pages 기술을 위한 공식 참조 구현에 사용되는 서블릿 컨테이너입니다. Java Servlet 및 JavaServer Pages 사양은 Sun에서 Java Community Process에 따라 개발했습니다. Tomcat은 공개 및 참여 환경에서 개발되었으며 Apache Software License 버전 2.0에 따라 출시되었습니다.
Bugzilla:2160511
새 모듈 스트림: postgresql:15
RHEL 9.2에는 PostgreSQL 15
가 postgresql:15
모듈 스트림으로 도입되었습니다. PostgreSQL 15
는 버전 13에 비해 여러 가지 새로운 기능과 향상된 기능을 제공합니다. 주요 변경 사항은 다음과 같습니다.
이제 하위 스크립트를 사용하여
PostgreSQL
JSON 데이터에 액세스할 수 있습니다. 예제 쿼리:SELECT ('{ "postgres": { "release": 15 }}'::jsonb)['postgres']['release'];
-
PostgreSQL
은 이제 다중 범위 데이터 유형을 지원하고range_agg
함수를 확장하여 다중 범위 데이터 유형을 집계합니다. PostgreSQL
은 모니터링 및 관찰 기능을 향상시킵니다.-
이제
COPY
명령 및 WAL(Write-ahead-log) 활동 진행 상황을 추적할 수 있습니다. -
PostgreSQL
은 이제 복제 슬롯에 대한 통계를 제공합니다. -
compute_query_id
매개변수를 활성화하면pg_stat_activity
또는EXPLAIN VERBOSE
를 포함한 여러PostgreSQL
기능을 통해 쿼리를 고유하게 추적할 수 있습니다.
-
이제
PostgreSQL
에서는 다음을 통해 쿼리 병렬 처리 지원이 향상되었습니다.- 병렬 순차적 검사의 성능이 향상되었습니다.
-
RETURN QUERY
명령을 사용할 때 병렬 쿼리를 실행할 수 있는 SQL Procedural Language(PL/pgSQL
)의 기능입니다. -
REFRESH MATERIALIZED VIEW
명령에서 병렬 활성화.
-
PostgreSQL
에는 이제 SQL 표준MERGE
명령이 포함됩니다.MERGE
를 사용하여 단일 문에ECDHE ,UPDATE
,DELETE
작업을 포함할 수 있는 조건부 SQL 문을 작성할 수 있습니다. -
PostgreSQL
은 정규식을 사용하여 문자열을 검사하는 데 필요한 다음과 같은 새로운 함수를 제공합니다.regexp_count
(),regexp_instr()
,regexp_like()
및regexp_substr()
. -
PostgreSQL
에는 view creator가 아닌 view caller의 권한으로 데이터를 쿼리하는 데 사용할 수 있는security_invoker
매개변수가 추가되었습니다. 이렇게 하면 뷰 호출자에게 기본 데이터 작업에 대한 올바른 권한이 있는지 확인할 수 있습니다. -
PostgreSQL
은 아카이브 및 백업 기능의 성능을 향상시킵니다. -
PostgreSQL
은LZ4
및Zstandard
(zstd
) 무해한 압축 알고리즘에 대한 지원을 추가합니다. -
PostgreSQL
은 메모리 내 및 디스크상의 정렬 알고리즘을 개선합니다. -
업데이트된
postgresql.service
systemd 장치 파일은 이제 네트워크가 가동된 후postgresql
서비스가 시작되도록 합니다.
다음 변경 사항은 이전 버전과 호환되지 않습니다.
공용 스키마의 기본 권한이 수정되었습니다. 새로 생성된 사용자는
GRANT ALL ON SCHEMA public TO myuser;
명령을 사용하여 권한을 명시적으로 부여해야 합니다. 예를 들면 다음과 같습니다.postgres=# CREATE USER mydbuser; postgres=# GRANT ALL ON SCHEMA public TO mydbuser; postgres=# \c postgres mydbuser postgres=$ CREATE TABLE mytable (id int);
-
libpq
PQsendQuery()
기능은 더 이상 파이프라인 모드에서 지원되지 않습니다. 대신PQsendQueryParams()
함수를 사용하도록 영향을 받는 애플리케이션을 수정합니다.
PostgreSQL 사용을 참조하십시오.
postgresql:15
스트림을 설치하려면 다음을 사용합니다.
# dnf module install postgresql:15
RHEL 9 내의 이전 postgresql
스트림에서 업그레이드하려면 RHEL 9 버전의 PostgreSQL
으로 마이그레이션에 설명된 대로 PostgreSQL 데이터를 마이그레이션합니다.
postgresql
모듈 스트림의 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
4.12. 컴파일러 및 개발 도구
Openblas
버전 0.3.21에 기반
OpenBLAS 라이브러리가 0.3.21 버전으로 업데이트되었습니다. 이번 업데이트에는 IBM POWER10 플랫폼의 성능 최적화 패치가 포함되어 있습니다.
Bugzilla:2112099
새 모듈 스트림: swig:4.1
RHEL 9.2에는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있는 swig:4.1
모듈 스트림으로 SWIG(Simplified Wrapper and Interface Generator) 버전 4.1이 도입되었습니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.
RHEL 9.0, SWIG 4.1
에 출시된 SWIG 4.0
과 비교:
-
Node.js
버전 12에서 18까지의 지원을 추가하고 6 개 미만의Node.js
버전을 지원하지 않습니다. -
PHP 8
에 대한 지원을 추가합니다. -
PHP
래핑은PHP
C API를 통해 전적으로 처리되며 더 이상 기본적으로.php
래퍼를 생성하지 않습니다. -
Perl 5.8.0
이상 버전만 지원합니다. -
Python
버전 3.9에 대한 지원이 3.11에 추가되었습니다. -
Python 3.3
이상Python 3
버전 및Python 2.7
만 지원합니다. -
Python
의 다양한 메모리 누수에 대한 수정 사항을 제공합니다 - 생성된 코드. - C99, C++11, C++14 및 C++17 표준에 대한 지원을 개선하고 C++20 표준 구현을 시작합니다.
-
C++
std::unique_ptr
포인터 클래스에 대한 지원을 추가합니다. - C++ 템플릿 처리 시 몇 가지 개선 사항이 포함되어 있습니다.
- 다양한 경우 C++ 선언 사용을 수정합니다.
swig:4.1
모듈 스트림을 설치하려면 다음을 수행합니다.
- CodeReady Linux Builder(CRB) 리포지토리를 활성화합니다.
모듈 스트림을 설치합니다.
# dnf module install swig:4.1
새 패키지: CRB 리포지토리의 jmc
RHEL 9.2에는 AMD 및 Intel 64비트 아키텍처용 CodeReady Linux Builder(CRB) 리포지토리에서 jmc
패키지로 사용 가능한 HotSpot JVM 버전 8.2.0용 JDK Mission Control(JMC) 프로파일 프로그램이 도입되었습니다.
JMC를 설치하려면 먼저 CodeReady Linux Builder (CRB) 리포지토리를 활성화해야 합니다.
CRB 리포지토리에 포함된 패키지는 지원되지 않습니다.
FIPS 모드에서 OpenJDK 서비스 속성 사용 가능
이전에는 FIPS 모드에서 OpenJDK에 사용 가능한 암호화 서비스 및 알고리즘이 너무 엄격하게 필터링되어 서비스 속성을 사용할 수 없었습니다. 이번 개선된 기능을 통해 이제 FIPS 모드에서 이러한 서비스 속성을 사용할 수 있습니다.
Performance Co-Pilot의 버전 6.0을 기반으로 재조정
PCP
( Performance Co-Pilot )가 버전 6.0으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.
버전 3 PCP 아카이브 지원:
여기에는 인스턴스 도메인 change-deltas, Y2038 안전 타임스탬프, 나노초-지정 타임스탬프, 임의의 시간대 지원, 대규모 2GB의 개별 볼륨에 사용되는 64비트 파일 오프셋 지원이 포함됩니다.
이 기능은 현재
/etc/pcp.conf
파일의PCP_ARCHIVE_VERSION
설정을 통해 옵트인합니다.버전 2 아카이브는 그대로 유지됩니다.
PCP 전체에서 OpenSSL만 사용됩니다. Mozilla NSS/NSPR 사용이 중단되었습니다.
이는
libpcp
,PMAPI
클라이언트 및PMCD
암호화 사용에 영향을 미칩니다. 이러한 요소는 이제 이미 OpenSSL을 사용하고 있는pmproxy
HTTPS 지원 및redis-server
와 함께 설정 및 사용됩니다.새로운 나노초 전체 타임스탬프
PMAPI
는 타임스탬프를 사용하는PCP
라이브러리 인터페이스에 대한 호출입니다.이는 모두 선택 사항이며 기존 툴에는 전체 이전 버전과의 호환성이 유지됩니다.
다음 툴과 서비스가 업데이트되었습니다.
pcp2elasticsearch
- 인증 지원을 구현합니다.
pcp-dstat
-
최상위 플러그인에 대한 지원을 구현합니다
. pcp-htop
- 안정적인 최신 업스트림 릴리스로 업데이트되었습니다.
PMseries
-
합계
,avg
,stdev
,nth_percentile
,max_inst
,max_sample
,min_inst
및min_sample
함수가 추가되었습니다. pmdabpf
- 추가 CO-RE (Compile Once - Run Everywhere) 모듈 및 AMD64, Intel 64 비트, 64 비트 ARM 및 IBM Power Systems에 대한 지원
pmdabpftrace
-
예제 자동 시작 스크립트를
/usr/share
디렉터리로 이동했습니다. pmdadenki
- 여러 활성 건전지에 대한 지원이 추가되었습니다.
pmdalinux
-
최신
/proc/net/netstat
변경 사항 업데이트 pmdaopenvswitch
- 추가 인터페이스 및 범위 통계가 추가되었습니다.
pmproxy
- 요청 매개변수는 이제 요청 본문으로 보낼 수 있습니다.
pmieconf
-
Open vSwitch 메트릭에 대한 몇 가지
pmie
규칙이 추가되었습니다. pmlogger_farm
- ball loggers에 대한 기본 구성 파일이 추가되었습니다.
pmlogger_daily_report
- 몇 가지 주요 효율성 개선.
Grafana
버전 9.0.9로 재기반
grafana
패키지는 버전 9.0.9로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.
- 시계열 패널이 기본 시각화 옵션으로, 그래프 패널을 대체
- 새로운 heatmap 패널
- 새 Prometheus 및 CloudEvent 쿼리 빌더
- 업데이트된 Grafana 경고
- 다중 UI/Forwarded 및 성능 개선 사항
- 라이센스가 Apache 2.0에서 GNU Affero General Public License (AGPL)로 변경되었습니다.
다음은 옵트인 실험 기능으로 제공됩니다.
- 새로운 막대형 차트 패널
- 새로운 상태 타임라인 패널
- 새로운 상태 기록 패널
- 새로운 히스토그램 패널
자세한 내용은 Grafana v9.0의 새로운 기능 및 Grafana v 8.0의 새로운 기능을 참조하십시오.
Bugzilla:2116847
Grafana-pcp
버전 5.1.1 기반 다시 시작
grafana-pcp
패키지는 버전 5.1.1으로 변경되었습니다. 주요 변경 사항은 다음과 같습니다.
- 쿼리 편집기
- 속도 변환 및 시간 사용률 변환을 비활성화하는 버튼이 추가되었습니다.
- Redis
-
더 이상 사용되지 않는
label_values(metric, label)
함수를 제거했습니다. - Redis
- 많은 시리즈를 사용하여 지표의 네트워크 오류를 수정했습니다(Performance Co-Pilot v6+ 필요).
- Redis
-
pmproxy
API 타임아웃을 1분으로 설정합니다.
Bugzilla:2116848
GCC Toolset 12 업데이트
GCC Toolset 12는 최신 버전의 개발 도구를 제공하는 컴파일러 도구 세트입니다. AppStream
리포지토리에서 소프트웨어 컬렉션 형태로 애플리케이션 스트림으로 사용할 수 있습니다.
RHEL 9.2에 도입된 주요 변경 사항은 다음과 같습니다.
- GCC 컴파일러가 12.2.1 버전으로 업데이트되었으며 업스트림 GCC에서 사용할 수 있는 많은 버그 수정 및 개선 사항을 제공합니다.
-
Annobin
이 버전 11.08로 업데이트되었습니다.
다음 툴 및 버전은 GCC Toolset 12에서 제공합니다.
툴 | 버전 |
---|---|
GCC | 12.2.1 |
GDB | 11.2 |
binutils | 2.38 |
dwz | 0.14 |
annobin | 11.08 |
GCC Toolset 12를 설치하려면 root로 다음 명령을 실행합니다.
# dnf install gcc-toolset-12
GCC Toolset 12에서 도구를 실행하려면 다음을 수행하십시오.
$ scl enable gcc-toolset-12 tool
GCC Toolset 12의 툴 버전이 다음 툴의 시스템 버전을 재정의하는 쉘 세션을 실행하려면 다음을 수행하십시오.
$ scl enable gcc-toolset-12 bash
자세한 내용은 GCC Toolset 12 를 참조하십시오.
RHEL 9.2에서 업데이트된 GCC 컴파일러를 사용할 수 있습니다.
시스템 GCC 컴파일러 버전 11.3.1은 업스트림 GCC에서 사용할 수 있는 다양한 버그 수정 및 개선 사항을 포함하도록 업데이트되었습니다.
GNU 컴파일러 컬렉션(GCC)은 C, C++ 및 Fortran 프로그래밍 언어를 사용하여 애플리케이션을 개발하기 위한 도구를 제공합니다.
자세한 내용은 RHEL 9에서 C 및 C++ 애플리케이션 개발을 참조하십시오.
LLVM Toolset 버전 15.0.7로 업데이트
LLVM Toolset이 15.0.7 버전으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
-
-Wimplicit-function-declaration
및-Wimplicit-int
경고는 기본적으로 C99 이상에서 활성화됩니다. 이러한 경고는 Clang 16 이상에서 기본적으로 오류가 발생합니다.
rust Toolset 버전 1.66.1로 다시 시작
Rust Toolset이 1.66.1 버전으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
-
thread::scope
API는 새로 생성된 스레드에서 로컬 변수를 안전하게 임대할 수 있는 어휘 범위를 생성하며, 해당 스레드는 범위가 종료되기 전에 모두 종료되도록 합니다. -
hint::black_box
API는 컴파일러 최적화에 장벽을 추가하여, 그렇지 않으면 최적화될 수 있는 벤치마크에서 동작을 유지하는 데 유용합니다. -
이제
.await
키워드는IntoFuture
특성을 사용한 변환을 수행하며, 이는IntoIterator
간의 관계와 유사합니다. - GAT(Generic associated types)를 사용하면 일반 매개변수로 형식 별칭을 포함할 수 있으므로 유형과 수명 모두에서 새로운 추상화를 사용할 수 있습니다.
-
새로운
let
-else
문을 사용하면 조건부 패턴 일치를 사용하여 로컬 변수를 바인딩하고, 패턴이 일치하지 않을 때 디버지다른
블록을 실행할 수 있습니다. -
레이블 블록에서는
break
문을 사용하여 선택적으로 표현식 값을 포함하여 블록의 끝으로 이동할 수 있습니다. -
rust-analyzer
는 많은 편집기에서 Rust 지원을 가능하게 하는 새로운 언어 서버 프로토콜 구현입니다. 이렇게 하면 이전rls
패키지가 교체되지만rust-analyzer
로 마이그레이션하도록 편집기 구성을 조정해야 할 수 있습니다. -
grarb
.toml
에서 종속성을 제거하기 위한 새로운 10.0.0.1remove
하위 명령이 있습니다.
Go Toolset rebased to 버전 1.19.6
Go Toolset이 버전 1.19.6으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
다음 패키지에 대한 보안 수정:
-
crypto/tls
-
MIME/multipart
-
net/http
-
path/filepath
-
다음의 버그 수정:
-
Go
명령 - 링커
- 런타임
-
crypto/x509
패키지 -
net/http
패키지 -
시간
패키지
-
Bugzilla:2175173
이제 tzdata
패키지에 /usr/share/zoneinfo/leap-seconds.list
파일이 포함됩니다.
이전에는 tzdata
패키지에서 /usr/share/zoneinfo/leapseconds
파일만 제공했습니다. 일부 애플리케이션은 /usr/share/zoneinfo/leap-seconds.list
파일에서 제공하는 대체 형식에 의존하여 결과적으로 오류가 발생합니다.
이번 업데이트를 통해 이제 tzdata
패키지에 두 형식의 형식을 사용하는 애플리케이션을 지원하는 두 파일이 모두 포함되어 있습니다.
Bugzilla:2157982
4.13. IdM (Identity Management)
홈 디렉터리를 소문자로 변환하는 SSSD 지원
이번 개선된 기능을 통해 사용자 홈 디렉터리를 소문자로 변환하도록 SSSD를 구성할 수 있습니다. 이렇게 하면 RHEL 환경의 대/소문자를 구분하지 않는 특성과 보다 효과적으로 통합할 수 있습니다. /etc/sssd/sssd.conf
파일의 [nss]
섹션에 있는 override_homedir
옵션이 %h
템플릿 값을 인식합니다. override_homedir
정의의 일부로 %h
를 사용하는 경우 SSSD는 %h
를 소문자로 사용자의 홈 디렉터리로 대체합니다.
Jira:RHELPLAN-139430
SSSD에서 섀도우 암호 정책을 사용하여 LDAP 사용자 암호 변경 지원
이번 개선된 기능을 통해 /etc/sssd/sssd.conf
파일에서 ldap_pwd_policy
를 shadow
로 설정하면 LDAP 사용자가 LDAP에 저장된 암호를 변경할 수 있습니다. 이전 버전에서는 ldap_pwd_policy
가
해당 섀도우
LDAP 속성이 업데이트되었는지 명확하지 않기 때문에 암호 변경 사항이 거부되었습니다.
또한 LDAP 서버가 섀도우
속성을 자동으로 업데이트할 수 없는 경우, /etc/sssd/sssd.conf
파일에서 ldap_chpass_update_last_change
옵션을 True
로 설정하여 특성을 업데이트합니다.
Bugzilla:1507035
IdM에서 min_lifetime
매개변수 지원
이번 개선된 기능을 통해 min_lifetime
매개변수가 /etc/gssproxy/*.conf
파일에 추가되었습니다. min_lifetime
매개변수는 남은 수명이 이 값보다 낮은 경우 서비스 티켓의 갱신을 트리거합니다.
기본값은 15초입니다. NFS와 같은 네트워크 볼륨 클라이언트의 경우 access를 일시적으로 사용할 수 없는 경우 액세스 손실 위험을 줄이려면 이 값을 60초로 설정합니다.
ipapwpolicy
ansible-freeipa
모듈에서 새로운 암호 정책 옵션 지원
이번 업데이트를 통해 ansible-freeipa
패키지에 포함된 ipapwpolicy
모듈은 추가 libpwquality
라이브러리 옵션을 지원합니다.
maxrepkind
- 동일한 문자의 최대 문자 수를 순서대로 지정합니다.
maxsequence
- 최대 단조 문자 시퀀스(abcd)의 최대 길이를 지정합니다.
dictcheck
- 암호가 사전 단어인지 확인합니다.
usercheck
- 암호에 사용자 이름이 포함되어 있는지 확인합니다.
새 암호 정책 옵션이 설정되어 있는 경우 최소 암호 길이는 6자입니다. 새 암호 정책 설정은 새 암호에만 적용됩니다.
RHEL 7 및 RHEL 8 서버와 혼합된 환경에서 새 암호 정책 설정은 RHEL 8.4 이상에서 실행되는 서버에만 적용됩니다. 사용자가 IdM 클라이언트에 로그인하고 IdM 클라이언트가 RHEL 8.3 이하에서 실행되는 IdM 서버와 통신하는 경우, 시스템 관리자가 설정한 새 암호 정책 요구 사항은 적용되지 않습니다. 일관된 동작을 보장하기 위해 모든 서버를 RHEL 8.4 이상으로 업그레이드하십시오.
Jira:RHELPLAN-137416
IdM에서 ipanetgroup
Ansible 관리 모듈 지원
IdM(Identity Management) 시스템 관리자는 IdM을 NIS 도메인 및 넷그룹과 통합할 수 있습니다. ipanetgroup
ansible-freeipa
모듈을 사용하면 다음을 수행할 수 있습니다.
- 기존 IdM netgroup에 특정 IdM 사용자, 그룹, 호스트 및 호스트 그룹 및 중첩된 IdM netgroup이 포함되어 있는지 확인할 수 있습니다.
- 특정 IdM 사용자, 그룹, 호스트 그룹 및 호스트 그룹 및 중첩된 IdM netgroup이 기존 IdM netgroup에 없는지 확인할 수 있습니다.
- IdM에 특정 netgroup이 있거나 없는지 확인할 수 있습니다.
Jira:RHELPLAN-137411
새로운 ipaclient_configure_dns_resolver
및 ipaclient_dns_servers
Ansible ipaclient
역할 변수를 사용하여 클라이언트의 DNS 확인자를 지정합니다.
이전에는 ansible-freeipa
ipaclient
역할을 사용하여 IdM(Identity Management) 클라이언트를 설치할 때 설치 프로세스 중에 DNS 확인자를 지정할 수 없었습니다. 설치하기 전에 DNS 확인 프로그램을 구성해야 했습니다.
이번 개선된 기능을 통해 ipaclient
역할을 사용하여 ipaclient_configure_dns_resolver
및 ipaclient_dns_servers
변수가 있는 IdM 클라이언트를 설치할 때 DNS 확인자를 지정할 수 있습니다. 결과적으로 ipaclient
역할은 resolv.conf
파일과 NetworkManager
및 systemd 확인 유틸리티를 수정하여
ansible-
freeipaipaserver
역할이 IdM 서버에서 수행하는 것과 유사한 방식으로 클라이언트에 DNS 확인 프로그램을 구성합니다. 결과적으로 IdM 클라이언트를 설치하기 위해 ipaclient
역할을 사용할 때 DNS를 구성하는 것이 더 효율적입니다.
ipa-client-install
명령줄 설치 프로그램을 사용하여 IdM 클라이언트를 설치하려면 먼저 DNS 확인 프로그램을 구성해야 합니다.
Jira:RHELPLAN-137406
ipaclient
역할을 사용하여 OTP로 IdM 클라이언트를 설치할 때 Ansible 컨트롤러를 사전 수정할 필요가 없습니다.
이전에는 Ansible 컨트롤러의 kinit
명령이 IdM(Identity Management) 클라이언트 배포를 위한 OTP(한시 암호)를 가져오기 위한 사전 요구 사항이었습니다. 컨트롤러의 OTP를 취득해야 할 필요성은 Red Hat AAP(Ansible Automation Platform)의 문제였습니다. 이 패키지는 기본적으로 설치되지 않았습니다.
이번 업데이트를 통해 이제 관리자의 TGT 요청이 처음 지정되거나 검색된 IdM 서버에 위임됩니다. 결과적으로 OTP를 사용하여 Ansible 컨트롤러를 추가로 수정하지 않고 IdM 클라이언트 설치를 인증할 수 있습니다. 이렇게 하면 AAP와 ipaclient
역할을 간단하게 사용할 수 있습니다.
Jira:RHELPLAN-137403
IdM은 이제 Kerberos 티켓에 MS-PAC 구조를 적용합니다.
RHEL 9.2부터 보안을 높이기 위해 IdM(Identity Management) 및 MIT Kerberos는 이제 RHEL IdM Kerberos Distribution Center(KDC)에서 발행한 Kerberos 티켓에 MS-PAC(Privilege Attribute Certificate) 구조를 적용합니다.
2022년 11월 CVE-2022-37967에 대한 응답으로 Microsoft는 서버 체크섬이 아닌 전체 MS-PAC 구조를 통해 계산된 확장된 서명을 도입했습니다. RHEL 9.2부터 IdM KDC에서 발행한 Kerberos 티켓에도 확장된 서명이 포함되어 있습니다.
IdM에서 확장된 서명이 아직 적용되지 않습니다.
Jira:RHELPLAN-159146
FIPS 140-3 호환 키 암호화를 활성화한 VMDK용 새로운 영역 구성 템플릿
이 업데이트에서는 /var/kerberos/krb5kdc/kdc.conf
파일에 새로운 EXAMPLE.COM
.COM 영역 구성 예를 제공합니다. 두 가지 변경 사항을 제공합니다.
-
FIPS 140-3 호환
AES HMAC SHA-2
제품군이 키 암호화를 위해 지원되는 유형 목록에 추가됩니다. -
iPXE 마스터 키의 암호화 유형은
AES 256 HMAC SHA-1
에서AES 256 HMAC SHA-384
로 전환됩니다.
이 업데이트는 독립 실행형 MIT 영역에 관한 것입니다. RHEL Identity Management에서 KDC(Kerberos Distribution Center) 구성을 변경하지 마십시오.
새 영역에는 이 구성 템플릿을 사용하는 것이 좋습니다. 템플릿은 이미 배포된 영역에는 영향을 미치지 않습니다. 템플릿에 따라 영역 구성을 업그레이드하려는 경우 다음 사항을 고려하십시오.
마스터 키를 업그레이드하는 경우 CloudEvent 구성의 설정을 변경하는 것만으로는 충분하지 않습니다. MIT Kerberos 설명서에 설명된 프로세스를 따르십시오. https://web.mit.edu/kerberos/krb5-1.20/doc/admin/database.html#updating-the-master-key
키 암호화에 대해 지원되는 유형에 AES HMAC SHA-2
제품군을 추가하는 것은 CloudEvent의 기존 항목에 영향을 미치지 않기 때문에 어느 시점에서도 안전합니다. 키는 새 주체를 생성하거나 자격 증명을 갱신할 때만 생성됩니다. 이 새 유형의 키는 기존 키를 기반으로 생성할 수 없습니다. 특정 주체에 이러한 새로운 암호화 유형을 사용할 수 있도록 하려면 인증 정보를 갱신해야 합니다. 즉, 서비스 주체에 대한 키탭도 갱신해야 합니다.
보안 주체에 AES HMAC SHA-2
키가 포함되어 있지 않아야 하는 유일한 경우는 Active Directory (AD) cross-realm ticket-granting ticket (TGT)입니다. AD는 RFC8009를 구현하지 않기 때문에 AES HMAC SHA-2
암호화 유형 제품군을 사용하지 않습니다. 따라서 cross-realm TGS-REQ using an AES HMAC SHA-2
-encrypted cross-realm TGT를 사용하는 경우 오류가 발생했습니다. MIT Kerberos 클라이언트가 AD에 대해 AES HMAC SHA-2
를 사용하지 못하도록 하는 가장 좋은 방법은 AD 교차 영역에 AES HMAC SHA-2
키를 제공하지 않는 것입니다. 이렇게 하려면 AD에서 지원하는 모든 키 암호화 유형의 명시적 목록을 사용하여 교차 영역 TGT 항목을 생성해야 합니다.
kadmin.local <<EOF add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[MIT realm]@[AD realm] add_principal +requires_preauth -e aes256-cts-hmac-sha1-96,aes128-cts-hmac-sha1-96 -pw [password] krbtgt/[AD realm]@[MIT realm] EOF
MIT IKEvrboros 클라이언트가 AES HMAC SHA-2
암호화 유형을 사용하도록 하려면 클라이언트 및 CloudEvent 구성 모두에서 허용되는
암호화 유형도 설정해야 합니다. RHEL에서 이 설정은 crypto-policy 시스템에서 관리합니다. 예를 들어 RHEL 9에서는 DEFAULT
암호화 정책을 사용하는 호스트에서는 AES HMAC SHA-2
및 AES HMAC SHA-1
암호화 티켓을 허용하는 반면, FIPS
암호화 정책을 사용하는 호스트는 AES HMAC SHA-2
만 허용합니다.
구성 파일을 사용하여 gRPC_pwhistory
구성
이번 업데이트를 통해 /etc/security/
pwhistory 모듈을 구성할 수 있습니다. gRPC pwhistory.conf
구성 파일에 CloudEvent__pwhistory
모듈은 암호 변경 기록을 관리하기 위해 각 사용자에 대한 마지막 암호를 저장합니다. CHAP _pwhistory
모듈을 PAM 스택에 추가할 수 있는 authselect
에도 지원이 추가되었습니다.
Bugzilla:2126640, Bugzilla:2142805
IdM에서 새 Active Directory 인증서 매핑 템플릿 지원
AD(Active Directory) 도메인 관리자는 altSecurityIdentities
특성을 사용하여 AD의 사용자에게 인증서를 수동으로 매핑할 수 있습니다. 이 속성에 지원되는 6개의 값이 이제 3개의 매핑이 안전하지 않은 것으로 간주됩니다. 2022 보안 업데이트 5월 10 일의 일부로 이 업데이트가 도메인 컨트롤러에 설치되면 모든 장치가 호환성 모드가 됩니다. 인증서가 사용자에게 약한 경우 인증이 예상대로 수행되지만 전체 적용 모드와 호환되지 않는 인증서를 식별하는 경고 메시지가 기록됩니다. 2023년 11월 14일 이후부터 모든 장치가 완전히 적용 모드로 업데이트되고 인증서가 강력한 매핑 기준에 실패하면 인증이 거부됩니다.
IdM은 이제 새 매핑 템플릿을 지원하므로 AD 관리자가 새 규칙을 더 쉽게 사용할 수 있으며 둘 다 유지 관리하지 않습니다. IdM에서 다음과 같은 새 매핑 템플릿을 지원합니다.
-
일련 번호:
LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
-
제목 키 ID:
LDAPU1:(altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
-
사용자 SID:
LDAPU1:(objectsid={sid})
새 SID 확장으로 인증서를 다시 게시하지 않으려면 AD의 사용자 altSecurityIdentities
속성에 적절한 매핑 문자열을 추가하여 수동 매핑을 만들 수 있습니다.
Samba
버전 4.17.5로 업데이트
samba
패키지가 업스트림 버전 4.17.5로 업그레이드되어 이전 버전에 대한 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항:
- 이전 릴리스의 보안을 개선하면 메타 데이터 워크로드가 많은 경우 SMB(Server Message Block) 서버의 성능에 영향을 미쳤습니다. 이번 업데이트에서는 이 시나리오에서 성능이 향상되었습니다.
-
JSON
옵션이
JSON 형식으로 세부상태
정보를 표시하도록 CloudEventstatus 유틸리티에 추가되었습니다. -
samba.ECDHE.conf
및samba.ECDHE3.conf
모듈이>-<conf Python
API에 추가되었습니다. Python 프로그램에서 이를 사용하여 기본적으로 Samba 구성을 읽고 작성할 수 있습니다.
서버 메시지 블록 버전 1(SMB1)은 Samba 4.11 이후 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
Samba를 시작하기 전에 데이터베이스 파일을 백업하십시오. > -
<d ,nmbd
, winbind
서비스가 시작되면 Samba는 tdb
데이터베이스 파일을 자동으로 업데이트합니다. Red Hat은 downgrading tdb
데이터베이스 파일을 지원하지 않습니다.
Samba를 업데이트한 후 testparm
유틸리티를 사용하여 /etc/ECDHE/ECDHE.conf
파일을 확인합니다.
주요 변경 사항에 대한 자세한 내용은 업데이트하기 전에 업스트림 릴리스 노트를 참조하십시오.
ipa-client-install
에서 PKINIT를 통한 인증 지원
이전에는 ipa-client-install
에서 암호 기반 인증만 지원했습니다. 이번 업데이트에서는 PKINIT에서의 인증을 위해 ipa-client-install
을 지원합니다.
예를 들면 다음과 같습니다.
ipa-client-install --pkinit-identity=FILE:/path/to/cert.pem,/path/to/key.pem --pkinit-anchor=FILE:/path/to/cacerts.pem
PKINIT 인증을 사용하려면 IdM과 PKINIT 인증서의 CA 체인 사이에 신뢰를 설정해야 합니다. 자세한 내용은 ipa-cacert-manage(1)
매뉴얼 페이지를 참조하십시오. 또한 인증서 ID 매핑 규칙은 호스트의 PKINIT 인증서를 호스트 레코드를 추가 또는 수정할 수 있는 권한이 있는 보안 주체에 매핑해야 합니다. 자세한 내용은 ipa certmaprule-add
man 페이지를 참조하십시오.
Red Hat IdM 및 인증서 시스템에서 EST 프로토콜 지원
보안 전송(EST)에 등록하는 것은 RFC 7030에 지정된 새로운 인증서 시스템 하위 시스템 기능이며 CA(인증 기관)에서 인증서를 프로비저닝하는 데 사용됩니다. EST는 작업의 서버 측(예: /getcacerts
,/simpleenroll
, /simplereenroll
)을 구현합니다.
Red Hat은 인증서 시스템에서 EST 및 원래SCEP(Simple Certificate Enrollment Protocol)를 모두 지원합니다.
부정 캐시 사용 개선
이번 업데이트에서는 SID(Security Identifier)를 통한 조회에 대한 SSSD 성능이 향상되었습니다. 이제 개별 도메인의 경우 음수 캐시에 존재하지 않는ovns를 저장하고 CloudEvent가 속한 도메인을 요청합니다.
디렉터리 서버는 TLS를 위한 ECDSA 개인 키 지원
이전에는 RSA보다 강력한 암호화 알고리즘을 사용하여 Directory Server 연결을 보호할 수 없었습니다. 이 향상된 기능을 통해 Directory Server는 이제 ECDSA 및 RSA 키를 모두 지원합니다.
Directory Server에서 검색 작업의 확장된 로깅 지원
이전에는 액세스 로그의 레코드에 일부 검색 작업에 매우 큰 etime
값이 있는 이유가 표시되지 않았습니다. 이번 릴리스에서는 여러 인덱스 조회(데이터베이스 읽기 작업) 및 각 검색 작업당 전체 인덱스 조회 기간과 같은 통계의 로깅을 활성화할 수 있습니다. 이러한 통계 레코드는 etime
값이 리소스 비용이 너무 많이 드는 이유를 분석하는 데 도움이 될 수 있습니다.
Bugzilla:1859271
NUNC_STANS 오류 로깅 수준은 새로운 1048576
로깅 수준으로 대체되었습니다.
이전에는 암호 정책 문제를 쉽게 디버깅할 수 없었습니다. 오류 로그에 대한 새로운 1048576
로깅 수준을 사용하면 다음과 같은 암호 정책 정보를 확인할 수 있습니다.
- 다음 중 암호 업데이트를 거부하거나 허용하는 로컬 정책은 무엇입니까.
- 정확한 구문 위반입니다.
Directory Server에서 보안 로그 도입
시간이 지남에 따라 문제를 올바르게 추적하기 위해 Directory Server에는 보안 데이터를 유지 관리하는 특수 로그가 있습니다. 보안 로그는 빠르게 순환되지 않고 모든 정보가 포함된 액세스 로그와 비교하여 디스크 리소스를 적게 소비하지만 보안 데이터를 얻으려면 비용이 많이 드는 구문 분석이 필요합니다.
새 서버 로그는 인증 이벤트, 권한 부여 문제, DoS/TCP 공격 및 기타 이벤트와 같은 보안 이벤트를 기록합니다.
Directory Server는 다른 로그 파일과 함께 /var/log/dirsrv/slapd-instance_name/
디렉터리에 보안 로그를 저장합니다.
Directory Server에서 아카이브된 로그 파일을 압축할 수 있음
이전에는 보관된 로그 파일이 압축되지 않았습니다. 이번 릴리스에서는 액세스, 오류, 감사 실패 로그, 보안 로그 파일 압축을 활성화하여 디스크 공간을 절약할 수 있습니다. 보안 로그 파일 압축만 기본적으로 활성화되어 있습니다.
cn=config
항목에서 다음 새 구성 속성을 사용하여 압축을 관리합니다.
-
액세스 로그의
nsslapd-accesslog-compress
-
오류 로그의
nsslapd-errorlog-compress
-
감사 로그의 경우
nsslapd-auditlog-compress
-
감사 실패 로그의
nsslapd-auditfaillog-compress
-
보안 로그의 경우
nsslapd-securelog-compress
Bugzilla:1132524
새로운 gRPC ModuleIsThread>-&
lt; 구성 옵션을 사용할 수 있습니다.
PAM 모듈이 스레드로부터 안전한 경우, 새 CHAP ModuleIsThread
>-< 구성 옵션을 yes
로 설정하여 특정 모듈의 PAM 인증 처리량 및 응답 시간을 개선할 수 있습니다.
pamModuleIsThreadSafe: yes
이 구성은 PAM 모듈 구성 항목( Auth,cn=plugins,cn=config )에 따라 cn=PAM 패스 패스
에 적용됩니다.
dse.ldif
구성 파일 또는 ldapmodify
명령에서 CloudEvent ModuleIsThread
>-< 옵션을 사용합니다. ldapmodify
명령을 사용하려면 서버를 다시 시작해야 합니다.
Directory Server에서 인증서 번들을 가져올 수 있음
이전 버전에서는 dsconf
또는 dsctl
유틸리티를 사용하여 인증서 번들을 추가하려고 하면 프로시저가 오류와 함께 실패했으며 인증서 번들을 가져오지 않았습니다. 이러한 동작은 한 번에 하나의 인증서만 가져올 수 있는 certutil
유틸리티로 인해 발생했습니다. 이번 업데이트를 통해 Directory Server는 certutil
문제를 중심으로 작동하며 인증서 번들이 성공적으로 추가됩니다.
기본 동작 변경: Directory Server에서 데이터베이스에 추가된 것과 정확히 동일한 순서로 DN을 반환합니다.
새로운 nsslapd- return-original-entrydn
매개 변수를 cn=config
항목 아래에 사용하면 Directory Server에서 검색 작업 중에 항목의 고유 이름(DN)을 반환하는 방법을 관리할 수 있습니다.
기본적으로 nsslapd- return-original-entrydn
매개변수는 on
으로 설정되고 Directory Server는 원래 데이터베이스에 추가된 DN을 반환합니다. 예를 들어 uid=User,ou=PEople,dc=ExaMPlE,DC=COM
및 설정을 사용하여 Directory Server는 uid=User,ou=PEople,dc=ExaMPlE,DC=COM
.
nsslapd- return-original-entrydn
매개변수가 off
로 설정된 경우 Directory Server는 항목의 RDN(Relative DN)과 cn=userroot,cn=plugins,cn=plugins,cn=config 아래의 데이터베이스
접미사 구성에 저장된 기본 DN을 결합하여 항목 DN을 생성합니다. 기본 DN을 ou=people,dc=example,dc=com
으로 설정하고 nsslapd- return-original-entry
d 설정을 off
로 설정하면 Directory Server에서 uid=User,ou=people,dc=example,dc=com
을 데이터베이스에 추가할 때 DN의 철자가 표시되지 않습니다.
MIT Kerberos는 티켓 및 확장 KDC MS-PAC 서명을 지원
이번 업데이트를 통해 Red Hat에서 사용하는 MIT Kerberos는 최근 CVE에 대한 응답으로 Microsoft에서 도입한 두 가지 유형의 PAC(Privilege Attribute Certificate) 서명을 지원합니다. 특히 다음 서명이 지원됩니다.
티켓 서명
- KB4598347로 릴리스됨
- CVE-2020-17049 라고도 하는 "Bronze-#159" 공격
확장된 KDC 서명
- KB5020805로 릴리스됨
- CVE-2022-37967문제 해결
RHSA-2023:2570 및 krb5-1.20.1-6.el9
도 참조하십시오.
Directory Server 감사 로그의 새로운 nsslapd-auditlog-display-attrs
구성 매개변수
이전에는 고유 이름(DN)이 감사 로그 이벤트에서 대상 항목을 식별하는 유일한 방법이었습니다. 새로운 nsslapd-auditlog-display-attrs
매개변수를 사용하면 Directory Server를 구성하여 감사 로그에 추가 속성을 표시하여 수정된 항목에 대한 자세한 정보를 제공할 수 있습니다.
예를 들어 nsslapd-auditlog-display-attrs
매개변수를 cn
으로 설정하면 감사 로그에 출력에 cn
속성이 표시됩니다. 수정된 항목의 모든 속성을 포함하려면 별표(*
)를 매개변수 값으로 사용합니다.
자세한 내용은 nsslapd-auditlog-display-attrs 를 참조하십시오.
4.14. 데스크탑
swipe를 비활성화하여 작업 공간을 전환
이전에는 세 개의 발판으로 위 또는 아래로 스와이핑하면 항상 화면의 작업 공간을 전환했습니다. 이번 릴리스에서는 작업 공간 전환을 비활성화할 수 있습니다.
자세한 내용은 Disabling swipe to switch workspaces 에서 참조하십시오.
Aspeed GPU에서 Wayland 사용 가능
이전에는 Aspeed GPU 드라이버가 Wayland 세션을 실행하기에 충분히 제대로 작동하지 않았습니다. 이 문제를 해결하기 위해 Aspeed GPU에 Wayland 세션이 비활성화되었습니다.
이번 릴리스에서는 드라이버 성능이 크게 개선되었으며 이제 Wayland 세션의 응답성이 향상되었습니다. 결과적으로 이제 Wayland 세션이 Aspeed GPU에서 기본적으로 활성화됩니다.
데스크탑에서 사용자 정의 오른쪽 클릭 메뉴
이제 데스크탑 배경을 마우스 오른쪽 버튼으로 클릭할 때 열리는 메뉴를 사용자 지정할 수 있습니다. 임의의 명령을 실행하는 메뉴에서 사용자 지정 항목을 생성할 수 있습니다.
메뉴를 사용자 지정하려면 데스크탑의 오른쪽 클릭 메뉴 사용자 지정을 참조하십시오.
4.15. 웹 콘솔
웹 콘솔에서 특정 암호화 하위 정책을 사용할 수 있습니다.
이번 RHEL 웹 콘솔 업데이트에서는 암호화 정책 변경
대화 상자에서 옵션을 확장합니다. 시스템 전체 암호화 정책 4개 외에도 이제 그래픽 인터페이스를 통해 다음 하위 정책을 적용할 수 있습니다.
-
DEFAULT:SHA1
은SHA-1
알고리즘이 활성화된DEFAULT
정책입니다. -
LEGACY:AD-SUPPORT
는 Active Directory 서비스의 상호 운용성을 개선하는 보안 설정을 제외한LEGACY
정책입니다. -
FIPS:OSPP
는 정보 기술 보안 rate 표준에 대한 CommonMetric의 영향을 받는 추가 제한 사항이 있는FIPS
정책입니다.
Jira:RHELPLAN-137505
웹 콘솔에서 LUKS 암호화 루트 볼륨을 10.0.0.1에 바인딩하기 위한 추가 단계를 수행합니다.
이번 업데이트를 통해 RHEL 웹 콘솔은 LUKS 암호화 루트 볼륨을NBDE(Network-Bound Disk Encryption) 배포에 바인딩하는 데 필요한 추가 단계를 수행합니다. 암호화된 루트 파일 시스템과 Tang 서버를 선택한 후 rd.neednet=1
매개변수 추가를 커널 명령줄로 건너뛰고 clevis-dracut
패키지를 설치한 후 초기 램디스크(initrd
)를 다시 생성할 수 있습니다. 루트가 아닌 파일 시스템의 경우 웹 콘솔에서 remote-cryptsetup.target
및 clevis-luks-akspass.path
systemd
장치를 활성화하고, clevis-systemd
패키지를 설치하고, _netdev
매개변수를 fstab
및 crypttab
구성 파일에 추가합니다. 결과적으로 LUKS 암호화 루트 볼륨의 자동 잠금을 해제하기 위해 CloudEvent 배포를 생성할 때 모든 Clevis-client 구성 단계에 그래픽 인터페이스를 사용할 수 있습니다.
Jira:RHELPLAN-139125
4.16. Red Hat Enterprise Linux System Roles
라우팅 규칙은 이름으로 라우팅 테이블을 조회할 수 있습니다.
이번 업데이트를 통해 rhel-system-roles.network
RHEL 시스템 역할은 라우팅 규칙을 정의할 때 이름별로 경로 테이블을 조회할 수 있도록 지원합니다. 이 기능을 사용하면 서로 다른 네트워크 세그먼트에 대한 다른 라우팅 규칙이 필요한 복잡한 네트워크 구성을 빠르게 탐색할 수 있습니다.
네트워크
시스템 역할에서 DNS 우선순위 값 설정을 지원
이번 개선된 기능에는 RHEL 네트워크
시스템 역할에 dns_priority
매개변수가 추가되었습니다. 이 매개변수를 -2147483648
에서 2147483647
의 값으로 설정할 수 있습니다. 기본값은 0
입니다. 낮은 값은 우선 순위가 높습니다. 음수 값으로 인해 System Role은 더 큰 숫자 우선 순위 값이 있는 다른 구성을 제외합니다. 결과적으로, 하나 이상의 음수 우선순위 값이 있는 경우 System Role은 우선순위가 가장 낮은 연결 프로필의 DNS 서버만 사용합니다.
따라서 네트워크
시스템 역할을 사용하여 다양한 연결 프로필의 DNS 서버 순서를 정의할 수 있습니다.
vpn
RHEL 시스템 역할에 대한 새로운 IPsec 사용자 지정 매개변수
특정 네트워크 장치가 제대로 작동하려면 IPsec 사용자 지정이 필요하므로 vpn
RHEL 시스템 역할에 다음 매개변수가 추가되었습니다.
고급 지식 없이 다음 매개 변수를 변경하지 마십시오. 대부분의 시나리오에는 사용자 정의가 필요하지 않습니다.
또한 보안상의 이유로 Ansible Vault를 사용하여 shared_key_content
매개 변수 값을 암호화합니다.
터널 매개변수:
-
shared_key_content
-
ike
-
esp
-
ikelifetime
-
salifetime
-
retransmit_timeout
-
dpddelay
-
dpdtimeout
-
dpdaction
-
leftupdown
-
호스트별 매개변수:
-
leftid
-
rightid
-
결과적으로 vpn
역할을 사용하여 광범위한 네트워크 장치에 IPsec 연결을 구성할 수 있습니다.
selinux
RHEL System Role에서 로컬
매개변수 지원
이번 selinux
RHEL 시스템 역할 업데이트에서는 로컬
매개 변수를 지원합니다. 이 매개변수를 사용하면 로컬 정책 수정 사항만 제거하고 기본 제공된 SELinux 정책을 유지할 수 있습니다.
ha_cluster
시스템 역할은 이제 방화벽
,selinux
, 인증서
시스템 역할의 자동 실행 지원
ha_cluster RHEL 시스템 역할은 이제 다음 기능을 지원합니다.
방화벽
및selinux
시스템 역할을 사용하여 포트 액세스 관리-
firewalld
및selinux
서비스를 실행하도록 클러스터의 포트를 구성하려면 새 역할 변수ha_cluster_manage_firewall
및ha_cluster_manage_selinux
를true
로 설정할 수 있습니다. 이렇게 하면 클러스터가방화벽
및selinux
시스템 역할을 사용하고,ha_cluster
시스템 역할 내에서 이러한 작업을 자동화 및 수행합니다. 이러한 변수가 기본값false
로 설정되면 역할이 수행되지 않습니다. 이번 릴리스에서는ha_cluster_manage_firewall
이true
로 설정된 경우에만 방화벽이 기본적으로 구성되지 않습니다. 인증서
시스템 역할을 사용하여pcsd
개인 키 및 인증서 쌍 생성-
ha_cluster
시스템 역할은 이제ha_cluster_pcsd_certificates
역할 변수를 지원합니다. 이 변수를 설정하면 해당 값이 인증서 시스템 역할의certificate_requests
변수로 전달됩니다.이를 통해
pcsd
에 대한 개인 키 및 인증서 쌍을 생성하는 대체 방법이 제공됩니다.
postfix
RHEL 시스템 역할은 방화벽
및 selinux
RHEL 시스템 역할을 사용하여 포트 액세스를 관리할 수 있습니다.
이번 개선된 기능을 통해 새 역할 변수 postfix_manage_firewall
및 postfix_manage_selinux
를 사용하여 포트 액세스 관리를 자동화할 수 있습니다.
-
true
로 설정하면 각 역할이 포트 액세스를 관리하는 데 사용됩니다. -
false
로 설정된 경우 기본값은 역할입니다.
vpn
RHEL 시스템 역할은 이제 방화벽
및 selinux
역할을 사용하여 포트 액세스를 관리할 수 있습니다.
이번 개선된 기능을 통해 vpn
RHEL 시스템 역할에서 방화벽
및 selinux
역할을 통해 포트 액세스 관리를 자동화할 수 있습니다. 새 역할 변수 vpn_manage_firewall
및 vpn_manage_selinux
를 true
로 설정하면 역할은 포트 액세스를 관리합니다.
로깅
RHEL 시스템 역할에서 포트 액세스 및 인증서 생성 지원
이번 개선된 기능을 통해 로깅 역할을 사용하여 포트 액세스를 관리하고 새 역할 변수로 인증서를 생성할 수 있습니다. 새 역할 변수 logging_manage_firewall
및 logging_manage_selinux
를 true
로 설정하면 역할은 포트 액세스를 관리합니다. 인증서를 생성하기 위한 새 역할 변수는 logging_certificates
입니다. 유형 및 사용은 인증서 역할
와 동일합니다. 이제 certificate
_requestslogging
역할을 사용하여 이러한 작업을 직접 자동화할 수 있습니다.
이제 지표
RHEL 시스템 역할에서 방화벽
역할 및 selinux
역할을 사용하여 포트 액세스를 관리할 수 있습니다.
이번 개선된 기능을 통해 포트에 대한 액세스를 제어할 수 있습니다. 새 역할 변수 metrics_manage_firewall
및 metrics_manage_firewall
을 true
로 설정하면 역할은 포트 액세스를 관리합니다. 이제 metrics
역할을 사용하여 이러한 작업을 직접 자동화하고 수행할 수 있습니다.
nbde_server
RHEL 시스템 역할에서 방화벽
및 selinux
역할을 사용하여 포트 액세스를 관리할 수 있습니다.
이번 개선된 기능을 통해 방화벽
및 selinux
역할을 사용하여 포트 액세스를 관리할 수 있습니다. 새 역할 변수 nbde_server_manage_firewall
및 nbde_server_manage_selinux
를 true
로 설정하면 역할에서 포트 액세스를 관리합니다. 이제 nbde_server
역할을 사용하여 이러한 작업을 직접 자동화할 수 있습니다.
initscripts
네트워크 공급자는 기본 게이트웨이의 경로 메트릭 구성을 지원합니다.
이번 업데이트를 통해 rhel-system-roles.network
RHEL 시스템 역할에 있는 initscripts
네트워크 공급자를 사용하여 기본 게이트웨이의 경로 지표를 구성할 수 있습니다.
이러한 설정 이유는 다음과 같습니다.
- 다른 경로에 트래픽 로드 배포
- 기본 경로 및 백업 경로 지정
- 라우팅 정책을 활용하여 특정 경로를 통해 특정 대상으로 트래픽을 보냅니다.
방화벽
,selinux
, 인증서
역할과 cockpit
RHEL 시스템 역할 통합
이번 개선된 기능을 통해 cockpit
역할을 firewall
역할과 통합하고 selinux
역할을 사용하여 포트 액세스 및 인증서 역할을 관리하여 인증서를
생성할 수 있습니다.
포트 액세스를 제어하려면 새 cockpit_manage_firewall
및 cockpit_manage_selinux
변수를 사용합니다. 두 변수는 모두 기본적으로 false
로 설정되며 실행되지 않습니다. 방화벽
및 selinux
역할이 RHEL 웹 콘솔 서비스 포트 액세스를 관리할 수 있도록 하려면 true
로 설정합니다. 그러면 cockpit
역할 내에서 작업이 실행됩니다.
방화벽 및 SELinux에 대한 포트 액세스 관리를 담당합니다.
인증서를 생성하려면 새 cockpit_certificates
변수를 사용합니다. 변수는 기본적으로 false
로 설정되며 실행되지 않습니다. 인증서 역할에서
변수를 사용하는 것과 동일한 방식으로 이 변수를 사용할 수 있습니다. 그런 다음 certificate
_requestcockpit
역할은 인증서
역할을 사용하여 RHEL 웹 콘솔 인증서를 관리합니다.
Active Directory와 직접 통합을 위한 새로운 RHEL 시스템 역할
새로운 rhel-system-roles.ad_integration
RHEL 시스템 역할이 rhel-system-roles
패키지에 추가되었습니다. 결과적으로 관리자는 이제 Active Directory 도메인과 RHEL 시스템 직접 통합을 자동화할 수 있습니다.
Red Hat Insights 및 서브스크립션 관리를 위한 새로운 Ansible 역할
rhel-system-roles
패키지에는 이제 원격 호스트 구성(rhc
) 시스템 역할이 포함됩니다. 관리자는 이 역할을 통해 RHEL 시스템을 RHSM(Red Hat Subscription Management) 및 Satellite 서버에 쉽게 등록할 수 있습니다. 기본적으로 rhc
시스템 역할을 사용하여 시스템을 등록할 때 시스템은 Red Hat Insights에 연결됩니다. 관리자는 새로운 rhc
시스템 역할을 통해 이제 관리형 노드에서 다음 작업을 자동화할 수 있습니다.
- 시스템의 자동 업데이트, 수정 및 태그를 포함하여 Red Hat Insights에 대한 연결을 구성합니다.
- 리포지토리를 활성화 및 비활성화합니다.
- 연결에 사용할 프록시를 구성합니다.
- 시스템 릴리스를 설정합니다.
이러한 작업을 자동화하는 방법에 대한 자세한 내용은 RHC 시스템 역할을 사용하여 시스템 등록을 참조하십시오.
복제된 MAC 주소에 대한 지원 추가
복제된 MAC 주소는 시스템의 MAC 주소와 동일한 device 10.0.0.1 포트의 MAC 주소입니다. 이번 업데이트를 통해 사용자는 MAC 주소를 사용하여 본딩 또는 브리지 인터페이스를 지정하거나 임의의
전략을 유지하거나 본딩 또는 브리지 인터페이스의 기본 MAC 주소를 가져올 수 있습니다.
Microsoft SQL Server Ansible 역할은 비동기 고가용성 복제본 지원
이전에는 Microsoft SQL Server Ansible 역할이 기본, 동기 및 가용성 복제본만 지원했습니다. 이제 mssql_ha_replica_type
변수를 비동기식
으로 설정하여 새 복제본 또는 기존 복제본에 대한 비동기 복제본 유형으로 구성할 수 있습니다.
Microsoft SQL Server Ansible 역할은 읽기-scale 클러스터 유형을 지원합니다.
이전에는 Microsoft SQL Ansible 역할이 외부 클러스터 유형만 지원했습니다. 이제 새 변수 mssql_ha_ag_cluster_type
을 사용하여 역할을 구성할 수 있습니다. 기본값은 external
이며 이를 사용하여 Pacemaker로 클러스터를 구성합니다. Pacemaker 없이 클러스터를 구성하려면 해당 변수에 값 none
을 사용합니다.
Microsoft SQL Server Ansible 역할은 TLS 인증서를 생성할 수 있습니다.
이전에는 Microsoft SQL Ansible 역할을 구성하기 전에 노드에서 TLS 인증서와 개인 키를 수동으로 생성해야 했습니다. 이번 업데이트를 통해 Microsoft SQL Server Ansible 역할은 이를 위해 redhat.rhel_system_roles.certificate
역할을 사용할 수 있습니다. 이제 인증서 역할의 certificate_requests
변수 형식으로 mssql_tls_certificates
변수를 설정하여 노드에서 TLS 인증서 및 개인 키를 생성할 수 있습니다.
Microsoft SQL Server Ansible 역할은 SQL Server 버전 2022 구성을 지원합니다.
이전에는 Microsoft SQL Ansible 역할이 SQL Server 버전 2017 및 버전 2019만 구성하는 것을 지원했습니다. 이 업데이트는 Microsoft SQL Ansible 역할에 대한 SQL Server 버전 2022에 대한 지원을 제공합니다. 이제 새 SQL Server 2022를 구성하거나 SQL Server 2019 버전에서 2022
버전으로 SQL Server를 업그레이드하는 경우 mssql_version
값을 2022로 설정할 수 있습니다. SQL Server를 버전 2017에서 버전 2022로 업그레이드할 수 없습니다.
Microsoft SQL Server Ansible 역할은 Active Directory 인증 구성을 지원합니다.
이번 업데이트를 통해 Microsoft SQL Ansible 역할은 SQL Server에 대한 Active Directory 인증 구성을 지원합니다. 이제 mssql_ad_
접두사로 변수를 설정하여 Active Directory 인증을 구성할 수 있습니다.
journald
RHEL 시스템 역할 사용 가능
journald
서비스는 로그 데이터를 수집하여 중앙 집중식 데이터베이스에 저장합니다. 이번 개선된 기능을 통해 journald
시스템 역할 변수를 사용하여 systemd
저널 구성을 자동화하고 Red Hat Ansible Automation Platform을 사용하여 영구 로깅을 구성할 수 있습니다.
ha_cluster
시스템 역할에서 쿼럼 장치 구성 지원
쿼럼 장치는 클러스터에 대한 타사 중재 장치 역할을 합니다. 쿼럼 장치는 노드가 짝수인 클러스터에 권장됩니다. 2-노드 클러스터에서 쿼럼 장치를 사용하면 분할된 상황에서 유지되는 노드를 더 잘 확인할 수 있습니다. 이제 ha_cluster
System Role(클러스터의 qdevice
)과 중재 노드에 대해 qnetd
를 사용하여 쿼럼 장치를 구성할 수 있습니다.
4.17. 가상화
하드웨어 암호화 장치를 자동으로 핫플러그할 수 있음
이전에는 중재 장치를 시작하기 전에 호스트에 존재하는 경우에만 패스스루(passthrough)에 대한 암호화 장치를 정의할 수 있었습니다. 이제 VM(가상 머신)에 전달하려는 모든 암호화 장치를 나열하는 중재 장치 매트릭스를 정의할 수 있습니다. 결과적으로 지정된 암호화 장치는 나중에 사용할 수 있게 되면 실행 중인 VM에 자동으로 전달됩니다. 또한 장치를 사용할 수 없게 되면 VM에서 제거되지만 게스트 운영 체제는 정상적으로 실행됩니다.
Bugzilla:1871126
IBM Z에서 PCI 패스스루 장치의 성능 향상
이번 업데이트를 통해 I/O 처리 기능이 여러 가지 개선되어 IBM Z 하드웨어의 PCI 패스스루 구현이 향상되었습니다. 결과적으로 IBM Z 호스트의 KVM 가상 머신(VM)에 전달되는 PCI 장치는 이제 성능이 크게 향상되었습니다.
또한 이제 IBM Z 호스트의 VM에 ISM 장치를 할당할 수 있습니다.
Bugzilla:1871143
새로운 패키지: passt
이번 업데이트에서는 passt
패키지가 추가되어 가상 머신에 대해 passt
사용자 모드 네트워킹 백엔드를 사용할 수 있습니다.
passt 사용에 대한 자세한 내용은 passt
사용자 공간 연결 구성을 참조하십시오.
Bugzilla:2131015
z PCI 장치 할당
이제 IBM Z 하드웨어에서 실행되는 RHEL에서 호스팅되는 VM(가상 머신)에 패스스루 장치로 z PCI 장치를 연결할 수 있습니다. 예를 들어, VM에서 NVMe Flash 드라이브를 사용할 수 있습니다.
Jira:RHELPLAN-59528
새로운 패키지: python-virt-firmware
이번 업데이트에서는 OCI(Open Virtual Machine Firmware) 펌웨어 이미지를 처리하는 도구가 포함된 python-virt-firmware
패키지가 추가되었습니다. 예를 들어 다음 툴을 사용할 수 있습니다.
- 펌웨어 이미지의 콘텐츠 인쇄
-
edk2
변수 저장소 업데이트 - QEMU에서 가상 머신을 부팅하지 않고 보안 부팅 키 등록 처리
결과적으로 OVMF 이미지를 더 쉽게 빌드할 수 있습니다.
Bugzilla:2089785
4.18. 지원 관련 기능
sos
유틸리티는 4 주 간의 업데이트 주기로 전환
RHEL 마이너 릴리스를 통해 업데이트를 릴리스하는 대신
유틸리티 릴리스 주기는 6개월에서 4주로 변경되고 있습니다. 4주마다 RPM 변경 로그에서 sos
sos
패키지의 업데이트에 대한 세부 정보를 참조하거나 6개월마다 RHEL 릴리스 노트에서 sos
업데이트에 대한 요약을 읽을 수 있습니다.
sos clean
명령은 이제 IPv6 주소를 난독 처리
이전에는 sos clean
명령에서 IPv6 주소를 난독화하지 않아 일부 고객 민감한 데이터를 수집된 sos
보고서에 남겨 두었습니다. 이번 업데이트를 통해 clean
에서 IPv6 주소를 예상대로 탐지하고 난독화합니다.
4.19. 컨테이너
새로운 podman
RHEL System Role 사용 가능
Podman 4.2부터 podman
System Role을 사용하여 Podman 컨테이너를 실행하는 Podman 구성, 컨테이너 및 systemd
서비스를 관리할 수 있습니다.
Jira:RHELPLAN-118705
Podman에서 감사 이벤트 지원
Podman v4.4부터 단일 이벤트 및 journald
항목에서 컨테이너에 대한 모든 관련 정보를 직접 수집할 수 있습니다. Podman 감사를 활성화하려면 container.conf
구성 파일을 수정하고 events_container_create_inspect_data=true
옵션을 [engine]
섹션에 추가합니다. 데이터는 podman container inspect
명령과 동일하게 JSON 형식입니다. 자세한 내용은 Podman 4.4의 새 컨테이너 이벤트 및 감사 기능을 사용하는 방법을 참조하십시오.
Jira:RHELPLAN-136602
container-tools
meta-package가 업데이트됨
Podman, Buildah, Skopeo, crun 및 runc 툴이 포함된 container-tools
RPM meta-package를 사용할 수 있습니다. 이번 업데이트에서는 이전 버전에 비해 일련의 버그 수정 및 개선 사항을 적용합니다.
Podman v4.4의 주요 변경 사항은 다음과 같습니다.
- Podman을 사용하여 systemd 서비스를 쉽게 생성하고 유지 관리하는 새로운 systemd 생성기인 Quadlet을 소개합니다.
-
컨테이너 및 포드의 네트워크를 업데이트하는 새로운 명령
podman network update
가 추가되었습니다. -
buildah
버전을 표시하는 새 명령 podman buildx
버전 이 추가되었습니다. - 컨테이너는 이제 시작 상태 점검을 통해 일반 상태 점검을 활성화하기 전에 컨테이너를 완전히 시작하기 위해 명령을 실행할 수 있습니다.
-
podman --dns
명령을 사용하여 사용자 지정 DNS 서버 선택을 지원합니다. - Fulcio 및 Rekor를 사용하여 sigstore 서명을 생성 및 확인할 수 있습니다.
- Docker와의 호환성 개선(새 옵션 및 별칭).
-
Podman의 Kubernetes 통합 개선 -
podman kube generate
및podman kube play
명령을 사용할 수 있으며podman generate kube
및podman play kube
명령을 교체합니다.podman generate kube
및podman play kube
명령을 계속 사용할 수 있지만 새로운podman kube
명령을 사용하는 것이 좋습니다. -
podman kube play
명령으로 생성된 systemd 관리 포드가 이제 io.containers.sdnotify 주석(또는 특정 컨테이너의io.containers.sdnotify
/$name -
podman kube 플레이에서
생성한 systemd 관리 포드는 이제io.containers.auto-update
주석(또는 특정 컨테이너의io.containers.auto-update/$name
)을 사용하여 자동 업데이트할 수 있습니다.
주목할 만한 변경 사항에 대한 자세한 내용은 podman이 버전 4.4로 업그레이드되어 업스트림 릴리스 노트를 참조하십시오.
Jira:RHELPLAN-136607
Aardvark 및 Netavark가 사용자 정의 DNS 서버 선택을 지원
Aardvark 및 Netavark 네트워크 스택은 이제 호스트의 기본 DNS 서버가 아닌 컨테이너에 대한 사용자 정의 DNS 서버 선택을 지원합니다. 사용자 정의 DNS 서버를 지정하는 두 가지 옵션이 있습니다.
-
containers.conf
구성 파일에dns_servers
필드를 추가합니다. -
새로운
--dns
Podman 옵션을 사용하여 DNS 서버의 IP 주소를 지정합니다.
--dns
옵션은 container.conf
파일의 값을 덮어씁니다.
Jira:RHELPLAN-138024
Skopeo에서 sigstore 키 쌍 생성을 지원
skopeo generate-sigstore-key
명령을 사용하여 sigstore 공용/개인 키 쌍을 생성할 수 있습니다. 자세한 내용은 skopeo-generate-sigstore-key
man 페이지를 참조하십시오.
Jira:RHELPLAN-151481
Toolbox를 사용할 수 있음
toolbox
유틸리티를 사용하면 시스템에 직접 문제 해결 툴을 설치하지 않고도 컨테이너화된 명령줄 환경을 사용할 수 있습니다. Toolbox는 OCI의 Podman 및 기타 표준 컨테이너 기술을 기반으로 합니다. 자세한 내용은 toolbx 를 참조하십시오.
Jira:RHELPLAN-150266
컨테이너 이미지에 두 자리 태그가 있음
RHEL 9.0 및 RHEL 9.1에서는 컨테이너 이미지에 세 자리 태그가 있었습니다. RHEL 9.2부터 컨테이너 이미지에 두 자리 태그가 있습니다.
Jira:RHELPLAN-147982
이미지에 서명하기 위한 신뢰할 수 있는 여러 GPG 키의 기능을 사용할 수 있습니다.
/etc/containers/policy.json
파일은 신뢰할 수 있는 키가 포함된 파일 목록을 수락하는 새로운 keyPaths
필드를 지원합니다. 이로 인해 Red Hat의 일반 가용성 및 베타 GPG 키로 서명된 컨테이너 이미지가 이제 기본 구성에서 허용됩니다.
예를 들면 다음과 같습니다.
"registry.redhat.io": [ { "type": "signedBy", "keyType": "GPGKeys", "keyPaths": ["/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release", "/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta"] } ]
Jira:RHELPLAN-129327
Podman에서 pre-execution 후크 지원
/usr/libexec/podman/pre-exec-hooks
및 /etc/containers/pre-exec-hooks
디렉터리에 있는 root-owned 플러그인 스크립트는 특히 인증되지 않은 작업을 차단하여 컨테이너 작업에 대한 세부 제어를 정의합니다.
/etc/containers/podman_preexec_hooks.txt
파일은 관리자가 생성해야 하며 비어 있을 수 있습니다. /etc/containers/podman_preexec_hooks.txt
가 없으면 플러그인 스크립트가 실행되지 않습니다. 플러그인 스크립트에서 0 값을 반환하면 podman
명령이 실행됩니다. 그러지 않으면 podman
명령이 상속된 종료 코드로 종료됩니다.
Red Hat은 다음 이름 지정 규칙을 사용하여 스크립트를 올바른 순서로 실행하는 것이 좋습니다. DDD-plugin_name.lang
(예: 010-check-group.py
). 플러그인 스크립트는 생성 시 유효합니다. 플러그인 스크립트 이전에 생성된 컨테이너는 영향을 받지 않습니다.
Bugzilla:2119200
sigstore 서명 사용 가능
Podman 4.2부터 컨테이너 이미지 서명의 sigstore 형식을 사용할 수 있습니다. sigstore 서명은 이미지 서명을 저장하기 위해 별도의 서명 서버가 없어도 컨테이너 이미지와 함께 컨테이너 레지스트리에 저장됩니다.
Jira:RHELPLAN-74672
Toolbox는 RHEL 9 컨테이너를 생성할 수 있습니다.
이전에는 Toolbox 유틸리티에서 RHEL UBI 8 이미지만 지원했습니다. 이번 릴리스에서 Toolbox는 RHEL UBI 9도 지원합니다. 결과적으로 RHEL 8 또는 9를 기반으로 Toolbox 컨테이너를 생성할 수 있습니다.
다음 명령은 호스트 시스템과 동일한 RHEL 릴리스를 기반으로 RHEL 컨테이너를 생성합니다.
$ toolbox create
또는 특정 RHEL 릴리스를 사용하여 컨테이너를 만들 수도 있습니다. 예를 들어 RHEL 9.2를 기반으로 컨테이너를 생성하려면 다음 명령을 사용합니다.
$ toolbox create --distro rhel --release 9.2
새로운 패키지: passt
이번 업데이트에서는 컨테이너에 pasta
rootless 네트워킹 백엔드를 사용할 수 있는 passt
패키지가 추가되었습니다.
Podman의 권한이 없는 네트워킹에 현재 사용되는 Slirp
연결과 비교하여 pasta
는 다음과 같은 향상된 기능을 제공합니다.
- NDP(neighbor Discovery Protocol) 및 DHCPv6에 대한 지원이 포함된 처리량 향상 및 IPv6 지원 개선
- IPv6에서 TCP 및 UDP 포트의 포트 전달을 구성하는 기능
pasta
를 사용하여 Podman 컨테이너를 연결하려면 --network pasta
명령줄 옵션을 사용합니다.
5장. 외부 커널 매개변수에 대한 중요한 변경 사항
이 장에서는 Red Hat Enterprise Linux 9.2에 배포된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 예를 들어 추가 또는 업데이트된 proc
항목, sysctl
및 sysfs
기본 값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함될 수 있습니다.
새 커널 매개변수
- nomodeset
이 커널 매개변수를 사용하면 커널 모드 설정을 비활성화할 수 있습니다. gRPC 드라이버는 표시 모드 변경 또는 빠른 렌더링을 수행하지 않습니다. 펌웨어 또는 부트 로더에 의해 설정된 경우에만 시스템 프레임 버퍼를 사용할 수 있습니다.
nomodeset
은 폴백으로 유용하거나 테스트 및 디버깅에 유용합니다.- printk.console_no_auto_verbose
이 커널 매개변수를 사용하면 oops, panic 또는 lockdep-detected 문제에서 콘솔 로그 수준 발생을 비활성화할 수 있습니다(lock debug가 있는 경우에만). 직렬 콘솔에서 낮은 baudrate로 설정하는 것을 제외하고 이 매개변수를
0
으로 설정하여 더 많은 디버그 정보를 제공합니다.-
형식: <
;bool>
-
기본값은
0
입니다(자동_verbose
가 활성화됨)
-
형식: <
- rcupdate.rcu_exp_cpu_stall_timeout=[KNL]
이 커널 매개변수를 사용하면 신속한 RECDHE CPU stall 경고 메시지에 대한 타임아웃을 설정할 수 있습니다. 값은 밀리초 단위이며 허용되는 최대 값은 21000밀리초입니다.
이 값은 아키텍처 타이머 눈금 해상도로 조정됩니다. 이 값을 0으로 설정하면
rcupdate.rcu_cpu_stall_timeout
의 값이 사용됩니다(초에서 밀리초로 변환한 후).- rcupdate.rcu_task_stall_info=[KNL]
이 매개변수를 사용하면 Jiffies for R ScanSetting 작업 stall 정보 메시지에서 초기 시간 초과를 설정할 수 있으며, 이로 인해 참을성이 10분 동안 기다릴 수 없습니다. 정보 메시지는 지정된 유예 기간 동안 stall-warning 메시지보다 먼저 인쇄됩니다. 값이 0보다 작거나 같은 경우 비활성화하십시오.
-
기본값은
10
초입니다. - value의 변경 사항은 다음 유예 기간이 시작될 때까지 적용되지 않습니다.
-
기본값은
- rcupdate.rcu_task_stall_info_mult=[KNL]
이 매개변수는 특정 RECDHE 작업의 유예 기간 동안 정보 메시지를 연속해서 연속해서 사용하는 시간 간격의 곱셈입니다. 이 값은 1에서 10까지 포함됩니다.
기본값은 3입니다. 따라서 첫 번째 정보 메시지는 유예 기간으로 10초, 두 번째는 40초,160초에 세 번째 경고는 600초에 네 번째를 방지하도록 합니다.
- smp.csd_lock_timeout=[KNL]
이 매개변수를 사용하면
smp_call_function()
과 관련자가 CPU가 CSD 잠금을 해제될 때까지 대기하는 시간(밀리초)을 지정할 수 있습니다. 이 기능은 CPU와 관련된 버그를 진단할 때 오랜 시간 동안 인터럽트를 비활성화하는 데 유용합니다.-
기본값은
5,000
밀리초입니다. - 값을 0으로 설정하면 이 기능이 비활성화됩니다.
-
이 기능은
csdlock_debug-
커널 매개변수를 사용하여 보다 효율적으로 비활성화할 수 있습니다.
-
기본값은
- srcutree.big_cpu_lim=[KNL]
이 매개변수를 사용하면 대규모 시스템을 구성하는 CPU 수를 지정할 수 있습니다. 따라서 CloudEvent
u_struct
구조에서 immediately allocateu_node
배열을 할당해야 합니다.-
기본값은
128
입니다. -
는 낮은 순서의 four 비트의 10.0.0.1
utree.convert_to_big
가3
과 같은 경우에만 적용됩니다 (부팅 시 결정).
-
기본값은
- srcutree.convert_to_big=[KNL]
이 매개변수를 사용하면 SRECDHE tree tree>-<
u_struct
구조의 조건을 통해rcu_node
트리를 사용하여 큰 양식으로 변환할 조건을 지정할 수 있습니다.- 0: never
-
1: At
init_srcu_struct()
time. -
2 :
rcutorture
를 결정할 때. - 3: 부팅 시(기본값)를 결정합니다.
0x1X: 높은 경합의 경우 더하기.
어느 쪽으로든, compile-time
CONFIG
대신 실제 런타임 수(_
NR_CPUSnr_cpu_ids
)에 따라 sized의 크기가 조정됩니다.
- srcutree.srcu_max_nodelay=[KNL]
- 이 매개변수를 사용하면 SRECDHE 유예 기간 작업자 스레드가 0 지연으로 다시 예약되는 jiffy당 no-delay 인스턴스 수를 지정할 수 있습니다. 이 제한을 초과하여 작업자 스레드는 하나의 정체의 수면 지연으로 다시 예약됩니다.
- srcutree.srcu_max_nodelay_phase=[KNL]
- 이 매개변수를 사용하면 grace-period 단계, 유휴 상태가 아닌 독자의 폴링 수를 지정할 수 있습니다. 이 제한을 초과하여 유예 기간 작업자 스레드는 유예 기간 동안 리더의 각 다시 스캔 사이에 한 정점의 수면 지연으로 다시 예약됩니다.
- srcutree.srcu_retry_check_delay=[KNL]
- 이 매개 변수를 사용하면 자고 있지 않은 리더의 각 폴링 간에 유휴 상태가 아닌 지연의 마이크로초 수를 지정할 수 있습니다.
- srcutree.small_contention_lim=[KNL]
이 매개변수를 사용하면 jiffy당 업데이트 측 경합 이벤트 수를 지정할 수 있습니다. 단, 대규모 구조 변환을 시작하기 전에 허용될 수 있습니다.
참고Content
utree.convert_to_big
값의 값은 경합 기반 변환에 대해 0x10 비트를 설정해야 합니다.
업데이트된 커널 매개변수
- crashkernel=size[KMG][@offset[KMG]]
[KNL]
kexec
를 사용하면 Linux가 패닉 시 크래시 커널로 전환할 수 있습니다. 이 매개변수는 해당 커널 이미지의 실제 메모리 영역 [offset, offset + size]을 예약합니다.@offset
이 생략되면 적절한 오프셋이 자동으로 선택됩니다.[KNL, X86-64, ARM64] 먼저 4G 아래 영역을 선택하고
@offset
이 지정되지 않은 경우 4G 이상의 리전을 예약하도록 대체합니다.자세한 내용은
Documentation/admin-guide/kdump/kdump.rst
를 참조하십시오.- crashkernel=size[KMG],low
[KNL, X86-64, ARM64] 이 매개변수는 두 번째 커널의 경우 4G에서 낮은 범위를 지정할 수 있습니다.
crashkernel=X,high
is passed.(예:swiotlb
에는 최소 64M+32K 저 메모리가 필요한 경우) 32비트 장치에 대한 DMA 버퍼가 실행되지 않도록 하려면 추가 메모리 부족 메모리가 필요합니다. 커널은 4G 미만의 기본 메모리 크기를 자동으로 할당하려고 합니다. 기본 크기는 플랫폼에 따라 다릅니다.- x86: max(swiotlb_size_or_default() + 8MiB, 256MiB)
Def64: 128MiB
0
: 낮은 할당을 비활성화하려면.이 매개변수는
crashkernel=X,high
가 사용되지 않거나 예약된 메모리가 4G 미만인 경우 무시됩니다.
[KNL, ARM64] 이 매개변수는 크래시 덤프 커널의 DMA 영역에서 범위를 지정할 수 있습니다.
crashkernel=X,high
는 사용되지 않을 때 이 매개변수는 무시됩니다.
- deferred_probe_timeout=[KNL]
이 매개변수를 사용하면 지연된 프로브에 대한 타임아웃을 초 단위로 설정하여 프로브에 대한 대기 시간을 초과할 수 있습니다. 선택한 특정 종속성(하위 시스템 또는 드라이버)만 무시됩니다.
시간 초과가
0
이면 initcall이 끝날 때 시간 초과됩니다. 시간 초과가 만료되지 않은 경우 성공적인 드라이버 등록마다 옵션이 다시 시작됩니다. 이 옵션은 재시도 후에도 지연된 프로브 목록에 여전히 있는 장치를 덤프합니다.- driver_async_probe=[KNL]
이 매개변수를 사용하면 비동기적으로 검색할 드라이버 이름을 나열할 수 있습니다.
*
(하위)는 모든 드라이버 이름과 일치합니다.*
를 지정하면 나열된 나머지 드라이버 이름이*
와 일치하지 않습니다.형식: &
lt;driver_name1>,<driver_name2>…
- hugetlb_cma=[HW,CMA]
이 매개변수를 사용하면 gigantic hugepages의 할당에 사용되는 CMA 영역의 크기를 지정할 수 있습니다. 또는 노드 형식을 사용하는 경우 노드당 CMA 영역의 크기입니다.
형식:
nn[KMGTPE] 또는 (노드 형식) <node>:nn[KMGTPE][,<node>:nn[KMGTPE]]]
지정된 크기의 CMA 영역을 예약하고 CMA 할당기를 사용하여 대규모 hugepages를 할당합니다. 활성화된 경우 gigantic hugepages의 부팅 시간 할당을 건너뜁니다.
- hugepages=[HW]
이 매개변수를 사용하면 부팅 시 할당할 HugeTLB 페이지 수를 지정할 수 있습니다.
- hugepagesz를 따르는 경우 할당할 hugepagesz 페이지 수를 지정합니다.
- 명령줄에서 첫 번째 HugeTLB 매개변수인 경우 기본 대규모 페이지 크기에 할당할 페이지 수를 지정합니다.
노드 형식을 사용하는 경우 노드당 할당할 페이지 수를 지정할 수 있습니다.
Documentation/admin-guide/mm/hugetlbpage.rst
도 참조하십시오.형식: <
integer> 또는 (노드 형식) <node>:<integer>[,<node>:<integer>]
- hugetlb_free_vmemmap=[KNL]
이 매개변수를 사용하려면
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
가 활성화되어야 합니다. 대용량 hugetlb 사용자가 더 많은 메모리를 확보할 수 있습니다 (각 2MB hugetlb 페이지마다 7 * PAGE_SIZE).-
형식:
{ [oO][Nn]/Y/y/1 | [oO][Ff]/N/n/0 (기본값) }
- [OO][Nn]/Y/y/1: 기능 활성화
[OO][Ff]/N/n/0: 기능 비활성화
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON=y
로 빌드됨기본값은 on 입니다.
참고이 매개변수는
memory_hotplug.memmap_on_memory
와 호환되지 않습니다. 두 매개변수를 모두 활성화하면hugetlb_free_vmemmap
이memory_hotplug.memmap_on_memory
보다 우선합니다.
-
형식:
- ivrs_ioapic=[HW,X86-64]
이 매개변수는 IVRS ACPI 테이블에 제공된 IOAPIC-ID <-> DEVICE-ID 매핑에 대한 재정의를 제공합니다.
기본적으로 PCI 세그먼트는
0
이며 생략할 수 있습니다. 예를 들면 다음과 같습니다.IOAPIC-ID 10을 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.
ivrs_ioapic[10]=00:14.0
IOAPIC-ID 10을 PCI 세그먼트 0x1 및 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.
ivrs_ioapic[10]=0001:00:14.0
- ivrs_hpet=[HW,X86-64]
이 매개변수는 IVRS ACPI 테이블에 제공된 HPET-ID <-> DEVICE-ID 매핑에 대한 재정의를 제공합니다.
기본적으로 PCI 세그먼트는
0
이며 생략할 수 있습니다. 예를 들면 다음과 같습니다.HPET-ID 10진수 0을 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.
ivrs_hpet[0]=00:14.0
HPET-ID 10을 PCI 세그먼트 0x1 및 PCI 장치 00:14.0에 매핑하려면 매개변수를 다음과 같이 작성합니다.
ivrs_ioapic[10]=0001:00:14.0
- ivrs_acpihid=[HW,X86-64]
이 매개변수는 IVRS ACPI 테이블에 제공된 ACPI-HID:UID <-> DEVICE-ID 매핑에 대한 덮어쓰기를 제공합니다.
예를 들어 UART-HID:UID AMD0020:0 을 PCI 세그먼트 0x1 에 매핑하고 PCI 장치 ID 00:14.5 는 다음과 같이 작성합니다.
ivrs_acpihid[0001:00:14.5]=AMD0020:0
기본적으로 PCI 세그먼트는
0
이며 생략할 수 있습니다. 예를 들어 PCI 장치 00:14.5 의 경우 다음과 같이 매개변수를 작성합니다.ivrs_acpihid[00:14.5]=AMD0020:0
- kvm.eager_page_split=[KVM,X86]
이 매개 변수를 사용하여 KVM이 유러한 로깅 중에 모든 대규모 페이지를 사전에 분할할지 여부를 제어할 수 있습니다.
원하는 페이지 분할은 대규모 페이지를 분할하는 데 필요한 쓰기 보호 오류 및 MMU 잠금 경합을 제거하여 vCPU 실행으로 인한 중단을 줄입니다. 쓰기를 거의 수행하거나 소수의 VM 메모리에만 쓰는 VM 워크로드는 대규모 페이지를 읽기에 계속 사용할 수 있도록 즉시 페이지 분할을 비활성화하면 유용할 수 있습니다.
원하는 페이지 분할 동작은
KVM_DIRTY_LOG_INITIALLY_SET
이 활성화 또는 비활성화되었는지 여부에 따라 달라집니다.- 비활성화되어 있는 경우 memslot의 모든 대규모 페이지는 해당 memslot에서 더티 로깅이 활성화되면 빠르게 분할됩니다.
활성화되면
KVM_CLECDHE_DIRTY
ioctl 중에 빠른 페이지 분할이 수행되며 페이지의 삭제만 수행됩니다.원하는 페이지 분할은
kvm.tdp_mmu=Y
경우에만 지원됩니다.기본값은
Y
(on)입니다.
- kvm-arm.mode=[KVM,ARM]
이 매개변수를 사용하면 KVM/arm64의 작업 모드 중 하나를 선택할 수 있습니다.
- none: KVM을 강제 비활성화합니다.
- nvhe: 보호 대상 게스트를 지원하지 않는 표준 nVHE 기반 모드입니다.
protected: nVHE 기반 모드가 호스트에서 비공개로 유지되는 게스트를 지원합니다.
하드웨어 지원에 따라 기본값은
VHE/nVHE
입니다.
- nosmep=[X86,PPC64s]
이 매개변수를 사용하면 프로세서에서 지원하는 경우에도 SMEP(Supervisor Mode Execution Prevention)를 비활성화할 수 있습니다.
형식:
pci=option[,option…] [ PCI] various_ PCI_subsystem_options
여기에서 일부 옵션은 특정 장치 또는 장치 세트 (<
pci_dev&
gt;)에서 작동합니다. 이러한 형식은 다음 형식 중 하나로 지정됩니다.[<domain>:]<bus>:<dev>.<func>[/<dev>.<func>]* pci:<vendor>:<device>[:<subvendor>:<subdevice>]
참고- 첫 번째 형식은 새 하드웨어가 삽입될 때, 마더보드 펌웨어가 변경되는 경우 또는 다른 커널 매개변수로 인한 변경으로 인해 변경될 수 있는 PCI 버스/디바이스/기능 주소를 지정합니다. 도메인이 지정되지 않은 경우 0으로 간주됩니다. 선택적으로 여러 장치 및 기능 주소를 통한 장치 경로는 기본 주소 다음에 지정할 수 있습니다.
- 두 번째 형식은 시스템의 여러 장치와 일치할 수 있는 구성 공간의 ID를 사용하여 장치를 선택합니다.
- earlydump: 커널이 모든 것을 변경하기 전에 PCI 구성 공간을 덤프
- off: [X86]은 PCI 버스를 검색하지 않습니다.
- BIOS: [X86-32] PCI BIOS를 강제로 사용하며 하드웨어에 직접 액세스하지 마십시오. 시스템에 비표준 PCI 호스트 브릿지가 있는 경우 사용합니다.
- nobios: [X86-32] PCI BIOS 사용을 허용하지 않으며 직접 하드웨어 액세스 방법만 허용됩니다. 부팅 시 충돌이 발생하고 BIOS로 인한 것으로 의심되는 경우 이 기능을 사용합니다.
- conf1: [X86] force use of PCI Configuration Access Mechanism 1 ( IO 포트 0xCF8의 구성 주소, IO 포트 0xCFC의 데이터 둘 다 32비트).
conf2: [X86] Force use of PCI Configuration Access Mechanism 2 (IO 포트 0xCF8은 기능에 대한 8비트 포트, IO 포트 0xCFA, 8비트, 버스 번호를 설정합니다.) 그러면 0xC000-0xCFFF포트를 통해 구성 공간에 액세스할 수 있습니다.
- 구성 액세스 메커니즘에 대한 자세한 내용은 http://wiki.osdev.org/PCI 을 참조하십시오.
- noaer: [ PCIE] PCIEAER 커널 구성 매개변수가 활성화된 경우 이 커널 부팅 옵션을 사용하여 PCIE 고급 오류 보고 사용을 비활성화할 수 있습니다.
- nodomains: [ PCI] 다중 PCI 루트 도메인(ACPI를 사용하는 경우 PCI 세그먼트)에 대한 지원을 비활성화합니다.
- nommconf: [X86] PCI 구성에 대한 MMCONFIG 사용 비활성화
- check_enable_amd_mmconf [X86]: AMD 제품군 10h CPU의 PCI 구성 공간에 올바르게 구성된 MMIO 액세스를 확인하고 활성화
-
nomsi: [MSI]
PCI_MSI
커널 구성 매개변수를 활성화하면 이 커널 부팅 옵션을 사용하여 시스템 전체에서 MSI 인터럽트 사용을 비활성화할 수 있습니다. - noioapicquirk: [APIC] 모든 부팅 인터럽트 quirk를 비활성화합니다. 부팅 IRQ를 사용하도록 설정하는 안전 옵션입니다. 이 작업은 절대 필요하지 않아야 합니다.
- ioapicreroute: [APIC] 부팅 IRQ를 부팅 IRQ를 비활성화할 수 없는 브리지의 기본 IO-APIC로 다시 라우팅할 수 있습니다. 이렇게 하면 시스템이 IRQ를 마스크할 때 광범위한 IRQ 소스가 수정되었습니다.
- noioapicreroute [APIC] 부팅 IRQ를 비활성화할 수 없는 칩셋에 연결하는 IRQ와 동일한 부팅 IRQ를 사용하는 해결방법을 비활성화합니다. ioapicreroute의 반대입니다.
- BIOSirq: [X86-32] PCI BIOS 호출을 사용하여 인터럽트 라우팅 테이블을 가져옵니다. 이러한 호출은 여러 시스템에서 버그가 있는 것으로 알려져 있으며 사용 시 컴퓨터를 정지하지만 다른 컴퓨터에서는 인터럽트 라우팅 테이블을 얻을 수 있는 유일한 방법입니다. 커널이 Motherboard에서 IRQ를 할당하거나 보조 PCI 버스를 찾을 수 없는 경우 이 옵션을 사용해 보십시오.
- 16.1: [X86] IKEvs 확장에 주소 공간을 할당합니다. 특정 장치는 iPXE와 기타 리소스간에 주소 디코더를 공유하므로 주의해서 사용하십시오.
- norom: [X86] BIOS 할당 주소 범위가 없는 IKEvs 확장에는 주소 공간을 할당하지 않습니다.
- nobar: [X86] BIOS에서 할당하지 않은 BAR에 주소 공간을 할당하지 않습니다.
- irqmask=0xMMMM: [X86] PCI 장치에 자동으로 할당되는 IRQ의 비트 마스크를 설정합니다. 커널이 이러한 방식으로 ISA 카드의 IRQ를 제외하도록 할 수 있습니다.
-
pirqaddr=0xAAAAA: [X86]은
F0000h-100000h
범위 외부에 있는 경우 PIRQ 테이블의 물리적 주소(일반적으로 BIOS에서 생성)를 지정합니다. - lastbus=N: [X86] 모든 버스트 #N을 스캔합니다. 커널이 보조 버스트를 찾을 수 없는 경우 유용할 수 있습니다.
- 할당 버스: [X86] 항상 모든 PCI 버스 번호를 직접 할당하여 펌웨어가 수행할 수 있는 모든 작업을 덮어씁니다.
- usepirqmask: [X86] BIOS $PIR 테이블에 저장된 가능한 IRQ 마스크입니다. 이는 BIOS가 손상된 일부 시스템, 특히 HP Pavilion N5400 및 Omnibook XE3 문제 해결이 필요한 일부 시스템에 필요합니다. ACPI IRQ 라우팅이 활성화된 경우 이 방법은 적용되지 않습니다.
- noacpi: [X86] IRQ 라우팅 또는 PCI 스캔에 ACPI를 사용하지 마십시오.
- use_crs: [X86] ACPI의 PCI 호스트 브리지 창 정보를 사용합니다. 2008년 이후의 BIOS에서는 기본적으로 활성화되어 있습니다. 이 버전을 사용해야 하는 경우 버그를 보고해 주십시오.
- nocrs: [X86] ACPI에서 PCI 호스트 브리지 창을 무시합니다. 이 버전을 사용해야 하는 경우 버그를 보고해 주십시오.
- use_e820: [X86] PCI 호스트 브리지 창의 일부를 제외하려면 E820 예약을 사용합니다. 이는 호스트 브리지 _CRS 방법의 BIOS 결함에 대한 해결 방법입니다. 이 버전을 사용해야 하는 경우 linux-pci@vger.kernel.org 에 버그를 보고하십시오.
- no_e820: [X86] PCI 호스트 브리지 창에 대한 E820 예약을 무시합니다. 이는 최신 하드웨어에서 기본값입니다. 이 버전을 사용해야 하는 경우 linux-pci@vger.kernel.org 에 버그를 보고하십시오.
-
routeirq: 모든 PCI 장치에 대해 IRQ 라우팅을 수행합니다. 일반적으로
pci_enable_device()
에서 수행되므로 이 옵션은 호출하지 않는 손상된 드라이버에 대한 임시 해결 방법입니다. - skip_isa_align: [X86]은 io start addr를 정렬하지 않으므로 더 많은 pci 카드를 처리할 수 있습니다.
- 참고: [X86] 초기 유형 1 스캔은 수행하지 않습니다. 이는 일부 장치의 구성 공간을 읽을 때 머신을 확인하는 깨진 보드에서 도움이 될 수 있습니다. 그러나 다양한 해결 방법이 비활성화되어 일부 IOMMU 드라이버가 작동하지 않습니다.
- bfsort: PCI 장치를 업계 우선 순서로 정렬합니다. 이 정렬은 이전(ECDHE 2.4) 커널과 호환되는 장치 순서를 가져오기 위해 수행됩니다.
- nobfsort: PCI 장치를 범위 우선 순서로 정렬하지 마십시오.
- 10.0.0.1ie_bus_tune_off: PCIe MPS (Max Payload Size) 튜닝을 비활성화하고 BIOS 구성 MPS 기본값을 사용합니다.
- longie_bus_safe: 모든 장치의 MPS를 루트 복잡성 아래의 모든 장치에서 지원하는 가장 큰 값으로 설정합니다.
- gRPCie_bus_perf는 부모 버스에 따라 허용되는 가장 큰 MPS로 장치 MPS를 설정합니다. 또한 최상의 성능을 위해 MRRS(Max Read Request Size)를 가장 큰 지원 값(디바이저가 지원할 수 있는 MPS보다 크지 않음)으로 설정합니다.
- longie_bus_peer2peer: 모든 장치를 지원하는 모든 장치의 MPS를 128B로 설정합니다. 이 구성을 사용하면 성능이 저하될 수 있으므로 장치 쌍 간에 피어 투 피어 DMA를 사용할 수 있습니다. 또한 핫플러그 장치가 작동할 수 있도록 보장합니다.
- cbiosize=nn[KMG]: CardBus 브리지의 IO 창용으로 예약된 고정 버스 공간입니다. 기본값은 256바이트입니다.
- cbmemsize=nn[KMG]: CardBus 브리지의 메모리 창용으로 예약된 고정 버스 공간입니다. 기본값은 64MB 입니다.
resource_alignment=
-
형식:
[<order of align>@]<pci_dev>[; …]
-
정렬 및 장치를 지정하여 정렬된 메모리 리소스를 다시 할당합니다. 장치를 지정하는 방법은 위에 설명되어 있습니다. &
lt;order of align&
gt;을 지정하지 않으면PAGE_SIZE
가 정렬으로 사용됩니다. 리소스 창을 확장해야 하는 경우 PCI- PCI 브리지를 지정할 수 있습니다. 장치의 여러 인스턴스에 대한 정렬을 지정하려면 PCI 공급 업체, 장치, 하위 공급 업체 및 하위 장치를 지정할 수 있습니다 (예: 4096바이트 정렬에 대해12@pci:8086:9c22:103c:198f
).
-
형식:
ecrc=: PCIe ECRC 활성화/비활성화(ECDHE layer end-to-end CRC 검사).
- BIOS: BIOS/firmware 설정을 사용합니다. 이는 기본값입니다.
- 해제: ECRC 해제
- On: Turn ECRC on.
- hpiosize=nn[KMG]: 핫플러그 브리지 IO 창용으로 예약된 고정 버스 공간입니다. 기본 크기는 256바이트입니다.
- hpmmiosize=nn[KMG]: 핫플러그 브리지의 MMIO 창용으로 예약된 고정된 버스 공간입니다. 기본 크기는 2MB입니다.
- hpmmioprefsize=nn[KMG]: 핫플러그 브리지의 MMIO_PREF 창용으로 예약된 고정 버스 공간입니다. 기본 크기는 2MB입니다.
- hpmemsize=nn[KMG]: 핫플러그 브리지 및 MMIO_PREF 창을 위해 예약된 고정 버스 공간입니다. 기본 크기는 2MB입니다.
- hpbussize=nn: 핫플러그 브리지 아래에 버스를 위해 예약된 추가 버스 번호의 최소 양입니다. 기본값은 1 입니다.
realloc=: BIOS에서 수행하는 할당이 모든 하위 장치에 필요한 리소스를 수용하기 위해 너무 작으면 PCI 브리지 리소스를 활성화/비활성화합니다.
- 해제: realloc 끄기
- On: Turn realloc on
- realloc: realloc=on
- noari: PCIe ARI를 사용하지 마십시오.
- noats: [ PCIE, Intel-IOMMU, AMD-IOMMU]는 PCIe ATS(및 IOMMU 장치 IOTLB)를 사용하지 않습니다.
- windowsie_scan_all: 가능한 모든 PCIe 장치를 스캔합니다. 그렇지 않으면 PCIe downstream 포트 아래에 있는 하나의 장치만 찾습니다.
- big_root_window: AMD CPU의 PCIe root 복잡성에 큰 64비트 메모리 창을 추가하십시오. 일부 GFX 하드웨어는 모든 VRAM에 액세스할 수 있도록 BAR의 크기를 조정할 수 있습니다. 창을 추가하는 것은 약간 위험(보고되지 않은 장치와 충돌할 수 있음)이므로 커널이 테인트됩니다.
- disable_acs_redir=<pci_dev>[; …]: 테인트로 구분된 하나 이상의 PCI 장치(위에서 지정된 형식)를 지정합니다. 지정된 각 장치에는 강제 해제된 PCI ACS 리디렉션 기능이 있으며 업스트림에 강제 적용하지 않고 브리지를 통해 장치 간 P2P 트래픽을 허용합니다. 참고: 장치 간 격리를 제거하고 IOMMU 그룹에 더 많은 장치를 배치할 수 있습니다.
- force_floating: [S390]에서는 부동 인터럽트를 강제 사용합니다.
- nomio: [S390]은 PLO 명령어를 사용하지 마십시오.
- norid: [S390]은 RID 필드를 무시하고 PCI 기능당 하나의 PCI 도메인을 강제로 사용합니다.
- rcupdate.rcu_cpu_stall_timeout=[KNL]
- CPU stall 경고 메시지에 대한 타임아웃을 설정합니다. 값은 초 단위이며 허용되는 최대 값은 300초입니다.
- rcupdate.rcu_task_stall_timeout=[KNL]
이 매개변수를 사용하면 Jiffies for RECDHE task stall warning messages에서 timeout을 설정할 수 있습니다. 값이 0보다 작거나 같은 경우 비활성화하십시오.
기본값은
10
분입니다.value의 변경 사항은 다음 유예 기간이 시작될 때까지 적용되지 않습니다.
- retbleed=[X86]
이 매개변수를 사용하면 RETBleed (Arbitrary Speculative Code Execution with Return Instructions) 취약점의 완화를 제어할 수 있습니다.
AMD 기반 UNRET 및 IBPB 완화 작업만으로는 형제 스레드가 다른 형제 스레드의 예측에 영향을 미치는 것을 막을 수 없습니다. 따라서 STIBP는 이를 지원하는 프로세서에서 사용되며 그렇지 않은 프로세서에서 SMT를 완화합니다.
- off - 완화 없음
- auto - migitation을 자동으로 선택합니다.
- Auto,nosmt - 자동으로 완화 조치를 선택하여 전체 완화 조치를 위해 필요한 경우 SMT를 비활성화합니다(STIBP가 없는 경우).
- ibpb - AMD에서 기본 블록 경계에서도 짧은 추측 창을 완화합니다. 안전하고 가장 높은 Perf 영향을 미칩니다. 있는 경우 STIBP도 활성화합니다. Intel에는 적합하지 않습니다.
-
ibpb,nosmt - 위의
ibpb
처럼하지만 STIBP를 사용할 수없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다. - Ret - 억제되지 않은 반환 토크를 활성화하며 AMD f15h-f17h 기반 시스템에서만 유효합니다.
unret,nosmt - 원하지 않는 것처럼, STIBP를 사용할 수 없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다.
auto
를 선택하면 실행 시 CPU에 따라 완화 방법이 선택됩니다.이 옵션을 지정하지 않는 것은
retbleed=auto
와 동일합니다.
- swiotlb=[ARM,IA-64,PPC,MIPS,X86]
형식:
{ <int> [,<int>] | force | noforce }
- <int> - I/O TLB slabs 수
-
<int> - 쉼표 이후의 두 번째 정수 자체 잠금
이 있는 Swiotlb
영역 수입니다. 2 의 거듭제곱으로 반올림됩니다. - force - 커널에서 자동으로 사용하지 않는 경우에도 bounce 버퍼를 강제로 사용합니다.
- noforce - Ballunce buffers를 사용하지 않음(디버그용)
새로운 sysctl 매개변수
- kernel.nmi_wd_lpm_factor (PPC만 해당)
이 요소는 LPM 중 NMI 워치독 타임아웃을 계산할 때
watchdog_thresh
에 추가된 백분율을 나타냅니다. 소프트 잠금 시간 제한은 영향을 받지 않습니다. NMI 워치독 시간 제한에 적용하려면 이 요소를 사용합니다(nmi_watchdog
가 1로 설정된 경우에만).-
값이
0
이면 변경되지 않습니다. -
기본값은
200
입니다. 즉, NMI 워치독이 30s 로 설정됩니다(워치독_thresh
에 따라 10).
-
값이
- net.core.txrehash
이 매개변수를 사용하면
SO_TXREHASH
옵션이 10.0.0.1K_TXREHASH_DEFAULT
(즉,setsockopt
에 의해 재정의되지 않음)로 설정된 경우 청취 소켓에 대한 기본 해시 다시 시도 동작을 제어할 수 있습니다.-
1
(기본값)으로 설정하면 수신 대기 소켓에서 해시가 수행됩니다. -
0
으로 설정하면 해시가 수행되지 않습니다.
-
- net.sctp.reconf_enable - BOOLEAN
이 확장 기능을 사용하면 RFC6525에 지정된 Stream Reconfiguration 기능의 확장을 활성화하거나 비활성화할 수 있습니다. 이 확장은 스트림을 "재설정"하는 기능을 제공하며, SSN/TSN
Reset,
및SSN/TSN Reset
Add Outgoing/Incoming Streams
의 매개변수를 포함합니다.- 1: 확장을 활성화합니다.
- 0: 확장을 비활성화합니다.
-
기본값은
0
입니다.
- net.sctp.intl_enable - BOOLEAN
이 확장 기능을 사용하면 RFC8260에 지정된 User Message Interleaving 기능의 확장을 활성화하거나 비활성화할 수 있습니다. 이 확장 기능을 사용하면 다른 스트림에서 전송된 사용자 메시지를 인터리빙할 수 있습니다. 이 기능을 활성화하면 I-DATA 청크가 DATA 청크를 교체하여 피어에서 지원하는 경우 사용자 메시지를 전달합니다. 이 기능을 사용하려면 이 옵션을
1
로 설정하고 소켓 옵션SCTP_FRAGMENT_INTERLEAVE
를2
로 설정하고SCTP_INTERLEAVING_SUPPORTED
를1
로 설정해야 합니다.- 1: 확장을 활성화합니다.
- 0: 확장을 비활성화합니다.
-
기본값은
0
입니다.
- net.sctp.ecn_enable - BOOLEAN
이 확장 기능을 사용하면 SCTP에서 Explicit Congestion Notification (ECN) 사용을 제어할 수 있습니다. TCP에서와 마찬가지로 ECN은 SCTP 연결의 양쪽 끝에 해당 연결에 대한 지원을 나타내는 경우에만 사용됩니다. 이 기능은 패킷을 삭제하기 전에 라우터가 정체 신호를 보낼 수 있기 때문에 정체 손실을 방지하는 데 유용합니다.
- 1: ecn을 활성화합니다.
- 0: ecn을 비활성화합니다.
-
기본값은
1
입니다.
- vm.hugetlb_optimize_vmemmap
memory_hotplug.memmap_on_memory
커널 매개변수가 구성되면 이 knob를 사용할 수 없습니다. 또는 struct 페이지 크기(포함/linux/mm_types.h
에 정의된 구조)가 두 가지(별하지 않은 시스템 구성으로 인해 발생할 수 있음)의 전원이 아닌 경우 사용할 수 없습니다.각 HugeTLB 페이지와 관련된
vmemmap
페이지를 최적화하는 기능을 활성화(설정)하거나 0으로 설정할 수 있습니다.-
활성화된 경우, buddy allocator에서 HugeTLB 페이지의 후속 할당의
vmemmap
페이지가 최적화되고(2MB HugeTLB 페이지당 7 페이지당 7페이지, 1GB HugeTLB 페이지당 7페이지)가 이미 할당된 HugeTLB 페이지가 최적화되지 않습니다. 최적화된 HugeTLB 페이지가 HugeTLB 풀에서 buddy allocator로 해제되면 해당 범위를 다시 매핑해야 하며vmemmap
-
사용 사례가 HugeTLB 페이지에 impromptu가 할당되는 경우 (예:
nr_hugepages
를 사용하여 HugeTLB 페이지를 명시적으로 할당하지 않고nr_overcommit_hugepages
만 설정하면 해당 오버 커밋된 HugeTLB 페이지가 HugeTLB 풀에서 가져오는 대신 impromptu가 할당됩니다. HugeTLB 풀과 buddy 할당기 간에 HugeTLB 페이지를 할당하거나 해제하는 오버헤드(이전보다 2배 더 느림)와 메모리 절감의 이점을 측정해야 합니다. 또 다른 동작은 시스템이 많은 메모리 부족 상태에 있는 경우 사용자가 HugeTLB 페이지를 HugeTLB 풀에서 buddy allocator로 해제하는 것을 방지할 수 있다는 것입니다.vmemmap
페이지 할당에 실패 할 수 있기 때문에 나중에 시스템이 이 상황에 직면하면 다시 시도해야 합니다. -
비활성화되면 buddy allocator에서 HugeTLB 페이지의 후속 할당의
vmemmap
페이지는 최적화되지 않으며, buddy allocator에서 할당시 추가 오버헤드가 사라지지 않고 이미 최적화된 HugeTLB 페이지의 영향을 받지 않습니다. 최적화된 HugeTLB 페이지가 없는지 확인하려면nr_hugepages
를 먼저0
으로 설정한 다음 비활성화할 수 있습니다.0
을nr_hugepages
에 쓰면 HugeTLB 페이지를 사용하는 모든 것이plus 페이지가 됩니다. 따라서, 더 이상 사용하지 않을 때까지 플러더 페이지가 여전히 최적화되어 있습니다. 시스템에 최적화된 페이지가 없기 전에 해당 페이지가 릴리스될 때까지 기다려야 합니다.
-
활성화된 경우, buddy allocator에서 HugeTLB 페이지의 후속 할당의
- net.core.rps_default_mask
- 새로 생성된 네트워크 장치에 사용되는 기본 RPS CPU 마스크입니다. 빈 마스크는 기본적으로 RPS를 비활성화함을 의미합니다.
sysctl 매개변수 변경
- kernel.numa_balancing
이 매개변수를 사용하면 페이지 폴트 기반 NUMA 메모리 밸런싱을 활성화, 비활성화, 구성할 수 있습니다. 메모리는 자주 액세스하는 노드로 자동 이동합니다. 설정할 값은 다음 명령을 실행한 결과일 수 있습니다.
= ================================= 0 NUMA_BALANCING_DISABLED 1 NUMA_BALANCING_NORMAL 2 NUMA_BALANCING_MEMORY_TIERING = =================================
원격 액세스를 줄이기 위해 여러 NUMA 노드 간 페이지 배치를 최적화하기 위해
NUMA_BALANCING_NORMAL
또는 NUMA_BALANCING_NORMAL. NUMA 시스템에서는 CPU에서 원격 메모리에 액세스하는 경우 성능이 저하됩니다. 이 기능을 활성화하면 커널은 주기적으로 페이지 매핑을 해제하고 나중에 페이지 폴트를 트랩하여 메모리에 액세스하는 작업 스레드를 샘플링합니다. 페이지 폴트 시점에 액세스 중인 데이터를 로컬 메모리 노드로 마이그레이션해야 하는지 여부가 결정됩니다.또는
NUMA_BALANCING_MEMORY_TIERING
은 다양한 메모리 유형(다른 NUMA 노드로 표시됨) 간에 페이지 배치를 최적화하여 빠른 메모리에 핫 페이지를 배치합니다. 이는 매핑 해제 및 페이지 폴트에 따라 구현됩니다.- net.ipv6.route.max_size
- 가비지 컬렉션이 캐시된 경로 항목을 관리하므로 ipv6에서는 더 이상 사용되지 않습니다.
- net.sctp.sctp_wmem
이 튜닝 가능 항목은 영향을 미치지 않는 것으로 문서화되었습니다. 이제 첫 번째 값(최소
)만 사용되며
default
및max
는 무시됩니다.- min: SCTP 소켓에서 사용할 수 있는 전송 버퍼의 최소 크기입니다. 중간 수준의 메모리 부족에서도 각 SCTP 소켓 (하지만 연관되지 않음)이 보장됩니다.
-
기본값은
4K
입니다.
6장. 장치 드라이버
6.1. 새 드라이버
-
ACPI video 드라이버(
비디오
) 64비트 ARM 아키텍처에서만 사용 가능 -
CXL 메모리 끝점 장치용 CXL 드라이버 및 메모리 확장을 위한 스위치(
cxl_mem
) -
GNSS 수신자 코어 (
gnss
) -
PerfectIO 시뮬레이터 모듈 (
gpio-sim
) 64 비트 ARM 아키텍처에서만 -
virtio 10.0.0.1IO 드라이버 (
gpio-virtio
), 64 비트 ARM 아키텍처에서만 -
NVIDIA Tegra HTE (Hardware Timestamping Engine) 드라이버 (
hte-tegra194
)는 64 비트 ARM 아키텍처에서만 -
LPI2C 버스 용 I2C 어댑터 드라이버 (
i2c-imx-lpi2c
), 64 비트 ARM 아키텍처에서만 -
virtio i2c 버스 드라이버 (
i2c-virtio
) 64 비트 ARM 아키텍처 -
64비트 ARM 아키텍처에서만 입력 하위 시스템(
uinput
)에 대한 사용자 수준 드라이버 지원 -
nvme 호스트 또는 대상 드라이버에서 사용할 수 있는 공통 함수를 구현하는 모듈 (
nvme-common
) -
AMD PMC 드라이버(
amd-pmc
) AMD 및 Intel 64비트 아키텍처에서만 -
NVIDIA sn2201 플랫폼 드라이버 (N
vsw-sn2201
) AMD 및 Intel 64 비트 아키텍처에서만 -
직렬 멀티 인스턴스화 의사 장치 드라이버 (
serial-multi-instantiate
) AMD 및 Intel 64 비트 아키텍처에서만 -
MicroECDHE RV8803 RTC 드라이버(
rtc-rv880
3)는 64비트 ARM 아키텍처 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다. -
NVIDIA Tegra QSPI Controller Driver(
spi-tegra210-quad
)는 64비트 ARM 아키텍처에서만 사용 가능 -
Cypress CCGx Type-C 컨트롤러 (
ucsi_ccg
)용 UCSI 드라이버 64비트 ARM 아키텍처 -
기밀 컴퓨팅 EFI 시크릿 영역 액세스 (
efi_secret
) AMD 및 Intel 64 비트 아키텍처에서만 -
TDX 게스트 드라이버 (
tdx-guest
) AMD 및 Intel 64 비트 아키텍처에서만 -
HPE 워치독 드라이버(Hp
wdt
), 64비트 ARM 아키텍처에서만 사용 가능 -
POWER 아키텍처 플랫폼 Watchdog 드라이버 (
pseries-wdt
) IBM Power Systems, Little Endian에서만
네트워크 드라이버
-
VXLAN 캡슐화 트래픽의 드라이버(ECDHE
)
-
Marvell OcteonTX2 RVU Admin Function Driver (
rvu_af
), 64 비트 ARM 아키텍처에서만 -
RVU NIC 물리적 기능 드라이버(
rvu_nicpf
) 64비트 ARM 아키텍처에서만 사용 가능 -
RVU NIC PTP 드라이버(
otx2_ptp
)는 64비트 ARM 아키텍처에서만 사용 -
RVU NIC 가상 기능 드라이버(
rvu_nicvf
)는 64비트 ARM 아키텍처에서만 사용 -
NVIDIA Tegra MGBE 드라이버 (
dwmac-tegra
), 64 비트 ARM 아키텍처에서만 -
serial line IRQ 인터페이스 (
slcan
), 64 비트 ARM 아키텍처에서만 -
Solarflare Siena 네트워크 드라이버(
sfc-siena
)는 IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다.
그래픽 드라이버 및 기타 드라이버
-
gRPC Buddy Allocator (
drm_buddy
), 64 비트 ARM 아키텍처 및 IBM Power Systems, Little Endian에서만 -
gRPC 디스플레이 어댑터 도우미(
drm_display_helper
), 64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다. -
gRPC DisplayPort AECDHE 버스(
drm_dp_aux_bus
)는 64비트 ARM 아키텍처에서만 사용 가능 -
Tegra 제품용 Host1x 드라이버 (
호스트 1x
), 64 비트 ARM 아키텍처에서만 -
NVIDIA Tegra gRPC 드라이버 (
tegra-drm
)는 64 비트 ARM 아키텍처에서만 -
Intel® GVT-g for KVM (
kvmgt
), AMD 및 Intel 64비트 아키텍처에서만 -
HP® iLO/iLO2 관리 프로세서(
Hpilo
) 64비트 ARM 아키텍처에서만 -
Intel® GSC 장치(
mei-gsc
), AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있는 Intel® 드라이버
6.2. 업데이트된 드라이버
스토리지 드라이버 업데이트
-
Micro gRPC Smart Family Controller (
smartpqi
)의 드라이버는 버전 2.1.20-035 (64 비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64 비트 아키텍처에서만)로 업데이트되었습니다. -
Emulex LightPulse Fibre Channel SCSI 드라이버(
lpfc
)가 14.2.0.8(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)로 업데이트되었습니다. -
MPI3 스토리지 컨트롤러 장치 드라이버(
mpi3mr
)가 버전 8.2.0.3.0으로 업데이트되었습니다. -
CSI 디버그 어댑터 드라이버(
scsi_debug
)가 버전 0191로 업데이트되었습니다. -
LSI MPT Fusion SAS 3.0 장치 드라이버(archive
t3sas
)가 버전 43.100.00.00으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만).
7장. 사용 가능한 BPF 기능
이 장에서는 Red Hat Enterprise Linux 9 마이너 버전의 커널에서 사용할 수 있는BPF
( Berkeley Packet Filter
) 기능의 전체 목록을 제공합니다. 표에는 다음 목록이 포함됩니다.
이 장에서는 bpftool 기능
명령의 자동으로 생성된 출력을 포함합니다.
표 7.1. 시스템 구성 및 기타 옵션
옵션 | 현재의 |
---|---|
unprivileged_bpf_disabled | 2 (BPF() 권한 있는 사용자로 제한, admin은 변경할 수 있습니다) |
ScanSetting 컴파일러 | 1 (지원) |
InstallPlan 컴파일러 강화 | 1 (권한 없는 사용자를 위한 활성화) |
CloudEvent 컴파일러 kallsyms 내보내기 | 1 (root에 사용) |
권한이 없는 사용자의 ScanSetting 메모리 제한 | 264241152 |
CONFIG_BPF | y |
CONFIG_BPF_SYSCALL | y |
CONFIG_HAVE_EBPF_JIT | y |
CONFIG_BPF_JIT | y |
CONFIG_BPF_JIT_ALWAYS_ON | y |
CONFIG_DEBUG_INFO_BTF | y |
CONFIG_DEBUG_INFO_BTF_MODULES | y |
CONFIG_CGROUPS | y |
CONFIG_CGROUP_BPF | y |
CONFIG_CGROUP_NET_CLASSID | y |
CONFIG_SOCK_CGROUP_DATA | y |
CONFIG_BPF_EVENTS | y |
CONFIG_KPROBE_EVENTS | y |
CONFIG_UPROBE_EVENTS | y |
CONFIG_TRACING | y |
CONFIG_FTRACE_SYSCALLS | y |
CONFIG_FUNCTION_ERROR_INJECTION | y |
CONFIG_BPF_KPROBE_OVERRIDE | n |
CONFIG_NET | y |
CONFIG_XDP_SOCKETS | y |
CONFIG_LWTUNNEL_BPF | y |
CONFIG_NET_ACT_BPF | m |
CONFIG_NET_CLS_BPF | m |
CONFIG_NET_CLS_ACT | y |
CONFIG_NET_SCH_INGRESS | m |
CONFIG_XFRM | y |
CONFIG_IP_ROUTE_CLASSID | y |
CONFIG_IPV6_SEG6_BPF | n |
CONFIG_BPF_LIRC_MODE2 | n |
CONFIG_BPF_STREAM_PARSER | y |
CONFIG_NETFILTER_XT_MATCH_BPF | m |
CONFIG_BPFILTER | n |
CONFIG_BPFILTER_UMH | n |
CONFIG_TEST_BPF | m |
CONFIG_HZ | 1000 |
bpf() syscall | Available |
대규모 프로그램 크기 제한 | Available |
바인딩된 루프 지원 | Available |
ISA 확장 v2 | Available |
ISA 확장 v3 | Available |
표 7.2. 사용 가능한 프로그램 유형 및 지원되는 도우미
프로그램 유형 | 사용 가능한 도우미 |
---|---|
socket_filter | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_map_peek_elem bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_discard bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_timer_callback, bpf_timer_callback, bpf_timer_start bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
kprobe | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_get_timer_cancel bpf_find_vma, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
sched_cls | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_tunnel_key, bpf_get_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_route_realm, bpf_skb_load_bytes bpf_skb_get_tunnel_opt, bpf_skb_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_fib_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_lookup_udp, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_read_user, bpf_probe_probe_read_read_str, bpf_probe_storage_read_str bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_redirect_peer, bpf_redirect_peer_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6 |
sched_act | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_tunnel_key, bpf_get_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_route_realm, bpf_skb_load_bytes bpf_skb_get_tunnel_opt, bpf_skb_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_fib_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_lookup_udp, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_read_user, bpf_probe_probe_read_read_str, bpf_probe_storage_read_str bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_redirect_peer, bpf_redirect_peer_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_sock, bpf_loop, bpf_strncmp, bpf_skb_set_tstamp, bpf_kptr_xchg bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6 |
tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_get_attach_cookie, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_get_timer_cancel bpf_find_vma, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
xdp | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_redirect, bpf_perf_event_output, bpf_csum_diff, bpf_get_current_task, bpf_get_numa_node_id, bpf_xdp_adjust_head, bpf_redirect_map, bpf_xdp_just_meta_meta, bpf_xdp_just_meta, bpf_xdp_just bpf_xdp_adjust_tail, bpf_fib_lookup, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_elem, bpf_map_pop_pop_elem, bpf_sk_lookup_udp, bpf_map_pop_pop_elem, bpf_sk_lookup bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_tcp_syncookie, bpf_probe_read_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_timer_init, bpf_timer_set_callback, bpf_timer_callback, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_xdp_get_buff_len, bpf_xdp_load_bytes, bpf_xdp_store_bytes, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data, bpf_tcp_raw_gen_syncookie_ipv4, bpf_tcp_raw_ipv6, bpf_tcp_raw_syncookie_syncookie_ipv4, bpf_tcp_raw_check_syncookie_ipv6 |
perf_event | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_geta_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_perf_read_value, bpf_perf_get_stack, bpf_perf_get_stack bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch recordss, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_discard bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_delete, bpf_task_storage_delete, bpf_get_current_task_task_btf, bpf_get_task_task_delete, bpf_get bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_ip, bpf_get_func_ip, bpf_get_attach_cookie, bpf_timer_callback bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_find_vma, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_skb_load_bytes_relative, bpf_skb_cgroup_id, bpf_get_local_storage, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_el, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_sk_ecn_set_ce, bpf_get_listener_sock, bpf_get_listener_sock bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_read_kernel, bpf_probe_read_kernel, bpf_probe_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_sock | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_current_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_kernel_str, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_submit bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_timer_start bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data |
lwt_in | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
lwt_out | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
lwt_xmit | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_clone_call, bpf_get_cgroup_classid, bpf_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_clone_call, bpf_get_cgroup_classid, bpf_skb_tunnel_key bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_tunnel_opt, bpf_skb_tunnel_opt, bpf_sk_event_tunnel_opt, bpf_skb_tunnel_opt bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
sock_ops | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_sock_map_update, bpf_getsockopt, bpf_getsocks_cb_flags_set, bpf_sock_hash_update, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_tcp_sock, bpf_tcp_sock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_kernel_str, bpf_get_netns_cookie, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_timer_callback, bpf_timer_callback, bpf_timer_start bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
sk_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_skb_change_tail, bpf_pull_data, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_sk_socket_adjust_room, bpf_sk_redirect_map, bpf_sk_redirect_hash, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_probe_read_user_str bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_device | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_read_kernel_str bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data |
sk_msg | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_uid_gid, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_msg_redirect_map bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_msg_msg_redirect_hash, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem bpf_map_peek_elem, bpf_msg_push_data, bpf_msg_pop_data, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
raw_tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_get_func_ip, bpf_task_pt_ip, bpf_get_branch_snapshot, bpf_get_branch_vma, bpf_timer_start, bpf_get_func_ip, bpf_get_branch_vma bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_sock_addr | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_current_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_getsockopt, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_lookup_lookup_udp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ance_cgroup_id, bpf_probe_read_kernel_str bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
lwt_seg6local | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
lirc_mode2 | 지원되지 않음 |
sk_reuseport | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_sk_load_bytes_relative, bpf_sk_select_reuseport, bpf_map_push_el, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_read_kernel_str bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_init bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
flow_dissector | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_sysctl | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_sysctl_get_unlock, bpf_sysctl_get_name, bpf_sysctl_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_new_value, bpf_strtol, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel, bpf_probe_kernel_str, bpf_jiffies64, bpf_probe_read_kernel_str bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_loop, bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_discard_dynptr, bpf_ringbuf_disptr, bpf_ringbuf_discard_dynptr bpf_dynptr_write, bpf_dynptr_data |
raw_tracepoint_writable | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_perf_event_read_value, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_spin_unlock, bpf_probe_read_kernel bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_pid_tgid, bpf_get_current_ancestor_cgroup_id bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_get_func_ip, bpf_task_pt_ip, bpf_get_branch_snapshot, bpf_get_branch_vma, bpf_timer_start, bpf_get_func_ip, bpf_get_branch_vma bpf_loop, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
cgroup_sockopt | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_uid_gid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_tcp_unlock, bpf_tcp_sock, bpf_sk_storage_delete, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_management, bpf_ringbuf_output, bpf_ringbuf_output, bpf_ringbuf bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_task_pt_regs, bpf_task_pt_regs, bpf_timer_callback bpf_strncmp, bpf_get_retval, bpf_set_retval, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
tracing | 지원되지 않음 |
struct_ops | 지원되지 않음 |
ext | 지원되지 않음 |
lsm | 지원되지 않음 |
sk_lookup | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_read_kernel, bpf_probe_read_user_str, bpf_probe_read_str, bpf_jiffies64, bpf_jiffies64, bpf_probe_read_read_kernel_assign, bpf_probe_read_read_kernel bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_request_sock, bpf_per_cpu_ptr bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf, bpf_timer_callback, bpf_timer_callback, bpf_timer_start, bpf_timer_start, bpf_timer_start, bpf_timer_start bpf_timer_cancel, bpf_task_pt_regs, bpf_skc_to_unix_sock, bpf_strncmp, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_skc_to_mp, bpf_skc_mp_sock bpf_dynptr_from_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
syscall | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_u32, bpf_get_smp_smp_processor_id, bpf_tail_call, bpf_get_current_tgid, bpf_get_current_gid, bpf_get_uid_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_read_str, bpf_get_socket_cookie, bpf_perf_event_read_value, bpf_get_stack bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_skb_output, bpf_probe_read_read_kernel, bpf_probe_read_kernel, bpf_probe_read_kernel_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_xdp_output, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_get_task_stack, bpf_d_path, bpf_copy_from_user, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_sock_from_file, bpf_for_each_map_elem, bpf_snprintf, bpf_sys_bpf, bpf_bt_find_name_kind, bpf_sys_close, bpf_timer_init, bpf_timer_set_callback, bpf_timer_start, bpf_timer_cancel, bpf_get_func_ip, bpf_task_pt_regs, bpf_get_branch_snapshot, bpf_skc_to_unix_sock, bpf_kallsyms_lookup_name, bpf_find_vma, bpf_strncmp, bpf_strncmp, bpf_xdp_buff_len, bpf_copy_from_user_task, bpf_kptr_xchg, bpf_map_lookup_percpu_elem, bpf_skc_to_mptcp_sock, bpf_dynptr_from_mem, bpf_ringbuf_reserve_dynptr, bpf_ringbuf_submit_dynptr, bpf_ringbuf_discard_dynptr, bpf_dynptr_read, bpf_dynptr_write, bpf_dynptr_data |
표 7.3. 사용 가능한 맵 유형
맵 유형 | Available |
---|---|
hash | 제공됨 |
array | 제공됨 |
prog_array | 제공됨 |
perf_event_array | 제공됨 |
percpu_hash | 제공됨 |
percpu_array | 제공됨 |
stack_trace | 제공됨 |
cgroup_array | 제공됨 |
lru_hash | 제공됨 |
lru_percpu_hash | 제공됨 |
lpm_trie | 제공됨 |
array_of_maps | 제공됨 |
hash_of_maps | 제공됨 |
devmap | 제공됨 |
sockmap | 제공됨 |
cpumap | 제공됨 |
xskmap | 제공됨 |
sockhash | 제공됨 |
cgroup_storage | 제공됨 |
reuseport_sockarray | 제공됨 |
percpu_cgroup_storage | 제공됨 |
큐 | 제공됨 |
스택 | 제공됨 |
sk_storage | 제공됨 |
devmap_hash | 제공됨 |
struct_ops | 제공됨 |
ringbuf | 제공됨 |
inode_storage | 제공됨 |
task_storage | 제공됨 |
bloom_filter | 제공됨 |
8장. 버그 수정
이 부분에서는 사용자에게 상당한 영향을 미치는 Red Hat Enterprise Linux 9.2에서 수정된 버그에 대해 설명합니다.
8.1. 설치 프로그램 및 이미지 생성
설치 프로그램에서 다중 경로 또는 DDF RAID 장치를 사용하여 사용자 정의 파티션에서 올바른 총 디스크 공간을 표시
이전 버전에서는 다중 경로 또는 DDF RAID 장치가 있는 시스템의 설치 프로그램에서 사용자 정의 파티션을 선택하면 총 디스크 공간이 올바르게 보고되지 않았으며 멤버 디스크 장치가 파티셔닝에 사용 가능한 것으로 나열되었습니다.
이번 업데이트를 통해 설치 관리자의 Custom partitioning은 총 디스크 공간의 올바른 값을 보고하고 DDF RAID 또는 다중 경로 장치만 전체적으로 사용할 수 있습니다.
이제 설치 프로그램에서 yum 리포지토리 파일에 구성 옵션을 올바르게 추가합니다.
이전에는 설치 프로그램이 추가 설치 리포지토리에서 패키지를 포함 및 제외하는 동안 yum repo 파일에 구성 옵션을 올바르게 추가하지 않았습니다. 이번 업데이트를 통해 yum repo 파일이 올바르게 생성됩니다. 결과적으로 repo
kickstart 명령에서 --excludepkgs=
또는 --includepkgs=
옵션을 사용하면 설치 중에 지정된 패키지를 예상대로 제외하거나 포함합니다.
파일 이름
DHCP 옵션을 사용하면 더 이상 설치용 Kickstart
파일 다운로드를 차단하지 않습니다.
이전에는 NFS 서버에서 Kickstart 파일을 가져오는 경로를 빌드할 때 설치 프로그램이 파일 이름
DHCP 옵션을 고려하지 않았습니다. 그 결과 설치 프로그램이 kickstart 파일을 다운로드하지 않았으며 설치 프로세스를 차단했습니다. 이번 업데이트를 통해 파일 이름
DHCP 옵션이 Kickstart 파일의 경로를 올바르게 구성합니다. 결과적으로 Kickstart 파일이 올바르게 다운로드되고 설치 프로세스가 올바르게 시작됩니다.
사용자 지정 파티셔닝 중에 설치 관리자가 새로운 GPT 디스크 레이아웃을 생성
이전 버전에서는 inst.gpt
가 커널 명령줄에 지정되었을 때 설치 프로그램이 GPT로 디스크 레이아웃을 변경하지 않았으며 사용자 지정 파티션 설명에서 ScanSetting 디스크 레이아웃이 있는 디스크에서 모든 파티션을 제거한 경우 설치 프로그램이 GPT로 디스크 레이아웃을 변경했습니다. 그 결과 ScanSetting 디스크 레이아웃이 디스크에 남아 있었습니다.
이번 업데이트를 통해 inst.gpt
가 커널 명령줄에 지정되고 사용자 지정 파티셔닝 대화 상자의 디스크에서 모든 파티션이 제거된 경우 설치 프로그램이 디스크에 새 GPT 디스크 레이아웃을 생성합니다.
Bugzilla:2127100
이제 설치 프로그램에서 사용자 지정 파티셔닝 중에 모든 PPC PreP 부팅
또는 BIOS 부팅
파티션을 나열합니다.
이전에는 사용자 지정 파티셔닝 중에 PPC PreP Boot
또는 BIOS 부팅
파티션을 여러 개 추가할 때 사용자 정의 파티션 화면에 관련 유형의 파티션 한 개만 표시되었습니다. 그 결과 사용자 정의 파티셔닝 화면에 의도된 파티션 레이아웃의 실제 상태가 반영되지 않아 파티셔닝 프로세스가 어렵고 투명하지 않았습니다.
이번 업데이트를 통해 사용자 정의 파티션 화면에 모든 PPC PreP 부팅
또는 BIOS 부팅
파티션이 파티션 목록에 올바르게 표시됩니다. 결과적으로 사용자는 이제 의도한 파티션 레이아웃을 더 잘 이해하고 관리할 수 있습니다.
Anaconda에서 FIPS 요구 사항에 대한 LUKS 암호 확인
이전에는 Anaconda에서 LUKS 암호의 길이가 FIPS 요구 사항을 충족하는지 확인하지 않은 반면 기본 툴이 이 검사를 수행했습니다. 결과적으로 8자보다 짧은 암호를 사용하여 FIPS 모드로 설치하면 설치 프로그램이 조기에 종료되었습니다.
이번 업데이트를 통해 설치 프로그램이 암호의 최소 길이를 검증하고 시행하도록 개선되었습니다. 결과적으로 설치 프로그램에서 FIPS 모드에서 LUKS 암호가 너무 짧은지 확인하고 예기치 않은 종료를 방지합니다.
8.2. 서브스크립션 관리
서브스크립션 관리자는 더 이상 Red Hat 컨텐츠 등록 및 가져오기를 거부하지 않습니다.
이전 버전에서는 RHEL 9의 컨테이너 감지 논리 개선으로 인해 OCP(OpenShift Container Platform)에서 실행되는 경우 subscription-manager
가 컨테이너 모드에서 작동했습니다. 그 결과 시스템은 제공된 서브스크립션 자격 증명을 사용할 수 없어 Red Hat 콘텐츠를 가져오지 못했습니다.
이번 업데이트에서는 OCP에서 실행되는 subscription-manager
가 시스템(실행 중인 포드)을 컨테이너로 탐지하지 않도록 컨테이너 감지 논리가 수정되었습니다. 결과적으로 제공된 서브스크립션 자격 증명을 사용하거나 자체 자격 증명을 사용하여 OpenShift 컨테이너에서 Red Hat 콘텐츠를 가져올 수도 있습니다.
subscription-manager
가 더 이상 터미널에서 필수 텍스트를 유지하지 않음
RHEL 9.1부터 subscription-manager
는 작업을 처리하는 동안 진행률 정보를 표시합니다. 이전 버전에서는 일부 언어(일반적으로 비Latin)의 경우 작업이 완료된 후 진행률 메시지가 정리되지 않았습니다. 이번 업데이트를 통해 작업이 완료되면 모든 메시지가 올바르게 정리됩니다.
이전에 진행률 메시지를 비활성화한 경우 다음 명령을 입력하여 해당 메시지를 다시 활성화할 수 있습니다.
# subscription-manager config --rhsm.progress_messages=1
Bugzilla:2136694
8.3. 소프트웨어 관리
fapolicyd
서비스 재시작과 관련된 트랜잭션 중에 RPM이 더 이상 중단되지 않음
이전 버전에서는 fapolicyd
서비스를 다시 시작하는 패키지를 업데이트하려고 하면 fapolicyd 플러그인이
데몬과 통신하지 못했기 때문에 fapolicyd
systemd
트랜잭션의 응답이 중지되었습니다.
이번 업데이트를 통해 fapolicyd
플러그인이 이제 fapolicyd
데몬과 올바르게 통신합니다. 결과적으로 RPM은 fapolicyd
서비스를 다시 시작하는 트랜잭션 중에 더 이상 중단되지 않습니다.
패키지 그룹 또는 환경에 DNF 업그레이드 트랜잭션 되돌리기 가능
이전에는 패키지 그룹 또는 환경에 대한 업그레이드 트랜잭션을 되돌리려고 할 때 dnf history rollback
명령이 실패했습니다.
이번 업데이트를 통해 문제가 해결되어 패키지 그룹 또는 환경에 대한 DNF 업그레이드 트랜잭션을 되돌릴 수 있습니다.
업그레이드를 통해 아키텍처를 변경하는 패키지의 보안 DNF 업그레이드가 가능
RHBA-2022:8295 와 함께 도입된 BZ#2108969 패치로 인해 업그레이드를 통해 아키텍처를 변경하거나 noarch
로 변경한 보안 필터를 사용한 DNF 업그레이드를 건너뛰는 회귀 문제가 발생했습니다. 결과적으로 이러한 패키지에 대한 보안 업그레이드가 누락되어 시스템이 취약한 상태로 유지될 수 있었습니다.
이번 업데이트를 통해 이 문제가 수정되었으며 보안 DNF 업그레이드에서 아키텍처를 또는 noarch
로 변경하는 패키지를 더 이상 건너뛰지 않습니다.
Bugzilla:2124480
RPM 패키지를 빌드하거나 다시 빌드할 때 3자 이름의 QM 메시지 QM 파일이 패키지됩니다.
이전에는 find-lang.sh
스크립트에서 3자로 구성된 이름으로 Qt 메시지 QM 파일(.qm
)을 찾을 수 없었습니다. 결과적으로 이러한 파일이 RPM 패키지에 추가되지 않았습니다.
이번 업데이트를 통해 RPM을 빌드하거나 다시 빌드할 때 3자 Qt 메시지 QM 파일을 패키징할 수 있습니다.
8.4. 쉘 및 명령행 툴
IBM Z 아키텍처에서 제외된 DASD를 올바르게 처리
이전에는 IBM Z 아키텍처에서 ReaR이 저장된 레이아웃에서 제외되어 콘텐츠를 복원하지 않으려는 DASD를 포함하여 복구 프로세스 중에 연결된 모든 Direct Access Storage devices (DASD)를 다시 포맷했습니다. 결과적으로 저장된 레이아웃에서 일부 DASD를 제외하면 시스템 복구 중에 데이터가 손실되었습니다. 이번 업데이트를 통해 ReaR은 ReaR 복구 시스템이 부팅된 장치를 포함하여 시스템 복구 중에 제외된 DASD의 형식을 지정하지 않습니다(zIPL 부트로더 사용). 또한 ReaR이 DASD를 다시 포맷하기 전에 DASD 포맷 스크립트를 확인하라는 메시지가 표시됩니다. 이렇게 하면 제외된 DASD의 데이터가 시스템 복구 후에도 유지됩니다.
Rear no longer fail to restore non-LVM XFS filesystems
이전 버전에서는 ReaR을 사용하여 특정 설정 및 디스크 매핑이 포함된 비LVM XFS 파일 시스템을 복원할 때 ReaR은 지정된 설정 대신 기본 설정으로 파일 시스템을 생성했습니다. 예를 들어, sunit
및 swidth
매개변수가 0이 아닌 값으로 설정된 파일 시스템이 있고 디스크 매핑이 포함된 ReaR을 사용하여 파일 시스템을 복원한 경우, 파일 시스템은 지정된 값을 무시하고 기본 sunit
및 swidth
매개변수를 사용하여 생성됩니다. 결과적으로 ReaR은 특정 XFS 옵션을 사용하여 파일 시스템을 마운트하지 못했습니다. 이번 업데이트를 통해 ReaR은 지정된 설정으로 파일 시스템을 올바르게 복원합니다.
wsmancli
는 HTTP 401 Unauthorized 상태를 올바르게 처리합니다.
Web Services Management 프로토콜을 사용하여 시스템을 관리하는 wsmancli
유틸리티에서 이제 RFC 2616을 보다 잘 준수하도록 인증을 처리합니다.
이전 버전에서는 인증이 필요한 서비스에 연결할 때 wsmancli
명령에서 인증 실패 오류 메시지를 반환했습니다. HTTP 401 Unauthorized 응답을 수신한 직후에 다시 시도하십시오
(예: 불완전한 인증 정보). 계속 진행하려면 자격 증명의 일부를 이미 제공한 경우에도 사용자 이름과 암호를 모두 입력하라는 메시지가 표시됩니다.
이번 업데이트를 통해 wsmancli
는 이전에 제공되지 않은 인증 정보만 있으면 됩니다. 결과적으로 첫 번째 인증 시도에서 오류 메시지가 표시되지 않습니다. 전체 자격 증명을 제공한 후에만 오류 메시지가 표시되고 인증이 실패합니다.
8.5. 보안
usbguard는 RuleFile이 정의되지 않은 경우에도 규칙을 저장합니다.
이전에는 USBGuard의 RuleFolder
구성 지시문이 설정되었지만 RuleFile
이 설정되지 않은 경우 규칙 세트를 변경할 수 없었습니다. 이번 업데이트를 통해 RuleFolder가 설정되어 있지만 RuleFile이 아닌 경우에도 규칙 세트를 변경할 수 있습니다. 결과적으로 USBGuard에서 영구 정책을 수정하여 새로 추가된 규칙을 영구적으로 저장할 수 있습니다.
1.4.45에 대한 Python -sqlalchemy
재기반
python-sqlalchemy
패키지는 버전 1.4.37에 비해 많은 버그 수정을 제공하는 버전 1.4.45로 변경되었습니다. 특히 이 버전에는 캐시 키 생성의 중요한 메모리 버그에 대한 수정 사항이 포함되어 있습니다.
crypto-policies
에서 BIND의 NSEC3DSA를 비활성화합니다.
이전에는 시스템 전체 암호화 정책에서 BIND 구성에서 NSEC3DSA 알고리즘을 제어하지 않았습니다. 결과적으로 현재 보안 요구 사항을 충족하지 않는 NSEC3DSA는 DNS 서버에서 비활성화되지 않았습니다. 이번 업데이트를 통해 모든 암호화 정책은 기본적으로 BIND 구성에서 NSEC3DSA를 비활성화합니다.
skopeo LEVEL=3의
OpenSSL이 이제 PSK 암호화 제품군과 함께 작동합니다.
이전에는 PSK(Pre-shared key) 암호화 제품군이 완벽한PFS(forward secrecy) 키 교환 방법을 수행하는 것으로 인식되지 않았습니다. 그 결과 시스템 전체 암호화 정책이 FUTURE
로 설정된 경우 ECDHE-PSK
및 DHE-PSK
암호화 제품군이 CloudEvent LEVEL=3
에 구성된 OpenSSL에서 작동하지 않았습니다. openssl
패키지의 새 버전에서는 이 문제를 해결합니다.
Clevis에서 crypttab
에서 주석 처리된 장치를 올바르게 건너뜁니다.
이전 버전에서는 Clevis에서 crypttab
파일에서 주석 처리된-아웃 장치를 잠금 해제하여 장치가 유효하지 않은 경우에도 clevis-luks-askpass
서비스가 실행되었습니다. 이로 인해 불필요한 서비스가 실행되어 문제를 해결하기 어려웠습니다.
이번 수정으로 Clevis는 주석 처리된 장치를 무시합니다. 이제 유효하지 않은 장치가 주석 처리되면 Clevis에서 잠금 해제를 시도하지 않고 clevis-luks-askpass
가 적절하게 완료됩니다. 이를 통해 보다 쉽게 문제를 해결하고 불필요한 서비스 실행을 줄일 수 있습니다.
Clevis는 더 이상 pwmake
에서 너무 많은 엔트로피를 요청하지 않습니다.
이전 버전에서는 Clevis를 사용하여 LUKS
메타데이터에 데이터를 저장하기 위한 암호를 생성하는 데 pwmake
를 사용할 때 pwmake
암호 생성 유틸리티에 불필요한 경고가 표시되었습니다. 이로 인해 Clevis에서 더 낮은 엔트로피를 사용했습니다. 이번 업데이트를 통해 Clevis는 pwmake
에 제공된 256 엔트로피 비트로 제한되어 원하지 않는 경고를 제거하고 올바른 양의 엔트로피를 사용합니다.
usbguard는 더 이상 혼란스러운 경고를 유발하지 않습니다.
이전에는 상위 프로세스가 첫 번째 하위 프로세스보다 빨리 완료되면 race condition이 USBGuard에서 발생할 수 있었습니다. 그 결과 systemd
는 잘못된 PPID(parent PID)가 있는 프로세스가 있다고 보고했습니다. 이번 업데이트를 통해 상위 프로세스는 첫 번째 하위 프로세스가 작동 모드에서 완료될 때까지 기다립니다. 결과적으로 systemd
에서 더 이상 이러한 경고를 보고하지 않습니다.
OOM 킬러가 더 이상 조기에 usbguard
를 종료하지 않음
이전에는 usbguard.service
파일에 systemd
서비스에 대한 OOMScoreAdjust
옵션의 정의가 없었습니다. 결과적으로 리소스가 부족하면 다른 권한이 없는 프로세스 이전에 usbguard-daemon
프로세스를 종료할 수 있었습니다. 이번 업데이트를 통해 이제 usbguard.service
파일에 OOMScoreAdjust
설정이 포함되어 OOMScoreAdjust 설정이 포함되어 OOM-daemon (OOM) 종료자가 usbguard-daemon
프로세스를 조기 종료하지 않도록 합니다.
10.0.0.1
더 이상 로그 회전에 Rsyslog 신호를 잘못 표시하지 않음
이전에는 인수 순서가 10.0.0.1 스크립트에 잘못
설정되어 구문 오류가 발생했습니다. 이로 인해 로그 순환 중에 Rsyslog를 올바르게 신호하지 않았습니다.
이번 업데이트를 통해 POSIXLY_CORRECT
환경 변수가 설정된 경우에도 로그 순환 후의 인수 순서가 수정되고, 10.0.0.1 신호 Rsyslog가 올바르게 표시됩니다.
imklog
가 누락된 오브젝트에 대해 더 이상 free()
를 호출하지 않음
이전에는 이미 해제된 오브젝트에서 imklog
모듈을 free()
함수라고 했습니다. 결과적으로 imklog
는 세그먼트 오류가 발생할 수 있습니다. 이번 업데이트를 통해 오브젝트를 두 번 해제하지 않습니다.
fagenrules --load
가 올바르게 작동합니다.
이전에는 fapolicyd
서비스가 신호 중단 (SIGHUP)을 올바르게 처리하지 못했습니다. 결과적으로 fapolicyd
는 SIGHUP를 수신한 후 종료되었으며 fagenrules --load
명령이 제대로 작동하지 않았습니다. 이번 업데이트에서는 문제에 대한 수정 사항이 포함되어 있습니다. 결과적으로 fagenrules --load
가 올바르게 작동하며 규칙 업데이트에는 fapolicyd
를 수동으로 다시 시작할 필요가 없습니다.
검사 및 수정에서 SCAP 감사 규칙 감사 키를 올바르게 무시
이전에는 감사 키(-k
또는 -F
키) 없이 정의된 감사 감시 규칙에 다음과 같은 문제가 발생했습니다.
- 규칙의 다른 부분이 올바른지도 규칙이 비준수로 표시되었습니다.
- Bash 수정을 통해 조사 규칙의 경로와 권한을 수정했지만 감사 키를 올바르게 추가하지 않았습니다.
-
수정에서는 종종 누락된 키를 수정하지 않아
수정된
값이 아닌오류
를 반환합니다.
이는 다음 규칙에 영향을 미쳤습니다.
-
audit_rules_login_events
-
audit_rules_login_events_faillock
-
audit_rules_login_events_lastlog
-
audit_rules_login_events_tallylog
-
audit_rules_usergroup_modification
-
audit_rules_usergroup_modification_group
-
audit_rules_usergroup_modification_gshadow
-
audit_rules_usergroup_modification_opasswd
-
audit_rules_usergroup_modification_passwd
-
audit_rules_usergroup_modification_shadow
-
audit_rules_time_watch_localtime
-
audit_rules_mac_modification
-
audit_rules_networkconfig_modification
-
audit_rules_sysadmin_actions
-
audit_rules_session_events
-
audit_rules_sudoers
-
audit_rules_sudoers_d
이번 업데이트를 통해 검사 및 Bash 및 Ansible 수정에서 감사 키가 제거되었습니다. 결과적으로 확인 및 수정 중에 키 필드로 인한 불일치가 더 이상 발생하지 않으며 감사자는 이러한 키를 임의로 선택하여 감사 로그를 더 쉽게 검색할 수 있습니다.
Keylime은 여러 IMA에서 측정된 파일에 액세스하는 시스템의 테스트에 더 이상 실패하지 않습니다.
이전 버전에서는 Keylime 에이전트를 실행하는 시스템이 IMA( Integrity Measurement Architecture)에서 빠른 연속으로 측정한 여러 파일에 액세스하면 Keylime 검증기에서 IMA 로그 추가를 잘못 처리했습니다. 결과적으로 실행중인 해시가 올바른 플랫폼 구성 레지스터 (PCR) 상태와 일치하지 않아 시스템이 증명되지 않았습니다. 이번 업데이트에서는 여러 측정된 파일에 빠르게 액세스하는 문제와 시스템이 더 이상 테스트되지 않습니다.
Keylime 정책 생성 스크립트가 더 이상 세그먼트 오류 및 코어 덤프를 유발하지 않음
create_mb_refstate
스크립트는 Keylime에서 부팅을 측정하기 위한 정책을 생성합니다. 이전에는 create_mb_refstate
가 DevicePath
필드의 데이터 길이를 잘못 계산했습니다. 그 결과 스크립트가 잘못 계산된 길이를 사용하여 잘못된 메모리에 액세스하려고 시도했기 때문에 세그먼트 오류가 발생하여 코어 덤프가 발생했습니다.
RHBA-2023:0309 권고에 게시된 이번 업데이트에서는 측정된 부팅 이벤트 로그를 처리할 때 세그먼트 오류가 발생하지 않습니다. 결과적으로 측정된 부팅 정책을 생성할 수 있습니다.
TPM 인증서로 인해 더 이상 Keylime 등록 기관이 충돌하지 않습니다.
이전에는 Keylime TPM 인증서 저장소의 일부 인증서가 잘못된 형식의 x509 인증서로 인해 Keylime 등록 기관이 충돌했습니다. 이 업데이트에서는 문제가 해결되었으며 Keylime 등록 기관은 더 이상 잘못된 형식의ceritficates로 인해 충돌하지 않습니다.
8.6. 네트워킹
NetworkManager는 이제 새 DHCP 리스를 해제하기 전에 다시 적용 중에 IP 주소를 유지합니다.
이전에는 연결 설정을 변경한 후 nmcli device reapply
명령을 사용한 후 NetworkManager에서 DHCP 리스를 유지하지 않았습니다. 결과적으로 IP 주소가 일시적으로 제거되었습니다. 이번 수정을 통해 NetworkManager는 DHCP 리스를 보존하고 리스가 만료되거나 클라이언트가 새 리스를 요청할 때까지 사용합니다. 결과적으로 nmcli device reapply
명령이 DHCP 클라이언트를 다시 시작하면 IP 주소를 일시적으로 제거하지 않습니다.
이제 firewalld
서비스에서 직접 규칙을 사용하는 경우에만 ipset
사용 중단 경고를 트리거합니다.
이전에는 firewalld
서비스가 필요하지 않은 경우 더 이상 사용되지 않는 ipset
커널 모듈을 사용했습니다. 결과적으로 RHEL은 firewalld
의 ipset
기능이 더 이상 사용되지 않기 때문에 잘못될 수 있는 모듈 사용 중단 경고를 기록했습니다. 이번 업데이트를 통해 firewalld
는 더 이상 사용되지 않는 ipset
모듈만 사용하고 사용자가 --direct
옵션을 사용하여 ipsets
를 명시적으로 사용하는 경우에만 경고를 기록합니다.
이제 HNV
인터페이스에서 재부팅 후 옵션을 표시
이전에는 nmcli
유틸리티에서 NetworkManager API를 사용하여 HNV(Hybrid Network Virtualization) 본딩을 생성했습니다. 결과적으로 재부팅 후 HNV 본딩에 기본 포트 설정이 손실되었습니다. 이번 수정으로 nmcli
는 이제 hcnmgr
을 사용하여 기본 포트에 대한 본딩 옵션을 설정합니다. hcnmgr
유틸리티는 하이브리드 네트워크에 대한 SR-IOV(Single Root Input/Output Virtualization)를 사용한 라이브 파티션 마이그레이션을 지원합니다. 결과적으로 HNV 본딩 인터페이스는 재부팅 후 활성 slave/primary_reselect
옵션을 표시합니다.
Bugzilla:2125152
8.7. 커널
Secure Boot를 사용하여 FADump가 활성화된 경우 제대로 작동합니다.
이전 버전에서는 Secure Boot 환경에서 Firmware Assisted Dump(FADump)가 활성화되고 부팅 구성 요소가 할당된 메모리 영역을 초과하면 시스템 재부팅으로 인해 GRUB 메모리 부족(OOM) 상태가 발생했습니다. 이번 업데이트에서는 kexec-tools
에서 수정 사항을 제공하여 Secure Boot 및 FADump가 올바르게 작동합니다.
Bugzilla:2139000
8.8. 부트 로더
grubby
가 새 커널에 인수를 올바르게 전달합니다.
grubby
툴을 사용하여 새 커널을 추가하고 인수를 지정하지 않거나 인수를 비워두면 grubby
는 새 커널에 인수를 전달하지 않으며 root
는 설정되지 않습니다. --args
및 --copy-default
옵션을 사용하면 새 인수가 기본 인수에 추가됩니다.
PReP 크기가 4 또는 8MiB가 아닌 경우에도 RHEL 설치에 성공
이전에는 PReP(PowerPC Reference Platform) 파티션이 4MiB 또는 8MiB가 4kiB 섹터를 사용하는 디스크에 다른 크기인 경우 RHEL 설치 프로그램에서 부트 로더를 설치할 수 없었습니다. 결과적으로 디스크에 RHEL을 설치할 수 없었습니다.
이번 릴리스에서는 문제가 해결되었습니다. 결과적으로 설치 프로그램에서 이제 RHEL을 디스크에 예상대로 설치할 수 있습니다.
Bugzilla:2026579
8.9. 파일 시스템 및 스토리지
설치 관리자에서 섹터 크기가 512바이트인 LUKSv2 장치를 생성
이전에는 디스크에 4096바이트의 물리적 섹터가 있는 경우 RHEL 설치 프로그램에서 4096바이트 섹터가 있는 LUKSv2 장치를 생성했습니다. 이번 업데이트를 통해 설치 프로그램은 이제 섹터 크기가 512바이트인 LUKSv2 장치를 생성하여 LVM 물리 볼륨이 암호화된 경우에도 하나의 LVM 볼륨 그룹에서 함께 사용되는 다양한 물리 섹터 크기와 더 나은 디스크 호환성을 제공합니다.
supported_speeds sysfs
특성에서 올바른 속도 값을 보고
이전에는 qla2xxx
드라이버의 정의가 올바르지 않아 HBA의 supported_speeds sysfs
속성이 예상되는 64Gb/s 속도 대신 20 Gb/s 속도를 보고했습니다. 결과적으로 HBA가 64 Gb/s 링크 속도를 지원하면 supported_speeds sysfs
값이 잘못되어 보고된 속도 값에 영향을 미쳤습니다.
이번 업데이트를 통해 HBA의 supported_speeds sysfs
특성은 16Gb/s, 32 Gb/s, 64Gb/s의 올바른 속도 값을 보고합니다. cat /sys/class/fc_host/host*/supported_speeds
명령을 실행하여 속도 값을 볼 수 있습니다.
Bugzilla:2069758
lpfc
드라이버는 D_ID
포트 스왑 중 유효한 상태입니다.
이전에는 NetApp giveback 작업을 실행한 후 SAN Boot 호스트가 LVM 중단 작업 경고가 발생하고 I/O가 중단되었습니다. 이 문제는 파이버 채널 D_ID
포트 스왑으로 인해 DM-Multipath 환경에서 대체 경로를 사용할 수 있는 경우에도 발생했습니다. 경합 상태의 결과 D_ID
포트 스왑으로 인해 lpfc
드라이버에서 일관성 없는 상태가 발생하여 I/O가 발행되지 않았습니다.
이번 수정으로 lpfc
드라이버는 D_ID
포트 스왑이 발생할 때 유효한 상태를 확인합니다. 결과적으로 파이버 채널 D_ID
포트 스왑으로 인해 I/O가 중단되지 않습니다.
Bugzilla:2173947
8.10. 고가용성 및 클러스터
pcs
no longer allows you to modify cluster properties that should not be changed
이전에는 pcs
명령줄 인터페이스를 사용하여 변경할 수 없거나 변경 사항이 적용되지 않는 클러스터 속성을 수정할 수 있었습니다. 이번 수정을 통해 pcs
는 더 이상 cluster-infrastructure
,cluster-name
,dc-version
,have-watchdog
, last-lrm-refresh
클러스터 속성을 수정할 수 없습니다.
pcs
에서 명시적으로 구성되지 않은 클러스터 속성 표시
이전에는 특정 클러스터 속성의 값을 표시하는 pcs
명령에서 CIB에 명시적으로 구성되지 않은 값을 나열하지 않았습니다. 이번 수정으로 cluster 속성이 설정되지 않은 경우 pcs
가 속성의 기본값을 표시합니다.
crm_mon
을 호출하는 클러스터 리소스가 종료 시 정상적으로 중지되었습니다.
이전에는 Pacemaker가 종료되는 동안 crm_mon
유틸리티에서 0이 아닌 종료 상태를 반환했습니다. ocf:heartbeat:pqsql
과 같이 모니터 작업에서 crm_mon
이라는 리소스 에이전트가 클러스터 종료 시 오류를 잘못 반환할 수 있습니다. 이번 수정을 통해 클러스터 종료 프로세스에 있는 경우에도 crm_mon
은 성공을 반환합니다. crm_mon
을 호출하는 리소스는 이제 클러스터 종료 시 완전히 중지됩니다.
OCF 리소스 에이전트 메타데이터 작업이 예기치 않은 펜싱을 유발하지 않고 crm_node
를 호출할 수 있음
RHEL 8.5부터 OCF 리소스 에이전트 메타데이터 작업이 컨트롤러 요청을 차단하고 crm_node
쿼리가 수행되었습니다. 그 결과 crm_node
라는 에이전트의 메타데이터 동작이 시간 초과될 때까지 30초 동안 컨트롤러를 차단했습니다. 이로 인해 다른 작업이 실패하고 노드가 펜싱될 수 있습니다.
이번 수정으로 컨트롤러는 이제 메타데이터 작업을 비동기적으로 수행합니다. OCF 리소스 에이전트 메타데이터 작업은 문제 없이 crm_node
를 호출할 수 있습니다.
Pacemaker에서 리소스 순서가 변경될 때 즉시 리소스 할당을 다시 확인
RHEL 8.7부터 Pacemaker는 CIB의 리소스 순서가 리소스 정의를 변경하지 않고 변경될 때 리소스 할당을 다시 확인하지 않았습니다. 구성 재순환으로 인해 리소스가 이동되는 경우, 이는 다음 자연 전환 때까지는 cluster-recheck-interval-property
의 값까지 수행되지 않습니다. 이로 인해 리소스에 대한 리소스 고정이 구성되지 않은 경우 문제가 발생할 수 있습니다.
이 변경으로 인해 이전 Pacemaker 릴리스의 경우 CIB의 리소스 순서가 변경될 때 Pacemaker에서 리소스 할당을 다시 확인합니다. 필요한 경우 클러스터는 이러한 변경 사항에 즉시 응답합니다.
단일 리소스 및 모니터링 작업을 활성화하면 더 이상 리소스 그룹의 모든 리소스에 대한 모니터링 작업을 사용할 수 없습니다.
이전 버전에서는 리소스 그룹에서 모든 리소스 및 모니터링 작업을 해제한 후 모니터링 작업과 함께 해당 그룹의 리소스 중 하나를 관리하여 리소스 그룹의 모든 리소스에 대한 모니터링 작업을 다시 활성화합니다. 이로 인해 예기치 않은 클러스터 동작이 트리거될 수 있습니다.
이번 수정을 통해 리소스를 관리하고 모니터링 작업을 다시 활성화하면 리소스 그룹의 다른 리소스에는 적합하지 않고 해당 리소스에 대한 모니터링 작업을 다시 활성화할 수 있습니다.
8.11. 컴파일러 및 개발 도구
일부 CNAME 레코드가 유효하지 않은 경우에도 DNS 조회가 성공할 수 있습니다.
이전에는 glibc
DNS 스텁 확인기에서 호스트 이름이 DNS 패킷 오류로 아닌 소유자 이름으로 CNAME 레코드를 처리했습니다. 그 결과 DNS 패킷 오류로 인해 DNS 쿼리가 실패했습니다. 이번 업데이트를 통해 glibc
스텁 확인기에서 잘못된 CNAME 레코드를 건너뛰고 해당 별칭 정보가 추출되지 않습니다. 따라서 서버 응답에 호스트 이름이 아닌 도메인 이름을 포함하는 CNAME 체인이 포함되어 있어도 DNS 조회가 성공할 수 있습니다.
Golang
은 x509 FIPS 모드에서 4096 비트 키를 지원
이전에는 golang
이 x509 FIPS 모드에서 4096 비트 키를 지원하지 않았습니다. 그 결과, 사용자가 4096비트 키를 사용할 때 프로그램이 충돌했습니다. 이번 업데이트를 통해 golang
은 이제 x509 FIPS 모드에서 4096 비트 키를 지원합니다.
모든 아키텍처에서 pip
를 사용하여 SciPy를 설치할 수 있습니다.
이전에는 openblas-devel
패키지에 OpenBLAS 라이브러리의 pkg-config 파일이 없었습니다. 결과적으로 특정 시나리오에서는 OpenBLAS로 컴파일하는 동안 pkgconf
유틸리티를 사용하여 컴파일러 및 링커 플래그를 결정할 수 없었습니다. 예를 들어 64비트 IBM Z 및 IBM Power Systems, Little Endian 아키텍처에서 pip install scipy
명령이 실패했습니다.
이번 업데이트에서는 지원되는 모든 아키텍처의 openblas.pc
파일이 openblas-devel
패키지에 추가되었습니다. 결과적으로 pip
패키지 설치 프로그램을 사용하여 SciPy 라이브러리를 설치할 수 있습니다.
RHEL 9에서는 flexiblas-devel
패키지에 대해 애플리케이션을 빌드하고 프로젝트를 flexiBLAS 래퍼 라이브러리에 연결하는 것이 좋습니다.
Bugzilla:2115737
glibc
의 tzset
함수는 이제 TZ 데이터에 DST 규칙이 있는 경우 daylight 변수를 0이 아닌 값으로 설정합니다.
이전 버전에서는 glibc
의 tzset
함수가 표준 시간 오프셋의 동시 변경으로 인해 시간대 데이터 파일에서 마지막 DST가 전환되지 않으면 daylight 변수를 0으로 설정했습니다. 결과적으로 애플리케이션에서 DST가 활성 상태인지 확인하기 위해 daylight 변수를 사용하면 올바른 결과를 얻지 못하고 이 정보를 기반으로 잘못된 작업을 수행합니다. 이 문제를 해결하기 위해 이제 tzset
함수는 오프셋과 관계없이 시간대 데이터에 DST 규칙이 있는 경우 daylight 변수를 0이 아닌 값으로 설정합니다. 결과적으로 애플리케이션은 오프셋 변경과 관계없이 DST 규칙이 존재하는지 관찰합니다.
OpenJDK RSAPSSSignature 구현이 사용하기 전에 RSA 키의 유효성 확인
이전에는 OpenJDK의 RSAPSSSignature 구현이 SunRSASign 공급자에서 특정 RSA 키를 사용할 수 있는지 완전히 확인하지 않아 사용자 정의 보안 공급자를 사용할 때 오류가 발생했습니다. 이제 버그가 수정되어 RSAPSSSignature 구현에서 RSA 키를 검증하고 다른 공급자가 이러한 키를 처리할 수 없게 되었습니다.
OpenJDK XML 서명 공급자가 FIPS 모드에서 작동
이전에는 OpenJDK XML 서명 공급자를 FIPS 모드에서 작동할 수 없었습니다. FIPS 모드의 개선으로 OpenJDK XML 서명 공급자가 FIPS 모드에서 활성화됩니다.
FIPS 모드의 OpenJDK에서 특정 PKCS#11 토큰에서 더 이상 예기치 않은 오류가 발생하지 않음
이전에는 FIPS 모드에서 OpenJDK에서 사용하기 전에 일부 PKCS#11 토큰을 완전히 초기화하지 않아 예기치 않은 오류가 발생했습니다. 이번 업그레이드를 통해 이제 이러한 오류가 예상되고 FIPS 지원 코드에서 처리됩니다.
8.12. IdM (Identity Management)
클라이언트 보안이 필요한 외부 IdP에 대한 인증이 가능
이전에는 SSSD에서 클라이언트 시크릿을 외부 ID 공급자(IdP)에 올바르게 전달하지 않았습니다. 결과적으로 클라이언트 시크릿이 필요한 ipap-add --secret
명령으로 이전에 구성한 외부 IdP에 대한 인증이 실패했습니다. 이번 업데이트를 통해 SSSD에서 클라이언트 시크릿을 IdP에 전달하여 사용자가 인증할 수 있습니다.
Jira:RHELPLAN-148303
IdM에서 Ansible을 사용하여 sudo
규칙의 hostmask 설정을 지원
이전에는 ipa sudorule-add-host
명령을 사용하여 sudo
규칙에서 hostmask를 설정할 수 있었지만 이 옵션은 ansible-freeipa
패키지에 없었습니다. 이번 업데이트를 통해 이제 ansible-freeipa
hostmask
변수를 사용하여 IdM(Identity Management)에 정의된 특정 sudo
규칙이 적용되는 호스트 마스크 목록을 정의할 수 있습니다.
결과적으로 Ansible을 사용하여 IdM sudo
규칙에 대한 호스트 마스크 설정을 자동화할 수 있습니다.
db_dir
매개변수로 사용자 정의 경로를 사용하는 경우 dscreate
유틸리티가 올바르게 작동합니다.
이전에는 사용자 정의 디렉터리에 SELinux 레이블이 잘못되었기 때문에 사용자 정의 디렉터리 경로를 사용한 인스턴스를 시작할 수 없었습니다. 그 결과 SELinux가 이러한 디렉터리에 대한 액세스를 거부했으며 인스턴스가 생성되지 않았습니다. 이번 릴리스에서는 dscreate
유틸리티가 사용자 정의 인스턴스 디렉터리에 대한 올바른 SELinux 레이블을 설정합니다.
Directory Server 복제 관리자 계정에 대한 암호 변경 사항이 올바르게 작동합니다.
이전에는 암호가 변경된 후 Directory Server에서 복제 계약의 암호 캐시를 올바르게 업데이트하지 않았습니다. 이로 인해 복제 관리자 계정의 암호를 변경하면 복제에 실패했습니다. 이번 업데이트를 통해 Directory Server는 캐시를 적절하게 업데이트하고 결과적으로 복제가 예상대로 작동합니다.
IdM 클라이언트 설치 프로그램이 더 이상 ldap.conf
파일에 TLS CA 구성을 지정하지 않음
이전에는 IdM 클라이언트 설치 프로그램이 ldap.conf
파일에 TLS CA 구성을 지정했습니다. 이번 업데이트를 통해 OpenLDAP에서 기본 신뢰 저장소를 사용하고 IdM 클라이언트 설치 프로그램은 ldap.conf
파일에 TLS CA 구성을 설정하지 않습니다.
이름에 혼합된 대소문자 문자가 포함된 경우 IdM 클라이언트는 신뢰할 수 있는 AD 사용자의 정보를 올바르게 검색
이전 버전에서는 사용자의 사용자 조회 또는 인증을 시도했고 신뢰할 수 있는 AD(Active Directory) 사용자에게 이름에 혼합된 케이스 문자가 포함되어 있고 IdM에서 재정의를 통해 구성된 경우 오류가 반환되어 사용자가 IdM 리소스에 액세스할 수 없었습니다.
RHBA-2023:4359 릴리스와 함께 대소문자를 구분하지 않는 비교는 문자의 대소문자를 무시하는 대소문자를 구분하지 않는 비교로 교체됩니다. 결과적으로 사용자 이름에 혼합된 대소문자 문자가 포함되어 있고 IdM에서 재정의를 사용하여 구성된 경우에도 IdM 클라이언트는 AD 신뢰할 수 있는 도메인의 사용자를 조회할 수 있습니다.
Jira:SSSD-6096
8.13. 그래픽 인프라
Matrox G200e이 VGA 디스플레이에 출력 표시
이전 버전에서는 다음 시스템 구성을 사용하는 경우 디스플레이에 그래픽 출력이 표시되지 않을 수 있었습니다.
- Matrox G200e GPU
- VGA 컨트롤러에 연결된 디스플레이
결과적으로 이 구성에 RHEL을 사용하거나 설치할 수 없었습니다.
이번 릴리스에서는 문제가 해결되었습니다. 결과적으로 RHEL은 부팅되고 그래픽 출력을 예상대로 표시합니다.
Bugzilla:1960467
8.14. 웹 콘솔
웹 콘솔 NBDE 바인딩 단계가 루트 파일 시스템이 있는 볼륨 그룹에서도 작동합니다.
RHEL 9.2.0에서는 사용자가 루트 파일 시스템에 Tang 키를 추가하는지 확인하기 위한 코드의 버그로 인해 LUKS 컨테이너에 파일 시스템이 전혀 충돌하지 않을 때 웹 콘솔의 바인딩 프로세스가 충돌했습니다. 웹 콘솔에 Verify
키 대화 상자에서 신뢰 키
버튼을 클릭하면 TypeError: Qe(…)
오류 메시지가 표시되지 않기 때문에 설명된 시나리오에서 명령줄 인터페이스에서 필요한 모든 단계를 수행해야 했습니다.
RHBA-2023:4346 권고가 릴리스되면서 웹 콘솔에서 root 파일 시스템에 Tang 키 추가를 올바르게 처리합니다. 결과적으로 웹 콘솔은 다양한 시나리오에서 NBDE(Network-Bound Disk Encryption)를 사용하여 LUKS 암호화 볼륨의 자동 잠금 해제에 필요한 모든 바인딩 단계를 완료합니다.
8.15. Red Hat Enterprise Linux System Roles
nbde_client
시스템 역할에서 이제 clevis-luks-askpass
의 다른 이름을 올바르게 처리
nbde_client
시스템 역할이 clevis-luks-askpass
systemd
장치가 다른 이름을 갖는 시스템을 처리하도록 업데이트되었습니다. 이제 이 역할은 관리형 노드에서 다양한 clevis-luks-askpass
이름으로 올바르게 작동하므로 부팅 프로세스 초기에 마운트되는 LUKS 암호화 볼륨 잠금 해제가 필요합니다.
ha_cluster
시스템 역할 로그에서 더 이상 암호화되지 않은 암호 및 시크릿을 표시하지 않음
ha_cluster
시스템 역할은 암호 또는 기타 시크릿일 수 있는 매개변수를 허용합니다. 이전에는 일부 작업에서 입력 및 출력을 기록했습니다. 이로 인해 역할 로그에 암호화되지 않은 암호 및 기타 보안이 포함될 수 있었습니다.
이번 업데이트를 통해 Ansible no_log: true
지시문을 사용하도록 작업이 변경되었으며 작업 출력이 더 이상 역할 로그에 표시되지 않습니다. ha_cluster
시스템 역할 로그에 더 이상 암호 및 기타 시크릿이 포함되지 않습니다. 이번 업데이트에서는 보안 정보를 보호하지만 이제 역할 로그에서 구성을 디버깅할 때 사용할 수 있는 적은 정보를 제공합니다.
SBD를 사용하도록 ha_cluster
시스템 역할로 구성된 클러스터가 이제 부팅 시 시작되지 않음이 올바르게 작동합니다.
이전 버전에서는 사용자가 SBD를 사용하고 부팅 시 시작되지 않고 ha_cluster
시스템 역할을 사용하여 클러스터를 구성한 경우 SBD 서비스가 비활성화되고 SBD가 시작되지 않았습니다. 이번 수정을 통해 클러스터가 부팅 시 시작되도록 구성되어 있는지 여부에 관계없이 SBD 서비스가 SBD를 사용하도록 설정된 경우 SBD 서비스가 항상 활성화됩니다.
암시적 파일 공급자가 cockpit-session-recording
SSSD 구성 수정 가능
SSSD가 비활성화된 경우 cockpit-session-recording
모듈로 인해 SSSD(System Security Services Daemon) 구성이 발생했습니다. 이번 업데이트에서는 파일 공급자를 사용할 수 없으므로 cockpit-session-recording
을 통해 생성된 SSSD 구성이 이제 예상대로 작동합니다.
nbde_client_clevis
역할은 더 이상 사용자에게 역추적을 보고하지 않습니다.
이전 버전에서는 nbde_client_clevis
역할이 예외에서 실패하여 역추적을 유발하고 encryption_password
필드와 같은 중요한 데이터를 보고하면 다시 사용자로 돌아갑니다. 이번 업데이트를 통해 역할은 더 이상 적절한 오류 메시지만 보고하지 않습니다.
Bugzilla:2162782
ha_cluster
시스템 역할을 사용하여 stonith-watchdog-timeout
속성을 설정하면 중지된 클러스터에서 작동합니다.
이전 버전에서는 중지된 클러스터에서 ha_cluster
시스템 역할로 stonith-watchdog-timeout
속성을 설정하면 속성이 이전 값으로 되돌아간 후 역할이 실패했습니다. 이번 수정을 통해 ha_cluster
시스템 역할을 사용하여 stonith-watchdog-timeout
속성을 구성하는 것이 제대로 작동합니다.
네트워크 트래픽은 네트워킹
RHEL 시스템 역할과 함께 initscripts
를 사용할 때 의도한 네트워크 인터페이스를 통해 이동합니다.
이전 버전에서는 initscripts
공급자를 사용할 때 네트워크 연결에 대한 라우팅 구성에서 트래픽이 이동해야 하는 출력 장치를 지정하지 않았습니다. 결과적으로 커널은 사용자가 의도한 것과 다른 출력 장치를 사용할 수 있었습니다. 이제 네트워크 인터페이스 이름이 연결을 위한 플레이북에 지정되면 경로 구성 파일에서 출력 장치로 사용됩니다. 이렇게 하면 장치의 프로필을 활성화할 때 경로에서 출력 장치를 구성하는 NetworkManager와 동작이 조정됩니다. 결과적으로 사용자는 트래픽이 의도한 네트워크 인터페이스를 통해 전달되는지 확인할 수 있습니다.
selinux
역할은 정책 모듈을 멱등으로 관리합니다.
이전에는 selinux
역할은 기존 모듈을 관리 노드에 항상 복사하여 모듈이 이미 존재하는 경우에도 변경 사항을 보고했습니다. 이번 업데이트를 통해 selinux
역할은 모듈이 관리 노드에 설치되어 있는지 확인하고 이미 설치된 경우 모듈을 복사하여 설치하지 않습니다.
에 활성화 키가 포함된 경우 등록된 시스템에서 rhc 시스템 역할이 더 이상 실패하지 않음rhc
_auth
이전에는 rhc_auth
매개변수에 지정된 활성화 키를 사용하여 등록된 시스템에서 플레이북 파일을 실행할 때 오류가 발생했습니다. 이 문제가 해결되었습니다. 이제 rhc_auth
매개 변수에 활성화 키가 제공된 경우에도 이미 등록된 시스템에서 플레이북 파일을 실행할 수 있습니다.
8.16. 가상화
이제 중첩된 VM의 시스템 시간이 안정적으로 작동합니다.
이전 버전에서는 경우에 따라 중첩된 VM(가상 머신)의 시스템 시간이 수준 0 및 수준 1 호스트에서 동기화되지 않았습니다. 이로 인해 중첩된 VM이 응답하지 않거나 예기치 않게 종료되는 경우도 있었습니다.
이번 업데이트를 통해 KVM 호스트 커널 코드의 코드를 처리하는 시간이 수정되어 설명된 오류가 발생하지 않습니다.
Bugzilla:2140899
IBM Z의 VM은 memfd
메모리 지원을 사용할 때 더 이상 시작되지 않습니다.
이전 버전에서는 IBM Z 호스트에서 가상 머신(VM)이 memfd
유형의 hugepage 메모리 지원을 사용하도록 구성된 경우 부팅되지 않았습니다. 예를 들면 다음과 같습니다.
<memoryBacking> <hugepages/> <source type='memfd'/> </memoryBacking>
이번 업데이트를 통해 근본적인 원인이 수정되어 영향을 받는 VM이 올바르게 시작됩니다.
VNC는 마이그레이션 후 UEFI VM에 안정적으로 연결할 수 있습니다.
이전 버전에서는 VM(가상 머신)을 마이그레이션하는 동안 메시지 큐를 활성화하거나 비활성화하는 경우 마이그레이션이 완료된 후 VNC(Virtual Network Computing) 클라이언트가 VM에 연결하지 못했습니다.
이 문제는 OVMF(Open Virtual Machine Firmware)를 사용한 UEFI 기반 VM에만 영향을 미쳤습니다.
문제가 해결되었으며 이제 마이그레이션이 완료된 후 VNC 클라이언트가 UEFI VM에 안정적으로 연결됩니다.
Jira:RHELPLAN-135600
설치 프로그램에서 VM에 RHEL을 설치할 예상 시스템 디스크를 보여줍니다.
이전 버전에서는 virtio-scsi
장치를 사용하여 VM에 RHEL을 설치할 때 device-mapper-multipath
버그로 인해 이러한 장치가 설치 프로그램에 표시되지 않을 수 있었습니다. 결과적으로 설치 중에 일부 장치에 직렬 세트가 있고 일부 장치에는 그렇지 않은 경우 multipath
명령에서 직렬이 있는 모든 장치를 요청했습니다. 이로 인해 설치 프로그램이 VM에 RHEL을 설치할 예상 시스템 디스크를 찾을 수 없었습니다.
이번 업데이트를 통해 다중 경로
는 WWID(Wide Wide Identifier)가 없는 직렬이 없는 장치를 올바르게 설정하고 무시합니다. 설치 시 다중 경로
장치를 바인딩하는 데 다중
경로 장치만 클레임하고 설치 프로그램은 VM에 RHEL을 설치할 예상 시스템 디스크를 표시합니다.
Bugzilla:1926147
9장. 기술 프리뷰
이 부분에서는 Red Hat Enterprise Linux 9에서 사용할 수 있는 모든 기술 프리뷰 목록을 제공합니다.
기술 프리뷰 기능에 대한 Red Hat 지원 범위 정보는 기술 프리뷰 기능 지원 범위를 참조하십시오.
9.1. 설치 프로그램 및 이미지 생성
RHEL 설치 프로그램에서 기술 프리뷰로 NVMe를 사용할 수 있습니다.
이제 RHEL 설치에 파이버 채널 장치를 통한 NVMe를 기술 프리뷰로 추가할 수 있습니다. RHEL 설치 관리자의 설치 대상 화면에 디스크를 추가하는 동안 NVMe Fabrics 장치 섹션에서 이러한 장치를 선택할 수 있습니다.
9.2. 쉘 및 명령행 툴
GIMP는 RHEL 9에서 기술 프리뷰로 사용 가능
GNU Image Manipulation Program (GIMP) 2.99.8은 이제 RHEL 9에서 기술 프리뷰로 사용할 수 있습니다. gimp
패키지 버전 2.99.8은 일련의 개선 사항이 있는 사전 릴리스 버전이지만 제한된 기능 세트이며 안정성은 보장되지 않습니다. 공식 GIMP 3이 릴리스되면 이 사전 릴리스 버전을 업데이트할 때 RHEL 9에 도입됩니다.
RHEL 9에서는 gimp
를 RPM 패키지로 쉽게 설치할 수 있습니다.
Bugzilla:2047161
9.3. 인프라 서비스
TuneD용 소켓 API를 기술 프리뷰로 사용 가능
Unix 도메인 소켓을 통해 TuneD를 제어하기 위한 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 소켓 API는 D-Bus API를 사용하여 일대일 매핑하고 D-Bus를 사용할 수 없는 경우 대체 통신 방법을 제공합니다. 소켓 API를 사용하면 TuneD 데몬을 제어하여 성능을 최적화하고 다양한 튜닝 매개변수 값을 변경할 수 있습니다. 소켓 API는 기본적으로 비활성화되어 있으며, tuned-main.conf
파일에서 활성화할 수 있습니다.
9.4. 보안
GnuTLS
는 이제 KTLS를 기술 프리뷰로 사용
업데이트된 gnutls
패키지는 커널 TLS(KTLS)를 사용하여 암호화된 채널에서 데이터 전송을 기술 프리뷰로 가속화할 수 있습니다. KTLS를 활성화하려면 modprobe
명령을 사용하여 tls.ko
커널 모듈을 추가하고 다음 내용을 사용하여 시스템 전체 암호화 정책에 대해 /etc/crypto-policies/local.d/gnutls-ktls.txt
설정 파일 /etc/crypto-policies/local.d/gnutls-ktls.txt를 생성합니다.
[global] ktls = true
현재 버전은 TLS KeyUpdate
메시지를 통해 트래픽 키 업데이트를 지원하지 않으며 이는 AES-GCM 암호화의 보안에 영향을 미칩니다. 자세한 내용은 RFC 7841 - TLS 1.3 문서를 참조하십시오.
Bugzilla:2042009
9.5. 네트워킹
WireECDHE VPN은 기술 프리뷰로 사용 가능
Red Hat이 지원되지 않는 기술 프리뷰로 제공하는 Wire>-<는 Linux 커널에서 실행되는 고성능 VPN 솔루션입니다. 최신 암호화를 사용하며 다른 VPN 솔루션보다 구성하기가 더 쉽습니다. 또한 Wire>-<의 작은 코드베이스는 공격 면적을 감소시켜 보안 기능을 향상시킵니다.
자세한 내용은 Wire>-< VPN 설정을 참조하십시오.
Bugzilla:1613522
KTLS를 기술 프리뷰로 이용 가능
RHEL은 기술 프리뷰로 KTLS(커널 전송 계층 보안)를 제공합니다. KTLS는 AES-GCM 암호에 대한 커널의 대칭 암호화 또는 암호 해독 알고리즘을 사용하여 TLS 레코드를 처리합니다. KTLS에는 이 기능을 제공하는 NIC(네트워크 인터페이스 컨트롤러)로 TLS 레코드 암호화를 오프로드하는 인터페이스도 포함되어 있습니다.
Bugzilla:1570255
systemd-resolved
서비스는 기술 프리뷰로 사용 가능
systemd-resolved
서비스는 로컬 애플리케이션에 이름 확인을 제공합니다. 이 서비스는 캐싱 및 검증 DNS 스텁 확인 프로그램, 링크 로컬 Multicast Name Resolution(LLMNR), Multicast DNS 확인자 및 응답자를 구현합니다.
systemd-resolved
는 지원되지 않는 기술 프리뷰입니다.
9.6. 커널
SGX를 기술 프리뷰로 이용 가능
SoftwareECDHE Extensions (SGX)는 소프트웨어 코드 및 데이터 공개 및 수정으로부터 보호하기 위한 Intel® 기술입니다. RHEL 커널은 SGX v1 및 v1.5 기능을 부분적으로 제공합니다. 버전 1은 flexible Launch Control 메커니즘을 사용하는 플랫폼을 통해 SGX 기술을 사용할 수 있습니다.
Bugzilla:1874182
커널용 Intel 데이터 스트리밍 가속기 드라이버는 기술 프리뷰로 사용 가능
커널의 Intel 데이터 스트리밍 가속기 드라이버(IDXD)는 현재 기술 프리뷰로 사용할 수 있습니다. Intel CPU 통합 가속기이며 프로세스 주소 공간 ID(pasid) 제출 및 SVM(공유 가상 메모리)이 포함된 공유 작업 대기열을 포함합니다.
ScanSetting-iWARP 드라이버는 기술 프리뷰로 사용 가능
soft-iWARP(siw)는 Linux용 iWARP(Internet Wide-area RDMA Protocol), 커널 드라이버인 소프트웨어입니다. soft-iWARP는 TCP/IP 네트워크 스택을 통해 iWARP 프로토콜 제품군을 구현합니다. 이 프로토콜 제품군은 소프트웨어에서 완전히 구현되며 특정 RDMA(Remote Direct Memory Access) 하드웨어가 필요하지 않습니다. soft-iWARP를 사용하면 표준 이더넷 어댑터가 있는 시스템을 iWARP 어댑터 또는 이미 설치된 다른 시스템에 연결할 수 있습니다.
Bugzilla:2023416
SGX를 기술 프리뷰로 이용 가능
SoftwareECDHE Extensions (SGX)는 소프트웨어 코드 및 데이터 공개 및 수정으로부터 보호하기 위한 Intel® 기술입니다. RHEL 커널은 SGX v1 및 v1.5 기능을 부분적으로 제공합니다. 버전 1은 flexible Launch Control 메커니즘 을 사용하는 플랫폼을 통해 SGX 기술을 사용할 수 있습니다. 버전 2는 Enclave Dynamic Memory Management (EDMM)를 추가합니다. 주요 기능은 다음과 같습니다.
- 초기화된 enclave 페이지에 속한 일반 enclave 페이지의 EPCM 권한 수정.
- 초기화된 enclave 페이지에 대한 일반 enclave 페이지를 동적으로 추가합니다.
- 초기화된 인클레이브를 확장하여 더 많은 스레드를 수용할 수 있습니다.
- 초기화된 enclave에서 일반 및 TCS 페이지를 제거합니다.
Bugzilla:1660337
rvu_af
,rvu_nicpf
, rvu_nicvf
를 기술 프리뷰로 사용 가능
다음 커널 모듈은 Marvell OCTEON TX2 인프라 프로세서 제품군의 기술 프리뷰로 사용할 수 있습니다.
-
rvu_nicpf
- Marvell OcteonTX2 NIC 물리적 기능 드라이버 -
rvu_nicvf
- Marvell OcteonTX2 NIC 가상 기능 드라이버 -
rvu_nicvf
- Marvell OcteonTX2 RVU 관리자 드라이버
Bugzilla:2040643
9.7. 파일 시스템 및 스토리지
ext4 및 XFS를 기술 프리뷰로 사용할 수 있습니다.
RHEL 9에서는 DAX 파일 시스템을 기술 프리뷰로 사용할 수 있습니다. DAX를 사용하면 애플리케이션이 영구 메모리를 주소 공간에 직접 매핑할 수 있습니다. DAX를 사용하려면 시스템에 일반적으로 NVDIMM(Non-Volatile Dual In-line Memory Modules) 형태로 사용 가능한 영구 메모리 형식이 있어야 하며 DAX 호환 파일 시스템을 NVDIMM에서 생성해야 합니다. 또한 dax
마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. 그런 다음 dax 마운트 파일 시스템에 있는 파일의 mmap
으로 인해 스토리지를 애플리케이션의 주소 공간에 직접 매핑합니다.
Bugzilla:1995338
Stratis는 기술 프리뷰로 사용 가능
Stratis는 로컬 스토리지 관리자입니다. 스토리지 풀 상단에서 관리형 파일 시스템을 사용자에게 추가 기능을 제공합니다.
- 스냅샷 및 씬 프로비저닝 관리
- 필요에 따라 파일 시스템 크기 자동 확장
- 파일 시스템 관리
Stratis 스토리지를 관리하려면 stratisd
백그라운드 서비스와 통신하는 stratis
유틸리티를 사용합니다.
Stratis는 기술 프리뷰로 제공됩니다.
자세한 내용은 Stratis 설명서 설정을 참조하십시오.
NVMe-oF Discovery Service 기능을 기술 프리뷰로 사용할 수 있음
NVMexpress.org Technical Proposals (TP) 8013 및 8014에 정의된 NVMe-oF Discovery Service 기능은 기술 프리뷰로 사용할 수 있습니다. 이러한 기능을 미리 보려면 nvme-cli 2.0
패키지를 사용하고 TP-8013 또는 TP-8014를 구현하는 NVMe-oF 대상 장치에 호스트를 연결합니다. TP-8013 및 TP-8014에 대한 자세한 내용은 https://nvmexpress.org/specifications/ 웹 사이트에서 NVM Express 2.0 Ratified TPs를 참조하십시오.
Bugzilla:2021672
기술 프리뷰로 사용할 수 있는 NVMe -stas
패키지
Linux용 CDC(Central Discovery Controller) 클라이언트인 nvme-stas
패키지를 이제 기술 프리뷰로 사용할 수 있습니다. AEN(Asynchronous Event Notifications), Automated NVMe 하위 시스템 연결 제어, 오류 처리 및 보고, Automatic(zeroconf
) 및 수동 구성을 처리합니다.
이 패키지는 두 개의 데몬인 StorageECDHE Finder(stafd
) 및 StorageECDHE Connector(stacd
)로 구성됩니다.
Bugzilla:1893841
NVMe TP 8006 in-band 인증은 기술 프리뷰로 사용 가능
NVMe over Fabrics(NVMe-oF)에 대한 대역 내 인증인 NVMe(Non-Volatile Memory Express) TP 8006 구현이 지원되지 않는 기술 프리뷰로 제공됩니다. NVMe 기술 제안(8006)은 이러한 향상된 기능으로 제공되는 NVMe-oF에 대한 DH-HMAC-CHAP
의 대역 내 인증 프로토콜을 정의합니다.
자세한 내용은 nvme-connect(1)
매뉴얼 페이지의 dhchap-secret
및 dhchap-ctrl-secret
옵션 설명을 참조하십시오.
Bugzilla:2027304
9.8. 컴파일러 및 개발 도구
JMC-core
및 owasp-java-encoder
를 기술 프리뷰로 사용할 수 있습니다.
RHEL 9는 AMD 및 Intel 64비트 아키텍처의 기술 프리뷰 기능으로 jmc-core
및 owasp-java-encoder
패키지와 함께 배포됩니다.
JMC -core
는 JDK Flight Recording 파일 구문 분석 및 쓰기를 위한 라이브러리와 Java Discovery Protocol(JDP)을 통해 JVM(Java Virtual Machine) 검색용 라이브러리를 포함하여 Java Development Kit (JDK) Mission Control용 코어 API를 제공하는 라이브러리입니다.
owasp-java-encoder
패키지는 Java에 대한 고성능의 낮은 오버헤드 컨텍스트 인코더 컬렉션을 제공합니다.
RHEL 9.2, jmc-core
및 owasp-java-encoder
는 명시적으로 활성화해야 하는 CodeReady Linux Builder(CRB) 리포지토리에서 사용할 수 있습니다. 자세한 내용은 CodeReady Linux Builder 내에서 콘텐츠를 활성화하고 사용하는 방법을 참조하십시오.
9.9. IdM (Identity Management)
DNSSEC를 IdM에서 기술 프리뷰로 이용 가능
통합된 DNS가 있는 IdM(Identity Management) 서버는 이제 DNS 프로토콜의 보안을 개선하는 DNS로의 확장 기능 세트인 DNS Security Extensions(DNS Security Extensions)를 구현합니다. IdM 서버에서 호스팅되는 DNS 영역은 DNSSEC를 사용하여 자동으로 서명할 수 있습니다. 암호화 키는 자동으로 생성되고 순환됩니다.
DNSSEC로 DNS 영역을 보호하기로 결정한 사용자는 다음 문서를 읽고 따르는 것이 좋습니다.
통합된 DNS가 있는 IdM 서버는 DNSSEC를 사용하여 다른 DNS 서버에서 얻은 DNS 응답을 검증합니다. 이는 권장 이름 지정 사례에 따라 구성되지 않은 DNS 영역의 가용성에 영향을 줄 수 있습니다.
ID 관리 JSON-RPC API를 기술 프리뷰로 사용 가능
IdM(Identity Management)에 API를 사용할 수 있습니다. API를 보기 위해 IdM은 API 브라우저도 기술 프리뷰로 제공합니다.
이전에는 여러 버전의 API 명령을 사용하도록 IdM API가 개선되었습니다. 이러한 개선 사항은 호환되지 않는 방식으로 명령의 동작을 변경할 수 있습니다. 이제 IdM API가 변경되는 경우에도 기존 툴 및 스크립트를 계속 사용할 수 있습니다. 이를 통해 다음을 수행할 수 있습니다.
- 관리자는 관리 클라이언트보다 서버에서 이전 버전 또는 이후 버전의 IdM을 사용합니다.
- 개발자는 서버에서 IdM 버전이 변경되는 경우에도 특정 버전의 IdM 호출을 사용할 수 있습니다.
모든 경우에서 한 쪽이 예를 들어 기능에 대한 새로운 옵션을 도입하는 최신 버전을 사용하는 경우와 관계없이 서버와의 통신이 가능합니다.
API 사용에 대한 자세한 내용은 ID 관리 API를 사용하여 IdM 서버(TECHNOLOGY PREVIEW)와 통신 합니다.
sssd-idp 하위 패키지는 기술 프리뷰로 사용 가능
SSSD의 sssd-idp
하위 패키지에는 IdM(Identity Management) 서버에 대해 OAuth2 인증을 수행하는 클라이언트 측 구성 요소인 oidc_child
및ECDHE5 idp
플러그인이 포함되어 있습니다. 이 기능은 RHEL 9.1 이상에서 IdM 서버에서만 사용할 수 있습니다.
SSSD 내부ECDHE5 idp 플러그인은 기술 프리뷰로 사용 가능
SSSDECDHE5 idp
플러그인을 사용하면 OAuth2 프로토콜을 사용하여 외부 ID 공급자(IdP)에 대해 인증할 수 있습니다. 이 기능은 RHEL 9.1 이상에서 IdM 서버에서만 사용할 수 있습니다.
RHEL IdM을 사용하면 외부 ID 공급자에 대한 사용자 인증을 기술 프리뷰로 위임할 수 있습니다.
RHEL IdM에서는 OAuth 2 장치 권한 부여 흐름을 지원하는 IdM(외부 ID 공급자)에 사용자를 연결할 수 있습니다. RHEL 9.1 이상에서 사용 가능한 SSSD 버전으로 인증하면 외부 IdP에서 인증 및 권한 부여를 수행한 후 Kerberos 티켓을 통해 RHEL IdM Single Sign-On 기능을 받을 수 있습니다.
주요 기능은 다음과 같습니다.
-
ipa idp-*
명령을 사용하여 외부 IdP에 대한 참조 추가, 수정 및 삭제 -
ipa user-mod --user-auth-type=idp
명령을 사용하여 사용자의 IdP 인증 활성화
자세한 내용은 외부 ID 공급자를 사용하여 IdM 인증을 참조하십시오.
ACME는 만료된 인증서를 기술 프리뷰로 자동 제거 지원
IdM(Identity Management)의 ACME(Automated Certificate Management Environment) 서비스는 CA(인증 기관)에서 만료된 인증서를 기술 프리뷰로 제거하는 자동 메커니즘을 추가합니다. 결과적으로 ACME는 이제 지정된 간격으로 만료된 인증서를 자동으로 제거할 수 있습니다. 만료된 인증서 제거는 기본적으로 비활성화되어 있습니다. 활성화하려면 다음을 입력합니다.
이번 개선된 기능을 통해 ACME는 지정된 간격으로 만료된 인증서를 자동으로 제거할 수 있습니다.
만료된 인증서 제거는 기본적으로 비활성화되어 있습니다. 활성화하려면 다음을 입력합니다.
# ipa-acme-manage pruning --enable --cron "0 0 1 * *"
이렇게 하면 매일 자정의 첫 날 만료된 인증서가 제거됩니다.
만료된 인증서는 보존 기간 후에 제거됩니다. 기본적으로 만료 후 30일입니다.
자세한 내용은 ipa-acme-manage(1)
매뉴얼 페이지를 참조하십시오.
9.10. 데스크탑
64비트 ARM 아키텍처용 GNOME을 기술 프리뷰로 사용 가능
GNOME 데스크탑 환경은 64비트 ARM 아키텍처에서 기술 프리뷰로 사용할 수 있습니다.
이제 VNC를 사용하여 64비트 ARM 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.
제한된 그래픽 애플리케이션 세트는 64비트 ARM에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- Firefox 웹 브라우저
-
Red Hat Subscription Manager (
subscription-manager-cockpit
) -
방화벽 설정(
firewall-config
) -
디스크 사용 분석기(Bobab
)
Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.
Libre>-<와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스가 비활성화됩니다.
Jira:RHELPLAN-27394
IBM Z 아키텍처용 GNOME을 기술 프리뷰로 이용 가능
IBM Z 아키텍처에서는 GNOME 데스크탑 환경을 기술 프리뷰로 사용할 수 있습니다.
VNC를 사용하여 IBM Z 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.
제한된 그래픽 애플리케이션 세트는 IBM Z에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- Firefox 웹 브라우저
-
Red Hat Subscription Manager (
subscription-manager-cockpit
) -
방화벽 설정(
firewall-config
) -
디스크 사용 분석기(Bobab
)
Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.
Libre>-<와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스가 비활성화됩니다.
Jira:RHELPLAN-27737
9.11. 그래픽 인프라
Intel Arc A-Series 그래픽을 기술 프리뷰로 이용 가능
Intel Arc A-Series 그래픽은 이제 Alchemist 또는 DG2라고도 하며 기술 프리뷰로 사용할 수 있습니다.
Intel Arc A-Series 그래픽으로 하드웨어 가속을 사용하려면 커널 명령 줄에 다음 옵션을 추가합니다.
i915.force_probe=pci-id
이 옵션에서 pci-id
를 다음 중 하나로 바꿉니다.
- Intel GPU의 PCI ID입니다.
-
*
문자는 모든 알파 품질의 하드웨어에서 i915 드라이버를 활성화합니다.
Bugzilla:2041690
9.12. 웹 콘솔
Stratis는 RHEL 웹 콘솔에서 기술 프리뷰로 사용 가능
이번 업데이트를 통해 Red Hat Enterprise Linux 웹 콘솔은 Stratis 스토리지를 기술 프리뷰로 관리할 수 있는 기능을 제공합니다.
Stratis에 대한 자세한 내용은 Stratis What is Stratis 를 참조하십시오.
Jira:RHELPLAN-122345
9.13. 가상화
중첩된 가상 머신 생성
중첩된 KVM 가상화는 RHEL 9가 있는 Intel, AMD64 및 IBM Z 호스트에서 실행되는 KVM 가상 머신(VM)용 기술 프리뷰로 제공됩니다. 이 기능을 사용하면 물리적 RHEL 9 호스트에서 실행되는 RHEL 7, RHEL 8 또는 RHEL 9 VM이 하이퍼바이저 역할을 하며 자체 VM을 호스팅할 수 있습니다.
Jira:RHELDOCS-17040
VM에서 기술 프리뷰로 Intel SGX 사용 가능
이제 Intel Software>-< Extensions(SGX)를 RHEL 9에서 호스팅되는 VM(가상 머신)에 대해 기술 프리뷰로 구성할 수 있습니다. SGX는 Intel 하드웨어의 특정 프로세스의 데이터 무결성 및 기밀성을 보호합니다. 호스트에 SGX를 설정하면 게스트 운영 체제(OS)가 사용할 수 있도록 기능이 VM으로 전달됩니다.
게스트 OS에서 SGX를 사용하려면 먼저 해당 OS에 대해 SGX 드라이버를 설치해야 합니다. 또한 호스트의 SGX는 메모리 암호화 VM을 사용할 수 없습니다.
Jira:RHELPLAN-69761
KVM 가상 머신용 AMD SEV 및 SEV-ES
RHEL 9는 KVM 하이퍼바이저를 사용하는 AMD EPYC 호스트 시스템을 위한 SEV(Secure Encrypted Virtualization) 기능을 기술 프리뷰로 제공합니다. VM(가상 머신)에서 활성화된 경우 SEV는 VM의 메모리를 암호화하여 VM을 호스트에서 액세스하지 못하도록 보호합니다. 이로 인해 VM의 보안이 향상됩니다.
또한 향상된 암호화 상태 버전 SEV(SEV-ES)도 기술 프리뷰로 제공됩니다. SEV-ES는 VM의 실행이 중지되면 모든 CPU 레지스터 콘텐츠를 암호화합니다. 이로 인해 호스트가 VM의 CPU 레지스터를 수정하거나 해당 CPU에서 정보를 읽지 못하도록 합니다.
SEV 및 SEV-ES는 AMD EPYC CPU의 2nd generation (코드 이름) 이상에서만 작동합니다. 또한 RHEL 9에는 SEV 및 SEV-ES 암호화가 포함되지만 SEV 및 SEV-ES 보안 테스트는 포함되지 않습니다.
Jira:RHELPLAN-65217
ARM 64에서 가상화 사용 가능
이제 ARM 64 CPU를 사용하여 시스템에 KVM 가상 머신을 생성할 수 있는 기술 프리뷰로 사용할 수 있습니다.
Jira:RHELPLAN-103993
virtio-mem
은 이제 AMD64, Intel 64 및 ARM 64에서 사용 가능
RHEL 9에서는 기술 프리뷰로 AMD64, Intel 64 및 ARM 64 시스템에 virtio-mem
기능이 도입되었습니다. virtio-mem
을 사용하면 VM(가상 머신)에서 호스트 메모리를 동적으로 추가하거나 제거할 수 있습니다.
virtio-mem
을 사용하려면 VM의 XML 구성에 virtio-mem
메모리 장치를 정의하고 virsh update-memory-device
명령을 사용하여 VM이 실행되는 동안 메모리 장치 크기 변경을 요청합니다. 이러한 메모리 장치에서 실행 중인 VM에 노출된 현재 메모리 크기를 보려면 VM의 XML 구성을 확인합니다.
Bugzilla:2014487,Bugzilla:2044172,Bugzilla:2044162
RHEL 게스트의 Intel TDX
이제 Intel Trust Domain Extension (TDX) 기능을 RHEL 9.2 게스트 운영 체제에서 사용할 수 있습니다. 호스트 시스템이 TDX를 지원하는 경우 TD(신뢰 도메인)라는 하드웨어 격리 RHEL 9 VM(가상 머신)을 배포할 수 있습니다. 그러나 TDX는 현재 kdump
에서 작동하지 않으며 TDX를 활성화하면 kdump
가 VM에서 실패합니다.
Bugzilla:1955275
RHEL의 통합 커널 이미지를 기술 프리뷰로 사용 가능
이제 VM(가상 머신)의 통합 커널 이미지(UKI)로 RHEL 커널을 가져올 수 있습니다. 통합 커널 이미지는 kernel, initramfs 및 커널 명령줄을 서명된 단일 바이너리 파일에 결합합니다.
UKI는 가상화 및 클라우드 환경, 특히 강력한 SecureBoot 기능이 필요한 기밀 VM에서 사용할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt
패키지로 제공됩니다.
현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.
Bugzilla:2142102
Intel vGPU를 기술 프리뷰로 사용 가능
기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라고 하는 여러 가상 장치로 나눌 수 있습니다
. 그런 다음 이러한 중재된 장치를 가상 GPU로 여러 VM(가상 머신)에 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유합니다.
이 기능은 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 완전히 제거됩니다.
Jira:RHELDOCS-17050
9.14. 클라우드 환경의 RHEL
이제 Azure 기밀 VM에서 기술 프리뷰로 RHEL을 사용할 수 있습니다.
업데이트된 RHEL 커널을 사용하면 Microsoft Azure에서 RHEL 기밀 가상 머신(VM)을 기술 프리뷰로 생성하고 실행할 수 있습니다. 새로 추가된 통합 커널 이미지(UKI)를 통해 Azure에서 암호화된 기밀 VM 이미지를 부팅할 수 있습니다. UKI는 RHEL 9 리포지토리에서 kernel-uki-virt
패키지로 제공됩니다.
현재 RHEL UKI는 UEFI 부팅 구성에서만 사용할 수 있습니다.
Jira:RHELPLAN-139800
9.15. 컨테이너
Podman의 Quadlet이 기술 프리뷰로 사용 가능
Podman v4.4부터 Quadlet을 사용하여 컨테이너 설명에서 기술 프리뷰로 systemd
서비스 파일을 자동으로 생성할 수 있습니다. 컨테이너 설명은 systemd
장치 파일 형식입니다. 이 설명은 관련 컨테이너 세부 정보에 중점을 두고 systemd
에서 컨테이너 실행의 기술적 복잡성을 숨깁니다. Quadlets는 systemd
장치 파일보다 쓰기 및 유지 관리하기가 더 쉽습니다.
자세한 내용은 업스트림 문서 및 Quadlet을 사용하여 Podman에 더 적합한 systemd 만들기 를 참조하십시오.
Jira:RHELPLAN-148394
Fulcio 및 Rekor를 사용한 sigstore 서명용 클라이언트는 이제 기술 프리뷰로 사용 가능
Fulcio 및 Rekor 서버를 사용하면 개인 키를 수동으로 관리하는 대신 OIDC(OpenID Connect) 서버 인증을 기반으로 단기 인증서를 사용하여 서명을 생성할 수 있습니다. Fulcio 및 Rekor를 사용한 시그 저장소 서명용 클라이언트는 이제 기술 프리뷰로 사용할 수 있습니다. 이러한 추가된 기능은 클라이언트 측 지원일 뿐이며 Fulcio 또는 Rekor 서버를 포함하지 않습니다.
policy.json
파일에 fulcio
섹션을 추가합니다. 컨테이너 이미지에 서명하려면 podman push --sign-by-sigstore=file.yml
또는 skopeo copy --sign-by-sigstore=file.yml
명령을 사용합니다. 여기서 file.yml
은 sigstore 서명 매개변수 파일입니다.
서명을 확인하려면 policy.json
파일의 fulcio
섹션과 rekorPublicKeyPath
또는 rekorPublicKeyData
필드를 추가합니다. 자세한 내용은 container -policy.json 매뉴얼
페이지를 참조하십시오.
Jira:RHELPLAN-136611
podman-machine
명령은 지원되지 않음
가상 머신을 관리하는 podman-machine
명령은 기술 프리뷰로만 사용할 수 있습니다. 대신 명령줄에서 직접 Podman을 실행합니다.
Jira:RHELDOCS-16861
10장. 사용되지 않는 기능
이 부분에서는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않는 기능에 대해 설명합니다.
사용되지 않는 기능은 이 제품의 향후 주요 릴리스에서 지원되지 않을 가능성이 높으며 새로운 배포에 구현하는 것은 권장되지 않습니다. 특정 주요 릴리스 내에서 더 이상 사용되지 않는 기능의 최신 목록은 최신 릴리스 노트를 참조하십시오.
더 이상 사용되지 않는 기능의 지원 상태는 Red Hat Enterprise Linux 9 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클 및 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
사용되지 않는 하드웨어 구성 요소는 현재 또는 향후 주요 릴리스의 새로운 배포에 구현하는 것을 권장하지 않습니다. 하드웨어 드라이버 업데이트는 보안 및 중요 수정 사항으로만 제한됩니다. Red Hat은 최대한 빠른 시일 내에 이 하드웨어를 교체할 것을 권장합니다.
패키지가 더 이상 사용되지 않으며 향후 사용이 권장되지 않는 경우가 있습니다. 경우에 따라 패키지가 제품에서 삭제될 수 있습니다. 제품 설명서에 더 이상 사용되지 않는 기능과 유사 또는 동일하거나 보다 고급 기능을 제공하는 최근 패키지가 지정된 권장 사항이 기재됩니다.
RHEL 8에 있지만 RHEL 9에서 제거된 기능에 대한 자세한 내용은 RHEL 9 채택 시 고려 사항을 참조하십시오.
10.1. 설치 프로그램 및 이미지 생성
더 이상 사용되지 않는 Kickstart 명령
다음 Kickstart 명령이 더 이상 사용되지 않습니다.
-
timezone --ntpservers
-
timezone --nontp
-
logging --level
-
%packages --excludeWeakdeps
-
%packages --instLangs
-
%anaconda
-
pwpolicy
특정 옵션만 나열된 경우에도 기본 명령 및 기타 옵션은 계속 사용할 수 있으며 더 이상 사용되지 않습니다. Kickstart 파일에서 더 이상 사용되지 않는 명령을 사용하면 로그에 경고가 출력됩니다. inst.ksstrict
부팅 옵션을 사용하여 더 이상 사용되지 않는 명령 경고를 오류로 전환할 수 있습니다.
Bugzilla:1899167
edge-commit
및 edge-container
의 사용자 및 그룹 사용자 지정이 더 이상 사용되지 않음
edge-commit
및 edge-container
이미지 유형에 대해 사용자 지정이 더 이상 사용되지 않습니다. 이는 이미지를 업그레이드할 때 사용자 사용자 지정이 없어지고 hugepages에서 사용자를 다시 지정하지 않기 때문입니다. 따라서 edge-raw-image
,edge-installer
, edge-simplified-installer
와 같은 기존 OSTree 커밋을 배포하는 데 사용되는 에지 이미지 유형에 대해 사용자와 그룹을 직접 지정해야 합니다.
Blueprint에서 사용자 또는 그룹 사용자 지정을 지정하는 것은 계속 지원되지만 지원은 결국 제거됩니다.
10.2. 서브스크립션 관리
subscription-manager
명령의 --token
옵션이 더 이상 사용되지 않음
subscription-manager register
명령의 --token=<TOKEN
> 옵션은 시스템을 Red Hat에 등록하는 데 도움이 되는 인증 방법입니다. 이 옵션은 인타이틀먼트 서버가 제공하는 기능에 따라 다릅니다. 기본 인타이틀먼트 서버 subscription.rhsm.redhat.com
은 이 기능을 해제할 계획입니다. 결과적으로 subscription-manager register --token=<TOKEN
>을 사용하려고 하면 다음 오류 메시지와 함께 실패할 수 있었습니다.
Token authentication not supported by the entitlement server
subscription-manager register
명령의 paired options --username / --password
및 --org / --activationkey
와 같은 다른 권한 부여 방법을 사용하여 시스템을 계속 등록할 수 있습니다.
10.3. 쉘 및 명령행 툴
dump
패키지의 dump
유틸리티가 더 이상 사용되지 않음
파일 시스템의 백업에 사용되는 dump
유틸리티는 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다.
RHEL 9에서는 ext2, ext3 및 ext4 파일 시스템에서 완전하고 안전한 백업을 제공하는 사용 유형에 따라 tar
,dd
또는 bacula
, backup 유틸리티를 사용할 것을 권장합니다.
dump
패키지의 복원
유틸리티는 RHEL 9에서 지원되며 복원
패키지로 사용할 수 있습니다.
Bugzilla:1997366
Bacula의 10.0.0.1 데이터베이스 백엔드가 더 이상 사용되지 않음
Bacula 백업 시스템은 PostgreSQL, MySQL 및ECDHE의 여러 데이터베이스 백엔드를 지원합니다. CloudEvent 백엔드는 더 이상 사용되지 않으며 RHEL의 이후 릴리스에서 지원되지 않습니다. 대체 방법으로 다른 백엔드(PostgreSQL 또는 MySQL) 중 하나로 마이그레이션하고 새 배포에서 10.0.0.1 백엔드를 사용하지 않습니다.
10.4. 보안
암호화 목적으로 SHA-1이 더 이상 사용되지 않음
암호화 목적으로 SHA-1 메시지 다이제스트 사용은 RHEL 9에서 더 이상 사용되지 않습니다. SHA-1에 의해 생성된 다이제스트는 해시 충돌을 찾는 것으로 문서화된 많은 성공적인 공격으로 인해 안전하지 않은 것으로 간주되지 않습니다. RHEL 코어 암호화 구성 요소는 더 이상 기본적으로 SHA-1을 사용하여 서명을 생성하지 않습니다. 보안 관련 사용 사례에서 SHA-1을 사용하지 않도록 RHEL 9의 애플리케이션이 업데이트되었습니다.
예외 중 HMAC-SHA1 메시지 인증 코드와 UUID(Universal Unique Identifier) 값은 현재 보안 위험을 초래하지 않기 때문에 SHA-1을 사용하여 만들 수 있습니다. SHA-1은 Kerberos 및ECDHE-2와 같은 중요한 상호 운용성 및 호환성 문제로 연결된 제한된 경우에만 사용할 수 있습니다. 자세한 내용은 RHEL 9 보안 강화 문서의 FIPS 140-3과 호환되지 않는 암호화를 사용하는 RHEL 애플리케이션 목록을 참조하십시오.
시나리오에 기존 또는 타사 암호화 서명을 확인하기 위해 SHA-1을 사용해야 하는 경우 다음 명령을 입력하여 활성화할 수 있습니다.
# update-crypto-policies --set DEFAULT:SHA1
또는 시스템 전체 암호화 정책을 LEGACY
정책으로 전환할 수 있습니다. LEGACY
는 안전하지 않은 많은 다른 알고리즘도 활성화합니다.
Jira:RHELPLAN-110763
fapolicyd.rules
가 더 이상 사용되지 않음
허용 및 거부 실행 규칙이 포함된 파일의 /etc/fapolicyd/rules.d/
디렉터리는 /etc/fapolicyd/fapolicyd.rules
파일을 대체합니다. 이제 fagenrules
스크립트에서 이 디렉터리의 모든 구성 요소 규칙 파일을 /etc/fapolicyd/ECDHE.rules
파일에 병합합니다. /etc/fapolicyd/fapolicyd.trust
의 규칙은 fapolicyd
프레임워크에서 계속 처리하지만 이전 버전과의 호환성을 보장하기 위해서만 처리됩니다.
RHEL 9에서 SCP가 더 이상 사용되지 않음
SCP(Secure copy protocol)는 알려진 보안 취약점이 있기 때문에 더 이상 사용되지 않습니다. RHEL 9 라이프사이클에서 SCP API를 계속 사용할 수 있지만 이를 사용하면 시스템 보안이 저하됩니다.
-
scp
유틸리티에서 SCP는 기본적으로 SSH 파일 전송 프로토콜(SECDHE)으로 교체됩니다. - OpenSSH 제품군은 RHEL 9에서 SCP를 사용하지 않습니다.
-
libssh
라이브러리에서 SCP가 더 이상 사용되지 않습니다.
Jira:RHELPLAN-99136
SASL의 digest-ECDHE5가 더 이상 사용되지 않음
SASL(Simple Authentication Security Layer) 프레임워크의 Digest-ECDHE5 인증 메커니즘은 더 이상 사용되지 않으며 향후 주요 릴리스의 Cyrus-sasl
패키지에서 제거될 수 있습니다.
Bugzilla:1995600
OpenSSL은 MD2, MD4, MDC2, Whirlpool, Blowfish, DES, IDEA, RC2, RC4, SEED 및 PBKDF1을 더 이상 사용하지 않습니다.
OpenSSL 프로젝트는 안전하지 않거나 일반적으로 사용되지 않거나 둘 다이므로 암호화 알고리즘 세트를 더 이상 사용되지 않습니다. Red Hat은 이러한 알고리즘의 사용을 권장하지 않으며 RHEL 9는 새로운 알고리즘을 사용하도록 암호화된 데이터를 마이그레이션하기 위해 이를 제공합니다. 사용자는 시스템 보안을 위해 이러한 알고리즘에 의존해서는 안 됩니다.
다음 알고리즘의 구현은 OpenSSL에서 MD2, MD4, MDC2, Whirlpool, Blowfish, DES, IDEA, RC2, RC4, SEED 및 PBKDF1에서 레거시 공급자로 이동되었습니다.
기존 공급자를 로드하고 더 이상 사용되지 않는 알고리즘에 대한 지원을 활성화하는 방법에 대한 지침은 /etc/pki/tls/openssl.cnf
구성 파일을 참조하십시오.
/etc/system-fips
가 더 이상 사용되지 않음
/etc/system-fips
파일을 통해 FIPS 모드를 나타내는 지원이 제거되었으며 파일은 향후 RHEL 버전에 포함되지 않습니다. FIPS 모드에서 RHEL을 설치하려면 시스템 설치 중에 fips=1
매개변수를 커널 명령줄에 추가합니다. fips-mode-setup --check
명령을 사용하여 RHEL이 FIPS 모드에서 작동하는지 확인할 수 있습니다.
Jira:RHELPLAN-103232
libcrypt.so.1
is now deprecated
libcrypt.so.1
라이브러리는 더 이상 사용되지 않으며 향후 RHEL 버전에서 제거될 수 있습니다.
OpenSSL은 FIPS 모드에서 RSA 암호화 패딩이 필요합니다.
OpenSSL은 FIPS 모드에서 패딩 없이 더 이상 RSA 암호화를 지원하지 않습니다. 패딩이 없는 RSA 암호화는 드문 경우이며 거의 사용되지 않습니다. RSA (RSASVE)를 사용한 키 캡슐화는 패딩을 사용하지 않지만 계속 지원됩니다.
10.5. 네트워킹
RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음
팀
서비스 및 libteam
라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 교체로 네트워크 팀 대신 본딩을 구성합니다.
Red Hat은 유사한 기능을 갖춘 두 가지 기능인 본딩 및 팀을 유지 관리하지 않도록 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 고객의 채택이 뛰어나고 강력하며 적극적인 커뮤니티 개발을 하고 있습니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 받습니다.
팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션을 참조하십시오.
Bugzilla:1935544
ifcfg
형식의 NetworkManager 연결 프로필이 더 이상 사용되지 않음
RHEL 9.0 이상에서는 ifcfg
형식의 연결 프로필이 더 이상 사용되지 않습니다. 다음 주요 RHEL 릴리스에서는 이 형식에 대한 지원이 제거됩니다. 그러나 RHEL 9에서는 수정 시 NetworkManager는 이 형식의 기존 프로필을 계속 처리하고 업데이트합니다.
기본적으로 NetworkManager는 이제 /etc/NetworkManager/system-connections/
디렉터리에 있는 키 파일 형식으로 연결 프로필을 저장합니다. ifcfg
형식과 달리 키 파일 형식은 NetworkManager가 제공하는 모든 연결 설정을 지원합니다. 키 파일 형식 및 프로필을 마이그레이션하는 방법에 대한 자세한 내용은 키 파일 형식의 NetworkManager 연결 프로필을 참조하십시오.
Bugzilla:1894877
firewalld
의 iptables
백엔드가 더 이상 사용되지 않음
RHEL 9에서는 iptables
프레임워크가 더 이상 사용되지 않습니다. 결과적으로 iptables
백엔드와 firewalld
의 직접 인터페이스
도 더 이상 사용되지 않습니다. 직접 인터페이스
대신 firewalld
의 네이티브 기능을 사용하여 필요한 규칙을 구성할 수 있습니다.
10.6. 커널
RHEL 9에서 ScanSetting 캡슐화가 더 이상 사용되지 않음
ATM(Asynchronous Transfer Mode) 캡슐화를 사용하면 ScanSetting Adaptation Layer 5(AAL-5)에 대해 Layer-2(Point-to- Point Protocol, Ethernet) 또는 Layer-3(IP) 연결을 활성화합니다. Red Hat은 RHEL 7 이후 ScanSetting NIC 드라이버를 지원하지 않았습니다. RHEL 9에서 ScanSetting 구현에 대한 지원이 중단되고 있습니다. 이러한 프로토콜은 현재 ADSL 기술을 지원하고 제조업체에 의해 단계적으로 제거되는 칩셋에서만 사용됩니다. 따라서 Red Hat Enterprise Linux 9에서는 ScanSetting 캡슐화가 더 이상 사용되지 않습니다.
자세한 내용은 Mellanox Over AAL5,Multiprotocol Encapsulation overanchor Adaptation Layer 5, Classical IP 및 ARP overknative .를 참조하십시오.
kexec-tools
의 kexec_load
시스템 호출이 더 이상 사용되지 않음
두 번째 커널을 로드하는 kexec_load
시스템 호출은 향후 RHEL 릴리스에서 지원되지 않습니다. kexec_file_load
시스템 호출은 kexec_load
를 대체하고 이제 모든 아키텍처의 기본 시스템 호출입니다.
Bugzilla:2113873
RHEL 9에서 네트워크 팀이 더 이상 사용되지 않음
팀
서비스 및 libteam
라이브러리는 Red Hat Enterprise Linux 9에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거됩니다. 교체로 네트워크 팀 대신 본딩을 구성합니다.
Red Hat은 유사한 기능을 갖춘 두 가지 기능인 본딩 및 팀을 유지 관리하지 않도록 커널 기반 본딩에 중점을 두고 있습니다. 본딩 코드는 고객의 채택이 뛰어나고 강력하며 적극적인 커뮤니티 개발을 하고 있습니다. 결과적으로 본딩 코드는 개선 사항 및 업데이트를 받습니다.
팀을 본딩으로 마이그레이션하는 방법에 대한 자세한 내용은 네트워크 팀 구성을 네트워크 본딩으로 마이그레이션을 참조하십시오.
Bugzilla:2013884
10.7. 파일 시스템 및 스토리지
lvm2-activation-generator
및 RHEL 9.0에서 제거된 서비스
lvm2-activation-generator
프로그램과 생성된 서비스 lvm2-activation
,lvm2-activation-early
, lvm2-activation-net
이 RHEL 9.0에서 제거됩니다. 서비스를 활성화하는 데 사용되는 lvm.conf event_activation
설정이 더 이상 작동하지 않습니다. 볼륨 그룹을 자동 활성화하는 유일한 방법은 이벤트 기반 활성화입니다.
10.8. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
libdb
가 더 이상 사용되지 않음
RHEL 8 및 RHEL 9는 현재 BerkeleyPLv2 라이센스에 따라 배포되는 Berkeley DB (libdb
) 버전 5.3.28을 제공합니다. 업스트림 Berkeley DB 버전 6은 더 제한적인 AGPLv3 라이센스에 따라 제공됩니다.
libdb
패키지는 RHEL 9부터 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제공되지 않을 수 있습니다.
또한 RHEL 9의 libdb
에서 암호화 알고리즘이 제거되었으며 RHEL 9에서 여러 libdb
종속 항목이 제거되었습니다.
libdb
사용자는 다른 키-값 데이터베이스로 마이그레이션하는 것이 좋습니다. 자세한 내용은 RHEL에서 더 이상 사용되지 않는 Berkeley DB(libdb)에 대한 지식베이스 문서 Available replacements for the deprecated Berkeley DB (libdb) 를 참조하십시오.
Bugzilla:1927780, Jira:RHELPLAN-80695, Bugzilla:1974657
10.9. 컴파일러 및 개발 도구
2048보다 작은 키 크기는 openssl
3.0에서 더 이상 사용되지 않습니다.
2048비트보다 작은 키 크기는 openssl
3.0에서 더 이상 사용되지 않으며 Go의 FIPS 모드에서 더 이상 작동하지 않습니다.
일부 PKCS1
v1.5 모드가 더 이상 사용되지 않음
일부 PKCS1
v1.5 모드는 암호화에 대해 FIPS-140-3
에서 승인되지 않으며 비활성화됩니다. Go의 FIPS 모드에서는 더 이상 작동하지 않습니다.
Bugzilla:2092016
10.10. IdM (Identity Management)
OpenDNSSec의 SHA-1
이 더 이상 사용되지 않음
OpenDNSSec은 SHA-1
알고리즘을 사용하여 디지털 서명 및 인증 레코드 내보내기를 지원합니다. SHA-1
알고리즘의 사용은 더 이상 지원되지 않습니다. RHEL 9 릴리스에서는 OpenDNSSec의 SHA-1
이 더 이상 사용되지 않으며 향후 마이너 릴리스에서 제거될 수 있습니다. 또한 OpenDNSSec 지원은 Red Hat Identity Management와의 통합으로 제한됩니다. OpenDNSSec은 독립형으로 지원되지 않습니다.
SSSD 암시적 파일 공급자 도메인은 기본적으로 비활성화되어 있습니다.
/etc/shadow
및 /etc/groups
에서 그룹 정보와 같은 로컬 파일에서 사용자 정보를 검색하는 SSSD 암시적 파일 공급자 도메인은 이제 기본적으로 비활성화되어 있습니다.
SSSD를 사용하여 로컬 파일에서 사용자 및 그룹 정보를 검색하려면 다음을 수행합니다.
SSSD를 구성합니다. 다음 옵션 중 하나를 선택합니다.
sssd.conf
구성 파일에서id_provider=files
옵션을 사용하여 로컬 도메인을 명시적으로 구성합니다.[domain/local] id_provider=files ...
sssd.conf
구성파일에
enable_files_domain=true
를 설정하여 파일 공급자를 활성화합니다.[sssd] enable_files_domain = true
이름 서비스 전환을 구성합니다.
# authselect enable-feature with-files-provider
Jira:RHELPLAN-100639
-h
및 -p
옵션은 OpenLDAP 클라이언트 유틸리티에서 더 이상 사용되지 않습니다.
업스트림 OpenLDAP 프로젝트는 유틸리티에서 -h
및 -p
옵션을 더 이상 사용되지 않으며, 대신 -H
옵션을 사용하여 LDAP URI를 지정하는 것이 좋습니다. 결과적으로 RHEL 9는 모든 OpenLDAP 클라이언트 유틸리티에서 이 두 가지 옵션을 더 이상 사용되지 않습니다. 향후 릴리스의 RHEL 제품에서 -h
및 -p
옵션이 제거됩니다.
Jira:RHELPLAN-137660
SSSD 파일
공급자가 더 이상 사용되지 않음
SSSD 파일
공급자는 RHEL(Red Hat Enterprise Linux) 9에서 더 이상 사용되지 않습니다. 파일
공급자는 RHEL의 향후 릴리스에서 제거될 수 있습니다.
Jira:RHELPLAN-139805
nsslapd-idlistscanlimit
매개변수가 더 이상 사용되지 않으며 기본값이 변경되었습니다.
새로운 필터 순서 최적화를 사용하면 검색 성능에 미치는 nsslapd-idlistlimit
특성에 미치는 영향이 도움이 됩니다. 결과적으로 속성은 더 이상 사용되지 않습니다. 또한 기본값은 2147483646
(unlimited)으로 변경되었습니다.
SMB1 프로토콜은 Samba에서 더 이상 사용되지 않음
Samba 4.11부터 비보안 SMB1(Server Message Block 버전 1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
보안을 개선하기 위해 기본적으로 SMB1은 Samba 서버 및 클라이언트 유틸리티에서 비활성화되어 있습니다.
Jira:RHELDOCS-16612
10.11. 데스크탑
GTK 2가 더 이상 사용되지 않음
레거시 GTK 2 툴킷 및 다음과 같은 관련 패키지는 더 이상 사용되지 않습니다.
-
adwaita-gtk2-theme
-
gnome-common
-
gtk2
-
gtk2-immodules
-
hexchat
현재 다른 여러 패키지는 GTK 2에 따라 다릅니다. 이는 향후 주요 RHEL 릴리스에서 더 이상 사용되지 않는 패키지에 의존하지 않도록 수정되었습니다.
GTK 2를 사용하는 애플리케이션을 유지 관리하는 경우 애플리케이션을 GTK 4에 포트하는 것이 좋습니다.
Jira:RHELPLAN-131882
LibreOffice가 더 이상 사용되지 않음
LibreOffice RPM 패키지는 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제거될 예정입니다. LibreOffice는 RHEL 7, 8 및 9의 전체 라이프 사이클을 통해 계속 지원됩니다.
RPM 패키지를 대체하기 위해 The Document Foundation에서 제공하는 다음 소스 중 하나에서 LibreOffice를 설치하는 것이 좋습니다.
- Flathub 리포지토리의 공식 Flatpak 패키지: https://flathub.org/apps/org.libreoffice.LibreOffice.
- 공식 RPM 패키지: https://www.libreoffice.org/download/download-libreoffice/.
Jira:RHELDOCS-16300
10.12. 그래픽 인프라
motif가 더 이상 사용되지 않음
업스트림 Motif 커뮤니티의 개발이 비활성 상태이기 때문에 RHEL에서 Motif 위젯 툴킷이 더 이상 사용되지 않습니다.
다음 Motif 패키지는 개발 및 디버깅 변형을 포함하여 더 이상 사용되지 않습니다.
-
motif
-
openmotif
-
openmotif21
-
openmotif22
또한 motif-static
패키지가 제거되었습니다.
GTK 툴킷을 대체용으로 사용할 것을 권장합니다. GTK는 보다 유지 관리할 수 있으며 Motif에 비해 새로운 기능을 제공합니다.
Jira:RHELPLAN-98983
10.13. Red Hat Enterprise Linux System Roles
RHEL 9 노드에서 팀을 구성할 때 네트워크
시스템 역할에 사용 중단 경고가 표시됩니다.
RHEL 9에서는 네트워크 팀 구성 기능이 더 이상 사용되지 않습니다. 결과적으로 RHEL 8 제어 노드에서 네트워크
RHEL 시스템 역할을 사용하여 RHEL 9 노드에서 네트워크 팀을 구성하면 사용 중단에 대한 경고가 표시됩니다.
10.14. 가상화
SHA1- 기반 서명을 사용한 SecureBoot 이미지 확인이 더 이상 사용되지 않음
UEFI (PE/COFF) 실행 파일에서 SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인을 수행하는 것이 더 이상 사용되지 않습니다. 대신 Red Hat은 SHA2 알고리즘 이상을 기반으로 서명을 사용하는 것이 좋습니다.
Bugzilla:1935497
가상 머신 스냅샷 지원 제한
현재 VM(가상 머신)의 스냅샷 생성은 UEFI 펌웨어를 사용하지 않는 VM에서만 지원됩니다. 또한 스냅샷 작업 중에 QEMU 모니터가 차단되어 특정 워크로드의 하이퍼바이저 성능에 부정적인 영향을 미칠 수 있습니다.
또한 현재 VM 스냅샷 생성 메커니즘이 더 이상 사용되지 않으며 프로덕션 환경에서 VM 스냅샷을 사용하지 않는 것이 좋습니다. 그러나 새로운 VM 스냅샷 메커니즘이 개발 중이며 향후 RHEL 9 마이너 릴리스에서 완전히 구현될 예정입니다.
Jira:RHELPLAN-15509, Bugzilla:1621944
가상 플로피 드라이버가 더 이상 사용되지 않음
가상 플로피 디스크 장치를 제어하는 isa-fdc
드라이버는 더 이상 사용되지 않으며 RHEL의 향후 릴리스에서 지원되지 않습니다. 따라서 마이그레이션된 VM(가상 머신)과의 향후 호환성을 보장하기 위해 RHEL 9에서 호스팅되는 VM에서 플로피 디스크 장치를 사용하지 않는 것이 좋습니다.
qcow2-v2 이미지 형식이 더 이상 사용되지 않음
RHEL 9에서는 가상 디스크 이미지의 qcow2-v2 형식이 더 이상 사용되지 않으며 RHEL의 향후 주요 릴리스에서 지원되지 않습니다. 또한 RHEL 9 Image Builder는 qcow2-v2 형식으로 디스크 이미지를 생성할 수 없습니다.
qcow2-v2 대신 qcow2-v3 사용을 권장합니다. qcow2-v2 이미지를 최신 형식 버전으로 변환하려면 qemu-img amend
명령을 사용합니다.
virt-manager가 더 이상 사용되지 않음
virt-manager라고도 하는 Virtual Machine Manager 애플리케이션은 더 이상 사용되지 않습니다. Cockpit 라고도 하는 RHEL 웹 콘솔은 후속 릴리스에서 교체될 예정입니다. 따라서 GUI에서 가상화를 관리하기 위해 웹 콘솔을 사용하는 것이 좋습니다. 그러나 virt-manager 에서 사용할 수 있는 일부 기능은 RHEL 웹 콘솔에서 아직 제공되지 않을 수 있습니다.
Jira:RHELPLAN-10304
libvirtd
가 더 이상 사용되지 않음
모놀리식 libvirt
데몬 libvirtd
는 RHEL 9에서 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 제거됩니다. 하이퍼바이저에서 가상화를 관리하는 데 libvirtd
를 계속 사용할 수 있지만 Red Hat은 새로 도입된 모듈식 libvirt
데몬으로 전환하는 것이 좋습니다. 지침 및 자세한 내용은 RHEL 9 구성 및 관리 문서를 참조하십시오.
Jira:RHELPLAN-113995
레거시 CPU 모델이 더 이상 사용되지 않음
상당한 수의 CPU 모델이 더 이상 사용되지 않으며 RHEL의 향후 주요 릴리스에서 VM(가상 머신)에서 사용할 수 없습니다. 더 이상 사용되지 않는 모델은 다음과 같습니다.
- Intel의 경우: Intel Xeon 55xx 및 75xx 프로세서 제품군 이전 모델 (Nhalem이라고도 함)
- AMD의 경우: AMD Opteron G4 이전 모델
- IBM Z: IBM z14 이전의 모델
VM에서 더 이상 사용되지 않는 CPU 모델을 사용하고 있는지 확인하려면 virsh dominfo
유틸리티를 사용하여 Messages
섹션에서 다음과 유사한 행을 찾습니다.
tainted: use of deprecated configuration settings deprecated configuration: CPU model 'i486'
RDMA 기반 실시간 마이그레이션이 더 이상 사용되지 않음
이번 업데이트를 통해 RDP(Remote Direct Memory Access)를 사용하여 실행 중인 가상 머신 마이그레이션이 더 이상 사용되지 않습니다. 결과적으로 rdma://
마이그레이션 URI를 사용하여 RDMA를 통해 마이그레이션을 요청할 수 있지만 이 기능은 향후 RHEL 주요 릴리스에서 지원되지 않습니다.
Jira:RHELPLAN-153267
10.15. 컨테이너
RHEL 7 호스트에서 RHEL 9 컨테이너 실행은 지원되지 않습니다.
RHEL 7 호스트에서 RHEL 9 컨테이너 실행은 지원되지 않습니다. 작동할 수는 있지만 보장되지는 않습니다.
자세한 내용은 Red Hat Enterprise Linux 컨테이너 호환성 매트릭스 를 참조하십시오.
Jira:RHELPLAN-100087
Podman 내의 SHA1 해시 알고리즘이 더 이상 사용되지 않음
Podman에서 루트리스 네트워크 네임스페이스의 파일 이름을 생성하는 데 사용되는 SHA1 알고리즘은 더 이상 지원되지 않습니다. 따라서 Podman 4.1.1 이상으로 업데이트하기 전에 시작된 rootless 컨테이너를 네트워크에 조인하면(Salirp 4netns
를 사용하지 않음) 업그레이드 후 컨테이너에 연결할 수 있도록 해야 합니다.
Bugzilla:2069279
rhel9/pause
가 더 이상 사용되지 않음
rhel9/pause
컨테이너 이미지가 더 이상 사용되지 않습니다.
CNI 네트워크 스택이 더 이상 사용되지 않음
CNI(Container Network Interface) 네트워크 스택은 향후 마이너 버전에서 더 이상 사용되지 않습니다. 이전에는 단일 CNI(Container Network Interface) 플러그인에 연결된 컨테이너가 DNS를 통해서만 플러그인에 연결되었습니다. Podman v.4.0은 새로운 Netavark 네트워크 스택을 도입했습니다. Podman 및 기타 OCI(Open Container Initiative) 컨테이너 관리 애플리케이션과 함께 Netavark 네트워크 스택을 사용할 수 있습니다. Podman용 Netavark 네트워크 스택은 고급 Docker 기능과도 호환됩니다. 여러 네트워크의 컨테이너는 이러한 네트워크의 컨테이너에 액세스할 수 있습니다.
자세한 내용은 CNI에서 Netavark로 네트워크 스택 전환을 참조하십시오.
Jira:RHELPLAN-147725
10.16. 더 이상 사용되지 않는 패키지
이 섹션에는 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 주요 릴리스에 포함되지 않는 패키지가 나열되어 있습니다.
RHEL 8과 RHEL 9 간의 패키지 변경 사항은 RHEL 9을 채택할 때 고려 사항의 패키지 변경을 참조하십시오.
더 이상 사용되지 않는 패키지의 지원 상태는 RHEL 9 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클 및 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
RHEL 9에서는 다음 패키지가 더 이상 사용되지 않습니다.
- iptables-devel
- iptables-libs
- iptables-nft
- iptables-nft-services
- iptables-utils
- libdb
- mcpp
- mod_auth_mellon
- motif
- motif-devel
- python3-pytz
- xorg-x11-server-Xorg
11장. 확인된 문제
이 부분에서는 Red Hat Enterprise Linux 9.2의 알려진 문제에 대해 설명합니다.
11.1. 설치 프로그램 및 이미지 생성
auth
및 authconfig
Kickstart 명령에는 AppStream 리포지토리가 필요
authselect-compat
패키지는 설치하는 동안 auth
및 authconfig
Kickstart 명령이 필요합니다. 이 패키지가 없으면 auth
또는 authconfig
가 사용되는 경우 설치에 실패합니다. 설계에 따라 authselect-compat
패키지는 AppStream 리포지토리에서만 사용할 수 있습니다.
이 문제를 해결하려면 설치 프로그램에 BaseOS 및 AppStream 리포지토리를 사용할 수 있는지 확인하거나 설치 중에 authselect
Kickstart 명령을 사용합니다.
Bugzilla:1640697
reboot --kexec
및 inst.kexec
명령에서 예측 가능한 시스템 상태를 제공하지 않음
reboot --kexec
Kickstart 명령 또는 inst.kexec
커널 부팅 매개변수를 사용하여 RHEL 설치를 수행하면 전체 재부팅과 동일한 예측 가능한 시스템 상태를 제공하지 않습니다. 결과적으로 재부팅하지 않고 설치된 시스템으로 전환하면 예기치 않은 결과가 발생할 수 있습니다.
kexec
기능은 더 이상 사용되지 않으며 Red Hat Enterprise Linux의 향후 릴리스에서 제거될 예정입니다.
Bugzilla:1697896
Anaconda가 애플리케이션으로 실행되는 시스템에서 예기치 않은 SELinux 정책
Anaconda가 이미 설치된 시스템에서 애플리케이션으로 실행되는 경우(예: -image
anaconda 옵션을 사용하여 이미지 파일에 다른 설치를 수행하기 위해) 시스템이 설치 중 SELinux 유형 및 속성을 수정하는 것을 금지하지 않습니다. 결과적으로 Anaconda가 실행 중인 시스템에서 SELinux 정책의 특정 요소가 변경될 수 있었습니다. 이 문제를 해결하려면 프로덕션 시스템에서 Anaconda를 실행하지 말고 임시 가상 머신에서 실행하십시오. 프로덕션 시스템의 SELinux 정책이 수정되지 않도록 합니다. boot.iso
또는 ….iso.iso에서 설치하는 등 시스템 설치 프로세스의 일부로 anaconda를 실행하는 것은 이 문제의 영향을 받지 않습니다.
타사 도구를 사용하여 생성된 USB에서 설치를 부팅할 때 로컬 미디어
설치 소스가 탐지되지 않음
타사 도구를 사용하여 생성된 USB에서 RHEL 설치를 부팅할 때 설치 프로그램이 로컬 미디어
설치 소스( Red Hat CDN 만 감지)를 감지하지 못합니다.
이 문제는 기본 부팅 옵션 int.stage2=
가 iso9660
이미지 형식을 검색하려고 시도하기 때문에 발생합니다. 그러나 타사 툴에서 다른 형식으로 ISO 이미지를 생성할 수 있습니다.
해결 방법으로 다음 해결 방법을 사용하십시오.
-
설치를 부팅할 때
Tab
키를 클릭하여 커널 명령줄을 편집하고inst.stage2=
를inst.repo=
로 변경합니다. - Windows에서 부팅 가능한 USB 장치를 생성하려면 Fedora Media Writer를 사용합니다.
- Rufus와 같은 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성하는 경우 먼저 Linux 시스템에서 RHEL ISO 이미지를 다시 생성한 다음 타사 도구를 사용하여 부팅 가능한 USB 장치를 생성합니다.
지정된 해결방법을 수행하는 것과 관련된 단계에 대한 자세한 내용은 RHEL 8.3 설치 중에 설치 미디어가 자동 탐지되지 않음을 참조하십시오.
Bugzilla:1877697
Anaconda에서 USB CD-ROM 드라이브를 설치 소스로 사용할 수 없습니다.
USB CD-ROM 드라이브가 해당 드라이브의 소스이고 Kickstart ignoredisk --only-use=
명령을 지정하면 설치에 실패합니다. 이 경우 Anaconda는 이 소스 디스크를 찾아서 사용할 수 없습니다.
이 문제를 해결하려면 harddrive --partition=sdX --dir=/
명령을 사용하여 USB CD-ROM 드라이브에서 설치합니다. 이로 인해 설치에 실패하지 않습니다.
드라이버 디스크 메뉴가 콘솔에 사용자 입력을 표시하지 못했습니다
드라이버 디스크가 있는 커널 명령행에서 inst.dd
옵션을 사용하여 RHEL 설치를 시작하면 콘솔에 사용자 입력이 표시되지 않습니다. 결과적으로 애플리케이션이 사용자 입력 및 정지에 응답하지 않지만 사용자에게 혼동되는 출력이 표시됩니다. 그러나 이 동작은 기능에 영향을 미치지 않으며 Enter
를 누른 후 사용자 입력이 등록됩니다.
해결 방법으로 예상 결과를 보려면 콘솔에 사용자 입력이 없는 것을 무시하고 입력 추가 완료 시 Enter
키를 누릅니다.
iso9660 파일 시스템을 사용하여 분할된 설치 실패
하드 드라이브가 iso9660
파일 시스템으로 분할된 시스템에는 RHEL을 설치할 수 없습니다. 이는 iso9660
파일 시스템 파티션을 포함하는 하드 디스크를 무시하도록 설정된 업데이트된 설치 코드 때문입니다. 이는 DVD를 사용하지 않고 RHEL을 설치하는 경우에도 발생합니다.
이 문제를 해결하려면 Kickstart 파일에 다음 스크립트를 추가하여 설치를 시작하기 전에 디스크를 포맷합니다.
참고: 해결 방법을 수행하기 전에 디스크에서 사용 가능한 데이터를 백업하십시오. wipefs
명령은 디스크의 기존 데이터를 모두 포맷합니다.
%pre
wipefs -a /dev/sda
%end
결과적으로 설치는 오류 없이 예상대로 작동합니다.
Anaconda에서 관리자 계정이 있는지 확인하지 못했습니다.
그래픽 사용자 인터페이스를 사용하여 RHEL을 설치하는 동안 Anaconda는 관리자 계정이 생성되었는지 확인하지 못합니다. 결과적으로 사용자는 관리자 사용자 계정없이 시스템을 설치할 수 있습니다.
이 문제를 해결하려면 관리자 계정을 구성하거나 root 암호가 설정되어 root 계정의 잠금을 해제해야 합니다. 결과적으로 사용자는 설치된 시스템에서 관리 작업을 수행할 수 있습니다.
새로운 XFS 기능은 버전 5.10 이전 펌웨어를 사용하여 PowerNV IBM POWER 시스템 부팅을 방지합니다.
PowerNV IBM POWER 시스템은 펌웨어에 Linux 커널을 사용하고 GRUB 대신 Petitboot를 사용합니다. 그러면 펌웨어 커널이 /boot
및 Petitboot에서 GRUB 설정을 읽고 RHEL을 부팅합니다.
RHEL 9 커널은 bigtime=1
및 inobtcount=1
기능을 버전 5.10 미만의 펌웨어가 있는 커널에서 이해할 수 없는 XFS 파일 시스템에 도입합니다.
이 문제를 해결하려면 /boot
에 다른 파일 시스템을 사용할 수 있습니다(예: ext4).
Bugzilla:1997832
RHEL for Edge 설치 프로그램 이미지가 rpm-ostree 페이로드를 설치할 때 마운트 지점을 생성하지 못했습니다.
RHEL for Edge 설치 프로그램 이미지에 사용되는 rpm-ostree
페이로드를 배포할 때 설치 프로그램이 사용자 지정 파티션에 대한 일부 마운트 지점을 제대로 생성하지 않습니다. 결과적으로 다음 오류로 인해 설치가 중단됩니다.
The command 'mount --bind /mnt/sysimage/data /mnt/sysroot/data' exited with the code 32.
이 문제를 해결하려면 다음을 수행합니다.
- 자동 파티션 구성표를 사용하고 수동으로 마운트 지점을 추가하지 마십시오.
-
/var
디렉토리 내에서만 마운트 지점을 수동으로 할당합니다. 예를 들어/var/my-mount-point
및 /var ,/
boot/var
.
결과적으로 설치 프로세스가 성공적으로 완료됩니다.
네트워크에 연결할 때 NetworkManager가 설치 후 시작되지 않지만 DHCP 또는 고정 IP 주소가 구성되지 않음
RHEL 9.0부터 Anaconda는 특정 ip=
또는 kickstart 네트워크 구성이 설정되지 않은 경우 네트워크 장치를 자동으로 활성화합니다. Anaconda는 각 이더넷 장치에 대한 기본 영구 구성 파일을 생성합니다. 연결 프로필에는 ONBOOT
및 autoconnect
값이 true
로 설정됩니다. 결과적으로 설치된 시스템을 시작하는 동안 RHEL은 네트워크 장치를 활성화하고 networkManager-wait-online
서비스가 실패합니다.
해결 방법으로 다음 중 하나를 수행합니다.
사용하려는 연결을 제외하고
nmcli
유틸리티를 사용하여 모든 연결을 삭제합니다. 예를 들면 다음과 같습니다.모든 연결 프로필을 나열합니다.
# nmcli connection show
필요하지 않은 연결 프로필을 삭제합니다.
# nmcli connection delete <connection_name>
<connection_name>을 삭제할 연결 이름으로 바꿉니다.
특정
ip=
또는 kickstart 네트워크 구성이 설정되지 않은 경우 Anaconda에서 자동 연결 네트워크 기능을 비활성화합니다.- Anaconda GUI에서 네트워크 및 호스트 이름으로 이동합니다.
- 비활성화할 네트워크 장치를 선택합니다.
- 구성을 클릭합니다.
- 일반 탭에서 우선 순위로 자동으로 연결을선택 취소합니다.
- 저장을 클릭합니다.
Bugzilla:2115783
설치 환경의 드라이버 업데이트 디스크에서 업데이트된 드라이버를 로드할 수 없음
설치 초기 램디스크의 동일한 드라이버가 이미 로드된 경우 드라이버 업데이트 디스크의 새 버전의 드라이버가 로드되지 않을 수 있습니다. 결과적으로 업데이트된 버전의 드라이버를 설치 환경에 적용할 수 없습니다.
이 문제를 해결하려면 inst.dd
옵션과 함께 modprobe.blacklist=
커널 명령줄 옵션을 사용합니다. 예를 들어 드라이버 업데이트 디스크에서 virtio_blk
드라이버의 업데이트된 버전이 로드되도록 하려면 modprobe.blacklist=virtio_blk
를 사용한 다음 드라이버 업데이트 디스크에서 드라이버를 적용하려면 일반 절차를 계속합니다. 결과적으로 시스템은 업데이트된 버전의 드라이버를 로드하여 설치 환경에서 사용할 수 있습니다.
Kickstart 설치가 네트워크 연결을 구성하지 못했습니다.
Anaconda는 NetworkManager API를 통해서만 Kickstart 네트워크 구성을 수행합니다. Anaconda는 %pre
kickstart 섹션 이후에 네트워크 구성을 처리합니다. 결과적으로 kickstart %pre
섹션의 일부 작업이 차단됩니다. 예를 들어 %pre
섹션에서 패키지를 다운로드하면 네트워크 구성을 사용할 수 없으므로 실패합니다.
이 문제를 해결하려면 다음을 수행합니다.
-
예를 들어
nmcli
툴을%pre
스크립트의 일부로 사용하여 네트워크를 구성합니다. -
설치 프로그램 부팅 옵션을 사용하여
%pre
스크립트의 네트워크를 구성합니다.
결과적으로 %pre
섹션의 작업에 네트워크를 사용할 수 있으며 Kickstart 설치 프로세스가 완료됩니다.
11.2. 소프트웨어 관리
설치 프로세스가 응답하지 않는 경우가 있음
RHEL을 설치할 때 설치 프로세스가 응답하지 않는 경우가 있습니다. /tmp/packaging.log
파일은 끝에 다음 메시지를 표시합니다.
10:20:56,416 DDEBUG dnf: RPM transaction over.
이 문제를 해결하려면 설치 프로세스를 다시 시작합니다.
11.3. 쉘 및 명령행 툴
ifcfg
파일을 사용하여 네트워크 인터페이스 이름 변경 실패
RHEL 9에서는 기본적으로 initscripts
패키지가 설치되지 않습니다. 결과적으로 ifcfg
파일을 사용하여 네트워크 인터페이스 이름 변경이 실패합니다. 이 문제를 해결하기 위해 Red Hat은 udev
규칙 또는 링크 파일을 사용하여 인터페이스 이름을 변경하는 것이 좋습니다. 자세한 내용은 Consistent 네트워크 인터페이스 장치 이름 지정 및 systemd.link(5)
매뉴얼 페이지를 참조하십시오.
권장 솔루션 중 하나를 사용할 수 없는 경우 initscripts
패키지를 설치합니다.
Bugzilla:2018112
RHEL 9에 기본적으로 chkconfig
패키지가 설치되지 않습니다.
시스템 서비스에 대한 이전 버전 정보를 업데이트하고 쿼리하는 chkconfig
패키지는 기본적으로 RHEL 9에 설치되지 않습니다.
서비스를 관리하려면 systemctl
명령을 사용하거나 chkconfig
패키지를 수동으로 설치합니다.
systemd
에 대한 자세한 내용은 systemd 관리를 참조하십시오. systemctl
유틸리티를 사용하는 방법에 대한 자세한 내용은 systemctl을 사용하여 시스템 서비스 관리를 참조하십시오.
Bugzilla:2053598
SLP(Service Location Protocol)는 UDP를 통한 공격에 취약합니다.
OpenSLP는 프린터 및 파일 서버와 같은 로컬 영역 네트워크의 애플리케이션에 대한 동적 구성 메커니즘을 제공합니다. 그러나 SLP는 인터넷에 연결된 시스템에서 UDP를 통한 서비스 확장 공격에 취약합니다. SLP를 사용하면 인증되지 않은 공격자가 SLP 구현에 의해 설정된 제한 없이 새 서비스를 등록할 수 있습니다. UDP를 사용하여 소스 주소를 스푸핑하면 공격자는 서비스 목록을 요청하여 스푸핑된 주소에 서비스 거부를 생성할 수 있습니다.
외부 공격자가 SLP 서비스에 액세스하지 못하도록 인터넷에 직접 연결된 네트워크와 같이 신뢰할 수 없는 네트워크에서 SLP를 비활성화합니다. 또는 이 문제를 해결하려면 UDP 및 TCP 포트 427에서 트래픽을 차단하거나 필터링하도록 방화벽을 구성합니다.
Bugzilla:2184570
11.4. 인프라 서비스
바인딩 및
되지 않은 SHA-1 기반 서명의 유효성 검사를 비활성화합니다.바인딩
바인딩 및
되지 않은 구성 요소는 모든 RSA/SHA1 (algorithm number 5) 및 RSASHA1-NSEC3-SHA1 서명의 유효성 검사 지원을 비활성화하고 서명의 SHA-1 사용은 DEFAULT 시스템 전체 암호화 정책으로 제한됩니다.
바인딩
결과적으로 SHA-1, RSA/SHA1 및 RSASHA1-NSEC3-SHA1 다이제스트 알고리즘에서 서명된 특정 DNSSEC 레코드가 Red Hat Enterprise Linux 9에서 확인되지 않고 영향을 받는 도메인 이름이 취약해집니다.
이 문제를 해결하려면 RSA/SHA-256 또는 타원 곡선 키와 같은 다른 서명 알고리즘으로 업그레이드하십시오.
보다 자세한 정보 및 영향을 받는 최상위 도메인 목록은 RSASHA1로 서명된 DNSSEC 레코드를 참조하십시오.
여러 영역에서 동일한 쓰기 가능한 영역 파일을 사용하는 경우 named
를 시작할 수 없습니다.
BIND에서는 여러 영역에 동일한 쓰기 가능한 영역 파일을 허용하지 않습니다. 결과적으로 구성에 named
서비스에서 수정할 수 있는 파일 경로를 공유하는 여러 영역이 포함된 경우 named
를 시작할 수 없습니다. 이 문제를 해결하려면 in-view
절을 사용하여 여러 뷰 간에 하나의 영역을 공유하고 다른 영역에 다른 경로를 사용해야 합니다. 예를 들어 경로에 보기 이름을 포함합니다.
쓰기 가능 영역 파일은 일반적으로 DNSSEC에서 유지 관리하는 동적 업데이트, 슬레이브 영역 또는 영역이 있는 영역에서 사용됩니다.
libotr
가 FIPS와 호환되지 않음
OTR(off-the-record) 메시징용 libotr
라이브러리 및 툴킷은 인스턴트 메시징 대화를 위한 엔드 투 엔드 암호화를 제공합니다. 그러나 libotr
라이브러리는 gcry_pk_sign()
및 gcry_pk_verify()
함수로 인해 FIPS(Federal Information Processing Standards)를 준수하지 않습니다. 결과적으로 FIPS 모드에서 libotr
라이브러리를 사용할 수 없습니다.
콘솔 키맵
을 설정하려면 최소 설치 시 libxkbcommon
라이브러리가 필요합니다.
RHEL 9에서는 특정 systemd
라이브러리 종속성이 동적 연결에서 동적 로드로 변환되어 시스템이 열려 있을 때 런타임 시 라이브러리가 열립니다. 이 변경으로 필요한 라이브러리를 설치하지 않는 한 이러한 라이브러리에 종속되는 기능을 사용할 수 없습니다. 이는 최소 설치가 있는 시스템의 키보드 레이아웃 설정에도 영향을 미칩니다. 그 결과 localectl --no-convert set-x11-keymap gb
명령이 실패합니다.
이 문제를 해결하려면 libxkbcommon
라이브러리를 설치합니다.
# dnf install libxkbcommon
Cryo stat
패키지의 %vmeff
메트릭에 잘못된 값이 표시됩니다.
Cryo stat
패키지는 %vmeff
메트릭을 제공하여 페이지 회수 효율성을 측정합니다. Cryostat는 이후 커널 버전에서 제공하는 모든 관련 /proc/vm
값을 구문 분석하지 않기 때문에 stat
sar -B
명령에서 반환된 %vmeff
열의 값이 올바르지 않습니다. 이 문제를 해결하려면 /proc/vmstat
파일에서 %vmeff
값을 수동으로 계산할 수 있습니다. 자세한 내용은 sar(1)
툴이 RHEL 8 및 RHEL 9에서 %
100 %를 초과하는 %를 보고하는이유를 참조하십시오.
11.5. 보안
ovnd-keygen
이 기본이 아닌 10.0.0.1을 올바르게 처리하지
않음
CloudEvent d-keygen
스크립트는 생성된 키 파일의 파일 권한을 변경하지 않습니다. 결과적으로 다른 사용자에 대한 키를 읽지 못하게 하는 기본 사용자 파일 생성 모드 마스크(octavia-creation mode mask)가 있는 시스템에서 키를 표시하는 대신 CloudEvent -show-keys
명령에서 오류 메시지 Internal Error 500
을 반환합니다.
이 문제를 해결하려면 CloudEvent o+r *.jwk
명령을 사용하여 /var/db/tang
디렉터리의 파일에 대한 권한을 변경합니다.
OpenSSL은 PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명 생성을 지원하는지 감지하지 않습니다.
TLS 1.3 프로토콜에는 RSA-PSS 서명을 지원해야 합니다. PKCS #11 토큰이 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 경우, PKCS #11 토큰에 키가 보유하는 경우 OpenSSL 라이브러리를 사용하는 서버 애플리케이션이 RSA 키와 작동하지 않습니다. 그 결과 설명된 시나리오에서 TLS 통신이 실패합니다.
이 문제를 해결하려면 TLS 버전 1.2를 사용 가능한 최고 TLS 프로토콜 버전으로 사용하도록 서버 및 클라이언트를 구성합니다.
Bugzilla:1681178
OpenSSL
이 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 PKCS #11 토큰을 잘못 처리
OpenSSL
라이브러리에서 PKCS #11 토큰의 키 관련 기능을 감지하지 않습니다. 결과적으로 원시 RSA 또는 RSA-PSS 서명을 지원하지 않는 토큰을 사용하여 서명을 생성할 때 TLS 연결을 설정하지 못합니다.
이 문제를 해결하려면 /etc/pki/tls/openssl.cnf
파일의 crypto_policy
섹션 끝에 .include
행 뒤에 다음 행을 추가합니다.
SignatureAlgorithms = RSA+SHA256:RSA+SHA512:RSA+SHA384:ECDSA+SHA256:ECDSA+SHA512:ECDSA+SHA384 MaxProtocol = TLSv1.2
그 결과 설명된 시나리오에서 TLS 연결을 설정할 수 있습니다.
Bugzilla:1685470
특정 구문이 사용될 때 SCP가 복사된 파일들
scp
유틸리티는 SCP(Secure copy protocol)에서 더 안전한 SSH 파일 전송 프로토콜(SECDHE)으로 변경되었습니다. 결과적으로 위치에서 동일한 위치로 파일을 복사하면 파일 내용이 지워집니다. 이 문제는 다음 구문에 영향을 미칩니다.
scp localhost:/myfile localhost:/myfile
이 문제를 해결하려면 이 구문을 사용하여 소스 위치와 동일한 파일을 대상에 복사하지 마십시오.
다음 구문에 대한 문제가 해결되었습니다.
-
scp /myfile localhost:/myfile
-
scp localhost:~/myfile ~/myfile
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 맞춤형 프로파일에 대한 그래픽 설치를 사용할 수 있습니다.
Ansible 수정을 위해서는 추가 컬렉션이 필요합니다.
ansible-core
패키지를 통해 Ansible Engine을 교체하면 RHEL 서브스크립션과 함께 제공되는 Ansible 모듈 목록이 줄어듭니다. 결과적으로 scap-security-guide
패키지 내에 포함된 Ansible 콘텐츠를 사용하는 수정을 실행하려면 rhc-worker-playbook
패키지의 컬렉션이 필요합니다.
Ansible 수정을 위해 다음 단계를 수행합니다.
필수 패키지를 설치합니다.
# dnf install -y ansible-core scap-security-guide rhc-worker-playbook
/usr/share/scap-security-guide/ansible
디렉터리로 이동합니다.# cd /usr/share/scap-security-guide/ansible
추가 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 콘텐츠를 활성화하는 데 제한됩니다.
oscap-anaconda-addon
은 CIS가 Network Servers 패키지 그룹을 사용하여 시스템을 강화할 수 없습니다.
CIS 보안 프로파일을 사용하여 RHEL Network Server를 설치할 때 (
,cis
_server_l1cis_workstation_l1
, cis_workstation_l1 , 또는 cis_workstation_l2
)는 Network Servers 패키지 그룹이 선택된 시스템의 경우,
. 설치를 계속 진행하려면 소프트웨어 선택 옵션으로 돌아가서 oscap-addon
은 오류 메시지 패키지 tftp가 제외된 패키지 목록에 추가되었지만, 현재 소프트웨어 선택에서 제거할 수 없습니다네트워크 서버
추가 소프트웨어를 선택 취소하여 설치를 완료하고 강화를 완료합니다. 그런 다음 필요한 패키지를 설치합니다.
Keylime이 연결된 PEM 인증서를 허용하지 않음
Keylime가 단일 파일에 연결된 PEM 형식의 여러 인증서로 인증서 체인을 수신하는 경우 키lime-agent-rust
Keylime 구성 요소는 서명 확인 중에 제공된 모든 인증서를 올바르게 사용하지 않으므로 TLS 핸드셰이크 오류가 발생합니다. 결과적으로 클라이언트 구성 요소(keylime_verifier
및 keylime_tenant
)는 Keylime 에이전트에 연결할 수 없습니다. 이 문제를 해결하려면 여러 인증서 대신 하나의 인증서만 사용하십시오.
Jira:RHELPLAN-157225
Keylime에는 tls_dir = default
에 대한 특정 파일이 필요합니다.
tls_dir
변수가 Keylime verifier 또는 등록 기관 구성에서 default
로 설정된 경우 Keylime은 /var/lib/keylime/cv_ca
디렉터리에 cacert.crt
파일이 있는지 확인합니다. 파일이 없으면 keylime_verifier
또는 keylime_registrar
서비스가 시작되지 않고 로그에 다음 메시지를 기록합니다: 예외: 확인자가 CA와 인증서를 생성하지 않은 것으로 표시됩니다. 먼저 verifier를 실행하십시오
. 결과적으로 Keylime은 /var/lib/keylime/ca_cv
디렉터리에 배치되어도 다른 파일 이름을 가진 CA(사용자 정의 인증 기관) 인증서를 거부합니다.
이 문제를 해결하고 사용자 정의 CA 인증서를 사용하려면 tls_dir = default
를 사용하는 대신 tls_dir =/var/lib/keylime/ca_cv
를 수동으로 지정합니다.
Jira:RHELPLAN-157337
기본 SELinux 정책을 사용하면 제한되지 않은 실행 파일이 스택을 실행 가능하게 합니다.
SELinux 정책의 selinuxuser_execstack
부울의 기본 상태는 on입니다. 즉, 제한되지 않은 실행 파일이 스택 실행 파일을 실행할 수 있습니다. 실행 파일은 이 옵션을 사용하지 않아야 하며 잘못 코딩된 실행 파일 또는 가능한 공격을 나타낼 수 있습니다. 그러나 다른 도구, 패키지 및 타사 제품과의 호환성으로 인해 Red Hat은 기본 정책의 부울 값을 변경할 수 없습니다. 시나리오가 이러한 호환성 측면을 사용하지 않는 경우 setsebool -P selinuxuser_execstack off
명령을 입력하여 로컬 정책에서 부울을 해제할 수 있습니다.
STIG 프로필의 SSH 제한 시간 규칙 구성 잘못된 옵션
OpenSSH의 업데이트로 다음의 정보 시스템 기관 (DISA STIG) 프로필의 규칙에 영향을 미쳤습니다.
-
DISA STIG for RHEL 9 (
xccdf_org.ssgproject.content_profile_stig
) -
RHEL 9용 GUI가 포함된 DISA STIG (
xccdf_org.ssgproject.content_profile_stig_gui
)
다음의 두 가지 규칙에 따라 다음 두 가지 규칙이 영향을 받습니다.
Title: Set SSH Client Alive Count Max to zero CCE Identifier: CCE-90271-8 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_keepalive_0 Title: Set SSH Idle Timeout Interval CCE Identifier: CCE-90811-1 Rule ID: xccdf_org.ssgproject.content_rule_sshd_set_idle_timeout
SSH 서버에 적용하면 이러한 각 규칙은 더 이상 이전과 같이 작동하지 않는 옵션(ClientAliveCountMax
및 ClientAliveInterval
)을 구성합니다. 결과적으로 이러한 규칙으로 구성된 시간 초과에 도달하면 OpenSSH가 더 이상 유휴 SSH 사용자의 연결을 끊지 않습니다. 해결 방법으로 이러한 규칙은 RHEL 9용 DISA STIG에서 임시로 제거되었으며 솔루션이 개발될 때까지 GUI가 포함된 DISA STIG가 있습니다.
암호화 정책에서
허용하지 않는 경우에도 GnuPG에서 SHA-1 서명을 사용할 수 있도록 잘못 허용
GNU 개인 정보 보호기 (GnuPG) 암호화 소프트웨어는 시스템 전체 암호화 정책에서 정의한 설정에 관계없이 SHA-1 알고리즘을 사용하는 서명을 생성하고 확인할 수 있습니다. 결과적으로 DEFAULT
암호화 정책의 암호화 목적으로 SHA-1을 사용할 수 있으며 서명의 이 안전하지 않은 알고리즘의 시스템 전체 사용 중단과 일치하지 않습니다.
이 문제를 해결하려면 SHA-1과 관련된 GnuPG 옵션을 사용하지 마십시오. 결과적으로 보안되지 않은 SHA-1 서명을 사용하여 GnuPG가 기본 시스템 보안을 낮추지 못하도록 합니다.
GPG-agent
가 FIPS 모드에서 SSH 에이전트로 작동하지 않음
FIPS 모드가 MD5 다이제스트를 비활성화하더라도 gpg-agent
툴은 ssh-agent
프로그램에 키를 추가할 때 MD5 지문을 생성합니다. 결과적으로 ssh-add
유틸리티가 인증 에이전트에 키를 추가하지 못합니다.
이 문제를 해결하려면 gpg-agent --daemon --enable-ssh-support
명령을 사용하지 않고 ~/.gnupg/sshcontrol
파일을 생성합니다. 예를 들어 < FINGERPRINT> 0
형식의 gpg --list-keys
명령의 출력을 ~/.gnupg/sshcontrol
에 붙여넣을 수 있습니다. 결과적으로 gpg-agent
는 SSH 인증 에이전트로 작동합니다.
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
자세한 내용 및 해결 방법은 관련 지식베이스 문서를 참조하십시오.
Kickstart 설치 중 서비스 관련 규칙 수정에 실패할 수 있습니다.
Kickstart 설치 중에 OpenSCAP 유틸리티에서 서비스 활성화
또는 비활성화
상태 수정이 필요하지 않은 것으로 잘못 표시되는 경우가 있습니다. 그 결과 OpenSCAP에서 설치된 시스템의 서비스를 비준수 상태로 설정할 수 있습니다. 이 문제를 해결하려면 Kickstart 설치 후 시스템을 스캔하고 수정할 수 있습니다. 이렇게 하면 서비스 관련 문제가 해결됩니다.
11.6. 네트워킹
nm-cloud-setup
서비스는 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거합니다.
클라우드 환경에서 수신된 정보를 기반으로 nm-cloud-setup
서비스는 네트워크 인터페이스를 구성합니다. nm-cloud-setup
을 비활성화하여 인터페이스를 수동으로 구성합니다. 그러나 경우에 따라 호스트의 다른 서비스도 인터페이스를 구성할 수 있습니다. 예를 들어 이러한 서비스는 보조 IP 주소를 추가할 수 있습니다. nm-cloud-setup
이 보조 IP 주소를 제거하지 않도록 하려면 다음을 수행합니다.
nm-cloud-setup
서비스 및 타이머를 중지하고 비활성화합니다.# systemctl disable --now nm-cloud-setup.service nm-cloud-setup.timer
사용 가능한 연결 프로필을 표시합니다.
# nmcli connection show
영향을 받는 연결 프로파일의 반응:
# nmcli connection up "<profile_name>"
결과적으로 이 서비스는 더 이상 인터페이스에서 수동으로 구성된 보조 IP 주소를 제거하지 않습니다.
세션 키를 업데이트하지 않으면 연결이 끊어집니다.
kTLS(커널 전송 계층 보안) 프로토콜은 대칭 암호에서 사용하는 세션 키 업데이트를 지원하지 않습니다. 결과적으로 사용자가 키를 업데이트할 수 없으므로 연결이 중단됩니다. 이 문제를 해결하려면 kTLS를 비활성화합니다. 따라서 임시 방법으로 세션 키를 업데이트할 수 있습니다.
Bugzilla:2013650
initscripts
패키지는 기본적으로 설치되지 않습니다.
기본적으로 initscripts
패키지는 설치되지 않습니다. 결과적으로 ifup
및 ifdown
유틸리티를 사용할 수 없습니다. 또는 nmcli connection up
및 nmcli connection down
명령을 사용하여 연결을 활성화하고 비활성화합니다. 제안된 대체 방법이 작동하지 않는 경우 문제를 보고하고 ifup
및 ifdown
유틸리티에 NetworkManager 솔루션을 제공하는 NetworkManager-initscripts-updown
패키지를 설치합니다.
mlx5
드라이버 및 3498 바이트보다 큰 MTU와 XDP 멀티 버퍼 모드를 사용하려면 RX Striding RQ를 비활성화해야합니다.
다음 조건과 일치하는 호스트에서 다중 버퍼 모드로 XDP(EXpress Data Path) 스크립트를 실행하면 실패합니다.
-
호스트는
mlx5
드라이버를 사용합니다. - 최대 전송 단위(MTU) 값은 3498바이트보다 큽니다.
- Mellanox 인터페이스에서 수신 중단 수신 대기열(RX Striding RQ) 기능이 활성화되어 있습니다.
모든 조건이 적용되면 link set xdp fd failed
오류로 인해 스크립트가 실패합니다. MTU가 더 높은 호스트에서 XDP 스크립트를 실행하려면 Mellanox 인터페이스에서 RX Striding RQ를 비활성화합니다.
# ethtool --set-priv-flags <interface_name> rx_striding_rq off
결과적으로 mlx5
드라이버를 사용하고 MTU 값이 3498바이트를 초과하는 인터페이스에서 XDP 멀티 버퍼 모드를 사용할 수 있습니다.
Jira:RHEL-6496
11.7. 커널
커널의 kdump
메커니즘으로 인해 64K 커널에서 OOM
오류가 발생합니다.
64비트 ARM 아키텍처의 64K 커널 페이지 크기는 4KB 커널보다 많은 메모리를 사용합니다. 결과적으로 kdump
는 커널 패닉 상태가 발생하고 메모리 할당이 OOM(메모리 부족) 오류로 인해 실패합니다. 작업을 수행하는 경우 crashkernel
값을 640MB로 수동으로 구성합니다. 예를 들어 crashkernel=
매개변수를 crashkernel=2G- :640M
으로 설정합니다.
그 결과 설명된 시나리오의 64K 커널에서 kdump
메커니즘이 실패하지 않습니다.
Bugzilla:2160676
커널 페이지 크기에 종속된 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다.
RHEL은 4k 및 64k 페이지 크기 커널과 호환됩니다. 4k 커널 페이지 크기에 종속 항목이 있는 고객 애플리케이션은 4k에서 64k 페이지 크기 커널로 이동할 때 업데이트해야 할 수 있습니다. 알려진 인스턴스에는 jemalloc
및 종속 애플리케이션이 포함됩니다.
jemalloc
메모리 할당기 라이브러리는 시스템의 런타임 환경에서 사용되는 페이지 크기에 민감합니다. 라이브러리를 빌드하여 4k 및 64k 페이지 크기 커널과 호환되도록 빌드할 수 있습니다. 예를 들어 --with-lg-page=16
또는 env JEMALLOC_SYS_WITH_LG_PAGE=16
(Jemal locator
Rust crate의 경우)으로 구성할 수 있습니다. 결과적으로 런타임 환경의 페이지 크기와 jemalloc
에 의존하는 바이너리를 컴파일할 때 존재하는 페이지 크기 사이에 불일치가 발생할 수 있습니다. 결과적으로 jemalloc
기반 애플리케이션을 사용하면 다음 오류가 트리거됩니다.
<jemalloc>: Unsupported system page size
이 문제를 방지하려면 다음 방법 중 하나를 사용하십시오.
- 적절한 빌드 구성 또는 환경 옵션을 사용하여 4k 및 64k 페이지 크기 호환 바이너리를 생성합니다.
-
최종 64k 커널 및 런타임 환경으로 부팅한 후
jemalloc
을 사용하는 사용자 공간 패키지를 빌드합니다.
예를 들어 jemalloc
을 사용하여 Rust 패키지 관리자와 함께 fd-find
도구를 빌드할 수 있습니다. 마지막 64k 환경에서 모든 종속 항목의 새 빌드를 트리거하여 hugepages 명령을 입력하여 페이지 크기의 불일치를
확인합니다
.
# cargo install fd-find --force
Bugzilla:2167783
kdump
서비스가 IBM Z 시스템에서 initrd
파일을 빌드하지 못했습니다.
64비트 IBM Z 시스템에서 znet
관련 설정 정보가 비활성 NetworkManager
연결 프로필에 있는 경우 kdump
서비스는 초기 RAM 디스크(initrd
)를 로드하지 못합니다. 결과적으로
kdump
메커니즘이 다음 오류와 함께 실패합니다.
dracut: Failed to set up znet kdump: mkdumprd: failed to make kdump initrd
해결 방법으로 다음 솔루션 중 하나를 사용하십시오.
znet
구성 정보가 있는 연결 프로필을 다시 사용하여 네트워크 본딩 또는 브리지를 구성합니다.$ nmcli connection modify enc600 master bond0 slave-type bond
비활성 연결 프로필의
znet
구성 정보를 활성 연결 프로필에 복사합니다.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 --
비활성 연결의 구성 정보로 활성 프로필을 업데이트합니다.
#!/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
변경 사항을 적용하려면
kdump
서비스를 다시 시작하십시오.# kdumpctl restart
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
지연 계정
기능이 기본적으로 SWAPIN
및 IO%
통계 열을 표시하지 않습니다.
초기 버전과 달리 지연된
계정 기능은 기본적으로 비활성화되어 있습니다. 결과적으로 iotop
애플리케이션에 SWAPIN
및 IO%
통계 열이 표시되지 않고 다음 경고가 표시됩니다.
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO%
taskstats
인터페이스를 사용하는 지연 계정 기능은 스레드 그룹에 속하는 모든 작업 또는 스레드에 대한 지연 통계를 제공합니다. 작업 실행 지연은 커널 리소스가 사용 가능할 때까지 기다릴 때 지연됩니다(예: 사용 가능한 CPU가 실행될 때까지 대기 중인 작업). 통계는 작업의 CPU 우선 순위, I/O 우선 순위 및
rss
제한 값을 적절하게 설정하는 데 도움이 됩니다.
이 문제를 해결하려면 런타임 또는 부팅 시 delayacct
부팅 옵션을 활성화할 수 있습니다.
런타임에
delayacct
를 활성화하려면 다음을 입력합니다.echo 1 > /proc/sys/kernel/task_delayacct
이 명령은 기능 시스템 전체에 적용되지만 이 명령을 실행한 후 시작하는 작업에 대해서만 사용할 수 있습니다.
부팅 시
지연을
영구적으로 활성화하려면 다음 절차 중 하나를 사용하십시오./etc/sysctl.conf
파일을 편집하여 기본 매개변수를 재정의합니다./etc/sysctl.conf
파일에 다음 항목을 추가합니다.kernel.task_delayacct = 1
자세한 내용은 Red Hat Enterprise Linux에서 sysctl 변수를 설정하는 방법을 참조하십시오.
- 변경 사항을 적용하려면 시스템을 재부팅합니다.
kernel 명령줄에
delayacct
옵션을 추가합니다.자세한 내용은 커널 명령줄 매개변수 구성을 참조하십시오.
결과적으로 iotop
애플리케이션에 SWAPIN
및 IO%
통계 열이 표시됩니다.
Bugzilla:2132480
kdump
메커니즘이 LUKS 암호화 대상에서 vmcore
파일을 캡처하지 못했습니다.
Linux Unified Key Setup (LUKS) 암호화 파티션이 있는 시스템에서 kdump
를 실행하는 경우 시스템에 특정 양의 사용 가능한 메모리가 필요합니다. 사용 가능한 메모리가 필요한 메모리 양보다 작으면 systemd-cryptsetup
서비스가 파티션을 마운트하지 못합니다. 결과적으로 두 번째 커널은 LUKS 암호화 대상에서 크래시 덤프 파일(vmcore
)을 캡처하지 못합니다.
kdumpctl estimate
명령을 사용하면 kdump
에 필요한 권장 메모리 크기인 권장 crashkernel 값을
쿼리할 수 있습니다.
이 문제를 해결하려면 다음 단계를 사용하여 LUKS 암호화된 대상에서 kdump
에 필요한 메모리를 설정합니다.
예상
crashkernel
값을 출력합니다.# kdumpctl estimate
crashkernel
값을 늘려 필요한 메모리 양을 구성합니다.# grubby --args=crashkernel=652M --update-kernel=ALL
변경 사항을 적용하려면 시스템을 재부팅합니다.
# reboot
결과적으로 kdump
는 LUKS 암호화 파티션이 있는 시스템에서 올바르게 작동합니다.
Bugzilla:2017401
부팅 시 크래시 커널 메모리 할당 실패
특정 Ampere Altra 시스템에서 사용 가능한 메모리가 1GB 미만인 경우 kdump
사용에 대해 크래시 커널 메모리를 할당하는 데 실패합니다. 결과적으로 kdumpctl
명령이 kdump
서비스를 시작하지 못했습니다.
이 문제를 해결하려면 다음 중 하나를 수행합니다.
-
크기 요구 사항(예:
crashkernel
=240M -
crashkernel=x,high
옵션을 사용하여kdump
에 대해 4GB 이상의 크래시 커널 메모리를 예약합니다.
결과적으로 Ampere Altra 시스템에서 kdump
에 대한 크래시 커널 메모리 할당이 실패하지 않습니다.
VMD가 활성화되면 RHEL에서 NVMe 디스크를 인식하지 못합니다.
드라이버를 재설정하거나 다시 연결할 때 VMI(볼륨 관리 장치) 도메인은 현재 소프트 재설정이 아닙니다. 결과적으로 하드웨어가 장치를 올바르게 감지하고 열거할 수 없습니다. 결과적으로 VMD가 활성화된 운영 체제는 NVMe 디스크를 인식하지 못합니다. 특히 서버를 재설정하거나 VM 머신으로 작업할 때 그러합니다.
Bugzilla:2128610
iwl7260-firmware
는 Intel Wi-Fi 6 AX200, AX210 및ECDHE ThinkPad P1 Gen 4에서 Wi-Fi를 중단
iwl7260-firmware
또는 iwl7260-wifi
드라이버를 RHEL 9.1 이상에서 제공하는 버전으로 업데이트한 후 하드웨어가 잘못된 내부 상태로 전환됩니다. 결과적으로 IntelECDHE 6 카드가 작동하지 않아 오류 메시지를 표시할 수 있습니다.
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110 kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms) kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
확인되지 않은 작업은 시스템의 전원을 끄고 다시 켜는 것입니다. 재부팅하지 마십시오.
Bugzilla:2129288
Weak-modules
from kmod
fails to work with module inter-dependencies
kmod
패키지에서 제공하는 weak-modules
스크립트는 설치된 커널과 호환되는 kABI-호환 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은 모듈
기호의 종속성을 더 높은에서 더 낮은 버전의 커널 릴리스까지 제공합니다. 결과적으로 다른 커널 릴리스에 대해 빌드된 상호 의존 관계가 있는 모듈이 호환되지 않는 것으로 해석될 수 있으므로 약한 모듈
스크립트가 이 시나리오에서 작동하지 않습니다.
이 문제를 해결하려면 새 커널을 설치하기 전에 최신 스포지 커널에 대해 추가 모듈을 빌드하거나 배치합니다.
Bugzilla:2103605
Mellanox ConnectX-5
어댑터를 사용하는 동안 mlx5
드라이버가 실패합니다.
이더넷 스위치 장치 드라이버 모델(switchdev
) 모드에서 DMFS(Device managed flow steering) 매개변수 및 ConnectX-5
어댑터 지원 하드웨어로 구성된 경우 mlx5
드라이버가 실패합니다. 결과적으로 다음과 같은 오류 메시지가 표시됩니다.
BUG: Bad page cache in process umount pfn:142b4b
이 문제를 해결하려면 DMFS 대신 SMFS(Software managed flow steering) 매개변수를 사용하십시오.
Bugzilla:2180665
코어가 큰 시스템에서 실시간 커널의 하드웨어 인증을 사용하려면 잠금 경합을 방지하기 위해 skew-tick=1
부팅 매개변수를 전달해야 할 수 있습니다.
다수의 소켓과 대규모 코어 개수가 있는 대규모 또는 중간 규모의 시스템은 시간 보관 시스템에 사용되는 xtime_lock
의 잠금 경합으로 인해 대기 시간이 급증할 수 있습니다. 결과적으로 멀티프로세싱 시스템에서 대기 시간이 급증하고 하드웨어 인증 지연이 발생할 수 있습니다. 이 문제를 해결하려면 skew_tick=1
부팅 매개변수를 추가하여 CPU당 타이머 눈금을 다른 시간에 시작할 수 있습니다.
잠금 충돌을 방지하려면 skew_tick=1
을 활성화합니다.
grubby
를 사용하여skew_tick=1
매개변수를 활성화합니다.# grubby --update-kernel=ALL --args="skew_tick=1"
- 변경 사항을 적용하려면 재부팅하십시오.
-
cat /proc/cmdline
명령을 실행하여 새 설정을 확인합니다.
skew_tick=1
을 활성화하면 전력 소비가 크게 증가하므로 대기 시간에 민감한 실시간 워크로드를 실행하는 경우에만 활성화해야 합니다.
Bugzilla:2214508
dkms
는 64비트 ARM CPU에서 올바르게 컴파일된 드라이버를 사용하여 프로그램 오류에 대한 잘못된 경고를 제공합니다.
동적 커널 모듈 지원(dkms
) 유틸리티는 64비트 ARM CPU의 커널 헤더가 4 킬로바이트 및 64 킬로바이트 페이지 크기가 있는 커널 모두에서 작동하는지 인식하지 못합니다. 결과적으로 커널 업데이트가 수행되고 kernel-64k-devel
패키지가 설치되지 않은 경우 dkms
는 프로그램이 올바르게 컴파일된 드라이버에서 실패한 이유에 대한 잘못된 경고를 제공합니다. 이 문제를 해결하려면 두 가지 유형의 ARM CPU 아키텍처에 대한 헤더 파일이 포함된 kernel-headers
패키지를 설치하고 dkms
및 해당 요구 사항에 국한되지 않습니다.
Jira:RHEL-25967
11.8. 파일 시스템 및 스토리지
Anaconda는 CHAP 인증 시도에 실패한 후 인증 방법을 사용하지 않고
iSCSI 서버에 로그인하지 못했습니다.
CHAP 인증을 사용하여 iSCSI 디스크를 추가하고 잘못된 인증 정보로 인해 로그인 시도가 실패하면 인증 방법이 없는
디스크에 다시 로그인하지 못합니다. 이 문제를 해결하려면 현재 세션을 닫고 no authentication
방법을 사용하여 로그인합니다.
Bugzilla:1983602
Mapper Multipath는 NVMe/TCP에서 지원되지 않습니다.
nvme-tcp
드라이버와 Device Mapper Multipath를 사용하면 call Trace 경고 및 시스템 불안정성을 유발할 수 있습니다. 이 문제를 해결하기 위해 NVMe/TCP 사용자는 기본 NVMe 멀티패스를 활성화해야 하며 NVMe에서 device-mapper-multipath
도구를 사용하지 않아야 합니다.
기본적으로 Native NVMe 멀티패스가 RHEL 9에서 활성화됩니다. 자세한 내용은 NVMe 장치에서 다중 경로 활성화를 참조하십시오.
Bugzilla:2033080
blk-availability
systemd 서비스는 복잡한 장치 스택을 비활성화합니다.
systemd
에서 기본 블록 비활성화 코드는 항상 복잡한 가상 블록 장치 스택을 올바르게 처리하는 것은 아닙니다. 일부 구성에서는 종료 중에 가상 장치가 제거되지 않아 오류 메시지가 기록될 수 있습니다. 이 문제를 해결하려면 다음 명령을 실행하여 복잡한 블록 장치 스택을 비활성화합니다.
# systemctl enable --now blk-availability.service
결과적으로 복잡한 가상 장치 스택은 종료 중에 올바르게 비활성화되고 오류 메시지가 생성되지 않습니다.
Bugzilla:2011699
할당량이 활성화된 XFS 파일 시스템에서 더 이상 할당량을 비활성화할 수 없습니다.
RHEL 9.2에서는 할당량이 활성화된 상태에서 마운트된 XFS 파일 시스템에서 더 이상 할당량 계산을 비활성화할 수 없습니다.
이 문제를 해결하려면 quota 옵션을 제거하여 파일 시스템을 다시 마운트하여 할당량 계산을 비활성화합니다.
Bugzilla:2160619
NVMe-FC 장치를 /etc/fstab
에서 마운트 지점으로 추가할 때 시스템이 부팅되지 않음
/etc/fstab
파일을 통해 마운트된 NVMe-FC(Non-volatile Memory Express over Fibre Channel) 장치는 부팅 시 마운트되지 못하고 시스템이 긴급 모드로 전환됩니다. 이는 nvme-cli nvmf-autoconnect systemd
서비스의 알려진 버그 때문입니다.
Bugzilla:2168603
NVMe 장치에 대한 udev 규칙 변경
OPTIONS="string_escape=replace"
매개변수를 추가하는 NVMe 장치에 대한 udev 규칙 변경 사항이 있습니다. 이로 인해 장치의 일련 번호가 앞에 공백이 있는 경우 일부 공급 업체의 경우 디스크 by-id 이름 변경이 발생합니다.
11.9. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
python3.11-lxml
은 lxml.isoschematron
하위 모듈을 제공하지 않습니다.
python3.11-lxml
패키지는 오픈 소스 라이센스에 속하지 않기 때문에 lxml.isoschematron
하위 모듈 없이 배포됩니다. 하위 모듈은 ISO Schematron 지원을 구현합니다. 다른 방법으로 lxml.etree.Schematron
클래스에서는 pre-ISO-Schematron 검증을 사용할 수 있습니다. python3.11-lxml
패키지의 나머지 콘텐츠는 영향을 받지 않습니다.
MySQL
및 MariaDB
의 --ssl-fips-mode
옵션은 FIPS 모드를 변경하지 않습니다.
RHEL의 MySQL
및 MariaDB
의 --ssl-fips-mode
옵션은 업스트림과 다르게 작동합니다.
RHEL 9에서는 mysqld
또는 mariadbd
데몬의 인수로 --ssl-fips-mode
를 사용하거나 MySQL
또는 MariaDB
서버 구성 파일에서 ssl-fips-mode
를 사용하는 경우 --ssl-fips-mode
는 이러한 데이터베이스 서버의 FIPS 모드를 변경하지 않습니다.
대신:
-
--ssl-fips-mode
를ON
으로 설정하면mysqld
또는mariadbd
서버 데몬이 시작되지 않습니다. -
FIPS 지원 시스템에서
--ssl-fips-mode
를OFF
로 설정하면mysqld
또는mariadbd
서버 데몬이 FIPS 모드에서 계속 실행됩니다.
이는 특정 구성 요소에 대해 전체 RHEL 시스템에서 FIPS 모드를 활성화하거나 비활성화해야 하므로 예상될 것입니다.
따라서 RHEL의 MySQL
또는 MariaDB
에서 --ssl-fips-mode
옵션을 사용하지 마십시오. 대신 전체 RHEL 시스템에서 FIPS 모드가 활성화되어 있는지 확인합니다.
- FIPS 모드가 활성화된 RHEL을 설치하는 것이 좋습니다. 설치 중에 FIPS 모드를 활성화하면 시스템이 FIPS 승인 알고리즘 및 지속적인 모니터링 테스트로 모든 키를 생성합니다. FIPS 모드에서 RHEL을 설치하는 방법에 대한 자세한 내용은 FIPS 모드에서 시스템 설치를 참조하십시오.
- 또는 시스템을 FIPS 모드로 전환하는 절차에 따라 전체 RHEL 시스템의 FIPS 모드를 전환할 수 있습니다.
11.10. 컴파일러 및 개발 도구
특정 기호 기반 프로브는 64비트 ARM 아키텍처의 SystemTap
에서 작동하지 않습니다.
커널 설정은 SystemTap
에 필요한 특정 기능을 비활성화합니다. 따라서 일부 기호 기반 프로브는 64비트 ARM 아키텍처에서 작동하지 않습니다. 결과적으로 영향을 받는 SystemTap
스크립트가 실행되지 않거나 원하는 프로브 포인트에서 히트를 수집하지 않을 수 있습니다.
이 버그는 RHBA-2022:5259 권고가 릴리스된 나머지 아키텍처에서 수정되었습니다.
Bugzilla:2083727
GCC Toolset 12의 GCC: Intel Sapphire Rapids 프로세서에서 CPU 탐지가 실패할 수 있음
Intel Sapphire Rapids 프로세서의 CPU 탐지는 AVX512_VP2INTERSECT
기능이 있는지에 따라 달라집니다. 이 기능은 GCC Toolset 12 버전의 GCC에서 제거되었으며 결과적으로 Intel Sapphire Rapids 프로세서에서 CPU 탐지가 실패할 수 있습니다.
11.11. IdM (Identity Management)
Directory Server에서 접미사에 대한 압축을 구성하지 못했습니다.
Directory Server에서 백엔드 추천을 설정하는 경우 dsconf <instance_name> 백엔드 접미사 set --state computation 명령을 사용하여 백엔드
상태를 설정하면 다음 오류와 함께 실패합니다.
Error: 103 - 9 - 53 - Server is unwilling to perform - [] - need to set nsslapd-referral before moving to referral state
결과적으로 접미사에 대한 약어를 구성하는 데 실패합니다. 문제를 해결하려면 다음을 수행합니다.
nsslapd-referral
매개변수를 수동으로 설정합니다.# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com dn: cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify add: nsslapd-referral nsslapd-referral: ldap://remote_server:389/dc=example,dc=com
백엔드 상태를 설정합니다.
# dsconf <instance_name> backend suffix set --state referral
결과적으로 해결방법을 사용하여 접미사에 대한 유효성 검사를 구성할 수 있습니다.
dsconf
유틸리티에는 UUID
플러그인에 대한 수정 작업을 생성하는 옵션이 없습니다.
dsconf
유틸리티는 UUID
플러그인에 대한 수정 작업을 생성하는 옵션을 제공하지 않습니다. 결과적으로 관리자는 dsconf
를 사용하여 기존 항목에 entryUUID
특성을 자동으로 추가하는 작업을 생성할 수 없습니다. 이 문제를 해결하려면 작업을 수동으로 생성합니다.
# ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: cn=entryuuid_fixup_<time_stamp>,cn=entryuuid task,cn=tasks,cn=config objectClass: top objectClass: extensibleObject basedn: <fixup base tree> cn: entryuuid_fixup_<time_stamp> filter: <filtered_entry>
작업이 생성되면 Directory Server는 누락되거나 유효하지 않은 entryUUID
속성이 있는 항목을 수정합니다.
MIT Kerberos는 PKINIT에 대한 ECC 인증서를 지원하지 않습니다.
MIT Kerberos는 PKINIT( initial authentication)를 위한 공개 키 암호화(ECC) 지원 설계를 설명하는 주석 문서에 대한 RFC5349 요청을 구현하지 않습니다. 결과적으로 RHEL에서 사용하는 MIT>-<5-pkinit
패키지는 ECC 인증서를 지원하지 않습니다. 자세한 내용은 Kerberos (PKINIT)에서 초기 인증의 공개 키 암호화에 대한 ECC (Elliptic Curve Cryptography) 지원을 참조하십시오.
PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다.
SHA-1 다이제스트 알고리즘은 RHEL 9에서 더 이상 사용되지 않으며 PKINIT(초기 인증)에 대한 공개 키 암호화에 대한 CMS 메시지는 이제 강력한 SHA-256 알고리즘으로 서명됩니다.
그러나 AD(Active Directory) Kerberos Distribution Center(KDC)는 여전히 SHA-1 다이제스트 알고리즘을 사용하여 CMS 메시지에 서명합니다. 결과적으로 RHEL 9 Kerberos 클라이언트는 ADECDHE에 PKINIT를 사용하여 사용자를 인증하지 못합니다.
이 문제를 해결하려면 다음 명령을 사용하여 RHEL 9 시스템에서 SHA-1 알고리즘에 대한 지원을 활성화합니다.
# update-crypto-policies --set DEFAULT:SHA1
RHEL 9 Kerberos 에이전트가 비 RHEL-9 및 비AD Kerberos 에이전트와 통신하는 경우 사용자의 PKINIT 인증이 실패합니다.
클라이언트 또는 Kerberos 배포 센터(KDC)인 RHEL 9 Kerberos 에이전트가 AD(Active Directory) 에이전트가 아닌 RHEL-9 Kerberos 에이전트와 상호 작용하는 경우 사용자의 PKINIT 인증이 실패합니다. 문제를 해결하려면 다음 작업 중 하나를 수행합니다.
SHA-1 서명을 확인할 수 있도록 RHEL 9 에이전트의 crypto-policy를
DEFAULT:SHA1
로 설정합니다.# update-crypto-policies --set DEFAULT:SHA1
SHA-1 알고리즘을 사용하여 CMS 데이터에 서명하지 않도록 RHEL-9 및 비AD 에이전트를 업데이트합니다. 이를 위해 Kerberos 클라이언트 또는 10.0.0.1 패키지를 SHA-1 대신 SHA-256을 사용하는 버전으로 업데이트합니다.
- CentOS 9 스트림:ECDHE5-1.19.1-15
- RHEL 8.7: krb5-1.18.2-17
- RHEL 7.9: krb5-1.15.1-53
- Fedora Rawhide/36:>-<5-1.19.2-7
- Fedora 35/34:>-<5-1.19.2-3
결과적으로 사용자의 PKINIT 인증이 올바르게 작동합니다.
다른 운영 체제의 경우 에이전트가 SHA-1 대신 SHA-256을 사용하여 CMS 데이터에 서명하도록 하는or5-1.20 릴리스입니다.
PKINIT가 AD KDC에 대해 작동하도록 RHEL 9 클라이언트에서 DEFAULT:SHA1 하위 정책을 설정해야 합니다. 을 참조하십시오.
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
RHEL 9ECDHE에 대해 PKINIT를 사용하여 사용자를 인증하지 못했습니다.
기본적으로 Heimdal Kerberos 클라이언트는IKE(Internet Key Exchange)용MODP(MoDP) Diffie-Hellman Group 2를 사용하여 IdM 사용자의 PKINIT 인증을 시작합니다. 그러나 RHEL 9의 MIT Kerberos Distribution Center(KDC)는 MODP 그룹 14 및 16만 지원합니다.
결과적으로 사전 예상 요청이 RHEL MITECDHE에서 허용되지
않는 Heimdal 클라이언트의 PREAUTH_FAILED 오류와 함께Forwarded5_get_init_creds: PREAUTH_FAILED
오류와 함께 실패합니다.
이 문제를 해결하려면 Heimdal 클라이언트가 MODP Group 14를 사용하는지 확인하십시오. 클라이언트 구성 파일의 libdefaults
섹션에 pkinit_dh_min_bits
매개변수를 1759로 설정합니다.
[libdefaults] pkinit_dh_min_bits = 1759
결과적으로 Heimdal 클라이언트는 RHEL MITECDHE에 대한 PKINIT 사전 인증을 완료합니다.
FIPS 모드에서 IdM은 양방향 교차 트러스트를 구축하기 위해 NTLMSSP 프로토콜 사용을 지원하지 않습니다.
New Technology LAN Manager Security Support Provider(NTLMSSP) 인증이 FIPS와 호환되지 않기 때문에 AD(Active Directory)와 FIPS 모드가 활성화된 IdM(Identity Management) 간 신뢰를 두방향으로 설정할 수 없습니다. FIPS 모드에서 IdM은 AD 도메인 컨트롤러가 인증을 시도할 때 사용하는 RC4 NTLM 해시를 허용하지 않습니다.
AD 교차 영역 TGS 요청으로 IdM이 실패
IdM Kerberos 티켓의 PAM(Privilege Properties Certificate) 정보는 이제 AD(Active Directory)에서 지원하지 않는 AES SHA-2 HMAC 암호화로 서명됩니다.
결과적으로 AD 간 TGS 요청(즉, 양방향 신뢰 설정)으로의 IdM이 실패하고 다음 오류가 발생합니다.
Generic error (see e-text) while getting credentials for <service principal>
FIPS 모드에서 IdM Vault 암호화 및 암호 해독 실패
FIPS 모드가 활성화된 경우 OpenSSL RSA-PKCS1v15 패딩 암호화가 차단됩니다. 결과적으로 IdM(Identity Management) Vault는 현재 전송 인증서로 세션 키를 래핑하기 위해 PKCS1v15 패딩을 사용하므로 올바르게 작동하지 않습니다.
iPXE가 없는 사용자는 업그레이드 후 IdM에 로그인할 수 없습니다.
IdM 복제본을 RHEL 9.2로 업그레이드한 후 IdM Kerberos Distribution Center(KDC)는 계정에 할당된 SID(Security Identifiers)가 없는 사용자에게 TGT( ticket-granting ticket)를 발행하지 못할 수 있습니다. 따라서 사용자는 자신의 계정에 로그인할 수 없습니다.
이 문제를 해결하려면 토폴로지의 다른 IdM 복제본에서 IdM 관리자로 다음 명령을 실행하여 CloudEvents를 생성합니다.
# ipa config-mod --enable-sid --add-sids
이후 사용자가 여전히 로그인할 수 없는 경우 Directory Server 오류 로그를 검사합니다. 사용자 POSIX ID를 포함하도록 ID 범위를 조정해야 할 수 있습니다.
자세한 내용은 RHEL9로 업그레이드할 때 IDM 사용자가 더 이상 지식베이스 솔루션에 로그인할 수 없습니다.
Jira:RHELPLAN-157939
레지스트리가 일치하지 않아 마이그레이션된 IdM 사용자가 로그인할 수 없습니다.
ipa migrate-ds
스크립트를 사용하여 한 IdM 배포에서 다른 IdM 배포로 사용자를 마이그레이션하는 경우 이전에 기존의 SID(Security Identifiers)에 현재 IdM 환경의 domainknative가 없기 때문에 IdM 서비스를 사용하는 데 문제가 있을 수 있습니다. 예를 들어 사용자는 kinit
유틸리티를 사용하여 Kerberos 티켓을 검색할 수 있지만 로그인할 수는 없습니다. 이 문제를 해결하려면 다음 지식 베이스 문서를 참조하십시오. 도메인이 일치하지 않아서 로그인할 수 없는 IdM 사용자는 다음 지식 베이스 문서를 참조하십시오.
Jira:RHELPLAN-109613
MIT ECDHE5
사용자가 사용자 PAC를 생성하는 호환되지 않는 암호화 유형으로 인해 AD TGT를 가져오지 못했습니다.
MIT ECDHE5 1.20
이상 패키지에서는 기본적으로 모든 Kerberos 티켓에 권한 속성 인증서(PAC)가 포함됩니다. MIT Kerberos Distribution Center(KDC)는 현재 RFC8009에 정의된 AES HMAC-SHA2
암호화 유형인 PAC에서 CloudEvent 체크섬을 생성할 수 있는 가장 강력한 암호화 유형을 선택합니다. 그러나 AD(Active Directory)는 이 RFC를 지원하지 않습니다. 그 결과, AD-MIT 교차현실 설정에서 MITECDHE 5
사용자가 AD 티켓-granting 티켓(TGT)을 받지 못하는데, MITECDHE에서 생성한 교차 실제 TGT에는 PAC에 호환되지 않는ECDHE 체크섬 유형이 포함되어 있기 때문입니다.
이 문제를 해결하려면 /var/kerberos/krb5kdc/kdc.conf
구성 파일의 [realms]
섹션에 있는 MIT 영역에 대해 disable_pac
매개변수를 true
로 설정합니다. 결과적으로 MITECDHE는 PAC 없이 티켓을 생성하는데, 이는 AD에서 실패한 체크섬 확인을 건너뛰고 MIT TGT 사용자가 AD TGT를 받을 수 있음을 의미합니다.
ldap_id_use_start_tls
옵션에 기본값을 사용할 때 발생할 수 있는 위험
TLS없이 ldap://
를 ID 조회에 사용하는 경우 공격 벡터가 발생할 위험이 있습니다. 특히 MITM(Man-in-the-middle) 공격으로 공격자는 LDAP 검색에 반환된 오브젝트의 UID 또는 GID를 변경하여 사용자를 가장할 수 있습니다.
현재 TLS를 적용하는 SSSD 구성 옵션인 ldap_id_use_start_tls
는 기본값은 false
입니다. 설정이 신뢰할 수 있는 환경에서 작동하고 id_provider = ldap
에 대해 암호화되지 않은 통신을 안전하게 사용할 수 있는지 결정합니다. 참고 id_provider = ad
및 id_provider = ipa
는 SASL 및 GSSAPI로 보호되는 암호화된 연결을 사용하므로 영향을 받지 않습니다.
암호화되지 않은 통신을 사용하는 것이 안전하지 않은 경우 /etc/sssd/sssd.conf
파일에서 ldap_id_use_start_tls
옵션을 true
로 설정하여 TLS를 적용합니다. 기본 동작은 RHEL의 향후 릴리스에서 변경될 예정입니다.
Jira:RHELPLAN-155168
RHEL 8.6 또는 이전 버전에서 초기화된 FIPS 모드의 IdM 배포에 FIPS 모드에서 RHEL 9 복제본을 추가하는 데 실패합니다.
FIPS 140-3을 준수하려는 기본 RHEL 9 FIPS 암호화 정책은 RFC3961 섹션 5.1에 정의된 대로 AES HMAC-SHA1 암호화 유형의 키 파생 기능을 사용할 수 없습니다.
이 제약 조건은 FIPS 모드에서 RHEL 9 IdM(Identity Management) 복제본을 RHEL 8.6 시스템에 설치된 FIPS 모드의 RHEL 8 IdM 환경에 추가할 때 차단기입니다. 이는 RHEL 9와 이전 RHEL 버전 간에 일반적으로 AES HMAC-SHA1 암호화 유형을 사용하지만 AES HMAC-SHA2 암호화 유형을 사용하지 않기 때문입니다.
서버에 다음 명령을 입력하여 IdM 마스터 키의 암호화 유형을 볼 수 있습니다.
# kadmin.local getprinc K/M | grep -E '^Key:'
이 문제를 해결하려면 RHEL 9 복제본에서 AES HMAC-SHA1을 사용하도록 설정하십시오.
update-crypto-policies --set FIPS:AD-SUPPORT
- 경고
- 이 해결방법은 FIPS 규정 준수를 위반할 수 있습니다.
결과적으로 IdM 배포에 RHEL 9 복제본을 올바르게 추가합니다.
RHEL 7 및 RHEL 8 서버에서 누락된 AES HMAC-SHA2- 암호화 Kerberos 키를 생성하는 절차를 제공하는 작업이 진행 중입니다. 이렇게 하면 RHEL 9 복제본에서 FIPS 140-3 컴플라이언스를 얻을 수 있습니다. 그러나 Kerberos 키 암호화의 설계로 인해 기존 키를 다른 암호화 유형으로 변환할 수 없기 때문에 이 프로세스가 완전히 자동화되지 않습니다. 유일한 방법은 사용자에게 암호를 업데이트하도록 요청하는 것입니다.
SSSD에서 DNS 이름을 올바르게 등록합니다.
이전 버전에서는 DNS가 잘못 설정된 경우 SSSD에서 항상 첫 번째 DNS 이름을 등록하지 못했습니다. 이 문제를 해결하기 위해 이 업데이트에서는 새로운 매개변수 dns_resolver_use_search_list
를 제공합니다. DNS 검색 목록을 사용하지 않도록 dns_resolver_use_search_list = false
를 설정합니다.
Bugzilla:1608496
추천 모드로 시작하면 Directory Server가 예기치 않게 종료됨
버그로 인해 전역 참조 모드가 Directory Server에서 작동하지 않습니다. dirsrv
사용자로 refer
옵션을 사용하여 ns-slapd
프로세스를 시작하면 Directory Server는 포트 설정을 무시하고 예기치 않게 종료됩니다. root
사용자가 프로세스를 실행하면 SELinux 레이블이 변경되고 서비스가 일반 모드에서 시작되지 않습니다. 사용 가능한 해결방법이 없습니다.
Directory Server는 /var/lib/dirsrv/slapd-instance_name/ldif/
에서만 LDIF 파일을 가져올 수 있습니다.
RHEL 8.3부터 RHDS(Red Hat Directory Server)는 자체 프라이빗 디렉터리를 사용하며 LDAP 서비스에 대해 privateTmp systemd 지시문이 기본적으로 활성화됩니다. 따라서 RHDS는 /var/lib/dirsrv/slapd--instance_name/ldif/
디렉터리에서 LDIF 파일만 가져올 수 있습니다. LDIF 파일이 /var/tmp
,/tmp
, /root
와 같은 다른 디렉토리에 저장되면 가져오기가 실패하고 다음과 유사한 오류가 발생합니다.
Could not open LDIF file "/tmp/example.ldif", errno 2 (No such file or directory)
이 문제를 해결하려면 다음 단계를 완료하십시오.
LDIF 파일을
/var/lib/dirsrv/slapd-instance_name/ldif/
디렉터리로 이동합니다.# mv /tmp/example.ldif /var/lib/dirsrv/slapd-instance_name__/ldif/
dirsrv
사용자가 파일을 읽을 수 있는 권한을 설정합니다.# chown dirsrv /var/lib/dirsrv/slapd-instance_name/ldif/example.ldif
SELinux 컨텍스트를 복원합니다.
# restorecon -Rv /var/lib/dirsrv/slapd-instance_name/ldif/
자세한 내용은 솔루션 문서 LDAP Service에서 호스트의 /tmp 및 /var/tmp 디렉터리 아래의 파일에 액세스할 수 없습니다.
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 클라이언트 설치에 성공합니다.
11.12. 데스크탑
RHEL 9로 업그레이드한 후 Firefox 애드온이 비활성화됨
RHEL 8에서 RHEL 9로 업그레이드하는 경우 이전에 Firefox에서 활성화한 모든 애드온이 비활성화됩니다.
문제를 해결하려면 수동으로 애드온을 다시 설치하거나 업데이트합니다. 따라서 애드온은 예상대로 활성화됩니다.
RHEL 9로 업그레이드한 후 VNC가 실행되지 않음
RHEL 8에서 RHEL 9로 업그레이드한 후 이전에 활성화된 경우에도 VNC 서버가 시작되지 않습니다.
이 문제를 해결하려면 시스템 업그레이드 후 vncserver
서비스를 수동으로 활성화합니다.
# systemctl enable --now vncserver@:port-number
그 결과 이제 VNC가 활성화되고 모든 시스템이 예상대로 부팅된 후 시작됩니다.
사용자 생성 화면이 응답하지 않음
그래픽 사용자 인터페이스를 사용하여 RHEL을 설치할 때 사용자 생성 화면이 응답하지 않습니다. 결과적으로 설치 중에 사용자를 생성하는 것이 더 어렵습니다.
이 문제를 해결하려면 다음 솔루션 중 하나를 사용하여 사용자를 생성합니다.
- VNC 모드에서 설치를 실행하고 VNC 창의 크기를 조정합니다.
- 설치 프로세스를 완료한 후 사용자를 생성합니다.
11.13. 그래픽 인프라
NVIDIA 드라이버는 X.org로 되돌릴 수 있습니다.
특정 조건에서 독점 NVIDIA 드라이버는 Wayland 디스플레이 프로토콜을 비활성화하고 X.org 디스플레이 서버로 되돌립니다.
- NVIDIA 드라이버 버전이 470 미만인 경우
- 시스템이 하이브리드 그래픽을 사용하는 노트북인 경우
- 필요한 NVIDIA 드라이버 옵션을 활성화하지 않은 경우
또한 Wayland가 활성화되어 있지만 NVIDIA 드라이버 버전이 510 미만인 경우 데스크탑 세션에서 기본적으로 X.org를 사용합니다.
Jira:RHELPLAN-119001
Nvidia를 사용하여 Wayland에서 Night Light를 사용할 수 없음
시스템에서 전용 NVIDIA 드라이버를 활성화하면 Wayland 세션에서 GNOME의 Night Light 기능을 사용할 수 없습니다. NVIDIA 드라이버는 현재 Night Light 를 지원하지 않습니다.
Jira:RHELPLAN-119852
X.org 설정 유틸리티가 Wayland에서 작동하지 않음
화면을 조작하는 X.org 유틸리티가 Wayland 세션에서 작동하지 않습니다. 특히 xrandr
유틸리티는 해상도, 회전 및 레이아웃 처리 방법이 다르기 때문에 Wayland에서 작동하지 않습니다.
Jira:RHELPLAN-121049
11.14. 웹 콘솔
VNC 콘솔은 특정 해상도에서 잘못 작동
특정 디스플레이 해상도에서 VNC(Virtual Network Computing) 콘솔을 사용하는 경우 마우스 오프셋 문제가 발생하거나 인터페이스의 일부만 표시될 수 있습니다. 결과적으로 VNC 콘솔을 사용할 수 없습니다. 이 문제를 해결하려면 VNC 콘솔 크기를 확장하거나 콘솔 탭에서 데스크탑 뷰어를 사용하여 원격 뷰어를 시작할 수 있습니다.
11.15. Red Hat Enterprise Linux System Roles
비활성화된 사실 수집에서는 메트릭
시스템 역할이 작동하지 않음
성능 또는 기타 이유로 Ansible 팩트 수집이 사용자 환경에서 비활성화될 수 있습니다. 이러한 구성에서는 현재 메트릭
시스템 역할을 사용할 수 없습니다. 이 문제를 해결하려면 사실 캐싱을 활성화하거나 팩트 수집을 사용할 수 없는 경우 지표
시스템 역할을 사용하지 마십시오.
firewalld.service
가 마스킹되면 방화벽
RHEL System Role을 사용할 수 없습니다.
RHEL 시스템에서 firewalld.service
를 마스킹하면 방화벽
RHEL 시스템 역할이 실패합니다. 이 문제를 해결하려면 firewalld.service
를 마스크 해제하십시오.
systemctl unmask firewalld.service
환경 이름으로 시스템을 등록할 수 없음
rhc
시스템 역할은 rhc_environment
에 환경 이름을 지정할 때 시스템을 등록하지 못합니다. 이 문제를 해결하려면 등록하는 동안 환경 이름 대신 환경 ID를 사용하십시오.
11.16. 가상화
경우에 따라 https 또는 ssh를 통해 가상 머신을 설치할 수 없습니다.
현재 virt-install
유틸리티는 https 또는 ssh 연결을 통해 ISO 소스에서 게스트 운영 체제(OS)를 설치하려고 할 때 실패합니다(예: virt-install --cdrom https://example/path/to/image.iso
사용). VM(가상 머신)을 생성하는 대신, 설명된 작업은 메시지 모니터링을 위해 연결하는 동안 프로세스가 종료됨인 내부 오류
와 함께 예기치 않게 종료됩니다.
마찬가지로 RHEL 9 웹 콘솔을 사용하여 게스트 OS를 설치하는 데 실패하고 https 또는 ssh URL 또는
오류가 표시됩니다.
Download OS
기능을 사용하는 경우 알 수 없는 드라이버 'https'
이 문제를 해결하려면 호스트에 qemu-kvm-block-curl
및 qemu-kvm-block-ssh
를 설치하여 https 및 ssh 프로토콜 지원을 각각 활성화합니다. 또는 다른 연결 프로토콜 또는 다른 설치 소스를 사용합니다.
가상 머신에서 NVIDIA 드라이버 사용
현재 NVIDIA 드라이버는 Wayland 그래픽 세션과 호환되지 않습니다. 결과적으로 NVIDIA 드라이버를 사용하는 RHEL 게스트 운영 체제는 자동으로 Wayland를 비활성화하고 대신 Xorg 세션을 로드합니다. 이는 주로 다음 시나리오에서 발생합니다.
- NVIDIA GPU 장치를 RHEL VM(가상 머신)에 전달하는 경우
- NVIDIA vGPU 중재 장치를 RHEL VM에 할당하는 경우
Jira:RHELPLAN-117234
AMD Milan
시스템에서 Milan VM CPU 유형을 사용할 수 없는 경우가 있음
특정 AMD Milan 시스템에서 강화 REP MOVSB(erms
) 및 Fast Short REP MOVSB(fsrm
) 기능 플래그는 기본적으로 BIOS에서 비활성화됩니다. 결과적으로 이러한 시스템에서 Milan
CPU 유형을 사용할 수 없습니다. 또한 기능 플래그 설정이 다른 Milan 호스트 간 VM 실시간 마이그레이션이 실패할 수 있습니다. 이러한 문제를 해결하려면 호스트의 BIOS에서 수동으로 erms
및 fsrm
을 켭니다.
Bugzilla:2077767
장애 조치 설정이 있는 hostdev
인터페이스는 핫 플러그 해제 후 핫플러그할 수 없습니다.
실행 중인 VM(가상 머신)에서 페일오버 구성이 포함된 hostdev
네트워크 인터페이스를 제거한 후 현재 동일한 실행 중인 VM에 인터페이스를 다시 연결할 수 없습니다.
장애 조치 VF가 있는 VM의 실시간 사후 마이그레이션 실패
현재 VM에서 VF(가상 기능) 장애 조치 기능이 활성화된 장치를 사용하는 경우 실행 중인 VM(가상 머신) 마이그레이션에 실패합니다. 이 문제를 해결하려면 복사 후 마이그레이션 대신 표준 마이그레이션 유형을 사용하십시오.
실시간 마이그레이션 중에 호스트 네트워크에서 VF를 사용하여 VM을 ping할 수 없음
가상 SR-IOV 소프트웨어를 사용하는 VM과 같이 구성된 VF(가상 기능)를 사용하여 VM을 실시간 마이그레이션하는 경우 VM의 네트워크가 다른 장치에 표시되지 않으며 ping
과 같은 명령으로 VM에 연결할 수 없습니다. 그러나 마이그레이션이 완료되면 더 이상 문제가 발생하지 않습니다.
장애 조치 virtio NIC에는 Windows 가상 머신에서 IP 주소가 할당되지 않음
현재 장애 조치 virtio NIC로만 Windows 가상 머신(VM)을 시작하면 VM에서 NIC에 IP 주소를 할당하지 못합니다. 결과적으로 NIC에서 네트워크 연결을 설정할 수 없습니다. 현재는 해결방법이 없습니다.
AVX를 비활성화하면 VM이 부팅되지 않음
AVX(Advanced Vector Extensions) 지원이 포함된 CPU를 사용하는 호스트 머신에서 현재 AVX가 명시적으로 비활성화된 VM을 부팅하려고 시도한 후 VM에서 커널 패닉을 트리거합니다.
Bugzilla:2005173
네트워크 인터페이스를 재설정한 후 Windows VM이 IP 주소를 가져오지 못했습니다.
경우에 따라 Windows 가상 머신이 자동 네트워크 인터페이스를 재설정한 후 IP 주소를 가져오지 못하는 경우가 있습니다. 이로 인해 VM이 네트워크에 연결되지 않습니다. 이 문제를 해결하려면 Windows 장치 관리자에서 네트워크 어댑터 드라이버를 비활성화하고 다시 활성화합니다.
Broadcom 네트워크 어댑터가 실시간 마이그레이션 후 Windows VM에서 잘못 작동
현재 Broadcom, Qlogic 또는 Marvell과 같은 Broadcom 제품군의 네트워크 어댑터는 Windows 가상 머신 (VM)의 실시간 마이그레이션 중에 핫 플러그 해제 할 수 없습니다. 결과적으로 마이그레이션이 완료된 후 어댑터가 잘못 작동합니다.
이 문제는 SR-IOV(Single-root I/O Virtualization)를 사용하여 Windows VM에 연결된 어댑터에만 영향을 미칩니다.
Bugzilla:2090712, Bugzilla:2091528, Bugzilla:2111319
Windows Server 2016 VM은 vCPU를 핫플러그한 후 작업을 중지하는 경우가 있음
현재 Windows Server 2016 게스트 운영 체제를 사용하여 실행 중인 VM(가상 머신)에 vCPU를 할당하면 VM이 예기치 않게 종료되거나 응답하지 않거나 재부팅되는 등 다양한 문제가 발생할 수 있습니다.
많은 수의 큐를 사용하면 Windows 가상 머신이 실패할 수 있습니다.
vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 장치가 활성화되고 250개 이상의 큐를 사용하도록 다중 큐 virtio-net 기능이 구성된 경우 VM(Windows 가상 머신)이 실패할 수 있습니다.
이 문제는 vTPM 장치의 제한으로 인해 발생합니다. vTPM 장치에는 열린 파일 설명자의 최대 수에 대한 하드 코딩된 제한이 있습니다. 모든 새 큐에 대해 여러 파일 설명자가 열리므로 내부 vTPM 제한을 초과하여 VM이 실패할 수 있습니다.
이 문제를 해결하려면 다음 두 옵션 중 하나를 선택합니다.
- vTPM 장치를 활성화 상태로 유지하되, 250개 미만의 대기열을 사용하십시오.
- 250개 이상의 대기열을 사용하도록 vTPM 장치를 비활성화합니다.
NVIDIA 패스스루 장치가 있는 VM에서 오류 메시지 중복
RHEL 9.2 운영 체제가 있는 Intel 호스트 머신을 사용하는 경우 NVDIA GPU 장치를 통과하는 VM(가상 머신)은 다음 오류 메시지를 기록하는 경우가 많습니다.
Spurious APIC interrupt (vector 0xFF) on CPU#2, should never happen.
그러나 이 오류 메시지는 VM 기능에 영향을 미치지 않으며 무시할 수 있습니다. 자세한 내용은 Red Hat knoweldgeBase 를 참조하십시오.
Bugzilla:2149989
일부 Windows 게스트는 AMD EPYC CPU가 있는 호스트에서 v2v 변환 후 부팅되지 않음
virt-v2v
유틸리티를 사용하여 Windows 11 또는 Windows Server 2022를 게스트 OS로 사용하는 VM(가상 머신)을 변환한 후 현재 VM이 부팅되지 않습니다. 이는 AMD EPYC 시리즈 CPU를 사용하는 호스트에서 수행됩니다.
Bugzilla:2168082
호스트에서 OVS 서비스를 다시 시작하면 실행 중인 VM에서 네트워크 연결이 차단될 수 있습니다.
호스트에서 OVS(Open vSwitch) 서비스가 재시작되거나 충돌하면 이 호스트에서 실행 중인 VM(가상 머신)이 네트워킹 장치의 상태를 복구할 수 없습니다. 결과적으로 VM이 패킷을 완전히 수신할 수 없었습니다.
이 문제는 virtio
네트워킹 스택에서 패키지된 virtqueue 형식을 사용하는 시스템에만 영향을 미칩니다.
이 문제를 해결하려면 virtio
네트워킹 장치 정의에서 packed=off
매개변수를 사용하여 패키지된 virtqueue를 비활성화합니다. 패키지된 virtqueue가 비활성화된 상태에서 네트워킹 장치의 상태는 일부 상황에서 RAM에서 복구될 수 있습니다.
VM 종료 후 Nvidia GPU 드라이버가 작동을 중지합니다.
RHEL 커널은 장치 전원 전환을 조정하는 업스트림 Linux 변경 사항을 채택했습니다. PCIe 사양에 필요한 것과 더 밀접하게 지연됩니다. 그 결과 GPU의 음성 기능으로 인해 일부 Nvidia GPU가 VM 종료 후 작동을 중지할 수 있었습니다.
이 문제를 해결하려면 VM에서 GPU의 음성 기능을 할당 해제하십시오. 또한 장치 할당(즉, IOMMU 그룹화)에 대한 DMA 격리 요구 사항으로 인해 audio 함수를 vfio-pci
드라이버에 바인딩하여 GPU 함수가 계속 할당되고 정상적으로 작동할 수 있습니다.
Bugzilla:2178956
nodedev-dumpxml
이 특정 중재된 장치에 대해 속성을 올바르게 나열하지 않음
현재 nodedev-dumpxml
은 nodedev-create
명령을 사용하여 생성된 중재된 장치에 대해 속성을 올바르게 나열하지 않습니다. 이 문제를 해결하려면 nodedev-define
및 nodedev-start
명령을 대신 사용하십시오.
중단된 VM 마이그레이션 복구에 실패할 수 있습니다.
VM(가상 머신)의 복사 후 마이그레이션이 중단되고 수신되는 동일한 포트에서 즉시 다시 시작되면 마이그레이션이 실패할 수 있습니다. 이미 사용 중인 주소
이 문제를 해결하려면 복사 후 마이그레이션을 다시 시작하거나 마이그레이션 복구를 위해 다른 포트로 전환하기 전에 10초 이상 기다립니다.
virtiofs
장치는 virtqemud
또는 libvirtd
를 다시 시작한 후에는 연결할 수 없습니다.
현재 virtqemud
또는 libvirtd
서비스를 다시 시작하면 virtiofs
스토리지 장치가 호스트의 가상 머신에 연결되지 않습니다.
virsh blkiotune --weight
명령이 올바른 cgroup I/O 컨트롤러 값을 설정하지 못했습니다.
현재 virsh blkiotune --weight
명령을 사용하여 VM 가중치를 예상대로 설정하지 않습니다. 이 명령은 cgroup I/O 컨트롤러 인터페이스 파일에 올바른 io.bfq.weight
값을 설정하지 못합니다. 현재 해결방법이 없습니다.
Jira:RHELPLAN-83423
가상 머신에 Watchdog 카드를 핫플러그할 수 없음
현재 사용 가능한 PCI 슬롯이 없는 경우 실행 중인 VM(가상 머신)에 Watchdog 카드를 추가하면 다음 오류와 함께 실패합니다.
Failed to configure watchdog ERROR Error attempting device hotplug: internal error: No more available PCI slots
이 문제를 해결하려면 Watchdog 카드를 추가하기 전에 VM을 종료합니다.
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를 사용하지 마십시오.
VM 마이그레이션 중 NFS 실패로 인해 마이그레이션 실패 및 소스 VM 코어 덤프
현재 VM(가상 머신) 마이그레이션 중에 NFS 서비스 또는 서버가 종료되면 다시 실행을 시작할 때 소스 VM의 QEMU가 NFS 서버에 다시 연결할 수 없습니다. 결과적으로 마이그레이션이 실패하고 소스 VM에서 코어dump가 시작됩니다. 현재는 사용할 수 있는 해결방법이 없습니다.
PCIe ATS 장치는 Windows VM에서 작동하지 않음
Windows 게스트 운영 체제를 사용하여 VM(가상 머신)의 XML 구성에서 PCIe 주소 변환 서비스(ATS) 장치를 구성할 때 게스트는 VM을 부팅한 후 ATS 장치를 활성화하지 않습니다. Windows는 현재 virtio
장치에서 ATS를 지원하지 않기 때문입니다.
11.17. 클라우드 환경의 RHEL
Nutanix AHV에서 LVM을 사용하는 RHEL 9 가상 머신을 복제하거나 복원하면 루트가 아닌 파티션이 사라집니다.
Nutanix AHV 하이퍼바이저에서 호스팅되는 VM(가상 머신)에서 RHEL 9 게스트 운영 체제를 실행하는 경우 VM을 복원하거나 VM을 복제하면 게스트가 LVM(Logical Volume Management)을 사용하는 경우 VM의 루트 파티션이 사라집니다. 결과적으로 다음과 같은 문제가 발생합니다.
- 스냅샷에서 VM을 복원한 후에는 VM을 부팅할 수 없으며 대신 긴급 모드로 들어갑니다.
- 복제를 통해 생성된 VM은 부팅할 수 없으며 대신 긴급 모드로 전환됩니다.
이러한 문제를 해결하려면 VM의 긴급 모드에서 다음을 수행하십시오.
-
LVM 시스템 장치 파일
rm /etc/lvm/devices/system.devices
삭제 -
LVM 장치 설정 다시 생성:
ECDHEimportdevices -a
- VM 재부팅
이렇게 하면 복제되거나 복원된 VM이 올바르게 부팅될 수 있습니다.
또는 문제가 발생하지 않도록 하려면 VM을 복제하거나 VM 스냅샷을 생성하기 전에 다음을 수행하십시오.
-
/etc/lvm/lvm.conf
파일에서use_devicesfile = 0
행의 주석 처리를 해제합니다. - VM 재부팅
Bugzilla:2059545
ESXi에서 RHEL 9 게스트를 사용자 정의하면 네트워킹 문제가 발생하는 경우가 있습니다.
현재 VMware ESXi 하이퍼바이저에서 RHEL 9 게스트 운영 체제를 사용자 지정하면 NetworkManager 키 파일에서 올바르게 작동하지 않습니다. 결과적으로 게스트가 이러한 키 파일을 사용하는 경우 IP 주소 또는 게이트웨이와 같은 잘못된 네트워크 설정이 됩니다.
자세한 내용 및 해결 방법은 VMware 기술 자료에서 참조하십시오.
Bugzilla:2037657
cloud-init
에서 프로비저닝하고 NFSv3 마운트 항목으로 구성된 경우 Azure의 RHEL 인스턴스가 부팅되지 않음
현재 cloud-init
툴에서 VM을 프로비저닝하고 VM의 게스트 운영 체제에 NFSv3 마운트 항목이 있는 경우 Microsoft Azure 클라우드 플랫폼에서 RHEL 가상 머신(VM)을 부팅하지 못합니다.
Bugzilla:2081114
VMware 호스트의 RHEL 가상 시스템에서 고정 IP 설정이 작동하지 않음
현재 RHEL을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 DatasourceOVF 기능이 제대로 작동하지 않습니다. 결과적으로 cloud-init
유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM의 네트워크가 DHCP로 변경됩니다.
이 문제를 해결하려면 VNware knowledgebase 를 참조하십시오.
11.18. 지원 관련 기능
IBM Power Systems, Little Endian에서 sos 보고서를
실행할 때 시간 초과
IBM Power Systems, 수백 또는 수천 개의 CPU가 있는 Little Endian에서 sos report
명령을 실행하는 경우 프로세서 플러그인은 /sys/devices/system/cpu
디렉터리의 대규모 콘텐츠를 수집할 때 기본 시간 초과 300초에 도달합니다. 이 문제를 해결하려면 플러그인의 타임아웃을 적절하게 늘리십시오.
- 일회성 설정을 위해 다음을 실행합니다.
# sos report -k processor.timeout=1800
-
영구 변경 사항은
/etc/sos/sos.conf
파일의[plugin_options]
섹션을 편집합니다.
[plugin_options] # Specify any plugin options and their values here. These options take the form # plugin_name.option_name = value #rpm.rpmva = off processor.timeout = 1800
예제 값은 1800으로 설정됩니다. 특정 시간 초과 값은 특정 시스템에 따라 크게 달라집니다. 플러그인의 시간 제한을 적절하게 설정하려면 먼저 다음 명령을 실행하여 시간 초과 없이 하나의 플러그인을 수집하는 데 필요한 시간을 추정할 수 있습니다.
# time sos report -o processor -k processor.timeout=0 --batch --build
Bugzilla:1869561
11.19. 컨테이너
이전 컨테이너 이미지 내에서 systemd를 실행해도 작동하지 않음
이전 컨테이너 이미지(예 : centos:7)
에서 systemd를 실행하면 작동하지 않습니다.
$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd Storing signatures Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted [!!!!!!] Failed to mount API filesystems, freezing.
이 문제를 해결하려면 다음 명령을 사용하십시오.
# mkdir /sys/fs/cgroup/systemd # mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd # podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd
Jira:RHELPLAN-96940
부록 A. 구성 요소별 티켓 목록
Bugzilla 및 JIRA 티켓은 참조를 위해 이 문서에 나열되어 있습니다. 링크는 티켓을 설명하는 이 문서의 릴리스 노트로 이어집니다.
부록 B. 리버전 내역
0.3-5
Thu Apr 2524, Gabriela Fialová (gfialova@redhat.com)
- 기능 개선 사항 BZ#2136610 (Identity Management)이 추가되었습니다.
0.3-4
2024년 4월 18일 Gabriela Fialová (gfialova@redhat.com)
- 개선된 RHEL-19142 (네트워크)가 추가되었습니다.
0.3-3
2024년 3월 14일 Gabriela Fialová (gfialova@redhat.com)
- RHEL-18359 (Kernel) 개선 사항이 추가되었습니다.
- 알려진 문제 RHEL-25967 (커널)이 추가되었습니다.
0.3-2
Mon Mar 04 2024, Gabriela Fialová (gfialova@redhat.com)
- 버그 수정 Jira:SSSD-6096 (Identity Management)이 추가되었습니다.
0.3.1
2024년 2월 1일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 BZ#1834716 (Security)이 추가되었습니다.
0.3-0
2024년 1월 12일 Fri 1월 12일 Muehlfeld (mmuehlfeld@redhat.com)
- 알려진 문제 Jira:RHEL-6496 (Networking)이 추가되었습니다.
0.2-9
2023년 12월 12일 Gabriela Fialová (gfialova@redhat.com)
- 기술 프리뷰 BZ#2162677 (IdM)이 추가되었습니다.
0.2-8
Thu 7 2023, Lucie Vaová (lvarakova@redhat.com)
- 새로운 기능 BZ#2044200 (Kernel)이 추가되었습니다.
0.2-7
2023년 11월 20일 Gabriela Fialová (gfialova@redhat.com)
- 기능 강화 BZ#2165827 (Identity Management)이 추가되었습니다.
0.2-6
2023년 11월 13일 Gabriela Fialová (gfialova@redhat.com)
- 기술 프리뷰 추가 JIRA:RHELDOCS-17040 (가상화)
0.2-5
2023년 11월 10일 Gabriela Fialová (gfialova@redhat.com)
- RHEL 문서의 피드백 제공에서 모듈을 업데이트했습니다.
0.2-4
2023년 11월 10일 Gabriela Fialová (gfialova@redhat.com)
- 기술 프리뷰 JIRA:RHELDOCS-17050 (가상화)이 추가되었습니다.
0.2-3
2023년 11월 2일 Gabriela Fialová (gfialova@redhat.com)
- BZ#2125371 (Networking)에서 문서 텍스트가 업데이트되었습니다.
0.2-2
2023년 10월 13일 Gabriela Fialová (gfialova@redhat.com)
- 기술 프리뷰 JIRA:RHELDOCS-16861 (컨테이너)이 추가되었습니다.
0.2-1
2023년 9월 25일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 BZ#2122636 (Desktop)이 추가되었습니다.
0.2-0
2023년 9월 13일 Lenka Cryostatková (lspackova@redhat.com)
- BZ#2220915 의 고정 명령 포맷입니다.
0.1-9
2023년 9월 8일 Muehlfeld (mmuehlfeld@redhat.com)
- 더 이상 사용되지 않는 기능 릴리스 노트 JIRA:RHELDOCS-16612 (Samba)가 추가되었습니다.
- Red Hat 설명서 섹션에 대한 제공 피드백이 업데이트되었습니다.
0.1-8
2023년 9월 5일 Gabriela Fialová (gfialova@redhat.com)
- 개선 사항 BZ#2075017 (idm_ds)이 추가되었습니다.
0.1-7
2023년 8월 31일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 BZ#2230431 (plumbers)이 추가되었습니다.
0.1-6
2023년 8월 29일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 BZ#2220915 (IdM)가 추가되었습니다.
0.1-5
2023년 8월 25일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 알려진 문제 BZ#2214508 (Kernel)이 추가되었습니다.
0.1.4
2023년 8월 17일 Gabriela Fialová (gfialova@redhat.com)
- 향상된 기능 BZ#2136937 (Plumbers)을 추가합니다.
0.1.3
2023년 8월 14일 Lenka Cryostatková (lspackova@redhat.com)
- BZ#2128410 에서 오타를 수정했습니다.
0.1.2
2023년 8월 9일 Gabriela Fialová (gfialova@redhat.com)
- 보안 버그 수정 BZ#2155910 (CS)이 업데이트되었습니다.
0.1.1
2023년 8월 7일 Gabriela Fialová (gfialova@redhat.com)
- 더 이상 사용되지 않는 기능 릴리스 노트 BZ#2214130 (CS)이 업데이트되었습니다.
0.1.0
2023년 8월 3일 Lenka Cryostatková (lspackova@redhat.com)
- BZ#2142639 및 BZ#2119102 의 포맷이 수정되었습니다.
- 요약이 개선되었습니다.
0.0.9
2023년 8월 2일 Muehlfeld (mmuehlfeld@redhat.com)
- 더 이상 사용되지 않는 기능 릴리스 노트 BZ#1894877 (NetworkManager)가 업데이트되었습니다.
0.0.8
2023년 8월 1일 Mirek Jahoda (mjahoda@redhat.com)
- NBDE의 웹 콘솔 알려진 문제를 BZ#2207498 (RHEL 웹 콘솔) 버그 수정으로 교체했습니다.
0.0.7
2023년 7월 27일 Gabriela Fialová (gfialova@redhat.com)
- DDF 피드백에 따라 컴파일러 및 개발 도구에서 커널의 3 가지 개선 사항을 수정했습니다.
0.0.6
2023년 7월 25일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 BZ#2109231 (설치자)이 추가되었습니다.
0.0.5
2023년 6월 22일 Gabriela Fialová (gfialova@redhat.com)
- 기능 개선 사항 BZ#2087247 (IdM)이 추가되었습니다.
0.0.4
2023년 6월 8일 Gabriela Fialová (gfialova@redhat.com)
- 기능 개선 BZ#2190123 (kernel)이 추가되었습니다.
0.0.3
2023년 6월 6일 Gabriela Fialová (gfialova@redhat.com)
- RHELPLAN-159146 (IdM)이 추가되었습니다.
0.0.2
2023년 6월 5일 Gabriela Fialová (gfialova@redhat.com)
- KI BZ#2176010 (virt)을 추가했습니다.
0.0.1
2023년 5월 10일, Gabriela Fialov al (gfialova@redhat.com)
- Red Hat Enterprise Linux 9.2 릴리스 정보.
0.0.0
2023년 3월 29일 Gabriela Fialová (gfialova@redhat.com)
- Red Hat Enterprise Linux 9.2 베타 릴리스 노트.