8.8 릴리스 노트
Red Hat Enterprise Linux 8.8 릴리스 정보
초록
보다 포괄적 수용을 위한 오픈 소스 용어 교체
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 작업은 작업 범위가 크므로 향후 여러 릴리스에 걸쳐 점차 구현할 예정입니다. 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
특정 문구에 대한 의견 제출
- Multi-page HTML 형식으로 설명서를 보고 페이지가 완전히 로드된 후 오른쪽 상단 모서리에 피드백 버튼이 표시되는지 확인합니다.
- 커서를 사용하여 주석 처리할 텍스트 부분을 강조 표시합니다.
- 강조 표시된 텍스트 옆에 표시되는 피드백 추가 버튼을 클릭합니다.
- 의견을 추가하고 제출을 클릭합니다.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 개요
1.1. RHEL 8.8의 주요 변경 사항
설치 프로그램 및 이미지 생성
이미지 빌더의 주요 주요 주요 내용:
- 이미지 빌더는 이제 이미지 빌더 웹 콘솔에서 청사진 및 이미지를 생성할 수 있는 새롭고 향상된 방법을 제공합니다.
- 이제 이미지 빌더 웹 콘솔에서 RHEL for Edge Simplified Installer 이미지 유형을 사용할 수 있습니다.
자세한 내용은 새로운 기능 - 설치 관리자 및 이미지 생성을 참조하십시오.
엣지용 RHEL
RHEL for Edge에서는 RHEL 8.8에서 다음과 같은 새로운 기능이 도입되었습니다.
-
이제
simplified-installer
이미지에 대한 사용자 지정이 지원됩니다.
자세한 내용은 새로운 기능 - 엣지용 RHEL을 참조하십시오.
보안
주요 보안 관련 주요 강조 사항:
- 커널의 FIPS 모드 설정은 FIPS(Federal Information Processing Standard) 140-3을 준수하도록 조정되었습니다. 이러한 변경으로 인해 많은 암호화 알고리즘, 함수 및 암호화 제품군에 더 엄격한 설정이 도입되었습니다.
- Libreswan IPsec 구현이 버전 4.9로 변경되었습니다.
-
fapolicyd
소프트웨어 프레임워크를 사용하면 이제 RPM 데이터베이스를 필터링할 수 있습니다. - OpenSCAP 보안 규정 준수 유틸리티가 버전 1.3.7을 기반으로 했습니다.
- rsyslog TLS 암호화 로깅은 이제 여러 CA 파일을 지원합니다.
-
이제
systemd-socket-proxyd
서비스가 SELinux 정책 업데이트로 인해 자체 SELinux 도메인에서 실행됩니다.
자세한 내용은 새로운 기능 - 보안을 참조하십시오.
동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
다음 Application Streams의 이후 버전을 사용할 수 있습니다.
- Python 3.11
- nginx 1.22
- PostgreSQL 15
다음 구성 요소가 업그레이드되었습니다.
- git 버전 2.39.1
- Git LFS 버전 3.2.0
자세한 내용은 새로운 기능 - 동적 프로그래밍 언어, 웹 및 데이터베이스 서버를 참조하십시오.
컴파일러 및 개발 도구
업데이트된 성능 도구 및 디버거
RHEL 8.8에서 다음과 같은 성능 도구 및 디버거가 업데이트되었습니다.
- Valgrind 3.19
- SystemTap 4.8
- elfutils 0.188
업데이트된 성능 모니터링 툴
RHEL 8.8에서 다음과 같은 성능 모니터링 도구가 업데이트되었습니다.
- PCP 5.3.7
- Grafana 7.5.15
업데이트된 컴파일러 툴셋
RHEL 8.8에서 다음과 같은 컴파일러 도구 세트가 업데이트되었습니다.
- GCC Toolset 12
- LLVM Toolset 15.0.7
- Rust Toolset 1.66
- Go Toolset 1.19.4
자세한 내용은 새로운 기능 - 컴파일러 및 개발 도구를 참조하십시오.
RHEL 8의 Java 구현
RHEL 8 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 8.8 이상 릴리스 사이에 단일 바이너리 세트를 공유합니다. 이번 업데이트로 인해 소스 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을 기술 프리뷰로 사용할 수 있습니다.
-
container-tools:3.0
모듈 스트림이 더 이상 사용되지 않습니다. - CNI 네트워크 스택이 더 이상 사용되지 않습니다.
자세한 내용은 새로운 기능 - 컨테이너를 참조하십시오.
1.2. 인플레이스 업그레이드 및 OS 변환
RHEL 7에서 RHEL 8으로 인플레이스 업그레이드
현재 사용 가능한 인플레이스 업그레이드 경로는 다음과 같습니다.
- 64비트 Intel, IBM POWER 8(little endian) 및 IBM Z 아키텍처의 RHEL 7.9에서 RHEL 8.6 및 RHEL 8.8로
- 커널 버전 4.14가 필요한 아키텍처의 RHEL 7.6에서 RHEL 8.4: IBM POWER 9(little endian) 및 IBM Z(Structure A)가 필요합니다. 이는 이러한 아키텍처의 최종 인플레이스 업그레이드 경로입니다.
- SAP HANA가 있는 시스템의 RHEL 7.9에서 RHEL 8.6 및 RHEL 8.8까지 64비트 Intel 아키텍처에서 사용할 수 있습니다.
자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.
인플레이스 업그레이드를 수행하는 방법에 대한 자세한 내용은 RHEL 7에서 RHEL 8로 업그레이드를 참조하십시오.
SAP HANA로 RHEL 8.8로 업그레이드하는 경우 업그레이드하기 전에 시스템이 SAP에 대해 인증되었는지 확인하십시오. SAP 환경에서 시스템에서 인플레이스 업그레이드를 수행하는 방법에 대한 자세한 내용은 RHEL 7에서 RHEL 8로 SAP 환경을 인플레이스 업그레이드하는 방법을 참조하십시오.
IBM POWER 9 (little endian) 및 IBM Z (structure A) 아키텍처용 RHEL 7.6을 성공적으로 업그레이드하려면 특정 Leapp 데이터를 수동으로 다운로드해야합니다. 자세한 내용은 인 플레이스 업그레이드 지식베이스에 대한 Leapp 데이터 스냅샷 문서를 참조하십시오.
주요 개선 사항은 다음과 같습니다.
- RHEL 업그레이드 경로 전략이 변경되었습니다. 자세한 내용은 Red Hat Enterprise Linux에 대한 지원 인플레이스 업그레이드 경로를 참조하십시오.
-
leapp-upgrade-el7toel8
패키지의 최신 릴리스에는 필요한 모든 데이터 파일이 포함됩니다. 고객은 더 이상 이러한 데이터 파일을 수동으로 다운로드할 필요가 없습니다. - 이제 대상 버전이 포함된 ISO 이미지를 사용하여 인플레이스 업그레이드를 수행할 수 있습니다.
-
이제 RPM 서명이 인플레이스 업그레이드 중에 자동으로 확인됩니다. 자동 검사를 비활성화하려면 업그레이드를 수행할 때
--nogpgcheck
옵션을 사용합니다. -
RHSM에 가입된 시스템은 이제 Red Hat Insights에 자동으로 등록됩니다. 자동 등록을 비활성화하려면
LEAPP_NO_INSIGHTS_REGISTER
환경 변수를1
로 설정합니다. -
Red Hat은 이제 업그레이드 시작 및 종료 시간 및 유틸리티 사용 분석을 위해 업그레이드 성공 여부와 같은 업그레이드 관련 데이터를 수집합니다. 데이터 수집을 비활성화하려면
LEAPP_NO_RHSM_FACTS
환경 변수를1
로 설정합니다.
RHEL 6에서 RHEL 8으로 인플레이스 업그레이드
RHEL 6.10에서 RHEL 8로 업그레이드하려면 RHEL 6에서 RHEL 8으로 업그레이드의 지침을 따르십시오.
RHEL 8에서 RHEL 9로 인플레이스 업그레이드
Leapp 유틸리티를 사용하여 RHEL 8에서 RHEL 9로 인플레이스 업그레이드를 수행하는 방법에 대한 지침은 RHEL 8에서 RHEL 9로 업그레이드 문서를 통해 제공됩니다. RHEL 8과 RHEL 9의 주요 차이점은 RHEL 9 채택 시 고려 사항에 설명되어 있습니다.
다른 Linux 배포판에서 RHEL로 변환
CentOS Linux 8 또는 Oracle Linux 8을 사용하는 경우 Red Hat 지원 Convert2RHEL
유틸리티를 사용하여 운영 체제를 RHEL 8로 변환할 수 있습니다. 자세한 내용은 RPM 기반 Linux 배포에서 RHEL로 변환을 참조하십시오.
이전 버전의 CentOS Linux 또는 Oracle Linux, 즉 버전 6 또는 7을 사용하는 경우 운영 체제를 RHEL로 변환한 다음 RHEL 8로 인플레이스 업그레이드를 수행할 수 있습니다. CentOS Linux 6 및 Oracle Linux 6 변환에서는 지원되지 않는 Convert2RHEL
유틸리티를 사용합니다. 지원되지 않는 변환에 대한 자세한 내용은 RHEL 파생 Linux 배포에서 RHEL로 지원되지 않는 변환을 수행하는 방법을 참조하십시오.
Red Hat이 다른 Linux 배포판에서 RHEL로의 전환을 지원하는 방법에 대한 자세한 내용은 Convert2RHEL 지원 정책 문서를 참조하십시오.
1.3. Red Hat Customer Portal 랩
Red Hat Customer Portal 랩 은 https://access.redhat.com/labs/ 에서 사용할 수 있는 고객 포털의 섹션에 있는 툴 집합입니다. Red Hat 고객 포털 랩의 애플리케이션은 성능 향상, 신속한 문제 해결, 보안 문제 식별, 복잡한 애플리케이션 배포 및 구성을 지원합니다. 가장 인기있는 애플리케이션 중 일부는 다음과 같습니다.
- 등록 도우미
- Product Life Cycle Checker
- Kickstart 생성기
- Kickstart
- Red Hat Enterprise Linux Upgrade Helper
- Red Hat Satellite 업그레이드 도우미
- Red Hat Code Browser
- JVM 옵션 구성 도구
- Red Hat CVE Checker
- Red Hat 제품 certificate
- 로드 밸런서 구성 툴
- yum Repository Configuration Helper
- Red Hat Memory Analyzer
- Kernel Oops Analyzer
- Red Hat Product Errata Advisory Checker
1.4. 추가 리소스
- 기타 시스템 버전과 비교하여 Red Hat Enterprise Linux 8의 기능 및 제한사항 은 지식베이스 문서 Red Hat Enterprise Linux 기술 기능 및 제한 에서 확인할 수 있습니다.
- Red Hat Enterprise Linux 라이프 사이클에 대한 정보는 Red Hat Enterprise Linux 라이프 사이클 문서를 참조하십시오.
- 패키지 매니페스트 문서에서는 RHEL 8의 패키지 목록을 제공합니다.
- 제거된 기능을 포함하여 RHEL 7과 RHEL 8의 주요 차이점은 RHEL 8 채택 시 고려 사항에 설명되어 있습니다.
- RHEL 7 에서 RHEL 8으로 인플레이스 업그레이드를 수행하는 방법에 대한 지침은 RHEL 7 에서 RHEL 8 로 업그레이드 문서를 통해 제공됩니다.
- 이제 모든 RHEL 서브스크립션을 통해 알려진 기술 문제를 사전에 식별, 검토 및 해결할 수 있는 Red Hat Insights 서비스를 사용할 수 있습니다. Red Hat Insights 클라이언트를 설치하고 서비스에 시스템을 등록하는 방법에 대한 자세한 내용은 Red Hat Insights 시작하기 페이지를 참조하십시오.
2장. 아키텍처
Red Hat Enterprise Linux 8.8은 다음 아키텍처를 지원하는 커널 버전 4.18.0-477.10과 함께 배포됩니다.
- AMD 및 Intel 64비트 아키텍처
- 64비트 ARM 아키텍처
- IBM Power Systems, Little Endian
- 64-bit IBM Z
각 아키텍처에 적합한 서브스크립션을 구매해야 합니다. 자세한 내용은 Get Started with Red Hat Enterprise Linux - 추가 아키텍처. 사용 가능한 서브스크립션 목록은 고객 포털에서 서브스크립션 사용률 을 참조하십시오.
3장. RHEL 8의 콘텐츠 배포
3.1. 설치
Red Hat Enterprise Linux 8은 ISO 이미지를 사용하여 설치합니다. AMD64, Intel 64비트, 64비트 ARM, IBM Power Systems, IBM Z 아키텍처에서는 두 가지 유형의 ISO 이미지를 사용할 수 있습니다.
바이너리 DVD ISO:BaseOS 및 AppStream 리포지토리가 포함된 전체 설치 이미지로, 추가 리포지토리 없이 설치를 완료할 수 있습니다.
참고설치 ISO 이미지는 여러 GB 크기이며, 결과적으로 광 미디어 형식에 맞지 않을 수 있습니다. 설치 ISO 이미지를 사용하여 부팅 가능한 설치 미디어를 생성하는 경우 USB 키 또는 USB 하드 드라이브를 사용하는 것이 좋습니다. Image Builder 툴을 사용하여 사용자 지정된 RHEL 이미지를 생성할 수도 있습니다. 이미지 빌더에 대한 자세한 내용은 사용자 지정 RHEL 시스템 이미지 구성 문서를 참조하십시오.
- 부트 ISO: 설치 프로그램으로 부팅하는 데 사용하는 최소 부트 ISO 이미지입니다. 이 옵션을 사용하여 소프트웨어 패키지를 설치하려면 BaseOS와 AppStream 리포지토리에 액세스해야 합니다.리포지토리는 바이너리 DVD ISO 이미지의 일부입니다.
ISO 이미지 다운로드, 설치 미디어 생성 및 RHEL 설치 완료 방법은 표준 RHEL 8 설치 문서를 참조하십시오. 자동화된 Kickstart 설치 및 기타 고급 주제는 고급 RHEL 8 설치 문서를 참조하십시오.
3.2. 리포지토리
Red Hat Enterprise Linux 8은 다음 두 가지 주요 리포지토리를 통해 배포됩니다.
- BaseOS
- AppStream
두 리포지토리 모두 기본 RHEL 설치에 필요하며 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다.
BaseOS 리포지토리의 콘텐츠는 모든 설치의 기반이 되는 기본 OS 기능의 코어 세트를 제공하는 데 사용됩니다. 이 콘텐츠는 RPM 형식으로 사용 가능하며 이전 RHEL 릴리스와 비슷한 지원 조건이 적용됩니다. BaseOS를 통해 배포되는 패키지 목록은 패키지 매니페스트 를 참조하십시오.
Application Stream 리포지토리의 콘텐츠에는 다양한 워크로드와 사용 사례를 지원하는 추가 사용자 공간 애플리케이션, 런타임 언어 및 데이터베이스가 포함되어 있습니다. Application Streams는 친숙한 RPM 형식으로, 모듈 이라는 RPM 형식의 확장 또는 소프트웨어 컬렉션으로 사용할 수 있습니다. AppStream에서 사용 가능한 패키지 목록은 패키지 매니페스트 를 참조하십시오.
또한 CodeReady Linux Builder 리포지토리는 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. 이는 개발자가 사용할 수 있는 추가 패키지를 제공합니다. CodeReady Linux Builder 리포지토리에 포함된 패키지는 지원되지 않습니다.
RHEL 8 리포지토리에 대한 자세한 내용은 패키지 매니페스트 를 참조하십시오.
3.3. Application Streams
Red Hat Enterprise Linux 8에는 Application Streams의 개념이 도입되어 있습니다. 이제 여러 버전의 사용자 공간 구성 요소가 핵심 운영 체제 패키지보다 더 자주 제공되고 업데이트됩니다. 이는 플랫폼 또는 특정 배포의 기본 안정성에 영향을 주지 않고 Red Hat Enterprise Linux를 사용자 지정할 수 있는 유연성을 향상시킵니다.
Application Stream으로 사용 가능한 구성 요소는 모듈 또는 RPM 패키지로 패키징할 수 있으며 RHEL 8의 AppStream 리포지토리를 통해 제공합니다. 각 Application Stream 구성 요소에는 RHEL 8과 동일하거나 더 짧은 라이프 사이클이 있습니다. 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클을 참조하십시오.
모듈은 논리 단위, 애플리케이션, 언어 스택, 데이터베이스 또는 툴 세트를 나타내는 패키지 컬렉션입니다. 이러한 패키지는 함께 빌드, 테스트, 릴리스됩니다.
모듈 스트림은 Application Stream 구성 요소의 버전을 나타냅니다. 예를 들어 PostgreSQL 데이터베이스 서버의 여러 스트림(버전)은 기본 postgresql
:10
스트림과 postgresql 모듈에서 사용할 수 있습니다. 시스템에는 하나의 모듈 스트림만 설치할 수 있습니다. 개별 컨테이너에서 서로 다른 버전을 사용할 수 있습니다.
자세한 모듈 명령은 사용자 공간 구성 요소 설치, 관리 및 제거 문서에 설명되어 있습니다. AppStream에서 사용 가능한 모듈 목록은 패키지 매니페스트 를 참조하십시오.
3.4. YUM/DNF를 사용한 패키지 관리
Red Hat Enterprise Linux 8에서는 DNF 기술을 기반으로 하는 YUM 툴을 통해 소프트웨어를 설치합니다. 이전 RHEL 주요 버전과의 일관성을 위해 yum
용어 사용을 의도적으로 준수합니다. 그러나 yum
.f 대신 dnf
를 입력하면 yum
이 호환성을 위해 dnf
에 대한 별칭이므로 명령이 예상대로 작동합니다.
자세한 내용은 다음 설명서를 참조하십시오.
4장. 새로운 기능
이 부분에서는 Red Hat Enterprise Linux 8.8에 도입된 새로운 기능 및 주요 개선 사항에 대해 설명합니다.
4.1. 설치 프로그램 및 이미지 생성
이미지 빌더 웹 콘솔에서 developers 및 이미지를 생성하는 새롭고 향상된 방법
이번 개선된 기능을 통해 이미지 빌더 툴의 통합 버전에 액세스하고 사용자 환경이 크게 개선되었습니다.
이미지 빌더 대시보드 GUI의 주요 개선 사항은 다음과 같습니다.
- 이제 커널, 파일 시스템, 방화벽, 로케일 및 기타 사용자 정의와 같이 이전에 지원되었던 모든 사용자 정의를 사용하여 청사진을 사용자 지정할 수 있습니다.
-
.JSON
또는.TOML
형식으로 청사진을 업로드하거나 드래그하여 가져온 청사진에서 이미지를 생성하여 청사진을 가져올 수 있습니다. -
또한
.JSON
또는.TOML
형식으로 청사진을 내보내거나 저장할 수도 있습니다. - 정렬, 필터링, 대/소문자를 구분합니다.
이미지 빌더 대시보드를 사용하면 다음 탭을 탐색하여 청사진, 이미지 및 소스에 액세스할 수 있습니다.
- 청사진 - 청사진 탭에서는 이제 청사진을 가져오거나 내보내거나 삭제할 수 있습니다.
이미지 - 이미지 탭 아래 다음을 수행할 수 있습니다.
- 이미지를 다운로드합니다.
- 이미지 로그를 다운로드합니다.
- 이미지를 삭제합니다.
소스 - 소스 탭의 경우 다음을 수행할 수 있습니다.
- 이미지를 다운로드합니다.
- 이미지 로그를 다운로드합니다.
- 이미지 소스를 생성합니다.
- 이미지를 삭제합니다.
Jira:RHELPLAN-139448
이미지 빌더로 빌드된 .vhd
이미지에 64비트 ARM 지원
이전에는 이미지 빌더 도구로 생성된 Microsoft Azure .vhd
이미지가 64비트 ARM 아키텍처에서 지원되지 않았습니다. 이번 업데이트에서는 64비트 ARM Microsoft Azure .vhd
이미지에 대한 지원이 추가되어 이제 이미지 빌더를 사용하여 .vhd
이미지를 빌드하고 Microsoft Azure 클라우드에 업로드할 수 있습니다.
Jira:RHELPLAN-139424
4.2. 엣지용 RHEL
간소화된 설치 프로그램
이미지를 위한 CloudEvent에서 사용자를 지정할 수 있는 기능
이전에는 간소화된 설치 프로그램 이미지에 대한 청사진을 생성할 때 사용자 지정이 사용되지 않고 삭제되었기 때문에 사용자 지정에서 사용자를 지정할 수 없었습니다. 이번 업데이트를 통해 청사진에서 이미지를 생성할 때 이 청사진은 설치 시 /usr/lib/passwd
디렉터리에 사용자와 암호를 /usr/etc/shadow
디렉터리에 생성합니다. 사용자 이름과 청사진을 위해 작성한 암호를 사용하여 장치에 로그인할 수 있습니다. 시스템에 액세스한 후 useradd
명령을 사용하여 사용자를 생성해야 합니다.
Jira:RHELPLAN-149091
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에서 오프라인 업데이트를 위한 새로운 yum offline-upgrade
명령
이번 개선된 기능을 통해 YUM system-upgrade
플러그인의 새로운 yum offline-upgrade
명령을 사용하여 RHEL에 오프라인 업데이트를 적용할 수 있습니다.
system-upgrade
플러그인에 포함된 yum system-upgrade
명령은 RHEL에서 지원되지 않습니다.
yum offline-upgrade
에 권고 보안 필터 적용 지원
이번 개선된 기능을 통해 권고 필터링의 새로운 기능이 추가되었습니다. 결과적으로 권고 보안 필터 (--advisory
,--security
,--bugfix
, 기타 필터)와 함께 yum offline-upgrade
명령을 사용하여 지정된 권고에서만 패키지와 해당 종속성을 다운로드할 수 있습니다.
YUM API에서 unload_plugins
기능을 사용할 수 있습니다.
이번 개선된 기능을 통해 새로운 unload_plugins
기능이 YUM API에 추가되어 플러그인을 언로드할 수 있습니다.
먼저 init_plugins
함수를 실행한 다음 unload_plugins
함수를 실행해야 합니다.
rpm2archive
의 새로운 --nocompression
옵션
이번 개선된 기능을 통해 rpm2archive
유틸리티에 --nocompression
옵션이 추가되었습니다. RPM 패키지의 압축을 직접 해제할 때 이 옵션을 사용하면 압축을 방지할 수 있습니다.
Bugzilla:2129345
4.4. 쉘 및 명령행 툴
Rear는 64비트 IBM Z 아키텍처에서도 완전 지원됩니다.
이전에는 64비트 IBM Z 아키텍처에서 기술 프리뷰로 사용할 수 있는 기본 Relax 및 Recover(ReaR) 기능은 리어
패키지 버전 2.6-9.el8 이상에서 완전하게 지원됩니다. 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:2130206, Bugzilla:1868421
4.5. 인프라 서비스
빈도 동기화를 위한 새로운 synce4l
패키지 사용 가능
SyncE(Synchronous Ethernet)는 PTP 클럭이 물리 계층에서 빈도를 정확하게 동기화할 수 있도록 하는 하드웨어 기능입니다. SyncE는 특정 NIC(네트워크 인터페이스 카드) 및 네트워크 스위치에서 지원됩니다.
이번 개선된 기능을 통해 이제 SyncE를 지원하는 새로운 synce4l
패키지를 사용할 수 있습니다. 그 결과 RAN(Telco radio Access Network) 애플리케이션이 보다 정확한 시간 동기화로 인해 보다 효율적인 통신을 수행할 수 있게 되었습니다.
Bugzilla:2019751
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:2040070
버전 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:2133814,Bugzilla:2113925,Bugzilla:2118786,Bugzilla:2095829,Bugzilla:2113900
4.6. 보안
FIPS 모드에서는 FIPS 140-3을 대상으로 하는 더 안전한 설정이 있습니다.
커널의 FIPS 모드 설정은 FIPS(Federal Information Processing Standard) 140-3을 준수하도록 조정되었습니다. 이러한 변경으로 인해 많은 암호화 알고리즘, 함수 및 암호화 제품군에 더 엄격한 설정이 도입되었습니다. 특히:
- Triple Data Encryption Standard (3DES), Elliptic-curve Diffie-Hellman (ECDH), Finite-Field Diffie-Hellman (FFDH) 알고리즘은 이제 비활성화되어 있습니다. 이 변경 사항은 커널 키링의 Bluetooth, DH 관련 작업 및 QAT(Intel QuickAssist Technology) 암호화 가속기에 영향을 미칩니다.
- 해시 기반 메시지 인증 코드(HMAC) 키는 이제 112비트보다 짧을 수 없습니다. 최소 키 길이는 Rivest-Shamir-Adleman (RSA) 알고리즘의 경우 2048 비트로 설정됩니다.
-
대신
xts_check_key()
함수를 사용하는 드라이버가xts_verify_key()
함수를 사용하도록 업데이트되었습니다. - 이제 다음의 DRBG(Deterministic Random Bit Generator) 해시 기능이 비활성화되었습니다. SHA-224, SHA-384, SHA512-224, SHA3-224, SHA3-224, SHA3-384.
FIPS 모드에서 RHEL 8.6 (및 최신) 커널은 FIPS 140-3을 준수하도록 설계되었지만 NIST (National Institute of Standards and Technology) Cryptographic Module Validation Program (CMVP)의 인증을 받지 않았습니다. 최신 인증된 커널 모듈은 RHSA-2021:4356 권고 업데이트 후 업데이트된 RHEL 8.5 커널입니다. 해당 인증은 FIPS 140-2 표준에 적용됩니다. 암호화 모듈이 FIPS 140-2 또는 140-3를 준수하는지 여부를 선택할 수 없습니다. 자세한 내용은 Compliance Activities and Government Standards: FIPS 140-2 및 FIPS 140-3 Knowledgebase 문서를 참조하십시오.
Bugzilla:2107595, Bugzilla:2158893, Bugzilla:2175234, Bugzilla:2166715, Bugzilla:2129392, Bugzilla:2152133
libreswan은 4.9로 다시 설정
libreswan
패키지가 4.9 버전으로 업그레이드되었습니다. 이전 버전의 주요 변경 사항은 다음과 같습니다.
-
addconn
및whack
유틸리티에{left,right}pubkey=
에 대한 지원이 추가되었습니다. - 추가 키 파생 기능 (KDF) 자체 테스트
-
seccomp
필터에 대해 허용된 시스템 호출의 업데이트된 목록 호스트의 인증 키 표시(
showhostkey
).- Elliptic Curve Digital Signature Algorithm (ECDSA) has been supported for Elliptic Curve Digital Signature Algorithm (ECDSA)
-
개인 정보 보호 강화 mail(PEM)으로 인코딩된 공개 키를 출력하기 위해
--pem
옵션을 추가했습니다.
인터넷 키 교환 프로토콜 버전 2 (IKEv2):
- 확장 가능한 인증 프로토콜 - 전송 계층 보안 (EAP-TLS) 지원
- EAP 전용 인증 지원
- 라벨이 지정된 IPsec 개선 사항
Pluto
Internet Key Exchange (IKE) 데몬:-
maxbytes
및maxpacket
카운터 지원 -
replay-window
의 기본값 변경 32에서 128로 변경 -
esn=
의 기본값을 yes로변경하고
기본 값을yes
로 변경 -
replay-window=
이0
으로 설정된 경우 비활성화됨 -
crypto-low
와 같은 사용되지 않는 디버그 옵션 삭제
-
Bugzilla:2128672
SELinux가 udftools
제한
이 selinux-policy
패키지 업데이트와 함께 SELinux는 udftools
서비스를 제한합니다.
Bugzilla:1972230
systemd-socket-proxyd
의 새로운 SELinux 정책
systemd-socket-proxyd
서비스에는 특정 리소스 사용이 필요하므로 필요한 규칙이 있는 새 정책이 selinux-policy
패키지에 추가되었습니다. 결과적으로 서비스는 SELinux 도메인에서 실행됩니다.
OpenSCAP이 1.3.7로 재기반
OpenSCAP 패키지는 업스트림 버전 1.3.7로 변경되었습니다. 이 버전은 다양한 버그 수정 및 개선 사항을 제공합니다.
- OVAL 필터를 처리할 때 발생하는 오류 수정 (rhbz#2126882)
-
gRPC가 일치하지 않는 경우 OpenSCAP에서 잘못된 빈
xmlfilecontent
항목을 더 이상 내보내지 않습니다(rhbz#2139060). -
사용 가능한 메모리 오류를 확인하지 못했습니다
(rhbz#2111040)
Rsyslog 로그 파일에 대한 SCAP -security-guide
규칙은 RainerScript와 호환됩니다.
Rsyslog 로그 파일의 소유권 확인 및 수정, 그룹 소유권 및 권한에 대한 scap-security-guide
의 규칙은 이제 RainerScript 구문을 사용하여 정의한 로그 파일과도 호환됩니다. 최신 시스템에서는 Rsyslog 구성 파일에서 RainerScript 구문을 이미 사용하고 있으며 해당 규칙은 이 구문을 인식하지 못했습니다. 결과적으로 scap-security-guide
규칙은 이제 사용 가능한 두 구문에서 소유권, 그룹 소유권 및 권한을 확인하고 수정할 수 있습니다.
STIG 보안 프로파일이 버전 V1R9로 업데이트
SCAP 보안 가이드의 DISA STIG for Red Hat Enterprise Linux 8
프로파일이 최신 버전 V1R9
와 일치하도록 업데이트되었습니다. 이 릴리스에는 V1R8
에 게시된 변경 사항도 포함되어 있습니다.
이전 버전은 더 이상 유효하지 않기 때문에 이 프로필의 현재 버전만 사용합니다.
다음 STIG ID가 업데이트되었습니다.
V1R9
-
rhel-08-010359 - 선택한 규칙
aide_build_database
-
rhel-08-010510 - Removed 규칙
sshd_disable_compresssion
- RHEL-08-020040 - tmux 키 바인딩을 구성하는 새로운 규칙
-
RHEL-08-020041 -
exec
tmux
대신 tmux 시작을 구성하는 새로운 규칙
-
rhel-08-010359 - 선택한 규칙
V1R8
-
여러 STIG ID -
sshd
및sysctl
규칙이 중복 또는 충돌하는 구성을 식별하고 제거할 수 있습니다. -
RHEL-08-010200 - SSHD ClientAliveCountMax는 값
1
로 구성됩니다. -
RHEL-08-020352 - 확인 및 수정에서
.bash_history
가 무시됩니다. -
rhel-08-040137 -
/etc/fapolicyd/fapolicyd.rules
및/etc/fapolicyd/complied.rules
를 모두 검사하도록 업데이트되었는지 확인합니다.
-
여러 STIG ID -
자동 수정으로 인해 시스템이 작동하지 않을 수 있습니다. 먼저 테스트 환경에서 수정을 실행합니다.
RHEL 8 STIG 프로파일이 벤치마크와 더 잘 일치됩니다.
RHEL 8 STIG 요구 사항을 충족하는 기존 규칙 4개가 데이터 스트림의 일부였지만 이전에는 STIG 프로필(stig
및 stig_gui
)에 포함되지 않았습니다. 이번 업데이트를 통해 이제 프로필에 다음 규칙이 포함됩니다.
-
accounts_passwords_pam_faillock_dir
-
accounts_passwords_pam_faillock_silent
-
account_password_selinux_faillock_dir
-
fapolicy_default_deny
결과적으로 RHEL 8 STIG 프로필은 더 높은 범위를 갖습니다.
SCAP 보안 가이드 0.1.66으로 업데이트
SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.66으로 변경되었습니다. 이 버전은 다양한 개선 사항 및 버그 수정을 제공합니다.
- 업데이트된 RHEL 8 STIG 프로필
-
account_passwords_pam_faillock_audit
는accounts_passwords_pam_faillock_audit
를 사용합니다.
OpenSSL 드라이버는 Rsyslog에서 인증서 체인을 사용할 수 있습니다.
NetstreamDriverCaExtraFiles
지시문에서는 여러 개의 추가 CA(인증 기관) 파일을 구성할 수 있습니다. 이번 업데이트를 통해 여러 CA 파일을 지정할 수 있으며 OpenSSL 라이브러리는 SSL 인증서 체인에 필요한 CA 파일을 검증할 수 있습니다. 따라서 Rsyslog의 인증서 체인을 OpenSSL 드라이버와 함께 사용할 수 있습니다.
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:2110315
유휴 세션 종료를 위한 새로운 SCAP 규칙
새로운 SCAP 규칙 logind_session_timeout
이 강화 및 높은 수준의 ANSSI-BP-028 프로파일의 scap-security-guide
패키지에 추가되었습니다. 이 규칙은 systemd
서비스 관리자의 새로운 기능을 사용하고 특정 시간 후에 유휴 사용자 세션을 종료합니다. 이 규칙은 여러 보안 정책에 필요한 강력한 유휴 세션 종료 메커니즘의 자동 구성을 제공합니다. 결과적으로 OpenSCAP은 유휴 사용자 세션 종료와 관련된 보안 요구 사항을 자동으로 확인하고 필요한 경우 문제를 해결할 수 있습니다.
fapolicyd에서 RPM 데이터베이스 필터링 제공
새로운 구성 파일 /etc/fapolicyd/rpm-filter.conf
를 사용하면 fapolicyd
소프트웨어 프레임워크가 trust 데이터베이스에 저장하는 RPM-database 파일 목록을 사용자 지정할 수 있습니다. 이렇게 하면 RPM에서 설치한 특정 애플리케이션을 차단하거나 기본 구성 필터에서 애플리케이션을 거부하도록 허용할 수 있습니다.
4.7. 네트워킹
기본 MPTCP 하위 흐름 제한은 2입니다.
하위 흐름은 MPTCP(Multipath TCP) 연결에 포함된 단일 TCP 연결입니다. MPTCP의 하위 흐름 제한은 두 개의 MPTCP 엔드포인트 간에 생성할 수 있는 최대 추가 연결 수를 나타냅니다. 제한을 사용하여 네트워크 및 끝점의 과부하를 방지하기 위해 끝점 간에 생성할 수 있는 추가 병렬 하위 흐름 수를 제한할 수 있습니다. 예를 들어 값 0은 초기 하위 흐름만 허용합니다.
이번 개선된 기능을 통해 기본 MPTCP 하위 흐름 제한이 0에서 2로 증가했습니다. 이를 통해 기본적으로 여러 개의 추가 하위 흐름을 생성할 수 있습니다. 다른 값이 필요한 경우 Systemd oneshot 장치를 만들 수 있습니다. 장치는 모든 부팅 프로세스 중에 네트워크(network.target
)가 작동하는 후 ip CHAPtcp 제한 set subflows <YOUR_VALUE
> 명령을 실행해야 합니다.
Bugzilla:2127136
커널은 이제 SYN 플러드 메시지에 수신 대기 주소를 기록합니다.
이번 개선된 기능에는 수신 대기 IP 주소가 SYN 플러드 메시지에 추가됩니다.
Possible SYN flooding on port <ip_address>:<port>.
결과적으로 많은 프로세스가 다른 IP 주소의 동일한 포트에 바인딩되면 이제 관리자가 영향을 받는 소켓을 명확하게 확인할 수 있습니다.
Bugzilla:2143849
nm-initrd-generator
프로파일이 자동 연결 프로필보다 우선 순위가 낮습니다.
nm-initrd-generator
초기 부팅 NetworkManager 구성 생성 유틸리티는 부트 로더의 초기화된 initrd
RAM 디스크에서 실행되는 NetworkManager 인스턴스를 사용하여 연결 프로필을 생성하고 구성합니다. nm-initrd-generator
유틸리티 생성 프로파일에 이제 기본 연결 자동 연결 우선 순위보다 낮은 자동 연결 우선 순위가 있습니다. 이를 통해 initrd
에서 생성된 네트워크 프로필이 기본 root 계정의 사용자 구성과 공존할 수 있습니다.
initrd
root 계정에서 기본 root로 전환하면 동일한 프로파일이 활성화된 상태로 유지되고 새로운 자동 연결이 발생하지 않습니다.
nispor
버전 기반 1.2.10
nispor
패키지가 업스트림 버전 1.2.10으로 업그레이드되어 이전 버전에 비해 여러 가지 개선 사항 및 버그 수정을 제공합니다.
-
네트워크 경로 및 인터페이스에서 커널 필터를 사용하도록
NetStateFilter
지원이 추가되었습니다. - SR-IOV(Single Root Input and Output Virtualization) 인터페이스는 VF(VF)당 SR-IOV 가상 기능(SR-IOV VF) 정보를 쿼리할 수 있습니다.
-
새로 지원되는 본딩 옵션:
lacp_active
,arp_missed_max
및ns_ip6_target
.
NetworkManager가 버전 1.40.16으로 다시 지정
NetworkManager
패키지가 업스트림 버전 1.40.16으로 업그레이드되어 이전 버전에 비해 여러 가지 버그 수정을 제공합니다.
-
nm-cloud-setup
유틸리티는 외부에 추가된 주소를 유지합니다. - 부팅 시 MACsec 연결의 자동 활성화를 방지하도록 경쟁 조건이 수정되었습니다.
- NetworkManager는 이제 IPv6 근접 검색 메시지에서 구성된 항목의 만료 시간을 올바르게 계산합니다.
-
설정이 변경되면 NetworkManager는 이제
/etc/resolv.conf
파일을 자동으로 업데이트합니다. - 본딩을 활성화할 때 NetworkManager는 존재하지 않는 인터페이스를 기본으로 설정하지 않습니다.
- 본딩에서 기본 인터페이스를 설정하는 것은 본딩을 활성화할 때 인터페이스가 없는 경우에도 항상 작동합니다.
-
NetworkManager --print-config
명령에서 더 이상 중복 항목을 출력하지 않습니다. -
ifcfg-rh
플러그인은 이제 명시적 인터페이스 이름 없이 InfiniBand P-Key 연결 프로필을 읽을 수 있습니다. -
nmcli
유틸리티는 본딩에서 본딩 포트 연결 프로필을 제거할 수 있습니다. -
피어가 이미 존재하는 경우
veth
프로필을 활성화하는 동안 발생할 수 있는 경쟁 조건이 수정되었습니다. - 이제 NetworkManager는 모든 주소가 IPv6 중복 주소 탐지(DAD)에 실패하는 경우 DHCPv6 리스를 거부합니다.
- 이제 NetworkManager는 DNS에서 이러한 인터페이스의 시스템 호스트 이름을 확인하기 전에 인터페이스가 연결될 때까지 기다립니다.
-
nm-initrd-generator
유틸리티로 생성된 프로필은 이제 lower-than-default 우선 순위를 갖습니다.
주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.
4.8. 커널
RHEL 8.8의 커널 버전
Red Hat Enterprise Linux 8.8은 커널 버전 4.18.0-477.10과 함께 배포됩니다.
고객 키로 실행 게스트 덤프 암호화 보안
이 새로운 기능을 통해 Secure Execution 게스트는 kdump
유틸리티가 작동하지 않을 때 KVM에서 하이퍼바이저 시작 덤프를 사용하여 커널 충돌 정보를 수집할 수 있습니다. 보안 실행을 위한 하이퍼바이저 시작 덤프는 IBM Z Series z16 및 LinuxONE emperor 4 하드웨어용으로 설계되었습니다.
Bugzilla:2043833
sfc
드라이버는 sfc 및
로 나뉩니다.sfc
_siena
업스트림 드라이버의 변경 이후 sfc
NIC 드라이버는 이제 sfc 및
의 두 가지 드라이버로 나뉩니다. sfc
_sienasfc_siena
는 더 이상 사용되지 않는 Siena 제품군 장치를 지원합니다.
sfc
에 적용된 커널 모듈 매개변수 및 udev
규칙의 사용자 지정 구성은 이제 독립 드라이버이므로 sfc_siena
에는 영향을 미치지 않습니다. 두 드라이버를 모두 사용자 지정하려면 sfc_siena
에 대한 구성 옵션을 복제합니다.
Bugzilla:2136107
stmmac
드라이버가 이제 완전히 지원됨
Red Hat은 이제 Intel® Elkhart Lake 시스템의 stmmac
드라이버를 SoC(SoC)에서 완벽하게 지원합니다.
Bugzilla:1905243
rtla
meta-tool은 추적기 기능을 개선하기 위해 osnoise
및 timerlat
추적기를 추가합니다.
Real-Time Linux Analysis(rtla
)는 Linux의 실시간 속성을 분석하는 명령 집합이 포함된 meta-tool입니다. rtla
는 커널 추적 기능을 활용하여 예기치 않은 시스템 결과의 속성 및 근본 원인에 대한 정확한 정보를 제공합니다. rtla
는 현재 osnoise
및 timerlat
tracer 명령을 지원합니다. osnoise
tracer는 CPU당 커널 스레드를 보고합니다. timerlat
추적기는 타이머 IRQ 처리기 및 스레드 처리기에서 타이머 대기 시간을 주기적으로 출력합니다.
rtla
의 timerlat
기능을 사용하려면 sysctl -w kernel.sched_rt_runtime_us=-1
스크립트를 사용하여 승인 제어를 비활성화해야 합니다.
Bugzilla:2075203
가독성 향상을 위해 cgroup
및 irqs
의 출력 형식이 개선되었습니다.
이번 개선된 기능을 통해 cgroup
유틸리티의 tuna show_threads
명령 출력이 터미널 크기에 따라 구성됩니다. new -z
또는 --spaced
옵션을 show_threads
명령에 추가하여 cgroups
출력에 추가 간격을 구성할 수도 있습니다. 결과적으로 이제 터미널 크기에 맞게 조정 가능한 향상된 읽기 가능한 형식으로 cgroups
출력을 볼 수 있습니다.
이제 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
옵션을 사용하기 전에 오류 측정과 관련하여 중요한 정확도 수준을 결정해야합니다.
E810
에서 Intel 아이킹 드라이버와 함께 Ethernet Port Configuration Tool (EPCT) 유틸리티 지원
이번 개선된 기능을 통해 devlink 포트 분할 명령에서
Intel 아이덴티드 드라이버를 지원합니다. 이더넷 포트 구성 도구(EPCT)는 장치의 링크 유형을 변경할 수 있는 명령줄 유틸리티입니다. 장치의 장치 정보 및 리소스를 표시하는 devlink
유틸리티는 EPCT에 따라 다릅니다. 이러한 개선으로 인해 아이스 드라이버가 EPCT 지원을 구현하므로 Intel 아이빙 드라이버를 사용하여 구성 가능한 장치를 나열하고 볼 수 있습니다.
Bugzilla:2009705
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:2103946
IBM zSystems용 Secure Boot 인증서 호스트
IBM z16 A02/AGZ 및 LinuxONEovnhopper 4 LA2/AGL부터 HMC(하드웨어 관리 콘솔)에서 Secure Boot가 활성화된 시스템을 시작할 때 Linux 커널의 유효성을 확인하는 데 사용되는 인증서를 관리할 수 있습니다. 특히:
- DPM의 HMC 및 HMC에서 액세스할 수 있는 FTP 서버에서 클래식 모드를 사용하여 시스템 인증서 저장소에서 인증서를 로드할 수 있습니다. HMC에 연결된 USB 장치에서 인증서를 로드할 수도 있습니다.
- 인증서 저장소에 저장된 인증서를 LPAR 파티션과 연결할 수 있습니다. 여러 인증서를 파티션과 연결할 수 있으며 인증서를 여러 파티션에 연결할 수 있습니다.
- HMC 인터페이스를 사용하여 파티션에서 인증서 저장소의 인증서 연결을 해제할 수 있습니다.
- 인증서 저장소에서 인증서를 제거할 수 있습니다.
- 한 파티션에 최대 20개의 인증서를 연결할 수 있습니다.
내장된 펌웨어 인증서는 계속 사용할 수 있습니다. 특히 사용자가 관리하는 인증서 저장소를 사용하는 즉시 내장된 인증서를 더 이상 사용할 수 없습니다.
인증서 저장소에 로드된 인증서 파일은 다음 요구 사항을 충족해야 합니다.
-
PEM 또는
형식 및 .pem 확장자 중 하나인DER-
encoded X.509v3.pem
,.cer
,.crt
, .der.der
중 하나입니다. - 이는 만료되지 않습니다.
- 주요 사용량 속성은 디지털 서명 이어야 합니다.
- 확장된 키 사용 속성에는 Code Signing 이 포함되어야 합니다.
펌웨어 인터페이스를 사용하면 논리 파티션에서 실행되는 Linux 커널이 이 파티션과 연결된 인증서를 로드할 수 있습니다. IBM Z의 Linux는 이러한 인증서를 .platform
키링에 저장하므로 Linux 커널이 kexec
커널 및 타사 커널 모듈을 확인할 수 있습니다.
Operator는 확인된 인증서만 업로드하고 취소된 인증서를 제거해야 합니다.
HMC에 로드해야 하는 Red Hat Secure Boot CA 3
인증서는 제품 서명 키 에서 사용할 수 있습니다.
Bugzilla:2183445
4.9. 고가용성 및 클러스터
새로운 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.10. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
Python 3.11은 RHEL 8에서 사용 가능
RHEL 8.8에는 새 패키지 python3.11
에서 제공하는 Python 3.11과 ubi8/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, Python 3.8 및 Python 3.6과 병렬로 설치할 수 있습니다.
이전 버전과 달리 Python 3.11은 모듈 대신 표준 RPM 패키지로 배포됩니다.
python3.11
스택에서 패키지를 설치하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
# yum install python3.11 # yum install python3.11-pip
인터프리터를 실행하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
$ python3.11 $ python3.11 -m pip --help
자세한 내용은 Python 설치 및 사용을 참조하십시오.
Red Hat은 RHEL 8의 라이프 사이클이 종료될 때까지 Python 3.6에 대한 지원을 계속 제공합니다. Python 3.9와 마찬가지로 Python 3.11에는 라이프 사이클이 더 짧습니다. Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
nodejs:18
rebased to version 18.14 with npm
rebased to version 9
RHSA-2023:1583 에서 릴리스된 Node.js 18.14
에는 npm
버전 8에서 버전 9로 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
스트림을 설치하려면 다음을 사용합니다.
# yum module install nginx:1.22
nginx:1.20
스트림에서 업그레이드하려면 이후 스트림으로 전환 을 참조하십시오.
자세한 내용은 NGINX 설정 및 구성을 참조하십시오.
nginx
모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
Bugzilla:2112345
mod_security
는 버전 2.9.6로 재기반
Apache HTTP Server의 mod_security
모듈이 2.9.6 버전으로 업데이트되어 이전에 사용 가능한 버전 2.9.2에 새로운 기능, 버그 수정, 보안 수정 사항을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
modsecurity.conf-recommended
파일에서 조정된 구문 분석기 활성화 규칙입니다. -
mod_security
가 HTTP 다중 파트 요청을 구문 분석하는 방식 개선 -
새로운
MULTIPART_PART_HEADERS
컬렉션을 추가했습니다. - 포맷된 로그 타임 스탬프에 마이크로초 타임스탬프 확인이 추가되었습니다.
- 누락된 지오국가가 추가되었습니다.
새 패키지: tomcat
RHEL 8.8에는 Apache Tomcat 서버 버전 9가 도입되었습니다. Tomcat은 Java Servlet 및 JavaServer Pages 기술을 위한 공식 참조 구현에 사용되는 서블릿 컨테이너입니다. Java Servlet 및 JavaServer Pages 사양은 Sun에서 Java Community Process에 따라 개발했습니다. Tomcat은 공개 및 참여 환경에서 개발되었으며 Apache Software License 버전 2.0에 따라 출시되었습니다.
Bugzilla:2160455
새 모듈 스트림: postgresql:15
RHEL 8.8에서는 버전 13에 비해 많은 새로운 기능과 향상된 기능을 제공하는 PostgreSQL 15
가 도입되었습니다. 주요 변경 사항은 다음과 같습니다.
이제 하위 스크립트를 사용하여
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
스트림을 설치하려면 다음을 사용합니다.
# yum module install postgresql:15
RHEL 8 내의 이전 postgresql
스트림에서 업그레이드하려면 이후 스트림으로 전환에 설명된 절차에 따라 RHEL 8 버전으로 마이그레이션에 설명된 대로 PostgreSQL
데이터를 마이그레이션 합니다.
postgresql
모듈 스트림의 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
4.11. 컴파일러 및 개발 도구
새 모듈 스트림: swig:4.1
RHEL 8.8에는 새로운 모듈 스트림인 swig:4.1
로 사용할 수 있는 SWIG(Simplified Wrapper and Interface Generator) 버전 4.1이 도입되었습니다.
RHEL 8.4에서 릴리스된 SWIG 4.0
과 비교, SWIG 4.1
:
-
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
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install swig:4.1
이전 swig
모듈 스트림에서 업그레이드하려면 이후 스트림으로 전환 을 참조하십시오.
swig
모듈 스트림의 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
새로운 모듈 스트림: j Galaxyb:4
RHEL 8.8에서는 Jakarta XML Binding (JAXB) 4를 새로운 jvnc b:4
모듈 스트림으로 도입했습니다. CloudEventB는 개발자가 Java 클래스를 XML 표현에 매핑할 수 있도록 하는 프레임워크입니다.
j Galaxy b:4
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install jaxb:4
Bugzilla:2055539
GCC Toolset 12 업데이트
GCC Toolset 12는 최신 버전의 개발 도구를 제공하는 컴파일러 도구 세트입니다. AppStream
리포지토리에서 소프트웨어 컬렉션 형태로 애플리케이션 스트림으로 사용할 수 있습니다.
RHEL 8.8에 도입된 주요 변경 사항은 다음과 같습니다.
- 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로 다음 명령을 실행합니다.
# yum 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 를 참조하십시오.
glibc
에 추가된 보안 개선 사항
SafeLinking
기능이 glibc
에 추가되었습니다. 결과적으로 allocator의 스레드 로컬 캐시를 포함하여 특정 단일 링크 목록 손상에 대한 malloc
제품군의 보호 기능이 향상됩니다.
glibc
동적 로더 알고리즘 개선
공유 오브젝트를 처리하기 위한 glibc
동적 로더의 O(n3) 알고리즘은 공유 오브젝트 종속 항목이 중첩될 때 애플리케이션 시작 속도가 느려지고 종료 시간이 발생할 수 있습니다. 이번 업데이트를 통해 DFS(depth-first search)를 사용하도록 동적 로더 알고리즘이 개선되었습니다. 결과적으로 공유 개체 종속성이 중첩되는 경우 애플리케이션 시작 및 종료 시간이 크게 향상됩니다.
glibc
런타임 튜닝 가능 glibc.rtld.dynamic_sort
를 사용하여 동적 로더의 O(n3) 알고리즘을 선택할 수 있습니다. 튜닝 가능 항목의 기본값은 새 DFS 알고리즘을 나타내는 2입니다. 호환성을 위해 이전 O(n3) 알고리즘을 선택하려면 튜닝 가능 항목을 1로 설정합니다.
# GLIBC_TUNABLES=glibc.rtld.dynamic_sort=1 # export GLIBC_TUNABLES
Bugzilla:1159809
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.4
Go Toolset 버전이 1.19.4로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
다음 패키지에 대한 보안 수정:
-
crypto/tls
-
MIME/multipart
-
net/http
-
path/filepath
-
다음의 버그 수정:
-
Go
명령 - 링커
- 런타임
-
crypto/x509
패키지 -
net/http
패키지 -
시간
패키지
-
Bugzilla:2174430
이제 tzdata
패키지에 /usr/share/zoneinfo/leap-seconds.list
파일이 포함됩니다.
이전에는 tzdata
패키지에서 /usr/share/zoneinfo/leapseconds
파일만 제공했습니다. 일부 애플리케이션은 /usr/share/zoneinfo/leap-seconds.list
파일에서 제공하는 대체 형식에 의존하여 결과적으로 오류가 발생합니다.
이번 업데이트를 통해 이제 tzdata
패키지에 두 형식의 형식을 사용하는 애플리케이션을 지원하는 두 파일이 모두 포함되어 있습니다.
4.12. IdM (Identity Management)
홈 디렉터리를 소문자로 변환하는 SSSD 지원
이번 개선된 기능을 통해 사용자 홈 디렉터리를 소문자로 변환하도록 SSSD를 구성할 수 있습니다. 이렇게 하면 RHEL 환경의 대/소문자를 구분하지 않는 특성과 보다 효과적으로 통합할 수 있습니다. /etc/sssd/sssd.conf
파일의 [nss]
섹션에 있는 override_homedir
옵션이 %h
템플릿 값을 인식합니다. override_homedir
정의의 일부로 %h
를 사용하는 경우 SSSD는 %h
를 소문자로 사용자의 홈 디렉터리로 대체합니다.
Jira:RHELPLAN-139430
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
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:2144519
구성 파일을 사용하여 gRPC_pwhistory
구성
이번 업데이트를 통해 /etc/security/
pwhistory 모듈을 구성할 수 있습니다. gRPC pwhistory.conf
구성 파일에 CloudEvent__pwhistory
모듈은 암호 변경 기록을 관리하기 위해 각 사용자에 대한 마지막 암호를 저장합니다. CHAP _pwhistory
모듈을 PAM 스택에 추가할 수 있는 authselect
에도 지원이 추가되었습니다.
Bugzilla:2068461, Bugzilla:2063379
getcert add-scep-ca
에서 사용자 제공 SCEP CA 인증서가 유효한 PEM 형식인지 확인합니다.
getcert add-scep-ca
명령을 사용하여 certmonger
에 SCEP CA를 추가하려면 제공된 인증서는 유효한 PEM 형식이어야 합니다. 이전에는 명령에서 사용자 제공 인증서를 확인하지 않았으며 잘못된 형식의 경우 오류를 반환하지 않았습니다. 이번 업데이트를 통해 getcert add-scep-ca
는 이제 사용자 제공 인증서를 확인하고 인증서가 유효한 PEM 형식이 아닌 경우 오류를 반환합니다.
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 페이지를 참조하십시오.
Directory Server 감사 로그의 새로운 nsslapd-auditlog-display-attrs
구성 매개변수
이전에는 항목의 고유 이름(DN)에 명확한 식별 정보가 포함되지 않은 경우 항목을 변경한 사람을 확인하기 어려웠습니다. 새로운 nsslapd-auditlog-display-attrs
매개변수를 사용하면 감사 로그에 디렉터리 서버가 표시되는 추가 속성을 설정하여 수정된 항목에 대한 세부 정보를 제공할 수 있습니다.
예를 들어 nsslapd-auditlog-display-attrs
매개변수를 cn
으로 설정하면 감사 로그에 출력에 cn
속성이 표시됩니다.
time: 20221014125914 dn: uid=73747737483,ou=people,dc=example,dc=com result: 0 *#cn: John Smith* changetype: modify replace: displayName displayName: jsmith - replace: modifiersname modifiersname: cn=dm - replace: modifytimestamp modifytimestamp: 20221014165914Z
감사 로그에 수정된 항목의 모든 속성을 포함하는 경우 별표(*
)를 매개변수 값으로 사용할 수 있습니다.
디렉터리 서버는 TLS를 위한 ECDSA 개인 키 지원
이전에는 RSA보다 강력한 암호화 알고리즘을 사용하여 Directory Server 연결을 보호할 수 없었습니다. 이 향상된 기능을 통해 Directory Server는 이제 ECDSA 및 RSA 키를 모두 지원합니다.
새로운 gRPC ModuleIsThread>-&
lt; 구성 옵션을 사용할 수 있습니다.
PAM 모듈이 스레드로부터 안전한 경우, 새 CHAP ModuleIsThread
>-< 구성 옵션을 yes
로 설정하여 특정 모듈의 PAM 인증 처리량 및 응답 시간을 개선할 수 있습니다.
`pamModuleIsThreadSafe: yes`
이 구성은 PAM 모듈 구성 항목( Auth,cn=plugins,cn=config )에 따라 cn=PAM 패스 패스
에 적용됩니다.
dse.ldif
구성 파일 또는 ldapmodify
명령에서 CloudEvent ModuleIsThread
>-< 옵션을 사용합니다. ldapmodify
명령을 사용하려면 서버를 다시 시작해야 합니다.
4.13. 데스크탑
inkscape1 패키지는 inkscape를 대체합니다.
이번 릴리스에서는 새로운 수정되지 않은 inkscape1
패키지가 레거시 모듈식 inkscape
패키지를 대체합니다. 또한 Inkscape 애플리케이션을 버전 0.92에서 버전 1.0으로 업그레이드합니다.
Inkscape 1.0은 더 이상 Python 2 런타임에 의존하지 않고 대신 Python 3을 사용합니다.
Inkscape 1.0의 전체 변경 사항 목록은 업스트림 릴리스 노트: https://inkscape.org/release/inkscape-1.0/ 을 참조하십시오.
Jira:RHELPLAN-121672
Kiosk 모드는 화면 표시 키보드 지원
이제 GNOME 화면 키보드(OSK)를 systemmode 모드 세션에서 사용할 수 있습니다.
OSK를 활성화하려면 로그인 화면의 씬 메뉴에서 Kiosk(스크린 키보드 사용) 옵션을 선택합니다.
RHEL 8의 system mode는 X11 프로토콜을 기반으로 하며 이로 인해 OSK 관련 알려진 문제가 발생합니다. 특히 OSK에서 é
또는 ü
와 같은 특정 문자를 입력할 수 없습니다. 자세한 내용은 BZ#1916470 에서 참조하십시오.
libsoup 및 iPXE에서 NTLMv2 지원
이제 libsoup
라이브러리는 NT LAN Manager 버전 2(NTLMv2) 프로토콜을 사용하여 Microsoft Exchange Server로 인증할 수 있습니다. 이전에는 libsoup
이 보안 문제로 인해 특정 구성에서 비활성화할 수 있는 NTLMv1 프로토콜만 지원했습니다.
결과적으로 libsoup
을 내부적으로 사용하는 developers 및 기타 애플리케이션에서는 NTLMv2를 사용하여 Microsoft Exchange Server로 인증할 수도 있습니다.
데스크탑에서 사용자 정의 오른쪽 클릭 메뉴
이제 데스크탑 배경을 마우스 오른쪽 버튼으로 클릭할 때 열리는 메뉴를 사용자 지정할 수 있습니다. 임의의 명령을 실행하는 메뉴에서 사용자 지정 항목을 생성할 수 있습니다.
메뉴를 사용자 지정하려면 데스크탑의 오른쪽 클릭 메뉴 사용자 지정을 참조하십시오.
swipe를 비활성화하여 작업 공간을 전환
이전에는 세 개의 발판으로 위 또는 아래로 스와이핑하면 항상 화면의 작업 공간을 전환했습니다. 이번 릴리스에서는 작업 공간 전환을 비활성화할 수 있습니다.
자세한 내용은 Disabling swipe to switch workspaces 에서 참조하십시오.
4.14. 웹 콘솔
웹 콘솔에서 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
웹 콘솔에서 특정 암호화 하위 정책을 사용할 수 있습니다.
이번 RHEL 웹 콘솔 업데이트에서는 암호화 정책 변경
대화 상자에서 옵션을 확장합니다. 시스템 전체 암호화 정책 4개 외에도 이제 그래픽 인터페이스를 통해 다음 하위 정책을 적용할 수 있습니다.
-
DEFAULT:SHA1
은SHA-1
알고리즘이 활성화된DEFAULT
정책입니다. -
LEGACY:AD-SUPPORT
는 Active Directory 서비스의 상호 운용성을 개선하는 보안 설정을 제외한LEGACY
정책입니다. -
FIPS:OSPP
는 정보 기술 보안 rate 표준에 대한 CommonMetric의 영향을 받는 추가 제한 사항이 있는FIPS
정책입니다.
Jira:RHELPLAN-137505
4.15. Red Hat Enterprise Linux System Roles
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 연결을 구성할 수 있습니다.
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
에 대한 개인 키 및 인증서 쌍을 생성하는 대체 방법이 제공됩니다.
ha_cluster
시스템 역할에서 쿼럼 장치 구성 지원
쿼럼 장치는 클러스터에 대한 타사 중재 장치 역할을 합니다. 쿼럼 장치는 노드가 짝수인 클러스터에 권장됩니다. 2-노드 클러스터에서 쿼럼 장치를 사용하면 분할된 상황에서 유지되는 노드를 더 잘 확인할 수 있습니다. 이제 ha_cluster
System Role(클러스터의 qdevice
)과 중재 노드에 대해 qnetd
를 사용하여 쿼럼 장치를 구성할 수 있습니다.
비활성화된 사실 수집에서는 메트릭
시스템 역할이 작동하지 않음
성능 또는 기타 이유로 Ansible 팩트 수집이 사용자 환경에서 비활성화될 수 있습니다. 이러한 구성에서는 현재 메트릭
시스템 역할을 사용할 수 없습니다. 이 문제를 해결하려면 사실 캐싱을 활성화하거나 팩트 수집을 사용할 수 없는 경우 지표
시스템 역할을 사용하지 마십시오.
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 시스템 역할에서 방화벽
역할 및 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
네트워크 공급자를 사용하여 기본 게이트웨이의 경로 지표를 구성할 수 있습니다.
이러한 설정 이유는 다음과 같습니다.
- 다른 경로에 트래픽 로드 배포
- 기본 경로 및 백업 경로 지정
- 라우팅 정책을 활용하여 특정 경로를 통해 특정 대상으로 트래픽을 보냅니다.
네트워크
시스템 역할에서 DNS 우선순위 값 설정을 지원
이번 개선된 기능에는 RHEL 네트워크
시스템 역할에 dns_priority
매개변수가 추가되었습니다. 이 매개변수를 -2147483648
에서 2147483647
의 값으로 설정할 수 있습니다. 기본값은 0
입니다. 낮은 값은 우선 순위가 높습니다. 음수 값으로 인해 System Role은 더 큰 숫자 우선 순위 값이 있는 다른 구성을 제외합니다. 결과적으로, 하나 이상의 음수 우선순위 값이 있는 경우 System Role은 우선순위가 가장 낮은 연결 프로필의 DNS 서버만 사용합니다.
따라서 네트워크
시스템 역할을 사용하여 다양한 연결 프로필의 DNS 서버 순서를 정의할 수 있습니다.
복제된 MAC 주소에 대한 지원 추가
복제된 MAC 주소는 시스템의 MAC 주소와 동일한 device 10.0.0.1 포트의 MAC 주소입니다. 이번 업데이트를 통해 사용자는 MAC 주소를 사용하여 본딩 또는 브리지 인터페이스를 지정하거나 임의의
전략을 유지하거나 본딩 또는 브리지 인터페이스의 기본 MAC 주소를 가져올 수 있습니다.
방화벽
,selinux
, 인증서
역할과 cockpit
RHEL 시스템 역할 통합
이번 개선된 기능을 통해 cockpit
역할을 firewall
역할과 통합하고 selinux
역할을 사용하여 포트 액세스 및 인증서 역할을 관리하여 인증서를
생성할 수 있습니다.
포트 액세스를 제어하려면 새 cockpit_manage_firewall
및 cockpit_manage_selinux
변수를 사용합니다. 두 변수는 모두 기본적으로 false
로 설정되며 실행되지 않습니다. 방화벽
및 selinux
역할이 RHEL 웹 콘솔 서비스 포트 액세스를 관리할 수 있도록 하려면 true
로 설정합니다. 그러면 cockpit
역할 내에서 작업이 실행됩니다.
방화벽 및 SELinux에 대한 포트 액세스 관리를 담당합니다.
인증서를 생성하려면 새 cockpit_certificates
변수를 사용합니다. 변수는 기본적으로 false
로 설정되며 실행되지 않습니다. 인증서 역할에서
변수를 사용하는 것과 동일한 방식으로 이 변수를 사용할 수 있습니다. 그런 다음 certificate
_requestcockpit
역할은 인증서
역할을 사용하여 RHEL 웹 콘솔 인증서를 관리합니다.
selinux
RHEL System Role에서 로컬
매개변수 지원
이번 selinux
RHEL 시스템 역할 업데이트에서는 로컬
매개 변수를 지원합니다. 이 매개변수를 사용하면 로컬 정책 수정 사항만 제거하고 기본 제공된 SELinux 정책을 유지할 수 있습니다.
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 시스템 역할을 사용하여 시스템 등록을 참조하십시오.
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 인증을 구성할 수 있습니다.
방화벽
,selinux
, 인증서
역할과 로깅
RHEL 시스템 역할 통합
이번 개선된 기능을 통해 로깅
역할을 firewall
역할과 selinux
역할을 통합하여 포트 액세스를 관리하고 인증서를 생성할 인증서
역할을 관리할 수 있습니다.
포트 액세스를 제어하려면 새로운 logging_manage_firewall
및 logging_manage_selinux
변수를 사용합니다. 두 변수는 모두 기본적으로 false
로 설정되며 실행되지 않습니다. 로깅
역할 내에서 역할을 실행하려면 이를 true
로 설정합니다.
방화벽 및 SELinux에 대한 포트 액세스 관리를 담당합니다.
인증서를 생성하려면 새 logging_certificates
변수를 사용합니다. 변수는 기본적으로 false
로 설정되며 certificate
역할은 실행되지 않습니다. 인증서 역할에서
변수를 사용하는 것과 동일한 방식으로 이 변수를 사용할 수 있습니다. 그런 다음 certificate
_request로깅
역할은 인증서
역할을 사용하여 인증서를 관리합니다.
라우팅 규칙은 이름으로 라우팅 테이블을 조회할 수 있습니다.
이번 업데이트를 통해 rhel-system-roles.network
RHEL 시스템 역할은 라우팅 규칙을 정의할 때 이름별로 경로 테이블을 조회할 수 있도록 지원합니다. 이 기능을 사용하면 서로 다른 네트워크 세그먼트에 대한 다른 라우팅 규칙이 필요한 복잡한 네트워크 구성을 빠르게 탐색할 수 있습니다.
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로 업그레이드할 수 없습니다.
journald
RHEL 시스템 역할 사용 가능
journald
서비스는 로그 데이터를 수집하여 중앙 집중식 데이터베이스에 저장합니다. 이번 개선된 기능을 통해 journald
시스템 역할 변수를 사용하여 systemd
저널 구성을 자동화하고 Red Hat Ansible Automation Platform을 사용하여 영구 로깅을 구성할 수 있습니다.
sshd
RHEL 시스템 역할은 방화벽
및 selinux
RHEL 시스템 역할을 사용하여 포트 액세스를 관리할 수 있습니다.
이번 개선된 기능을 통해 새 역할 변수 sshd_manage_firewall
및 sshd_manage_selinux
를 사용하여 포트 액세스 관리를 자동화할 수 있습니다. true
로 설정하면 각 역할이 포트 액세스를 관리하는 데 사용됩니다. false
로 설정된 경우 기본값은 역할입니다.
4.16. 가상화
하드웨어 암호화 장치를 자동으로 핫플러그할 수 있음
이전에는 중재 장치를 시작하기 전에 호스트에 존재하는 경우에만 패스스루(passthrough)에 대한 암호화 장치를 정의할 수 있었습니다. 이제 VM(가상 머신)에 전달하려는 모든 암호화 장치를 나열하는 중재 장치 매트릭스를 정의할 수 있습니다. 결과적으로 지정된 암호화 장치는 나중에 사용할 수 있게 되면 실행 중인 VM에 자동으로 전달됩니다. 또한 장치를 사용할 수 없게 되면 VM에서 제거되지만 게스트 운영 체제는 정상적으로 실행됩니다.
Bugzilla:1660908
IBM Z에서 PCI 패스스루 장치의 성능 향상
이번 업데이트를 통해 I/O 처리 기능이 여러 가지 개선되어 IBM Z 하드웨어의 PCI 패스스루 구현이 향상되었습니다. 결과적으로 IBM Z 호스트의 KVM 가상 머신(VM)에 전달되는 PCI 장치는 이제 성능이 크게 향상되었습니다.
또한 이제 IBM Z 호스트의 VM에 ISM 장치를 할당할 수 있습니다.
Bugzilla:1664379
RHEL 8 게스트 지원 SEV-SNP
RHEL 8을 게스트 운영 체제로 사용하는 VM(가상 머신)에서는 이제 SNP(Secure Nested Paging) 기능과 함께 AMD SE(Secure Encrypted Virtualization)를 사용할 수 있습니다. 다른 이점 중에서도 SNP는 메모리 무결성 보호를 개선하여 SEV를 개선하여 데이터 재생 또는 메모리 매핑과 같은 하이퍼바이저 기반 공격을 방지하는 데 도움이 됩니다. SEV-SNP가 RHEL 8 VM에서 작동하려면 VM을 실행하는 호스트도 SEV-SNP를 지원해야 합니다.
Bugzilla:2087262
z PCI 장치 할당
이제 IBM Z 하드웨어에서 실행되는 RHEL에서 호스팅되는 VM(가상 머신)에 패스스루 장치로 z PCI 장치를 연결할 수 있습니다. 예를 들어, VM에서 NVMe Flash 드라이브를 사용할 수 있습니다.
Jira:RHELPLAN-59528
4.17. 지원 관련 기능
sos
유틸리티는 4 주 간의 업데이트 주기로 전환
RHEL 마이너 릴리스를 통해 업데이트를 릴리스하는 대신
유틸리티 릴리스 주기는 6개월에서 4주로 변경되고 있습니다. 4주마다 RPM 변경 로그에서 sos
sos
패키지의 업데이트에 대한 세부 정보를 참조하거나 6개월마다 RHEL 릴리스 노트에서 sos
업데이트에 대한 요약을 읽을 수 있습니다.
sos clean
명령은 이제 IPv6 주소를 난독 처리
이전에는 sos clean
명령에서 IPv6 주소를 난독화하지 않아 일부 고객 민감한 데이터를 수집된 sos
보고서에 남겨 두었습니다. 이번 업데이트를 통해 clean
에서 IPv6 주소를 예상대로 탐지하고 난독화합니다.
4.18. 컨테이너
새로운 podman
RHEL System Role 사용 가능
Podman 4.2부터 podman
System Role을 사용하여 Podman 컨테이너를 실행하는 Podman 구성, 컨테이너 및 systemd
서비스를 관리할 수 있습니다.
Jira:RHELPLAN-118698
Podman에서 감사 이벤트 지원
Podman v4.4부터 단일 이벤트 및 journald
항목에서 컨테이너에 대한 모든 관련 정보를 직접 수집할 수 있습니다. Podman 감사를 활성화하려면 container.conf
구성 파일을 수정하고 events_container_create_inspect_data=true
옵션을 [engine]
섹션에 추가합니다. 데이터는 podman container inspect
명령과 동일하게 JSON 형식입니다. 자세한 내용은 Podman 4.4의 새 컨테이너 이벤트 및 감사 기능을 사용하는 방법을 참조하십시오.
Jira:RHELPLAN-136601
컨테이너 도구 패키지 업데이트
Podman, Buildah, Skopeo, crun 및 runc 툴이 포함된 업데이트된 컨테이너 툴 패키지를 사용할 수 있습니다. 이번 업데이트에서는 이전 버전에 비해 일련의 버그 수정 및 개선 사항을 적용합니다.
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-136608
Aardvark 및 Netavark가 사용자 정의 DNS 서버 선택을 지원
Aardvark 및 Netavark 네트워크 스택은 이제 호스트의 기본 DNS 서버가 아닌 컨테이너에 대한 사용자 정의 DNS 서버 선택을 지원합니다. 사용자 정의 DNS 서버를 지정하는 두 가지 옵션이 있습니다.
-
containers.conf
구성 파일에dns_servers
필드를 추가합니다. -
새로운
--dns
Podman 옵션을 사용하여 DNS 서버의 IP 주소를 지정합니다.
--dns
옵션은 container.conf
파일의 값을 덮어씁니다.
Jira:RHELPLAN-138025
Skopeo에서 sigstore 키 쌍 생성을 지원
skopeo generate-sigstore-key
명령을 사용하여 sigstore 공용/개인 키 쌍을 생성할 수 있습니다. 자세한 내용은 skopeo-generate-sigstore-key
man 페이지를 참조하십시오.
Jira:RHELPLAN-151481
Toolbox를 사용할 수 있음
toolbox
유틸리티를 사용하면 시스템에 직접 문제 해결 툴을 설치하지 않고도 컨테이너화된 명령줄 환경을 사용할 수 있습니다. Toolbox는 OCI의 Podman 및 기타 표준 컨테이너 기술을 기반으로 합니다. 자세한 내용은 toolbx 를 참조하십시오.
Jira:RHELPLAN-150266
이미지에 서명하기 위한 신뢰할 수 있는 여러 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-118470
RHEL 8 Extended Update Support
RHEL Container Tools는 RHEL 8 EUS (Extended Update Support) 릴리스에서 지원됩니다. Red Hat Enterprise Linux EUS에 대한 자세한 내용은 Container Tools AppStream - Content Availability,Red Hat Enterprise Linux (RHEL) Extended Update Support (EUS) 개요 에서 확인할 수 있습니다.
Jira:RHELPLAN-151121
sigstore 서명 사용 가능
Podman 4.2부터 컨테이너 이미지 서명의 sigstore 형식을 사용할 수 있습니다. sigstore 서명은 이미지 서명을 저장하기 위해 별도의 서명 서버가 없어도 컨테이너 이미지와 함께 컨테이너 레지스트리에 저장됩니다.
Jira:RHELPLAN-75165
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
5장. 외부 커널 매개변수에 대한 중요한 변경 사항
이 장에서는 Red Hat Enterprise Linux 8.8에 제공된 커널의 중요한 변경 사항에 대한 요약을 시스템 관리자에게 제공합니다. 이러한 변경 사항에는 예를 들어 추가 또는 업데이트된 proc
항목, sysctl
및 sysfs
기본 값, 부팅 매개 변수, 커널 구성 옵션 또는 눈에 띄는 동작 변경 사항이 포함될 수 있습니다.
새 커널 매개변수
- nomodeset
이 커널 매개변수를 사용하면 커널 모드 설정을 비활성화할 수 있습니다. gRPC 드라이버는 표시 모드 변경 또는 빠른 렌더링을 수행하지 않습니다. 펌웨어 또는 부트 로더에 의해 설정된 경우에만 시스템 프레임 버퍼를 사용할 수 있습니다.
nomodeset
은 폴백으로 유용하거나 테스트 및 디버깅에 유용합니다.- sev=option[,option…] [X86-64]
-
자세한 내용은
Documentation/x86/x86_64/boot-options.rst
에서 참조하십시오. - amd_pstate=[X86]
-
disable: 지원되는 프로세서의 기본 확장 드라이버로
amd_pstate
를 활성화하지 마십시오. -
Passive:
amd_pstate
를 스케일링 드라이버로 사용합니다. 드라이버는 이러한 추상 규모에서 원하는 성능을 요청하고 전원 관리 펌웨어는 요청을 코어 빈도, 데이터 패브릭 및 메모리 클럭 등과 같은 실제 하드웨어 상태로 변환합니다.
-
disable: 지원되는 프로세서의 기본 확장 드라이버로
- retbleed=ibpb,nosmt
-
이 매개변수는
ibpb
와 유사하며 STIBP가 없는 시스템의 대안입니다. 이 매개변수를 사용하면 STIBP를 사용할 수 없는 경우 SMT를 비활성화할 수 있습니다.
업데이트된 커널 매개변수
- amd_iommu=[HW,X86-64]
이 커널 매개변수를 사용하면 시스템의 AMD IOMMU 드라이버에 매개변수를 전달할 수 있습니다. 가능한 값은 다음과 같습니다.
-
Fullflush: deprecated, equivalent to
iommu.strict=1
. - off: 시스템에 있는 AMD IOMMU를 초기화하지 마십시오.
force_isolation: 모든 장치에 대해 장치 격리를 강제 적용합니다. IOMMU 드라이버는 필요에 따라 더 이상 격리 요구 사항을 들어가지 않습니다.
-
이 옵션은
iommu=pt
를 재정의하지 않습니다.
-
이 옵션은
force_enable: IOMMU가 활성화된 것으로 알려진 플랫폼에서 IOMMU를 강제 활성화합니다.
- 이 옵션을 주의해서 사용하십시오.
-
Fullflush: deprecated, equivalent to
- 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
가 사용되지 않을 때 무시됩니다.
- intel_iommu=[DMAR]
Intel IOMMU(DMAR) 옵션을 설정하기 위한 kernel 매개변수입니다.
- on: intel iommu 드라이버를 활성화합니다.
- 해제: intel iommu 드라이버를 비활성화합니다.
-
igfx_off [Default Off]: 기본적으로 gfx는 일반 장치로 매핑됩니다. gfx 장치에 전용 DMAR 장치가 있는 경우 이 옵션으로 DMAR을 활성화하지 않으면 DMAR 장치를 바이패스합니다. 이 경우
gfx
장치는 DMA에 물리적 주소를 사용합니다. -
Strict [Default Off]: 더 이상 사용되지 않으며
iommu.strict=1
과 동일합니다. - sp_off [Default Off]: 기본적으로 Intel IOMMU의 기능이 있는 경우 슈퍼 페이지가 지원됩니다. 이 옵션을 사용하면 슈퍼 페이지가 지원되지 않습니다.
- sm_on [Default Off]: 하드웨어에서 확장 가능한 모드 변환을 지원하는 경우에도 기본적으로 확장 가능한 모드 모드를 비활성화합니다. 이 옵션을 설정하면 이를 지원하도록 요청하는 하드웨어에서 확장 가능한 모드가 사용됩니다.
tboot_noforce [Default Off]:
tboot
에서 Intel IOMMU를 강제 활성화하지 마십시오. 기본적으로tboot
는 Intel IOMMU를 강제 적용하여 ID 매핑이 활성화된 경우에도 40GBit 네트워크 카드와 같은 처리량이 높은 장치의 성능을 손상시킬 수 있습니다.참고이 옵션을 사용하면 시스템이 DMA 공격에 취약하기 때문에
tboot
에서 제공하는 보안이 저하됩니다.
- iommu.strict=[ARM64,X86]
이 커널 매개변수를 사용하면 TLB invalidation 동작을 구성할 수 있습니다.
형식:
{ "0" | "1" }
- 0 - 지연 모드입니다. DMA unmap 작업을 사용하여 하드웨어 TLB의 무효화를 연기하여 장치 격리를 줄이면 처리량이 향상되도록 요청합니다. 관련 IOMMU 드라이버에서 지원하지 않는 경우 strict 모드로 대체됩니다.
- 1 - 엄격한 모드. DMA unmap 작업은 IOMMU 하드웨어 TLB를 동기적으로 무효화합니다.
설정되지 않음 -
CONFIG_IOMMU_DEFAULT_DMA_{LAZY,STRICT}
의 값을 사용합니다.참고x86에서 기존 드라이버별 옵션 중 하나를 통해 지정된 strict 모드가 우선합니다.
- mem_encrypt=[X86-64]
AMD SME(Secure Memory Encryption) 제어를 설정하기 위한 kernel 매개변수입니다.
유효한 인수: on, off
기본값은 커널 구성 옵션에 따라 다릅니다.
- (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y)
- off (CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=n)
- mem_encrypt=on: Activate SME
mem_encrypt=off: Do not activate SME
메모리 암호화를 활성화할 수 있는 시기에 대한 자세한 내용은
Documentation/virt/kvm/x86/amd-memory-encryption.rst
에서 참조하십시오.
- retbleed=[X86]
이 커널 매개변수를 사용하면 RETBleed (Arbitrary Speculative Code Execution with Return Instructions) 취약점의 완화를 제어할 수 있습니다.
AMD 기반 UNRET 및 IBPB 완화 작업만으로는 형제 스레드가 다른 형제 스레드의 예측에 영향을 미치는 것을 막을 수 없습니다. 따라서 STIBP는 이를 지원하는 프로세서에서 사용되며 그렇지 않은 프로세서에서 SMT를 완화합니다.
- off - 완화 없음
- auto - migitation을 자동으로 선택합니다.
- Auto,nosmt - 자동으로 완화 조치를 선택하여 전체 완화 조치를 위해 필요한 경우 SMT를 비활성화합니다(STIBP가 없는 경우).
- ibpb - AMD에서 기본 블록 경계에서도 짧은 추측 창을 완화합니다. 안전하고 가장 높은 성능 영향은 다음과 같습니다. 있는 경우 STIBP도 활성화합니다. Intel에는 적합하지 않습니다.
- Ret - 억제되지 않은 반환 토크를 활성화하며 AMD f15h-f17h 기반 시스템에서만 유효합니다.
- unret,nosmt - 원하지 않는 것처럼, STIBP를 사용할 수 없는 경우 SMT를 비활성화합니다. STIBP가 없는 시스템의 대안입니다.
- swiotlb=[ARM,IA-64,PPC,MIPS,X86]
이 커널 매개변수를 사용하면 I/O TLB slabs의 동작을 구성할 수 있습니다.
형식:
{ <int> [,<int>] | force | noforce }
- <int> - I/O TLB slabs 수
- <int> - 쉼표 이후의 두 번째 정수 자체 잠금이 있는 Swiotlb 영역 수입니다. 2 의 거듭제곱이 되어야 합니다.
- force - 커널에서 자동으로 사용하지 않는 경우에도 bounce 버퍼를 강제로 사용합니다.
- noforce - Ballunce buffers를 사용하지 않음(디버그용)
새로운 sysctl 매개변수
- page_lock_unfairness
- 이 값은 페이지 잠금이 웨이터 하에서 유출될 수 있는 횟수를 결정합니다. 잠금이 이 파일에 지정된 횟수(기본값: 5)를 무지한 후, 공정 잠금 핸드오프 의미가 적용되고, 웨이터는 잠금을 취할 수 있는 경우에만 재검토됩니다.
- rps_default_mask
- 새로 생성된 네트워크 장치에 사용되는 기본 RPS CPU 마스크입니다. 빈 마스크는 기본적으로 RPS를 비활성화함을 의미합니다.
6장. 장치 드라이버
6.1. 새 드라이버
네트워크 드라이버
-
Solarflare Siena 네트워크 드라이버(
sfc-siena
)는 IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만 사용할 수 있습니다. -
NVIDIA sn2201 플랫폼 드라이버 (N
vsw-sn2201
) AMD 및 Intel 64 비트 아키텍처에서만 -
AMD SEV 게스트 드라이버(
sev-guest
) AMD 및 Intel 64비트 아키텍처에서만 사용 가능 -
TDX 게스트 드라이버 (
tdx-guest
) AMD 및 Intel 64 비트 아키텍처에서만
그래픽 드라이버 및 기타 드라이버
-
ACPI video 드라이버(
비디오
) 64비트 ARM 아키텍처에서만 사용 가능 -
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비트 아키텍처에서만 사용할 수 있습니다. -
Intel® GVT-g for KVM (
kvmgt
), AMD 및 Intel 64비트 아키텍처에서만 -
HP® iLO/iLO2 관리 프로세서(
Hpilo
) 64비트 ARM 아키텍처에서만 -
HPE 워치독 드라이버(Hp
wdt
), 64비트 ARM 아키텍처에서만 사용 가능 -
AMD HSMP 플랫폼 인터페이스 드라이버(
amd_hsmp.
) AMD 및 Intel 64비트 아키텍처에서만
6.2. 업데이트된 드라이버
네트워크 드라이버
-
Intel® 10 Gigabit PCI Express Network Driver(
ixgbe
)는 4.18.0-477(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만) 버전으로 업데이트되었습니다. -
Intel® 10 Gigabit Virtual Function Network Driver (
ixgbevf
)가 4.18.0-477 (64 비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64 비트 아키텍처에서만)로 업데이트되었습니다. -
Intel® 2.5G 이더넷 Linux 드라이버(
igc.
)는 4.18.0-477 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만). -
Intel® 이더넷 Adaptive Virtual Function Network Driver (
iavf
)는 4.18.0-477 (64 비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64 비트 아키텍처에서만) 버전으로 업데이트되었습니다. -
Intel® 이더넷 연결 XL710 네트워크 드라이버(
i40e
)는 4.18.0-477 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만). -
Intel® 이더넷 스위치 호스트 인터페이스 드라이버(
fm10k
)는 4.18.0-477 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만). -
Intel® Gigabit Ethernet Network Driver(
igb
)는 4.18.0-477 버전으로 업데이트되었습니다. (64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만) -
Intel® Gigabit Virtual Function Network Driver(
igbvf
)는 4.18.0-477 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만). -
Intel® PRO/1000 네트워크 드라이버(
e1000e
)가 4.18.0-477 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian 및 AMD 및 Intel 64비트 아키텍처에서만). -
Mellanox 5세대 네트워크 어댑터(ConnectX 시리즈) 코어 드라이버(
mlx5_core
)가 4.18.0-477 버전으로 업데이트되었습니다. -
NFP(Netronome Flow Processor) 드라이버가 4.18.0-477 버전으로 업데이트되었습니다.
스토리지 드라이버
-
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.0.0.18(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만)로 업데이트되었습니다. -
LSI MPT Fusion SAS 3.0 장치 드라이버(archive
t3sas
)가 버전 43.100.00.00으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만). -
MPI3 스토리지 컨트롤러 장치 드라이버(
mpi3mr
)가 버전 8.2.0.3.0으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만). -
Qlogic Fibre Channel HBA 드라이버(
qla2xxx
)가 10.02.07.900-k 버전으로 업데이트되었습니다(64비트 ARM 아키텍처, IBM Power Systems, Little Endian, AMD 및 Intel 64비트 아키텍처에서만). -
SCSI 디버그 어댑터 드라이버(
scsi_debug
)가 0191로 업데이트되었습니다.
7장. 사용 가능한 BPF 기능
이 장에서는 Red Hat Enterprise Linux 8 마이너 버전의 커널에서 사용할 수 있는BPF
( Berkeley Packet Filter
) 기능의 전체 목록을 제공합니다. 표에는 다음 목록이 포함됩니다.
이 장에서는 bpftool 기능
명령의 자동으로 생성된 출력을 포함합니다.
표 7.1. 시스템 구성 및 기타 옵션
옵션 | 현재의 |
---|---|
unprivileged_bpf_disabled | 1 (BPF() 복구없이 권한 있는 사용자로 제한) |
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 | n |
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 | y |
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 |
표 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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_str, bpf_perf_event_read_value, bpf_override_return, bpf_get_cgroup_id, bpf_get_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_probe_signal, bpf_probe_read_user, bpf_probe_read_read_str, bpf_probe_read_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_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, 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 |
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_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_snprintf |
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_probe_signal, bpf_probe_read_user, bpf_probe_read_read_str, bpf_probe_read_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_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, 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 |
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_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_el, bpf_snprintf |
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_send_signal, bpf_probe_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch_ historys, bpf_get_ns_pid_tgid, bpf_get_current_ancestor_cgroup_id, bpf_send_signal_thread 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_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_get_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_kernel_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_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ancestor_cgroup_id, 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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_probe_signal, bpf_probe_read_user, bpf_probe_read_read_str, bpf_probe_read_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_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, 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 |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_get_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_get_ns, bpf_for_each_map_elem, bpf_snprintf |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
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_probe_signal, bpf_probe_read_user, bpf_probe_read_read_str, bpf_probe_read_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_get_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, 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 |
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_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_snprintf_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
tracing | 지원되지 않음 |
struct_ops | 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_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_clone_call, bpf_clone_redirect, bpf_get_pid_tgid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_tunnel_key, bpf_skb_tunnel_tunnel_key bpf_perf_event_read, bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_stackid, bpf_csum_ diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_current_task_under_cgroup, 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_xdp_adjust_head, bpf_probe_read_str, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_setsockopt, bpf_skb_adjust_room, bpf_redirect_map, bpf_redirect_map bpf_sk_redirect_map, bpf_sock_map_update, bpf_xdp_adjust_meta, bpf_perf_event_read_value, bpf_perf_read_value, bpf_getsockopt, bpf_override_return, bpf_sock_ops_cb_flags_set, bpf_msg_redirect_map, bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_bind, bpf_xdp_adjust_tail, bpf_skb_get_xfrm_state, bpf_get_stack, bpf_load_bytes_relative, bpf_fib_lookup, bpf_sock_hash_update, bpf_msg_redirect_hash, bpf_sk_redirect_hash, bpf_sk_redirect_hash, bpf_lwt_push_encap, bpf_lwt_seg6_store_bytes, bpf_lwt_seg6_srh, bpf_lwt_seg6_action, bpf_rc_repund, bpf_rc_rc_keydown, bpf_lwt_s bpf_skb_cgroup_id, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_sk_select_reuseport, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_msg_push_data, bpf_msg_pop_data bpf_rc_pointer_rel, 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_sysctl_get_get_name, bpf_sysctl_get_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_value, bpf_strtol, bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_tcp_gen_syncookie, bpf_skb_output, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_tcp_gen_syncookie, bpf_probe_read_kernel bpf_probe_read_kernel_str, bpf_tcp_send_ack, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch_ historys, bpf_get_ns_pid_tgid, bpf_xdp_output, bpf_tcp_signal_thread, bpf_read_branch_ history, bpf_xdp_output bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_seq_printf, bpf_seq_write, bpf_seq_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_get_task_stack, bpf_load_hdr_opt, bpf_skc_request_sock bpf_store_hdr_opt, bpf_reserve_hdr_opt, bpf_inode_storage_get, bpf_inode_storage_delete, bpf_d_path, bpf_copy_from_user, bpf_snprintf_btf, bpf_seq_printf_bt, bpf_seq_printf_btf, bpf_inode_storage_delete bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_task_storage_delete, bpf_get_current_task_bt, bpf_get_task_task_bt, bpf_get bpf_bprm_opts_set, bpf_ktime_get_coarse_ns, bpf_ima_inode_hash, bpf_sock_from_file, bpf_check_mtu, bpf_each_map_elem, bpf_snprintf, bpf_snprintf, bpf_sys_bpf, bpf_btf_find_by_name_kind, bpf_sys_close |
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_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_snprintf |
표 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 | 제공되지 않음 |
8장. 버그 수정
이 부분에서는 사용자에게 상당한 영향을 미치는 Red Hat Enterprise Linux 8.8에서 수정된 버그에 대해 설명합니다.
8.1. 설치 프로그램 및 이미지 생성
이제 설치 프로그램에서 사용자 지정 파티셔닝 중에 모든 PPC PreP 부팅
또는 BIOS 부팅
파티션을 나열합니다.
이전에는 사용자 지정 파티셔닝 중에 PPC PreP Boot
또는 BIOS 부팅
파티션을 여러 개 추가할 때 사용자 정의 파티션 화면에 관련 유형의 파티션 한 개만 표시되었습니다. 그 결과 사용자 정의 파티셔닝 화면에 의도된 파티션 레이아웃의 실제 상태가 반영되지 않아 파티셔닝 프로세스가 어렵고 투명하지 않았습니다.
이번 업데이트를 통해 사용자 정의 파티션 화면에 모든 PPC PreP 부팅
또는 BIOS 부팅
파티션이 파티션 목록에 올바르게 표시됩니다. 결과적으로 사용자는 이제 의도한 파티션 레이아웃을 더 잘 이해하고 관리할 수 있습니다.
이제 설치 프로그램에서 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:2094977
composer-cli compose start
명령의 --size
매개변수는 값을 MiB로 처리합니다.
이전 버전에서는 composer-cli compose start --size size_value anchor _name image_type
명령을 사용할 때 composer-cli
툴에서 --size
매개변수 값을 바이트 단위로 처리했습니다. 이번 업데이트에서는 문제가 해결되어 --size
매개변수 값이 이제 MiB 형식으로 올바르게 사용됩니다.
8.2. 소프트웨어 관리
fapolicyd
서비스 재시작과 관련된 트랜잭션 중에 RPM이 더 이상 중단되지 않음
이전 버전에서는 fapolicyd
서비스를 다시 시작하는 패키지를 업데이트하려고 하면 fapolicyd 플러그인이
데몬과 통신하지 못했기 때문에 fapolicyd
systemd
트랜잭션의 응답이 중지되었습니다.
이번 업데이트를 통해 fapolicyd
플러그인이 이제 fapolicyd
데몬과 올바르게 통신합니다. 결과적으로 RPM은 fapolicyd
서비스를 다시 시작하는 트랜잭션 중에 더 이상 중단되지 않습니다.
업그레이드를 통해 아키텍처를 변경하는 패키지에 대해 Security YUM 업그레이드가 가능
RHBA-2022:7711 과 함께 도입된 BZ#2088149 패치로 인해 업그레이드를 통해 아키텍처를 변경하거나 noarch
로 변경하는 보안 필터를 사용한 YUM 업그레이드를 건너뛰는 회귀 문제가 발생했습니다. 결과적으로 이러한 패키지에 대한 보안 업그레이드가 누락되어 시스템이 취약한 상태로 유지될 수 있었습니다.
이번 업데이트를 통해 이 문제가 해결되었으며 보안 YUM 업그레이드에서는 아키텍처를 또는 noarch
에서 참조하는 패키지를 더 이상 건너뛰지 않습니다.
Bugzilla:2124483
패키지 그룹 또는 환경에 YUM 업그레이드 트랜잭션 되돌리기 가능
이전에는 패키지 그룹 또는 환경에 대한 업그레이드 트랜잭션을 되돌리려고 할 때 yum history rollback
명령이 실패했습니다.
이번 업데이트를 통해 문제가 해결되어 패키지 그룹 또는 환경의 YUM 업그레이드 트랜잭션을 되돌릴 수 있습니다.
8.3. 쉘 및 명령행 툴
wsmancli
는 HTTP 401 Unauthorized 상태를 올바르게 처리합니다.
Web Services Management 프로토콜을 사용하여 시스템을 관리하는 wsmancli
유틸리티에서 이제 RFC 2616을 보다 잘 준수하도록 인증을 처리합니다.
이전 버전에서는 인증이 필요한 서비스에 연결할 때 wsmancli
명령에서 인증 실패 오류 메시지를 반환했습니다. HTTP 401 Unauthorized 응답을 수신한 직후에 다시 시도하십시오
(예: 불완전한 인증 정보). 계속 진행하려면 자격 증명의 일부를 이미 제공한 경우에도 사용자 이름과 암호를 모두 입력하라는 메시지가 표시됩니다.
이번 업데이트를 통해 wsmancli
는 이전에 제공되지 않은 인증 정보만 있으면 됩니다. 결과적으로 첫 번째 인증 시도에서 오류 메시지가 표시되지 않습니다. 전체 자격 증명을 제공한 후에만 오류 메시지가 표시되고 인증이 실패합니다.
translation .sty
LaTeX 스타일 문서가 추가되었습니다.
이전에는 texlive-beamer
에 의존하는 특정 도구에 필요한 번역기
LaTeX 스타일 문서가 누락되었습니다. 그 결과 이러한 도구가 LaTeX Error: File 'translator.sty' not found.
error로 실패했습니다. 이번 업데이트에서는 translation .sty LaTeX 스타일 문서가 포함된 누락된
패키지가 추가되었습니다. 결과적으로 texlive-translator
texlive-beamer
에 의존하는 도구가 올바르게 작동합니다.
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은 지정된 설정으로 파일 시스템을 올바르게 복원합니다.
8.4. 인프라 서비스
확장된 속성에 정규식을 사용하는 동안 rsync
가 더 이상 실패하지 않음
이전에는 파일을 전송 및 동기화하는 rsync
유틸리티에서 RHEL 8의 확장 속성을 올바르게 처리할 수 없었습니다. 예를 들어 rsync
명령의 확장 속성에 대해 --filter '-x string.*'
옵션과 함께 --delete
옵션을 전달했는데 시스템의 파일이 정규식을 충족시킨 경우 프로토콜 프로토콜이 만족스럽다는 오류 메시지가 표시되었습니다. 이번 업데이트를 통해 rsync
유틸리티는 확장 속성을 올바르게 처리하고 이러한 속성에 정규식을 사용할 수 있습니다.
8.5. 보안
검사 및 수정에서 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 수정에서 감사 키가 제거되었습니다. 결과적으로 확인 및 수정 중에 키 필드로 인한 불일치가 더 이상 발생하지 않으며 감사자는 이러한 키를 임의로 선택하여 감사 로그를 더 쉽게 검색할 수 있습니다.
crypto-policies
이 더 이상 불필요한 심볼릭 링크를 생성하지 않음
시스템 설치 중에 crypto-policies
스크립트는 FIPS 모드의 /usr/share/crypto-policies/DEFAULT
파일 또는 /usr/share/crypto-policies/FIPS
에서 심볼릭 링크를 생성하고 /etc/crypto-policies/back-ends
디렉터리에 저장합니다. 이전에는 crypto-policies
에 디렉토리가 잘못 포함되었으며 /usr/share/crypto-policies/DEFAULT
또는 /usr/share/crypto-policies/FIPS
디렉터리를 가리키는 /etc/crypto-policies/back-ends/.config
symlink를 생성했습니다. 이번 업데이트를 통해 암호화 정책은
디렉터리에서 심볼릭 링크를 생성하지 않으므로 불필요한 심볼릭 링크를 생성하지 않습니다.
crypto-policies
에서 BIND의 NSEC3DSA
를 비활성화합니다.
이전에는 시스템 전체 암호화 정책에서 BIND 구성에서 NSEC3DSA
알고리즘을 제어하지 않았습니다. 결과적으로 현재 보안 요구 사항을 충족하지 않는 NSEC3DSA
는 DNS 서버에서 비활성화되지 않았습니다. 이번 업데이트를 통해 모든 암호화 정책은 기본적으로 BIND 구성에서 NSEC3DSA
를 비활성화합니다.
Libreswan은 더 이상 FUTURE
및 FIPS
암호화 정책에서 SHA-1 서명 확인을 거부하지 않습니다.
이전에는 업데이트에서 4.9로 업데이트에서 Libreswan은 FUTURE
및 FIPS
암호화 정책에서 SHA-1 서명 확인을 거부했으며 authby=rsasig
또는 authby=rsa-sha1
연결 옵션을 사용하면 피어 인증이 실패했습니다. 이번 업데이트에서는 Libreswan이 crypto-policies
설정을 처리하는 방법을 완화하여 이 동작을 되돌립니다. 결과적으로 SHA-1 서명 확인을 사용하여 authby=rsasig
및 authby=rsa-sha1
연결 옵션을 사용할 수 있습니다.
crontab
bash 스크립트가 잘못된 컨텍스트에서 더 이상 실행되지 않음
이전에는 에라타 RHBA-2022:7691 에 게시된 버그 수정에서 너무 일반적인 전환 규칙을 사용했습니다. 결과적으로 crontab
파일에서 실행되는 bash 스크립트는 system_cronjob_t
컨텍스트 대신 rpm_script_t
컨텍스트에서 실행되었습니다. 이번 업데이트를 통해 이제 bash 스크립트가 올바른 컨텍스트에서 실행됩니다.
SELinux-policy
에서 SAP Host Agent의 서비스 실행 지원
이전에는 SELinux 정책이 SAP Host Agent 및 기타 서비스와 상호 작용하는 insights-client
서비스를 지원하지 않았습니다. 그 결과 Red Hat Insights가 시작될 때 일부 명령이 제대로 작동하지 않았습니다. 이번 업데이트를 통해 SELinux 정책은 SAP 서비스 실행을 지원합니다. 결과적으로 Insights에서 시작된 SAP 서비스가 성공적으로 실행됩니다.
SELinux-policy
를 사용하면 pmcd
에서 개인 memfd:
오브젝트를 실행할 수 있습니다.
이전에는 SELinux 정책에서 PCP(Performance Co-Pilot) 프레임워크의 pmcd
프로세스에서 개인 메모리 파일 시스템 오브젝트(memfd:
)를 실행할 수 없었습니다. 결과적으로 SELinux는 PMDA(Performance Metric Domain Agent) BPF Compiler Collection(BCC) 서비스를 거부하여 memfd:
오브젝트를 실행합니다. 이번 업데이트에서는 SELinux 정책에 pcmd
에 대한 새 규칙이 포함되어 있습니다. 결과적으로 pmcd
는 SELinux가 강제 모드에서 memfd:
오브젝트를 실행할 수 있습니다.
SELinux 정책을 사용하면 sysadm_r
에서 subscription-manager
를 사용할 수 있습니다.
이전에는 sysadm_r
SELinux 역할의 사용자가 subscription-manager
유틸리티의 일부 하위 명령을 실행할 수 없었습니다. 결과적으로 하위 명령은 메모리 장치를 읽지 못했습니다. 이번 업데이트에서는 sysadm_t 유형이
/dev/mem
를 읽을 수 있도록 하는 SELinux 정책에 새 규칙이 추가되었습니다. 결과적으로 subscription-manager
하위 명령이 실패하지 않습니다.
이제 Samba-dcerpcd
프로세스가 nscd에서 올바르게 작동합니다.
이전에는 SELinux 정책으로 인해 samba-dcerpcd
프로세스가 nscd
프로세스와 통신할 수 없었습니다. 결과적으로 nscd
서비스가 활성화되었을 때 samba-dcerpcd
서비스가 제대로 작동하지 않았습니다. 이번 업데이트를 통해 SELinux 정책이 samba-dcerpcd
에 대한 새 규칙으로 업데이트되었습니다.
이제 V LOCK
이 제한된 사용자에게 제대로 작동합니다.
이전에는 SELinux 정책으로 인해 제한된 사용자가 vlock
을 사용할 수 없었습니다. 결과적으로 vlock
명령이 제한된 사용자에게 제대로 작동하지 않았습니다. 이번 업데이트를 통해 제한된 사용자를 위한 새로운 규칙으로 SELinux 정책이 업데이트되었습니다.
제한된 사용자가 이제 보고된 거부 없이 로그인 가능
이전에는 SELinux 정책에서 GUI를 사용하여 SELinux 제한 사용자에 로그인하는 데 필요한 모든 권한을 허용하지 않았습니다. 그 결과 AVC 거부가 감사되었으며 dbus
또는 detect audio
와 같은 일부 서비스가 제대로 작동하지 않았습니다. 이번 업데이트를 통해 제한된 사용자를 위한 새로운 규칙으로 SELinux 정책이 업데이트되었습니다.
insights-client
now has additional permissions in the SELinux policy
업데이트된 insights-client
서비스에는 이전 버전의 selinux-policy
패키지에 포함되지 않은 추가 권한이 필요합니다. 그 결과 특정 insights-client
구성 요소가 강제 모드에서 SELinux에서 올바르게 작동하지 않았으며 시스템이 AVC(Access Vector cache) 오류 메시지를 보고했습니다. 이번 업데이트에서는 SELinux 정책에 누락된 권한이 추가되었습니다. 결과적으로 insights-client
가 AVC 오류를 보고하지 않고 올바르게 작동합니다.
SELinux 정책에서 사용자 공유에 대한 iPXE 액세스를 허용합니다.
이전에는 samba-dcerpcd
프로세스가>-< 서비스와 분리되었지만 사용자 공유에 액세스할 수 없었습니다. 그 결과 CloudEvent
클라이언트
가 사용자 shares에서 파일에 액세스할 수 없었습니다. 이번 업데이트에서는
samba_enable_home_dirs
부울이 활성화된 경우 samba-dcerpcd
바이너리의 사용자 홈 콘텐츠를 관리하기 위한 SELinux 정책에 규칙을 추가합니다. 결과적으로 samba-dcerpcd
는 samba_enable_home_dirs
가 있는 경우 사용자 공유에 액세스할 수 있습니다.
이제 SELinux 정책을 통해 IPMItool이 실행될 때 제한된 관리자가 ipmi
장치에 액세스할 수 있습니다.
이전 버전에서는 SELinux 정책에서 IPMItool 유틸리티를 실행할 때 제한된 관리자가 ipmi
장치를 읽고 쓰는 것을 허용하지 않았습니다. 결과적으로 제한된 관리자가 ipmitool
을 실행할 때 실패했습니다. 이번 업데이트에서는 sysadm_r
SELinux 역할에 할당된 관리자에게 allow 규칙이 selinux-policy
에 추가되었습니다. 결과적으로 제한된 관리자가 ipmitool
을 실행하면 제대로 작동합니다.
SCAP 보안 가이드 규칙 file_permissions_sshd_private_key
는 STIG 구성 RHEL-08-010490과 일치합니다.
이전 버전에서는 규칙 file_permissions_sshd_private_key
를 구현하면 모드 0644
를 사용하여 ssh_keys
그룹에서 개인 SSH 키를 읽을 수 있었지만 DISA STIG 버전 RHEL-08-010490에서는 모드 0600
이 있어야 개인 SSH 키가 필요했습니다. 그 결과 DISA의 자동화된 STIG 벤치마크와의 평가가 RHEL-08-010490 설정에 실패했습니다.
이번 업데이트에서는 개인 SSH 키에 대한 예상 권한을 조정하기 위해 DISA와 협력했으며 이제 개인 키에 모드 0644
이하의 허용 권한이 있어야 합니다. 그 결과 file_permissions_sshd_private_key
규칙 및 구성 RHEL-08-010490이 조정되었습니다.
sudo_require_reauthentication
SCAP Security Guide 규칙은 sudoers
에서 올바른 간격을 허용합니다.
이전 버전에서는 xccdf_org.ssgproject.content_rule_sudo_require_reauthentication
규칙을 확인하는 버그로 인해 timestamp_timeout
키와
디렉터리의 특정 간격이 필요했습니다. 결과적으로 유효한 구문과 호환 구문으로 인해 규칙이 잘못 실패했습니다. 이번 업데이트를 통해 /etc/sudoers
.dxccdf_org.ssgproject.content_rule_sudo_require_reauthentication
이 동등한 기호 주변의 빈 공간을 허용하도록 업데이트되었습니다. 결과적으로 이 규칙은 다음 간격 형식 중 하나를 사용하여 timestamp_timeout
의 올바르고 준수 정의를 허용합니다.
-
defaults timestamp_timeout = 5
-
기본값은 timestamp_timeout= 5
-
기본값 timestamp_timeout =5
-
기본값 timestamp_timeout=5
이전 Kerberos 규칙이 RHEL의 새 버전에서 적용되지 않음
으로 변경되었습니다.
이전 버전에서는 RHEL 8.8의 DISA STIG 프로필과 시스템이 호환되어 있어도 FIPS 모드의 이후 시스템의 DISA STIG 프로필 검사 중에 일부 Kerberos 관련 규칙이 실패했습니다. 이는 다음 규칙으로 인해 발생했습니다.
-
xccdf_org.ssgproject.content_rule_package_krb5-server_removed
-
xccdf_org.ssgproject.content_rule_package_krb5-workstation_removed
-
xccdf_org.ssgproject.content_rule_kerberos_disable_no_keytab
이번 업데이트에서는 RHEL 버전 8.8 이상에는 이러한 규칙이 적용되지 않습니다. 결과적으로 검사에서 이러한 규칙에 대해 적용되지 않은
결과를 올바르게 반환합니다.
scap-security-guide
STIG 프로파일에는 더 이상 /etc/audit/rules.d/11-loginuid.rules
의 특정 텍스트가 필요하지 않습니다.
이전에는 RHEL 8 프로파일에서 사용된 SCAP 규칙 audit_immutable_login_uids
가 /etc/audit/rules.d/11-loginuid.rules
에 정확한 텍스트가 포함된 경우에만 전달되었습니다.
그러나 STIG 요구 사항 (RHEL-08-030122)을 충족할 필요는 없습니다. 이번 업데이트를 통해 새로운 규칙
audit_rules_immutable_login_uids
가 RHEL 8 stig
및 stig_gui
프로필에서 audit_immutable_login_uids
를 대체합니다. 결과적으로 /etc/audit/rules.d
디렉터리 내의 .rules
확장자 또는 /etc/audit/audit.rules
파일에서 모든 파일의 규칙을 충족하는 --loginuid-immutable
매개변수를 지정할 수 있습니다. auditctl
또는 augen-rules
.
scap-security-guide
의 CIS 프로파일에 대한 규칙이 조정됩니다.
이전에는 일부 규칙이 CIS(Internet Security) 프로필의 특정 센터 (cis_server_l1
,
, cis
_workstation_1cis_workstation_l2
)에 잘못 할당되었습니다. 결과적으로 일부 CIS 프로필에 따른 검사로 CIS 벤치마크에서 규칙을 건너뛰거나 불필요한 규칙을 확인할 수 있었습니다.
다음 규칙이 잘못된 프로필에 할당되었습니다.
-
규칙
kernel_module_udf_disabled
,sudo_require_authentication
및kernel_module_squashfs_disabled
가 CIS Server Level 1 및 CIS Workstation Level 1에 잘못 배치되었습니다. -
규칙
package_libselinux_installed
,grub2_enable_selinux
,selinux_policytype
,selinux_confinement_of_daemons
,rsyslog_nolisten
,service_systemd-journald_enabled
was missing from CIS Server Level 1 및 CIS Workstation Level 1 프로필. -
package_setroubleshoot_removed
및package_mcstrans_removed
가 CIS Server Level 1 프로필에서 누락되었습니다.
이번 업데이트에서는 잘못된 CIS 프로필에 규칙을 할당하지만 새로운 규칙을 도입하거나 규칙을 완전히 제거하지는 않습니다. 결과적으로 SCAP CIS 프로파일은 원래 CIS 벤치마크와 더 잘 일치합니다.
Clevis는 crypttab
에서 주석 처리된 장치를 무시합니다.
이전 버전에서는 Clevis에서 crypttab
파일에서 주석 처리된 장치의 잠금을 해제하여 장치가 유효하지 않은 경우에도 clevis-luks-askpass
서비스가 실행되었습니다. 이로 인해 불필요한 서비스가 실행되어 문제를 해결하기 어려웠습니다.
이번 수정으로 Clevis는 주석 처리된 장치를 무시합니다. 이제 유효하지 않은 장치가 주석 처리되면 Clevis에서 잠금 해제를 시도하지 않고 clevis-luks-askpass.service
가 적절하게 완료됩니다. 이를 통해 보다 쉽게 문제를 해결하고 불필요한 서비스 실행을 줄일 수 있습니다.
Clevis는 더 이상 pwmake
에서 너무 많은 엔트로피를 요청하지 않습니다.
이전 버전에서는 Clevis를 사용하여 LUKS
메타데이터에 데이터를 저장하기 위한 암호를 생성하는 데 pwmake
를 사용할 때 pwmake
암호 생성 유틸리티에 불필요한 경고가 표시되었습니다. 이로 인해 Clevis에서 더 낮은 엔트로피를 사용했습니다. 이번 업데이트를 통해 Clevis는 pwmake
에 제공된 256 엔트로피 비트로 제한되어 원하지 않는 경고를 제거하고 올바른 양의 엔트로피를 사용합니다.
10.0.0.1
더 이상 로그 회전에 Rsyslog 신호를 잘못 표시하지 않음
이전에는 인수 순서가 10.0.0.1 스크립트에 잘못
설정되어 구문 오류가 발생했습니다. 이로 인해 로그 순환 중에 Rsyslog를 올바르게 신호하지 않았습니다.
이번 업데이트를 통해 POSIXLY_CORRECT
환경 변수가 설정된 경우에도 로그 순환 후의 인수 순서가 수정되고, 10.0.0.1 신호 Rsyslog가 올바르게 표시됩니다.
더 이상 imklog
의 버그로 인해 rsyslog가 충돌하지 않음
이전에는 imklog
모듈이 활성화되어 있고 사용 중에 잘못된 오브젝트를 사용한 free()
호출이 해제된 경우 Rsyslog에 세그먼트 오류가 발생할 수 있었습니다. 이번 업데이트를 통해 freed 오브젝트가 올바른 위치에서 할당 해제됩니다. 결과적으로 세그먼트 결함이 더 이상 발생하지 않습니다.
usbguard는 더 이상 혼란스러운 경고를 유발하지 않습니다.
이전에는 상위 프로세스가 첫 번째 하위 프로세스보다 빨리 완료되면 race condition이 USBGuard에서 발생할 수 있었습니다. 그 결과 systemd
는 잘못된 PPID(parent PID)가 있는 프로세스가 있다고 보고했습니다. 이번 업데이트를 통해 상위 프로세스는 첫 번째 하위 프로세스가 작동 모드에서 완료될 때까지 기다립니다. 결과적으로 systemd
에서 더 이상 이러한 경고를 보고하지 않습니다.
usbguard
서비스 파일에서 OOMScore
를 정의하지 않음
이전에는 usbguard
서비스 파일에서 OOMScoreAdjust
옵션을 정의하지 않았습니다. 그 결과 시스템 리소스가 실행 중으로 닫힐 때 권한이 없는 프로세스 이전에 종료되는 후보로 프로세스를 확인할 수 있었습니다. 이번 업데이트를 통해 새로운 OOMScoreAdjust
설정이 usbguard.service
파일에 도입되어 usbguard 단위의 OOM 종료 프로세스를 비활성화합니다.
usbguard는 RuleFile이 정의되지 않은 경우에도 규칙을 저장합니다.
이전 버전에서는 USBGuard의 RuleFile
구성 지시문이 설정되었지만 RuleFolder
가 없는 경우 규칙 세트를 변경할 수 없었습니다. 이번 업데이트를 통해 RuleFolder가 설정되어 있지만 RuleFile이 아닌 경우에도 규칙 세트를 변경할 수 있습니다. 결과적으로 USBGuard에서 영구 정책을 수정하여 새로 추가된 규칙을 영구적으로 저장할 수 있습니다.
8.6. 네트워킹
XDP-tools rebased to version 1.2.10
xdp-tools
패키지가 업스트림 버전 1.2.10으로 업그레이드되어 이전 버전에 비해 여러 버그 수정을 제공합니다.
HashSize
및 HashLimit
를 수동으로 설정하지 않은 경우에도 conntrackd
기능이 올바르게 설정됩니다.
이전에는 conntrackd
서비스에서 HashSize
및 HashLimit
구성 변수의 기본값을 설정하지 않았습니다. 결과적으로 해당 값을 지정하지 않은 경우 conntrackd
가 불안정해지거나 완전히 작동을 중지할 수 있었습니다. 구성 리더가 구성 파일을 구문 분석하기 전에 HashSize
및 HashLimit
의 기본값을 설정하도록 하여 문제가 해결되었습니다. 결과적으로 값을 지정하지 않은 경우에도
conntrackd
가 올바르게 작동합니다.
nm-cloud-setup
서비스는 더 이상 경로를 제거하고 수동으로 구성된 보조 IP 주소를 인터페이스에서 제거합니다.
클라우드 환경에서 수신된 정보를 기반으로 nm-cloud-setup
서비스는 네트워크 인터페이스를 구성합니다. 이전에는 관리자가 nm-cloud-setup
을 비활성화하여 서비스에서 해당 서비스를 제거하지 않도록 인터페이스에서 경로 및 보조 IP 주소를 수동으로 구성해야 했습니다. 이번 업데이트에서는 외부에서 추가된 주소 및 경로를 유지하기 위해 Reapply()
함수에 플래그를 추가합니다. 따라서 관리자는 언급한 시나리오에서 nm-cloud-setup
서비스를 더 이상 비활성화할 필요가 없습니다.
8.7. 커널
kpatch-patch
는 유휴 상태의 CPU가 있는 시스템에서 올바르게 작동합니다.
이전에는 커널 CPU 격리 기능이 있는 시스템에 kpatch-patch
CVE 완화 패키지를 설치하려고 하면 kpatch-patch
RPM이 설치되었지만 CVE 완화 커널 모듈을 로드하지 못했습니다. 이번 수정을 통해 두 가지 기능이 공존하며 이제 CPU 격리가 있는 경우 kpatch
CVE 수정을 성공적으로 배포할 수 있습니다.
Bugzilla:2134931
VMD 활성화 다시 작동
이전 버전에서는 VMI(볼륨 관리 장치)가 활성화된 경우 운영 체제가 부팅되지 않았습니다. 이번 업데이트에서는 VMD가 예상대로 작동하는 데 필요한 다양한 버그 수정을 제공합니다.
Bugzilla:2127028
8.8. 파일 시스템 및 스토리지
VDO 볼륨을 시작하는 동안 소프트 잠금없이 시스템이 올바르게 작동합니다.
pv_mmu_ops
구조에서 커널 애플리케이션 바이너리 인터페이스(kABI) 버그 수정으로 인해 커널 버전 4.18.0-425.10.1.el8_7
시스템이 RHEL-8.7.0.2-BaseOS인 RHEL-8.7.0.2-BaseOS로 인해 VDO(Virtual Data Optimizer) 볼륨을 시작하는 동안 소프트 잠금 해제로 인해 커널 패닉이 발생했습니다.
이번 업데이트를 통해 kmod-kvdo
패키지가 더 이상 kmod-kvdo
의 현재 버전과 호환되지 않는 새 커널을 사용할 수 있을 때마다 다시 빌드되었습니다. 결과적으로 VDO 볼륨을 시작하는 동안 시스템이 올바르게 작동합니다.
VDO 드라이버 버그로 인해 더 이상 저널 블록을 통해 장치가 정지되지 않음
이전에는 VDO 드라이버의 버그로 인해 시스템에서 메타데이터 업데이트를 기다리는 것으로 일부 저널 블록을 표시했습니다. 이 문제는 VDO 풀 또는 논리 볼륨의 크기를 늘리는 경우 또는 VDO 장치가 관리되는 LVM 도구에서 pvmove
및 lvchange
작업을 사용할 때 트리거되었습니다. 버그는 일부 저널 페이지를 사용할 수 없는 불완전한 재설정으로 인해 발생했으며 복구 저널의 슬롯 수를 채울 수 있는지에 대한 잘못된 개념에 의해 발생했습니다. 그 결과 장치가 정지됩니다.
이 문제는 이제 가상 데이터 type kmod-kvdo-6.2.8.1-87.el8 용 커널 모듈의 최신 버전으로 해결되었습니다. 현재 메모리 내 데이터 구조를 업데이트하고 필요한 경우 상태를 재설정하는 동안 모든 불완전한 메타데이터 블록이 단계적으로 코드의 각 섹션에 저장됩니다. 이 수정으로 인해 사용자는 이 문제로 인해 더 이상 장치 정지를 경험해서는 안 됩니다.
8.9. 고가용성 및 클러스터
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.10. 컴파일러 및 개발 도구
모든 아키텍처에서 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 라이브러리를 설치할 수 있습니다.
Bugzilla:2115722
go
의 함수는 더 이상 메모리 누수를 유발하지 않습니다.
이전에는 CloudEvent P_PKEY_sign_raw
및 CloudEvent P_PKEY_verify_raw
함수가 메모리를 정리하기 위해 자유롭게 호출하지 않았습니다. 결과적으로 메모리 누수가 발생하고 복구되지 않았습니다. 이번 업데이트에서는 CloudEvent P_PKEY_sign_raw
및 CloudEvent P_PKEY_verify_raw
기능이 업데이트되어 메모리가 유출되지 않습니다.
Bugzilla:2132767
Golang
은 x509 FIPS 모드에서 4096 비트 키를 지원
이전에는 golang
이 x509 FIPS 모드에서 4096 비트 키를 지원하지 않았습니다. 그 결과, 사용자가 4096비트 키를 사용할 때 프로그램이 충돌했습니다. 이번 업데이트를 통해 golang
은 이제 x509 FIPS 모드에서 4096 비트 키를 지원합니다.
libffi
는 이제 SELinux가 활성화된 상태에서 실행 가능한 메모리를 검색할 수 있습니다.
기본적으로 libffi
는 SELinux가 활성화된 경우 실행 가능한 메모리를 검색하지 않습니다. 결과적으로 SELinux가 활성화되면 다른 프로세스를 즉시 실행하지 않고 libffi
종료 및 fork()
를 사용하는 프로그램이 예기치 않게 종료됩니다. 이번 업데이트를 통해 libffi
는 /etc/sysconfig/libffi-force-shared-memory-check-first
파일을 찾고, 존재하는 경우 SELinux가 활성화되어 있는지에 관계없이 실행 가능한 메모리를 검색합니다. 결과적으로 libffi
를 사용하는 프로그램은 SELinux를 활성화하지 않고 안전하게 fork()
를 사용할 수 있습니다.
golang
의 OpenSSL
바인딩에서 큰 endian 지원 구현
이전에는 golang
의 OpenSSL
바인딩에서 big-endian을 지원하지 않아 BigInt
값 변환에 문제가 발생했습니다. 그 결과 암호화 루틴은 이 변환을 수행할 수 없었습니다. 이 문제를 해결하기 위해 golang
에 대한 OpenSSL
바인딩에서 big-endian 지원이 구현되었습니다. 결과적으로 BigInt
에서의 변환이 성공적으로 수행되고 테스트가 예상대로 전달됩니다.
8.11. 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
규칙에 대한 호스트 마스크 설정을 자동화할 수 있습니다.
이제 변경 로그 압축 시간이 올바르게 작동합니다.
이전 버전에서는 변경 로그 압축에 대한 사용자 지정 예약된 시간을 구성하면 서버가 새 설정을 적용하지 않았으며 최대 시간 동안 변경 로그 압축이 시작될 수 있었습니다. 이번 릴리스에서는 이제 서버가 변경 로그 압축의 사용자 정의 시간을 올바르게 적용합니다.
8.12. 그래픽 인프라
Matrox G200e가 VGA 디스플레이에서 올바르게 작동함
이전 버전에서는 다음 시스템 구성을 사용하는 경우 디스플레이에 그래픽 출력이 표시되지 않을 수 있었습니다.
- Matrox G200e GPU
- VGA 컨트롤러에 연결된 디스플레이
결과적으로 이 구성에 RHEL을 사용하거나 설치할 수 없었습니다.
이번 릴리스에서는 문제가 해결되었습니다. 결과적으로 RHEL은 부팅되고 그래픽 출력을 예상대로 표시합니다.
Bugzilla:2130159
8.13. 웹 콘솔
웹 콘솔 NBDE 바인딩 단계가 루트 파일 시스템이 있는 볼륨 그룹에서도 작동합니다.
RHEL 8.8.0에서는 사용자가 루트 파일 시스템에 Tang 키를 추가하는지 확인하기 위한 코드의 버그로 인해 LUKS 컨테이너에 파일 시스템이 전혀 충돌하지 않을 때 웹 콘솔의 바인딩 프로세스가 충돌했습니다. 웹 콘솔에 Verify
키 대화 상자에서 신뢰 키
버튼을 클릭하면 TypeError: Qe(…)
오류 메시지가 표시되지 않기 때문에 설명된 시나리오에서 명령줄 인터페이스에서 필요한 모든 단계를 수행해야 했습니다.
RHBA-2023:3829 권고가 릴리스되면서 웹 콘솔에서 root 파일 시스템에 Tang 키 추가를 올바르게 처리합니다. 결과적으로 웹 콘솔은 다양한 시나리오에서 NBDE(Network-Bound Disk Encryption)를 사용하여 LUKS 암호화 볼륨의 자동 잠금 해제에 필요한 모든 바인딩 단계를 완료합니다.
8.14. 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 서비스가 항상 활성화됩니다.
ha_cluster
시스템 역할을 사용하여 stonith-watchdog-timeout
속성을 설정하면 중지된 클러스터에서 작동합니다.
이전 버전에서는 중지된 클러스터에서 ha_cluster
시스템 역할로 stonith-watchdog-timeout
속성을 설정하면 속성이 이전 값으로 되돌아간 후 역할이 실패했습니다. 이번 수정을 통해 ha_cluster
시스템 역할을 사용하여 stonith-watchdog-timeout
속성을 구성하는 것이 제대로 작동합니다.
암시적 파일 공급자를 활성화하여 rhel-system-roles
SSSD 구성 수정
비활성화된 SSSD 암시적 파일 공급자로 인해 rhel-system-roles
모듈에서 잘못된 SSSD(System Security Services Daemon) 구성을 생성했습니다. 이번 업데이트에서는 파일 제공자가 무조건 활성화되므로 rhel-system-roles
에서 생성된 SSSD 구성이 예상대로 작동합니다.
네트워크 트래픽은 네트워킹
RHEL 시스템 역할과 함께 initscripts
를 사용할 때 의도한 네트워크 인터페이스를 통해 이동합니다.
이전 버전에서는 initscripts
공급자를 사용할 때 네트워크 연결에 대한 라우팅 구성에서 트래픽이 이동해야 하는 출력 장치를 지정하지 않았습니다. 결과적으로 커널은 사용자가 의도한 것과 다른 출력 장치를 사용할 수 있었습니다. 이제 네트워크 인터페이스 이름이 연결을 위한 플레이북에 지정되면 경로 구성 파일에서 출력 장치로 사용됩니다. 이렇게 하면 장치의 프로필을 활성화할 때 경로에서 출력 장치를 구성하는 NetworkManager와 동작이 조정됩니다. 결과적으로 사용자는 트래픽이 의도한 네트워크 인터페이스를 통해 전달되는지 확인할 수 있습니다.
nbde_client_clevis
역할은 더 이상 사용자에게 역추적을 보고하지 않습니다.
이전 버전에서는 nbde_client_clevis
역할이 예외에서 실패하여 역추적을 유발하고 encryption_password
필드와 같은 중요한 데이터를 보고하면 다시 사용자로 돌아갑니다. 이번 업데이트를 통해 역할은 더 이상 적절한 오류 메시지만 보고하지 않습니다.
Bugzilla:2162782
8.15. 가상화
이제 중첩된 VM의 시스템 시간이 안정적으로 작동합니다.
이전 버전에서는 경우에 따라 중첩된 VM(가상 머신)의 시스템 시간이 수준 0 및 수준 1 호스트에서 동기화되지 않았습니다. 이로 인해 중첩된 VM이 응답하지 않거나 예기치 않게 종료되는 경우도 있었습니다.
이번 업데이트를 통해 KVM 호스트 커널 코드의 코드를 처리하는 시간이 수정되어 설명된 오류가 발생하지 않습니다.
Bugzilla:2151854
가상 머신의 네트워크 트래픽 성능이 더 이상 저하되지 않음
이전에는 RHEL 가상 머신의 경우 높은 수준의 네트워크 트래픽을 처리할 때 성능이 저하되는 경우도 있었습니다. 기본 코드가 수정되었으며 네트워크 트래픽 성능에 더 이상 영향을 미치지 않습니다.
Bugzilla:2069047
memfd
를 사용하는 가상 머신 실행
이전에는 hugepages를 사용하여 메모리를 지원하는 데 memfd
를 사용하는 64비트 IBM Z 프로세서 아키텍처에서 실행되는 VM(가상 머신)을 실행하지 못했습니다. 이번 업데이트를 통해 문제가 해결되었으며 memfd
를 사용하는 VM을 64비트 IBM Z 프로세서 아키텍처에 정의할 수 있습니다. 결과적으로 memfd
를 사용하여 hugepages로 메모리를 백업하는 VM을 실행할 수 있습니다.
이제 VM의 시스템 시간이 호스트와 올바르게 동기화됩니다.
이전에는 KVM 모듈에서 실시간 클럭(RTC) 동기화를 의도한 것보다 덜 자주 수행했습니다. 그 결과 RHEL 8에서 호스팅되는 VM의 시스템 시간이 호스트의 시스템 시간을 올바르게 반영하지 못한 경우가 있었습니다. 이번 업데이트에서는 KVM의 RTC 스케줄링이 수정되어 설명된 문제가 발생하지 않습니다.
Bugzilla:2135417
9장. 기술 프리뷰
이 부분에서는 Red Hat Enterprise Linux 8.8에서 사용할 수 있는 모든 기술 프리뷰 목록을 제공합니다.
기술 프리뷰 기능에 대한 Red Hat 지원 범위 정보는 기술 프리뷰 기능 지원 범위를 참조하십시오.
9.1. 인프라 서비스
TuneD용 소켓 API를 기술 프리뷰로 사용 가능
Unix 도메인 소켓을 통해 TuneD를 제어하기 위한 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 소켓 API는 D-Bus API를 사용하여 일대일 매핑하고 D-Bus를 사용할 수 없는 경우 대체 통신 방법을 제공합니다. 소켓 API를 사용하면 TuneD 데몬을 제어하여 성능을 최적화하고 다양한 튜닝 매개변수 값을 변경할 수 있습니다. 소켓 API는 기본적으로 비활성화되어 있으며, tuned-main.conf
파일에서 활성화할 수 있습니다.
9.2. 네트워킹
AF_XDP
를 기술 프리뷰로 이용 가능
Address Family eXpress Data Path
(AF_XDP
) 소켓은 고성능 패킷 처리를 위해 설계되었습니다. XDP
와 함께 제공되며, 추가 처리를 위해 프로그래밍 방식으로 선택한 패킷을 효율적으로 리디렉션할 수 있습니다.
Bugzilla:1633143
기술 프리뷰로 사용할 수 있는 XDP 기능
Red Hat은 다음 eXpress Data Path(XDP) 기능을 지원되지 않는 기술 프리뷰로 사용합니다.
-
AMD 및 Intel 64비트 이외의 아키텍처에 XDP 프로그램 로드
libxdp
라이브러리는 AMD 및 Intel 64비트 이외의 아키텍처에서는 사용할 수 없습니다. - XDP 하드웨어 오프로드.
TC용 다중 프로토콜 라벨 전환(Multi-protocol Label Switching for TC)을 기술 프리뷰로 이용 가능
MPLS(Multi-protocol Label Switching)는 엔터프라이즈 네트워크에서 트래픽 흐름을 라우팅하는 커널 내 데이터 전달 메커니즘입니다. MPLS 네트워크에서 패킷을 수신하는 라우터는 패킷에 연결된 라벨에 따라 패킷의 추가 경로를 결정합니다. 레이블을 사용하면 MPLS 네트워크는 특정 특성을 가진 패킷을 처리할 수 있습니다. 예를 들어 특정 포트에서 수신한 패킷을 관리하거나 특정 유형의 트래픽을 일관되게 수행하는 데 필요한 tc 필터를
추가할 수 있습니다.
패킷이 엔터프라이즈 네트워크에 진입하면 MPLS 라우터는 패킷에서 여러 작업을 수행합니다(예: 레이블 추가, 레이블 업데이트 스왑
, 레이블을 제거하는 팝업
). MPLS를 사용하면 RHEL의 하나 또는 여러 라벨에 따라 로컬에서 작업을 정의할 수 있습니다. 라벨 ,
트래픽 클래스
, 스택하단
및 라이브 시간과
같은 MPLS 라벨 스택 항목(lse
) 요소에 따라 패킷에 대한 적절한 작업을 수행하도록 라우터를 구성하고(tc
) 필터를 설정할 수 있습니다.
예를 들어, 다음 명령은 enp0s1 네트워크 인터페이스에 필터를 추가하여 first 레이블 10.0.0.123 및 두 번째 레이블 45832 가 있는 수신되는 패킷과 일치합니다. 일치하는 패킷에서 다음 작업을 수행합니다.
- 첫 번째 MPLS TTL이 감소합니다 ( TTL이 0에 도달하면 팩이 삭제됨)
- 첫 번째 MPLS 레이블이 549386으로 변경되었습니다.
결과 패킷은 대상 MAC 주소 00:00:5E:00:53:01 및 소스 MAC 주소 00:00:5E:00:53:02를 사용하여 enp0s2 를 통해 전송됩니다.
# tc filter add dev enp0s1 ingress protocol mpls_uc flower mpls lse depth 1 label 12323 lse depth 2 label 45832 \ action mpls dec_ttl pipe \ action mpls modify label 549386 pipe \ action pedit ex munge eth dst set 00:00:5E:00:53:01 pipe \ action pedit ex munge eth src set 00:00:5E:00:53:02 pipe \ action mirred egress redirect dev enp0s2
Bugzilla:1814836, Bugzilla:1856415
act_mpls
모듈을 기술 프리뷰로 사용 가능
act_mpls
모듈은 이제 kernel-modules-extra
rpm에서 기술 프리뷰로 사용할 수 있습니다. 이 모듈을 사용하면 TC( Traffic Control) 필터를 사용하여 MPLS(Multiprotocol Label Switching) 작업을 적용할 수 있습니다. 예를 들어 TC 필터를 사용하여 MPLS 라벨 스택 항목을 푸시 및 팝업할 수 있습니다. 또한 이 모듈에서는 Label, Traffic Class, Stack의 Bottom, Time to Live 필드를 독립적으로 설정할 수 있습니다.
Bugzilla:1839311
systemd-resolved
서비스를 기술 프리뷰로 사용 가능
systemd-resolved
서비스는 로컬 애플리케이션에 이름 확인을 제공합니다. 이 서비스는 캐싱 및 검증 DNS 스텁 확인 프로그램, 링크 로컬 Multicast Name Resolution(LLMNR), Multicast DNS 확인자 및 응답자를 구현합니다.
systemd
패키지에서 systemd 문제 해결
기능을 제공하는 경우에도 이 서비스는 지원되지 않는 기술 프리뷰입니다.
KTLS를 기술 프리뷰로 사용 가능
RHEL은 KTLS(커널 전송 계층 보안)를 기술 프리뷰로 제공합니다. KTLS는 AES-GCM 암호에 대해 커널의 대칭 암호화 또는 암호 해독 알고리즘을 사용하여 TLS 레코드를 처리합니다. 또한 KTLS에는 이 기능을 제공하는 NIC(Network Interface Controller)에 TLS 레코드 암호화를 오프로드하는 인터페이스가 포함되어 있습니다.
Bugzilla:1570255
nispor
패키지는 기술 프리뷰로 사용 가능
nispor
패키지는 이제 Linux 네트워크 상태 쿼리용 통합 인터페이스인 기술 프리뷰로 사용할 수 있습니다. Python 및 C api 및rust crate를 통해 실행 중인 모든 네트워크 상태를 쿼리할 수 있는 통합된 방법을 제공합니다. nispor
는 nmstate
도구의 종속성으로 작동합니다.
nispor
패키지를 nmstate
의 종속성 또는 개별 패키지로 설치할 수 있습니다.
nispor
를 개별 패키지로 설치하려면 다음을 입력합니다.# yum install nispor
nispor
를nmstate
의 종속성으로 설치하려면 다음을 입력하십시오.# yum install nmstate
nispor
가 종속성으로 나열됩니다.
nispor
사용에 대한 자세한 내용은 /usr/share/doc/nispor/README.md
파일을 참조하십시오.
Bugzilla:1848817
9.3. 커널
soft-RoCE를 기술 프리뷰로 이용 가능
RDMA(Remote Direct Memory Access) over Converged Ethernet(RoCE)은 RDMA over Ethernet을 구현하는 네트워크 프로토콜입니다. RoCE는 RoCE v1 및 RoCE v2의 두 가지 프로토콜 버전을 유지 관리하는 RoCE의 소프트웨어 구현입니다. gRPC-RoCE 드라이버 rdma_rxe
는 RHEL 8에서 지원되지 않는 기술 프리뷰로 사용할 수 있습니다.
Bugzilla:1605216
eBPF를 기술 프리뷰로 이용 가능
eBPF(Extended Berkeley Packet Filter) 는 제한된 함수 세트에 액세스할 수 있는 제한된 샌드박스 환경에서 커널 공간에서 코드를 실행할 수 있는 커널 내 가상 시스템입니다.
가상 시스템에는 다양한 유형의 맵을 만들 수 있는 새로운 시스템 호출 bpf()
가 포함되어 있으며, 특수한 어셈블리와 같은 코드로 프로그램을 로드할 수 있습니다. 그런 다음 코드는 커널에 로드되고 즉시 컴파일을 통해 네이티브 머신 코드로 변환됩니다. bpf()
syscall은 root 사용자와 같은 CAP_SYS_ADMIN
기능이 있는 사용자만 사용할 수 있습니다. 자세한 내용은 bpf(2)
매뉴얼 페이지를 참조하십시오.
로드된 프로그램은 데이터를 수신 및 처리하기 위해 다양한 포인트( 소켓, 추적 지점, 패킷 수신)에 연결할 수 있습니다.
Red Hat은 eBPF 가상 시스템을 사용하는 다양한 구성 요소가 포함되어 있습니다. 각 구성 요소는 다른 개발 단계에 있습니다. 특정 구성 요소가 지원되는 것으로 표시되지 않는 한 모든 구성 요소는 기술 프리뷰로 사용할 수 있습니다.
다음과 같은 주목할 만한 eBPF 구성 요소는 현재 기술 프리뷰로 사용할 수 있습니다.
-
AF_XDP
: 패킷 처리 성능에 우선 순위를 지정하는 애플리케이션의 eXpress Data Path(XDP) 경로를 사용자 공간에 연결하는 소켓입니다.
Bugzilla:1559616
kexec
빠른 재부팅 기능은 기술 프리뷰로 사용 가능
kexec
빠른 재부팅 기능은 기술 프리뷰로 계속 사용할 수 있습니다. kexec
빠른 재부팅은 먼저 Basic Input/Output System(BIOS) 또는 펌웨어를 통과하지 않고 두 번째 커널로 직접 부팅할 수 있으므로 부팅 프로세스의 속도를 크게 향상시킵니다. 이 기능을 사용하려면 다음을 수행합니다.
-
kexec
커널을 수동으로 로드합니다. - 변경 사항을 적용하려면 재부팅하십시오.
kexec
빠른 재부팅 기능은 RHEL 9 이상 릴리스에서 제한된 지원 범위를 통해 사용할 수 있습니다.
커널용 Intel 데이터 스트리밍 가속기 드라이버는 기술 프리뷰로 사용 가능
커널의 Intel 데이터 스트리밍 가속기 드라이버(IDXD)는 현재 기술 프리뷰로 사용할 수 있습니다. Intel CPU 통합 가속기이며 프로세스 주소 공간 ID(pasid) 제출 및 SVM(공유 가상 메모리)이 포함된 공유 작업 대기열을 포함합니다.
Bugzilla:1837187
기술 프리뷰로 사용 가능한 accel-config
패키지
accel-config
패키지는 이제 Intel EM64T
및 AMD64
아키텍처에서 기술 프리뷰로 사용할 수 있습니다. 이 패키지는 Linux 커널에서 DVA(데이터 스트리밍 가속기) 하위 시스템을 제어하고 구성하는 데 도움이 됩니다. 또한 sysfs
(pseudo-filesystem)를 통해 장치를 구성하고 구성을 json
형식으로 저장하고 로드합니다.
Bugzilla:1843266
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
9.4. 파일 시스템 및 스토리지
ext4 및 XFS에서 기술 프리뷰로 파일 시스템 DAX 사용 가능
Red Hat Enterprise Linux 8에서는 파일 시스템 DAX를 기술 프리뷰로 사용할 수 있습니다. DAX는 애플리케이션이 영구 메모리를 주소 공간에 직접 매핑할 수 있는 수단을 제공합니다. DAX를 사용하려면 시스템에 일반적으로 NVDIMM(Non-Volatile Dual In-line Memory Modules) 형식의 영구 메모리를 사용할 수 있어야 하며, DAX 기능을 제공하는 파일 시스템은 NVDIMM에서 생성해야 합니다. 또한 dax
마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. 그런 다음 dax 마운트 파일 시스템에 있는 파일의 mmap
으로 인해 스토리지를 애플리케이션의 주소 공간에 직접 매핑합니다.
Bugzilla:1627455
OverlayFS
OverlayFS는 일종의 통합 파일 시스템입니다. 이를 통해 한 파일 시스템을 다른 파일 시스템 위에 오버레이할 수 있습니다. 변경 사항은 상위 파일 시스템에 기록되지만 하위 파일 시스템은 수정되지 않은 상태로 유지됩니다. 이를 통해 여러 사용자가 기본 이미지가 읽기 전용 미디어에 있는 컨테이너 또는 DVD-ROM과 같은 파일 시스템 이미지를 공유할 수 있습니다.
OverlayFS는 대부분의 상황에서 기술 프리뷰로 유지됩니다. 이와 같이 커널은 이 기술이 활성화될 때 경고를 기록합니다.
지원되는 컨테이너 엔진(podman
,cri-o
또는 buildah
)과 함께 사용되는 경우 OverlayFS에 대해 다음과 같은 제한 사항이 적용됩니다.
- OverlayFS는 컨테이너 엔진 그래프 드라이버로만 사용할 수 있습니다. 컨테이너 COW 콘텐츠에서만 사용이 지원되며 영구저장장치는 지원되지 않습니다. OverlayFS가 아닌 볼륨에 모든 영구 스토리지를 배치해야 합니다. 기본 컨테이너 엔진 구성만 사용할 수 있습니다. 오버레이 한 수준, 하나의 lowerdir, 낮은 수준과 상위 수준 모두 동일한 파일 시스템에 있습니다.
- 현재 하위 계층 파일 시스템으로 사용하기 위해 XFS만 지원됩니다.
또한 다음 규칙 및 제한 사항은 OverlayFS 사용에 적용됩니다.
- OverlayFS 커널 ABI 및 사용자 공간 동작은 안정적이지 않은 것으로 간주되며 향후 업데이트 시 변경될 수 있습니다.
OverlayFS는 POSIX 표준의 제한된 집합을 제공합니다. OverlayFS를 사용하여 배포하기 전에 애플리케이션을 철저히 테스트합니다. 다음 사례는 POSIX와 호환되지 않습니다.
-
O_RDONLY
로 열린 낮은 파일은 파일을 읽을 때st_atime
업데이트를 수신하지 않습니다. -
O_RDONLY
로 열린 하위 파일은MAP_SHARED
로 매핑되며 후속 수정과 일치하지 않습니다. 완전한 호환
st_ino
또는d_ino
값은 RHEL 8에서 기본적으로 활성화되지 않지만 모듈 옵션 또는 마운트 옵션으로 완전한 POSIX 규정 준수를 활성화할 수 있습니다.일관된 inode 번호를 가져오려면
xino=on
마운트 옵션을 사용합니다.redirect_dir=on
및index=on
옵션을 사용하여 POSIX 규정 준수를 개선할 수도 있습니다. 이 두 가지 옵션은 이러한 옵션이 없는 오버레이와 호환되지 않는 상위 계층의 형식을 만듭니다. 즉redirect_dir=on
또는index=on
으로 오버레이를 생성하고 오버레이를 마운트 해제한 다음 이러한 옵션 없이 오버레이를 마운트 해제하면 예기치 않은 결과 또는 오류가 발생할 수 있습니다.
-
기존 XFS 파일 시스템을 오버레이로 사용할 수 있는지 확인하려면 다음 명령을 사용하여
ftype=1
옵션이 활성화되어 있는지 확인합니다.# xfs_info /mount-point | grep ftype
- SELinux 보안 레이블은 OverlayFS를 사용하여 지원되는 모든 컨테이너 엔진에서 기본적으로 활성화됩니다.
- 이 릴리스의 OverlayFS와 관련된 몇 가지 알려진 문제가 있습니다. 자세한 내용은 Linux 커널 설명서의 비표준 동작을 참조하십시오.
OverlayFS에 대한 자세한 내용은 Linux 커널 설명서 를 참조하십시오.
Bugzilla:1690207
Stratis를 기술 프리뷰로 사용 가능
Stratis는 추가 기능을 사용하여 스토리지 풀 상단에 관리 파일 시스템을 제공하는 새로운 로컬 스토리지 관리자입니다. 기술 프리뷰로 제공됩니다.
Stratis를 사용하면 다음 스토리지 작업을 수행할 수 있습니다.
- 스냅샷 및 씬 프로비저닝 관리
- 필요에 따라 파일 시스템 크기 자동 확장
- 파일 시스템 관리
Stratis 스토리지를 관리하려면 stratisd
백그라운드 서비스와 통신하는 stratis
유틸리티를 사용합니다. 자세한 내용은 Stratis 파일 시스템 설정 설명서를 참조하십시오.
RHEL 8.5가 Stratis 버전 2.4.2로 업데이트되었습니다. 자세한 내용은 Stratis 2.4.2 릴리스 정보를 참조하십시오.
Jira:RHELPLAN-1212
NVMe/TCP 호스트는 기술 프리뷰로 사용 가능
TCP/IP 네트워크(NVMe/TCP) 및 해당 nvme_tcp.ko
커널 모듈이 기술 프리뷰로 추가되었습니다. 호스트로서 NVMe/TCP를 사용하면 nvme-cli
패키지에서 제공하는 툴을 사용하여 관리할 수 있습니다. NVMe/TCP 호스트 기술 프리뷰는 테스트 목적으로만 포함되어 있으며 현재 완전하게 지원되지 않습니다.
Bugzilla:1696451
IdM 도메인 멤버에서 Samba 서버 설정은 기술 프리뷰로 제공됩니다.
이번 업데이트를 통해 IdM(Identity Management) 도메인 멤버에서 Samba 서버를 설정할 수 있습니다. 동일한 이름의 패키지에서 제공하는 새로운 ipa-client
-ECDHE 유틸리티는 Samba별 Kerberos 서비스 주체를 IdM에 추가하고 IdM 클라이언트를 준비합니다. 예를 들어 유틸리티는 sss
ID 매핑 백엔드의 ID 매핑 구성을 사용하여 /etc/ECDHE/ECDHE.conf
를 생성합니다. 결과적으로 관리자는 IdM 도메인 멤버에 Samba를 설정할 수 있습니다.
IdM 트러스트 컨트롤러에서 글로벌 카탈로그 서비스를 지원하지 않기 때문에 AD-enrolled Windows 호스트는 Windows에서 IdM 사용자 및 그룹을 찾을 수 없습니다. 또한 IdM Trust 컨트롤러는 분산 컴퓨팅 환경 / DCE/RPC(원격 프로시저 호출) 프로토콜을 사용하여 IdM 그룹 확인을 지원하지 않습니다. 결과적으로 AD 사용자는 IdM 클라이언트의 Samba 공유 및 프린터에만 액세스할 수 있습니다.
자세한 내용은 IdM 도메인 멤버에 Samba 설정을 참조하십시오.
Jira:RHELPLAN-13195
9.5. 고가용성 및 클러스터
Pacemaker podman
번들을 기술 프리뷰로 이용 가능
이제 Pacemaker 컨테이너 번들은 기술 프리뷰로 사용할 수 있는 컨테이너 번들 기능을 사용하여 Podman에서 실행됩니다. 이 기능은 기술 프리뷰로 제공되는 한 가지 예외가 있습니다. Red Hat은 Red Hat OpenStack용 Pacemaker 번들 사용을 완전하게 지원합니다.
Bugzilla:1619620
corosync-qdevice
의 이기종 기술 프리뷰로 사용 가능
추론은 시작시 로컬로 실행되는 명령 세트, 클러스터 멤버십 변경, corosync-qnetd
에 성공적으로 연결, 선택적으로 주기적으로 실행됩니다. 모든 명령이 시간에 성공적으로 완료되면 (올바르 반환 오류 코드가 0 인 경우), 추론이 통과되었습니다. 그렇지 않으면 실패합니다. 이기종 결과는 corosync-qnetd
로 전송되며 계산에 어떤 파티션을 정족해야 하는지 결정합니다.
새로운 fence-agents-heuristics-ping
fence 에이전트
Pacemaker에서 기술 프리뷰로 fence_heuristics_ping
에이전트를 제공합니다. 이 에이전트는 자체적으로 실제 펜싱을 수행하지 않고 펜싱 수준의 동작을 새로운 방식으로 활용하는 실험적인 차단 에이전트 클래스를 여는 것을 목표로 합니다.
가상 에이전트가 실제 펜싱을 수행하는 펜싱 에이전트와 동일한 펜싱 수준에 구성되어 있지만 해당 에이전트가 순서대로 구성되는 경우 펜싱은 펜싱을 수행하는 에이전트에서 이를 시도하기 전에 가상 에이전트에 대한 off
작업을 실행합니다. 가상 에이전트에서 off
작업에 대해 음수 결과를 제공하는 경우 펜싱 수준이 성공하지 않다는 것이 이미 명확하지 않아 Pacemaker 펜싱에서 off 작업을 수행하는 에이전트에서 off
작업을 수행하는 단계를 건너뜁니다. 가상 에이전트가 이 동작을 악용하여 실제 펜싱을 수행하는 에이전트가 특정 조건에서 노드를 펜싱하지 못하도록 할 수 있습니다.
사용자가 2 노드 클러스터에서 특히 2-노드 클러스터에서 이 에이전트를 사용하고자 할 수 있습니다. 이 에이전트를 사전에 알고 있으면 노드가 피어를 펜싱하는 것이 적절하지 않을 수 있습니다. 예를 들어, 노드가 네트워킹 uplink에 도달하는 데 문제가 있어 클라이언트에 연결할 수 없는 경우 노드가 서비스를 인수하지 못할 수 있습니다. 이 경우 라우터에 ping이 탐지되는 상황이 발생할 수 있습니다.
Bugzilla:1775847
9.6. IdM (Identity Management)
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)와 통신 합니다.
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 영역의 가용성에 영향을 줄 수 있습니다.
기술 프리뷰로 사용 가능한 ACME
이제 ACME(Automated Certificate Management Environment) 서비스를 기술 프리뷰로 IdM(Identity Management)에서 사용할 수 있습니다. ACME는 자동 식별자 검증 및 인증서 발급을 위한 프로토콜입니다. 목표는 인증서 수명을 줄이고 인증서 라이프사이클 관리에서 수동 프로세스를 방지하여 보안을 개선하는 것입니다.
RHEL에서 ACME 서비스는 RHCS(Red Hat Certificate System) PKI ACME 응답자를 사용합니다. RHCS ACME 하위 시스템은 IdM 배포의 모든 CA(인증 기관) 서버에 자동으로 배포되지만 관리자가 활성화할 때까지 요청 서비스를 제공하지 않습니다. RHCS는 ACME 인증서를 발행할 때 acmeIPAServerCert
프로필을 사용합니다. 발급된 인증서의 유효 기간은 90일입니다. ACME 서비스를 활성화하거나 비활성화하면 전체 IdM 배포에 영향을 미칩니다.
모든 서버가 RHEL 8.4 이상을 실행하는 IdM 배포에서만 ACME를 활성화하는 것이 좋습니다. 이전 RHEL 버전에는 ACME 서비스가 포함되어 있지 않으므로 혼합 버전 배포에서 문제가 발생할 수 있습니다. 예를 들어 ACME가 없는 CA 서버는 다른 DNS Subject Alternative Name(SAN)을 사용하므로 클라이언트 연결이 실패할 수 있습니다.
현재 RHCS는 만료된 인증서를 제거하지 않습니다. ACME 인증서는 90일 후에 만료되므로 만료된 인증서가 누적되어 성능에 영향을 미칠 수 있습니다.
전체 IdM 배포에서 ACME를 활성화하려면
ipa-acme-manage enable
명령을 사용합니다.# ipa-acme-manage enable The ipa-acme-manage command was successful
전체 IdM 배포에서 ACME를 비활성화하려면
ipa-acme-manage disable
명령을 사용합니다.# ipa-acme-manage disable The ipa-acme-manage command was successful
ACME 서비스가 설치되었는지 확인하고 ACME 서비스가 활성화되어 있는지 아니면 비활성화되었는지 확인하려면
ipa-acme-manage status
명령을 사용합니다.# ipa-acme-manage status ACME is enabled The ipa-acme-manage command was successful
Bugzilla:1628987
sssd-idp 하위 패키지는 기술 프리뷰로 사용 가능
SSSD의 sssd-idp
하위 패키지에는 IdM(Identity Management) 서버에 대해 OAuth2 인증을 수행하는 클라이언트 측 구성 요소인 oidc_child
및ECDHE5 idp
플러그인이 포함되어 있습니다. 이 기능은 RHEL 8.7 이상의 IdM 서버에서만 사용할 수 있습니다.
SSSD 내부ECDHE5 idp 플러그인은 기술 프리뷰로 사용 가능
SSSDECDHE5 idp
플러그인을 사용하면 OAuth2 프로토콜을 사용하여 외부 ID 공급자(IdP)에 대해 인증할 수 있습니다. 이 기능은 RHEL 8.7 이상의 IdM 서버에서만 사용할 수 있습니다.
RHEL IdM을 사용하면 외부 ID 공급자에 대한 사용자 인증을 기술 프리뷰로 위임할 수 있습니다.
RHEL IdM에서 기술 프리뷰로 사용자를 OAuth 2 장치 권한 부여 흐름을 지원하는 IdM(ID 공급자)과 연결할 수 있습니다. RHEL 8.7 이상에서 사용 가능한 SSSD 버전으로 인증하면 외부 IdP에서 인증 및 권한 부여를 수행한 후 Kerberos 티켓을 통해 RHEL IdM Single Sign-On 기능을 받을 수 있습니다.
주요 기능은 다음과 같습니다.
-
ipa idp-*
명령을 사용하여 외부 IdP에 대한 참조 추가, 수정 및 삭제 -
ipa user-mod --user-auth-type=idp
명령을 사용하여 사용자의 IdP 인증 활성화
자세한 내용은 외부 ID 공급자를 사용하여 IdM 인증을 참조하십시오.
9.7. 데스크탑
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, Bugzilla:1667225, Bugzilla:1724302, Bugzilla:1667516
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.8. 그래픽 인프라
VNC 원격 콘솔은 64비트 ARM 아키텍처용 기술 프리뷰로 사용 가능
64비트 ARM 아키텍처에서는 VNC(Virtual Network Computing) 원격 콘솔을 기술 프리뷰로 사용할 수 있습니다. 나머지 그래픽 스택은 현재 64비트 ARM 아키텍처에서 확인되지 않았습니다.
Bugzilla:1698565
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:2041686
9.9. 가상화
RHEL 8 Hyper-V 가상 머신에서 KVM 가상화 사용 가능
이제 기술 프리뷰로 중첩된 KVM 가상화를 Microsoft Hyper-V 하이퍼바이저에서 사용할 수 있습니다. 따라서 Hyper-V 호스트에서 실행되는 RHEL 8 게스트 시스템에서 가상 머신을 생성할 수 있습니다.
현재 이 기능은 Intel 및 AMD 시스템에서만 작동합니다. 또한 일부 경우 중첩 가상화는 Hyper-V에서 기본적으로 활성화되어 있지 않습니다. 이를 활성화하려면 다음 Microsoft 설명서를 참조하십시오.
https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization
Bugzilla:1519039
KVM 가상 머신용 AMD SEV 및 SEV-ES
RHEL 8은 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 8에는 SEV 및 SEV-ES 암호화가 포함되지만 SEV 및 SEV-ES 보안 테스트는 포함되지 않습니다.
Bugzilla:1501618, Bugzilla:1501607, Jira:RHELPLAN-7677
Intel vGPU
기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라고 하는 여러 가상 장치로 분할할 수 있습니다
. 그러면 이러한 중재 장치를 여러 VM(가상 머신)에 가상 GPU로 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유합니다.
선택한 Intel GPU만 vGPU 기능과 호환됩니다.
또한 Intel vGPU에서 운영하는 VNC 콘솔을 활성화할 수 있습니다. 이를 활성화하면 사용자가 VM의 VNC 콘솔에 연결하여 Intel vGPU에서 호스팅하는 VM의 데스크탑을 확인할 수 있습니다. 그러나 현재 이는 RHEL 게스트 운영 체제에서만 작동합니다.
Bugzilla:1528684
중첩된 가상 머신 생성
중첩된 KVM 가상화는 Intel, AMD64, IBM POWER 및 RHEL 8을 사용하여 호스트에서 실행되는 KVM 가상 머신(VM)의 기술 프리뷰로 제공됩니다. 이 기능을 사용하면 물리적 RHEL 8 호스트에서 실행되는 RHEL 7 또는 RHEL 8 VM이 하이퍼바이저 역할을 하고 자체 VM을 호스팅할 수 있습니다.
Jira:RHELPLAN-14047, Jira:RHELPLAN-24437
기술 프리뷰: Intel 네트워크 어댑터를 선택하여 Hyper-V의 RHEL 게스트에 SR-IOV 제공
기술 프리뷰로 Hyper-V 하이퍼바이저에서 실행되는 Red Hat Enterprise Linux 게스트 운영 체제는 이제 ixgbevf
및 iavf
드라이버에서 지원하는 Intel 네트워크 어댑터에 SR-IOV(Single-root I/O Virtualization) 기능을 사용할 수 있습니다. 이 기능은 다음 조건이 충족되면 활성화됩니다.
- 네트워크 인터페이스 컨트롤러(NIC)에 대해 SR-IOV 지원이 활성화됨
- 가상 NIC에 대해 SR-IOV 지원이 활성화됨
- 가상 스위치에 대해 SR-IOV 지원이 활성화됨
- NIC의 VF(가상 기능)가 가상 머신에 연결되어 있습니다.
이 기능은 현재 Microsoft Windows Server 2016 이상에서 제공됩니다.
Bugzilla:1348508
RHEL 게스트의 Intel TDX
이제 RHEL 8.8 게스트 운영 체제에서 Intel Trust Domain Extension(TDX) 기능을 사용할 수 있습니다. 호스트 시스템이 TDX를 지원하는 경우 TD(신뢰 도메인)라는 하드웨어 격리 RHEL 9 VM(가상 머신)을 배포할 수 있습니다. 그러나 TDX는 현재 kdump
에서 작동하지 않으며 TDX를 활성화하면 kdump
가 VM에서 실패합니다.
Bugzilla:1836977
virtiofs를 사용하여 호스트와 VM 간 파일 공유
RHEL 8은 기술 프리뷰로 virtio 파일 시스템(virtiofs
)을 제공합니다. virtiofs
를 사용하면 호스트 시스템과 해당 VM(가상 시스템) 간에 파일을 효율적으로 공유할 수 있습니다.
Bugzilla:1741615
9.10. 클라우드 환경의 RHEL
RHEL 기밀 VM을 이제 Azure에서 기술 프리뷰로 사용할 수 있습니다.
업데이트된 RHEL 커널을 사용하면 Microsoft Azure에서 기밀 가상 머신(VM)을 기술 프리뷰로 생성하고 실행할 수 있습니다. 그러나 Azure에서 부팅하는 동안 RHEL 기밀 VM 이미지를 암호화할 수는 없습니다.
Jira:RHELPLAN-122316
9.11. 컨테이너
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-136610
Podman의 Quadlet이 기술 프리뷰로 사용 가능
Podman v4.4부터 Quadlet을 사용하여 컨테이너 설명에서 기술 프리뷰로 systemd
서비스 파일을 자동으로 생성할 수 있습니다. 컨테이너 설명은 systemd
장치 파일 형식입니다. 이 설명은 관련 컨테이너 세부 정보에 중점을 두고 systemd
에서 컨테이너 실행의 기술적 복잡성을 숨깁니다. Quadlets는 systemd
장치 파일보다 쓰기 및 유지 관리하기가 더 쉽습니다.
자세한 내용은 업스트림 문서 및 Quadlet을 사용하여 Podman에 더 적합한 systemd 만들기 를 참조하십시오.
Jira:RHELPLAN-148394
10장. 사용되지 않는 기능
이 부분에서는 Red Hat Enterprise Linux 8에서 더 이상 사용되지 않는 기능에 대해 설명합니다.
사용되지 않는 기능은 이 제품의 향후 주요 릴리스에서 지원되지 않을 가능성이 높으며 새로운 배포에 구현하는 것은 권장되지 않습니다. 특정 주요 릴리스 내에서 더 이상 사용되지 않는 기능의 최신 목록은 최신 릴리스 노트를 참조하십시오.
더 이상 사용되지 않는 기능의 지원 상태는 Red Hat Enterprise Linux 8 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클 및 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
사용되지 않는 하드웨어 구성 요소는 현재 또는 향후 주요 릴리스의 새로운 배포에 구현하는 것을 권장하지 않습니다. 하드웨어 드라이버 업데이트는 보안 및 중요 수정 사항으로만 제한됩니다. Red Hat은 최대한 빠른 시일 내에 이 하드웨어를 교체할 것을 권장합니다.
패키지가 더 이상 사용되지 않으며 향후 사용이 권장되지 않는 경우가 있습니다. 경우에 따라 패키지가 제품에서 삭제될 수 있습니다. 제품 설명서에 더 이상 사용되지 않는 기능과 유사 또는 동일하거나 보다 고급 기능을 제공하는 최근 패키지가 지정된 권장 사항이 기재됩니다.
RHEL 7에 있지만 RHEL 8에서 제거된 기능에 대한 자세한 내용은 RHEL 8 채택 시 고려 사항을 참조하십시오.
10.1. 설치 프로그램 및 이미지 생성
여러 Kickstart 명령 및 옵션이 더 이상 사용되지 않음
RHEL 8 Kickstart 파일에서 다음 명령 및 옵션을 사용하면 로그에 경고가 출력됩니다.
-
auth
또는authconfig
-
device
-
deviceprobe
-
dmraid
-
설치
-
lilo
-
lilocheck
-
mouse
-
multipath
-
bootloader --upgrade
-
ignoredisk --interactive
-
partition --active
-
reboot --kexec
특정 옵션만 나열된 경우에도 기본 명령 및 기타 옵션은 계속 사용할 수 있으며 더 이상 사용되지 않습니다.
Kickstart의 자세한 내용 및 관련 변경 사항은 RHEL 8 채택 시 고려 사항의 Kickstart 변경 섹션을 참조하십시오.
Bugzilla:1642765
ignoredisk
Kickstart 명령의 --interactive
옵션이 더 이상 사용되지 않음
Red Hat Enterprise Linux의 향후 릴리스에서 --interactive option
을 사용하면 치명적인 설치 오류가 발생합니다. 옵션을 제거하려면 Kickstart 파일을 수정하는 것이 좋습니다.
Bugzilla:1637872
Kickstart autostep
명령이 더 이상 사용되지 않음
autostep
명령은 더 이상 사용되지 않습니다. 이 명령에 대한 관련 섹션은 RHEL 8 설명서에서 제거되었습니다.
Bugzilla:1904251
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. 소프트웨어 관리
rpmbuild --sign
이 더 이상 사용되지 않음
rpmbuild --sign
명령은 RHEL 8.1부터 더 이상 사용되지 않습니다. Red Hat Enterprise Linux의 향후 릴리스에서 이 명령을 사용하면 오류가 발생할 수 있습니다. 대신 rpmsign
명령을 사용하는 것이 좋습니다.
10.4. 쉘 및 명령행 툴
OpenEXR
구성 요소가 더 이상 사용되지 않음
OpenEXR
구성 요소는 더 이상 사용되지 않습니다. 따라서 EXR
이미지 형식에 대한 지원이 imagecodecs
모듈에서 삭제되었습니다.
dump
패키지의 dump
유틸리티가 더 이상 사용되지 않음
파일 시스템의 백업에 사용되는 dump
유틸리티는 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다.
RHEL 9에서는 ext2, ext3 및 ext4 파일 시스템에서 완전하고 안전한 백업을 제공하는 사용 유형에 따라 tar
,dd
또는 bacula
, backup 유틸리티를 사용할 것을 권장합니다.
dump
패키지의 복원
유틸리티는 RHEL 9에서 지원되며 복원
패키지로 사용할 수 있습니다.
Bugzilla:1997366
RHEL 8 systemd
에서 hidepid=n
마운트 옵션이 지원되지 않음
마운트 옵션 hidepid=n
- /proc/[pid]
디렉터리의 정보에 액세스할 수 있는 사용자를 제어하는 것이 RHEL 8에서 제공되는 systemd
인프라와 호환되지 않습니다.
또한 이 옵션을 사용하면 systemd
에서 SELinux AVC 거부 메시지를 생성하고 다른 작업이 완료되지 않도록 특정 서비스가 시작될 수 있습니다.
자세한 내용은 RHEL7 및 RHEL8에서 권장되는 "hidepid=2"를 사용하여 /proc 마운트 를 참조하십시오.
/usr/lib/udev/rename_device
유틸리티가 더 이상 사용되지 않음
네트워크 인터페이스 이름을 바꾸는 udev
Helper 유틸리티 /usr/lib/udev/rename_device
가 더 이상 사용되지 않습니다.
ABRT 도구가 더 이상 사용되지 않음
RHEL 8에서는 애플리케이션의 감지 및 보고를 위한 ABRT(Automatic Bug Reporting Tool)가 더 이상 사용되지 않습니다. 대신 systemd-coredump
툴을 사용하여 프로그램이 충돌한 후 자동으로 생성되는 코어 덤프를 기록하고 저장합니다.
Bugzilla:2055826
ReaR crontab이 더 이상 사용되지 않음
rear 패키지의 /etc/cron.d/
crontab은 RHEL 8에서 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다. crontab은 디스크 레이아웃이 변경되었는지 여부를 매일 확인하고 변경이 발생한 경우 rear
rear mkrescue
명령을 실행합니다.
이 기능이 필요한 경우 RHEL 9로 업그레이드한 후 정기적으로 ReaR 실행을 수동으로 구성합니다.
Bacula의 10.0.0.1 데이터베이스 백엔드가 더 이상 사용되지 않음
Bacula 백업 시스템은 PostgreSQL, MySQL 및ECDHE의 여러 데이터베이스 백엔드를 지원합니다. CloudEvent 백엔드는 더 이상 사용되지 않으며 RHEL의 이후 릴리스에서 지원되지 않습니다. 대체 방법으로 다른 백엔드(PostgreSQL 또는 MySQL) 중 하나로 마이그레이션하고 새 배포에서 10.0.0.1 백엔드를 사용하지 않습니다.
raw
명령이 더 이상 사용되지 않음
raw
(/usr/bin/raw
) 명령이 더 이상 사용되지 않습니다. Red Hat Enterprise Linux의 향후 릴리스에서 이 명령을 사용하면 오류가 발생할 수 있습니다.
Jira:RHELPLAN-133171
10.5. 보안
NSS
SEED 암호가 더 이상 사용되지 않음
Mozilla Network Security Services(NSS
) 라이브러리는 향후 릴리스에서 SEED 암호를 사용하는 TLS 암호화 제품군을 지원하지 않습니다. NSS가 지원을 제거할 때 SEED 암호를 사용하는 배포를 원활하게 전환하려면 다른 암호화 제품군을 지원하는 것이 좋습니다.
SEED 암호는 RHEL에서 기본적으로 비활성화되어 있습니다.
TLS 1.0 및 TLS 1.1은 더 이상 사용되지 않음
TLS 1.0 및 TLS 1.1 프로토콜은 DEFAULT
시스템 전체 암호화 정책 수준에서 비활성화되어 있습니다. 시나리오(예: Firefox 웹 브라우저의 비디오 회의 애플리케이션)에서 더 이상 사용되지 않는 프로토콜을 사용해야 하는 경우 시스템 전체 암호화 정책을 LEGACY
수준으로 전환해야 합니다.
# update-crypto-policies --set LEGACY
자세한 내용은 RHEL 8의 강력한 암호화 기본값 및 Red Hat 고객 포털 및 update-crypto-policies(8)
매뉴얼 페이지의 약한 암호화 알고리즘 지식베이스의 사용 중단 문서를 참조하십시오.
RHEL 8에서 DSA가 더 이상 사용되지 않음
Red Hat Enterprise Linux 8에서는 DSA(Digital Signature Algorithm)가 더 이상 사용되지 않습니다. DSA 키에 의존하는 인증 메커니즘은 기본 구성에서 작동하지 않습니다. OpenSSH
클라이언트는 LEGACY
시스템 전체 암호화 정책 수준에서도 DSA 호스트 키를 허용하지 않습니다.
Bugzilla:1646541
fapolicyd.rules
가 더 이상 사용되지 않음
허용 및 거부 실행 규칙이 포함된 파일의 /etc/fapolicyd/rules.d/
디렉터리는 /etc/fapolicyd/fapolicyd.rules
파일을 대체합니다. 이제 fagenrules
스크립트에서 이 디렉터리의 모든 구성 요소 규칙 파일을 /etc/fapolicyd/ECDHE.rules
파일에 병합합니다. /etc/fapolicyd/fapolicyd.trust
의 규칙은 fapolicyd
프레임워크에서 계속 처리하지만 이전 버전과의 호환성을 보장하기 위해서만 처리됩니다.
SSL2
Client Hello
가 NSS
에서 더 이상 사용되지 않음
TLS
(Transport Layer Security) 프로토콜 버전 1.2 및 이전 버전에서는SSL
(Secure Sockets Layer) 프로토콜 버전 2와 역호환되는 방식으로 포맷된 Client Hello
메시지와 협상을 시작할 수 있습니다. NSS
(Network Security Services) 라이브러리에서 이 기능에 대한 지원은 더 이상 사용되지 않으며 기본적으로 비활성화되어 있습니다.
이 기능에 대한 지원이 필요한 애플리케이션은 새로운 SSL_ENABLE_V2_COMPATIBLE_HELLO
API를 사용하여 활성화해야 합니다. 이 기능에 대한 지원은 Red Hat Enterprise Linux 8의 이후 릴리스에서 완전히 삭제될 수 있습니다.
Bugzilla:1645153
/etc/selinux/config
를 사용하여 SELinux를 비활성화하는 런타임이 더 이상 사용되지 않음
/etc/selinux/config
파일에서 SELINUX=disabled
옵션을 사용하여 SELinux를 비활성화하는 런타임은 더 이상 사용되지 않습니다. RHEL 9에서는 /etc/selinux/config
를 통해서만 SELinux를 비활성화하면 SELinux를 활성화하지만 정책이 로드되지 않고 시스템이 시작됩니다.
시나리오가 SELinux를 완전히 비활성화해야 하는 경우, SELinux 사용 제목의 부팅 시 SELinux 모드 변경 섹션에 설명된 대로 selinux=0
매개변수를 커널 명령줄에 추가하여 SELinux 를 비활성화하는 것이 좋습니다.
ipa
SELinux 모듈이 selinux-policy
에서 제거됨
ipa
SELinux 모듈이 더 이상 유지 관리되지 않기 때문에 selinux-policy
패키지에서 제거되었습니다. 이제 이 기능이 ipa-selinux
하위 패키지에 포함됩니다.
시나리오에 로컬 SELinux 정책의 ipa
모듈에서 유형 또는 인터페이스를 사용해야 하는 경우 ipa-selinux
패키지를 설치합니다.
Bugzilla:1461914
TPM 1.2가 더 이상 사용되지 않음
신뢰할 수 있는 플랫폼 모듈(TPM) 보안 암호화 프로세서 표준이 2016년에 버전 2.0으로 업데이트되었습니다. TPM 2.0은 TPM 1.2에 비해 많은 개선 사항을 제공하며 이전 버전과 호환되지 않습니다. TPM 1.2는 RHEL 8에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거될 수 있습니다.
Bugzilla:1657927
crypto-policies
파생 속성이 더 이상 사용되지 않음
사용자 지정 정책에서 crypto-policies
지시문에 대한 범위가 도입되면서 tls_cipher
,ssh_cipher
,ssh_group
,ike_protocol
, sha1_in_dnssec
의 파생 속성이 더 이상 사용되지 않습니다. 또한 범위를 지정하지 않고 protocol
속성도 더 이상 사용되지 않습니다. 권장 교체 방법은 crypto-policies>
-< man 페이지를 참조하십시오.
10.6. 네트워킹
RHEL 8에서 네트워크 스크립트가 더 이상 사용되지 않음
네트워크 스크립트가 Red Hat Enterprise Linux 8에서 더 이상 사용되지 않으므로 이제 기본적으로 제공되지 않습니다. 기본 설치는 nmcli 툴을 통해 NetworkManager 서비스를 호출하는 ifup
및 ifdown
스크립트의 새 버전을 제공합니다. Red Hat Enterprise Linux 8에서 ifup
및 ifdown
스크립트를 실행하려면 NetworkManager를 실행해야 합니다.
/sbin/ifup-local
, ifdown-pre-local
및 ifdown-local
스크립트에서 사용자 지정 명령이 실행되지 않습니다.
이러한 스크립트가 필요한 경우 다음 명령을 사용하여 시스템에서 더 이상 사용되지 않는 네트워크 스크립트를 설치할 수 있습니다.
# yum install network-scripts
ifup
및 ifdown
스크립트는 설치된 레거시 네트워크 스크립트에 연결됩니다.
레거시 네트워크 스크립트를 호출하면 사용 중단을 알리는 경고 메시지가 표시됩니다.
Bugzilla:1647725
dropwatch
도구가 더 이상 사용되지 않음
dropwatch
툴이 더 이상 사용되지 않습니다. 향후 릴리스에서는 이 도구가 지원되지 않으므로 새 배포에는 사용하지 않는 것이 좋습니다. Red Hat은 이 패키지를 대체하여 perf
명령줄 툴을 사용할 것을 권장합니다.
perf
명령줄 툴 사용에 대한 자세한 내용은 Red Hat 고객 포털의 Perf로 시작하기 섹션 또는 perf
man 페이지를 참조하십시오.
xinetd
서비스가 더 이상 사용되지 않음
xinetd
서비스는 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다. 대체 방법으로 systemd
를 사용합니다. 자세한 내용은 How to convert xinetd service to systemd.
Bugzilla:2009113
cgdcbxd
패키지는 더 이상 사용되지 않음
제어 그룹 데이터 센터 브리징 교환 데몬(cgdcbxd
)은 DCB(데이터 센터 브리징) netlink 이벤트를 모니터링하고 net_prio 제어
그룹 하위 시스템을 관리하는 서비스입니다. RHEL 8.5부터 cgdcbxd
패키지는 더 이상 사용되지 않으며 다음 주요 RHEL 릴리스에서 제거됩니다.
WEP Wi-Fi 연결 방법이 더 이상 사용되지 않음
비보안 유선 동등한 개인 정보 보호(WEP) Wi-Fi 연결 방법은 RHEL 8에서 더 이상 사용되지 않으며 RHEL 9.0에서 제거됩니다. 보안 Wi-Fi 연결의 경우 Wi-Fi Protected Access 3 (WPA3) 또는 CloudEvent2 연결 방법을 사용하십시오.
지원되지 않는 xt_u32
모듈이 더 이상 사용되지 않음
지원되지 않는 xt_u32
모듈을 사용하여 iptables
사용자는 패킷 헤더 또는 페이로드의 임의의 32비트와 일치시킬 수 있습니다. RHEL 8.6부터 xt_u32
모듈은 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다.
xt_u32
를 사용하는 경우 nftables
패킷 필터링 프레임워크로 마이그레이션합니다. 예를 들어 먼저 iptables
를 기본 일치 항목으로 사용하여 개별 규칙을 증분적으로 교체하고 나중에 iptables-translate
및 첨부 유틸리티를 사용하여 nftables
로 마이그레이션하도록 방화벽을 변경합니다. nftables
에 기본 일치 항목이 없는 경우 nftables
의 원시 페이로드 일치 기능을 사용합니다. 자세한 내용은 nft(8)
매뉴얼 페이지의 원시 페이로드 표현식
섹션을 참조하십시오.
10.7. 커널
rdma_rxe
gRPC-RoCE 드라이버가 더 이상 사용되지 않음
RXE라고도 하는 소프트웨어 Remote Direct Memory Access over Converged Ethernet (Soft-RoCE)은 RDMA(Remote Direct Memory Access)를 에뮬레이션하는 기능입니다. RHEL 8에서는 support-RoCE 기능이 지원되지 않는 기술 프리뷰로 사용할 수 있습니다. 그러나 안정성 문제로 인해 이 기능은 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다.
Bugzilla:1878207
RHEL 8에서는 Linux firewire
하위 시스템 및 관련 사용자 공간 구성 요소가 더 이상 사용되지 않습니다.
firewire
하위 시스템은 IEEE 1394 버스의 모든 리소스를 사용하고 유지 관리하는 인터페이스를 제공합니다. RHEL 9에서는 커널
패키지에서 firewire
가 더 이상 지원되지 않습니다. firewire
에는 libavc1394
,libdc1394
패키지,libraw1394
패키지에서 제공하는 여러 사용자 공간 구성 요소가 포함되어 있습니다. 이러한 패키지에는 사용 중단이 적용됩니다.
Bugzilla:1871863
디스크리스 부팅을 사용하여 RHEL for Real Time 8 설치가 더 이상 사용되지 않음
디스크 없는 부팅을 사용하면 여러 시스템에서 네트워크를 통해 루트 파일 시스템을 공유할 수 있습니다. 디스크리스 부팅은 편리하게 실시간 워크로드에서 네트워크 대기 시간을 도입하는 경향이 있습니다. RHEL for Real Time 8의 향후 마이너 업데이트에서는 디스크리스 부팅 기능이 더 이상 지원되지 않습니다.
커널 라이브 패치가 모든 RHEL 마이너 릴리스 포함
RHEL 8.1 이후 EUS (Extended Update Support) 정책에 따라 적용되는 RHEL의 일부 마이너 릴리스 스트림에 대해 커널 라이브 패치가 제공되었습니다 (CVE) (Critical and Important Common Vulnerabilities and Exposures). 동시에 적용되는 커널 및 사용 사례의 최대 수를 수용하기 위해 각 라이브 패치에 대한 지원 기간이 커널의 마이너, 메이저 및 zStream 버전에 대해 12 개월에서 6 개월로 단축되었습니다. 즉, 커널 라이브 패치가 릴리스되면 지난 6 개월 동안 제공되는 모든 마이너 릴리스 및 예정된 에라타 커널을 다룹니다.
이 기능에 대한 자세한 내용은 커널 라이브 패치를 사용하여 패치 적용을 참조하십시오.
사용 가능한 커널 라이브 패치에 대한 자세한 내용은 Kernel Live Patch Life Cycle 을 참조하십시오.
crash-ptdump-command
패키지가 더 이상 사용되지 않음
crash 유틸리티의 ptdump
확장 모듈인 crash-ptdump-command
패키지는 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 사용할 수 없습니다. ptdump
명령은 Single Range Output 모드에서 작업할 때 로그 버퍼를 검색하지 못하고 TOPA(물리 주소 테이블) 모드에서만 작동합니다. crash-ptdump-command
가 현재 업스트림에서 관리되지 않음
Bugzilla:1838927
10.8. 부트 로더
kernelopts
환경 변수가 더 이상 사용되지 않음
RHEL 8에서는 GRUB 부트로더를 사용하는 시스템의 커널 명령줄 매개변수가 kernelopts
환경 변수에 정의되었습니다. 변수는 각 커널 부팅 항목의 /boot/grub2/grubenv
파일에 저장되었습니다. 그러나 kernelopts
를 사용하여 커널 명령줄 매개 변수를 저장하는 것은 강력하지 않았습니다. 따라서 RHEL의 향후 주요 업데이트로 kernelopts
가 제거되고 커널 명령줄 매개변수가 대신 Boot Loader Specification(BLS) 스니펫에 저장됩니다.
10.9. 파일 시스템 및 스토리지
boost kernel
명령줄 매개변수가 더 이상 사용되지 않음
이전 RHEL
릴리스에서 모든 장치에 대한 디스크 스케줄러를 설정하기 위해 이전 RHEL 릴리스에서 lift kernel 명령줄 매개 변수를 사용했습니다. RHEL 8에서는 매개변수가 더 이상 사용되지 않습니다.
업스트림 Linux 커널은 이전 매개 변수에 대한 지원을 제거했지만 호환성을 위해 RHEL 8에서 계속 사용할 수 있습니다.
커널은 장치 유형에 따라 기본 디스크 스케줄러를 선택합니다. 일반적으로 최적의 설정입니다. 다른 스케줄러가 필요한 경우 udev
규칙 또는 TuneD 서비스를 사용하여 구성하는 것이 좋습니다. 선택한 장치와 일치하고 해당 장치에 대해서만 스케줄러를 전환합니다.
자세한 내용은 디스크 스케줄러 설정을 참조하십시오.
Bugzilla:1665295
UDP를 통한 NFSv3이 비활성화
NFS 서버는 기본적으로 더 이상 UDP(User Datagram Protocol) 소켓을 열거나 수신하지 않습니다. 버전 4는 TCP(Transmission Control Protocol)가 필요하기 때문에 이 변경은 NFS 버전 3에만 영향을 미칩니다.
RHEL 8에서는 UDP를 통한 NFS가 더 이상 지원되지 않습니다.
Bugzilla:1592011
Peripety가 더
이상 사용되지 않음
peripety
패키지는 RHEL 8.3부터 더 이상 사용되지 않습니다.
Peripety 스토리지 이벤트 알림 데몬은 시스템 스토리지 로그를 구조화된 스토리지 이벤트로 구문 분석합니다. 스토리지 문제를 조사하는 데 도움이 됩니다.
async
이외의 VDO 쓰기 모드는 더 이상 사용되지 않습니다.
VDO는 RHEL 8에서 여러 쓰기 모드를 지원합니다.
-
동기화
-
async
-
async-unsafe
-
auto
RHEL 8.4부터 다음 쓰기 모드는 더 이상 사용되지 않습니다.
동기화
-
VDO 계층 위의 장치는 VDO가 동기인 경우 인식할 수 없으므로 장치는 VDO
동기화
모드를 활용할 수 없습니다. async-unsafe
-
VDO는
비동기
모드의 성능 저하를 위한 해결 방법으로 이 쓰기 모드를 추가하여 Atomicity, Consistency, Isolation, Durability (ACID)를 준수합니다. Red Hat은 대부분의 사용 사례에 비동기식으로안전하지
않는 것이 아니며, 이를 사용하는 사용자를 인식하지 못합니다. auto
- 이 쓰기 모드는 다른 쓰기 모드 중 하나만 선택합니다. VDO가 단일 쓰기 모드만 지원하는 경우에는 더 이상 필요하지 않습니다.
이러한 쓰기 모드는 향후 주요 RHEL 릴리스에서 제거됩니다.
권장되는 VDO 쓰기 모드는 이제 async
입니다.
VDO 쓰기 모드에 대한 자세한 내용은 VDO 쓰기 모드 선택을 참조하십시오.
Jira:RHELPLAN-70700
VDO 관리자가 더 이상 사용되지 않음
python 기반 VDO 관리 소프트웨어는 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다. RHEL 9에서는 LVM-VDO 통합으로 대체됩니다. 따라서 lvcreate
명령을 사용하여 VDO 볼륨을 생성하는 것이 좋습니다.
VDO 관리 소프트웨어를 사용하여 생성된 기존 볼륨은 lvm2
패키지에서 제공하는 /usr/sbin/lvm_import_vdo
스크립트를 사용하여 변환할 수 있습니다. LVM-VDO 구현에 대한 자세한 내용은 RHEL에서 논리 볼륨 중복 및 압축 을 참조하십시오.
cramfs
가 더 이상 사용되지 않음
사용자 부족으로 인해 cramfs
커널 모듈이 더 이상 사용되지 않습니다. squashfs
는 대체 솔루션으로 권장됩니다.
Bugzilla:1794513
10.10. 고가용성 및 클러스터
clufter
툴을 지원하는 pcs
명령이 더 이상 사용되지 않음
클러스터 구성 형식을 분석하기 위한 clufter
툴을 지원하는 pcs
명령은 더 이상 사용되지 않습니다. 이제 이러한 명령으로 명령이 더 이상 사용되지 않으며 이러한 명령과 관련된 섹션이 pcs
도움말 디스플레이 및 pcs(8)
매뉴얼 페이지에서 제거되었습니다.
다음 명령은 더 이상 사용되지 않습니다.
-
CMAN / RHEL6 HA 클러스터 구성을 가져오기 위한
pcs config import-cman
-
클러스터 구성을 동일한 클러스터를 다시 생성하는
pcs
명령 목록으로내보내기 위한 pcs 구성
내보내기
Bugzilla:1851335
10.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
Apache HTTP Server에서 사용하기 위해 PHP와 함께 제공되는 mod_php
모듈이 더 이상 사용되지 않음
RHEL 8에서 Apache HTTP Server와 함께 사용하기 위해 PHP와 함께 제공되는 mod_php
모듈을 사용할 수 있지만 기본 구성에서는 사용할 수 없습니다. RHEL 9에서는 더 이상 모듈을 사용할 수 없습니다.
RHEL 8부터 PHP 스크립트는 기본적으로 FastCGI Process Manager(php-fpm
)를 사용하여 실행됩니다. 자세한 내용은 Apache HTTP Server에서 PHP 사용을 참조하십시오.
10.12. 컴파일러 및 개발 도구
gdb.i686
패키지는 더 이상 사용되지 않음
RHEL 8.1에서는 다른 패키지의 종속성 문제로 인해 GDB(GNU Debugger) 32비트 버전인 gdb.i686
이 제공되었습니다. RHEL 8은 32비트 하드웨어를 지원하지 않으므로 RHEL 8.4 이후 gdb.i686
패키지는 더 이상 사용되지 않습니다. GDB의 64비트 버전인 gdb.x86_64
는 32비트 애플리케이션을 디버깅할 수 있습니다.
gdb.i686
을 사용하는 경우 다음과 같은 중요한 문제에 유의하십시오.
-
gdb.i686
패키지는 더 이상 업데이트되지 않습니다. 대신gdb.x86_64
를 설치해야 합니다. -
gdb.i686
이 설치되어 있는 경우gdb.x86_64
를 설치하면yum
에서gdb-8.2-14.el8.x86_64가 gdb-8.2-14.el8이 더 이상 사용되지 않음을 보고하면 gdb-8.2-12.el8.i686이 제공됩니다
. 예상된 것입니다.gdb.i686
을 제거하거나dnf
를--allowerasing
옵션을 전달하여gdb.i686
을 제거하고gdb.x8_64
를 설치합니다. -
사용자는 더 이상 64비트 시스템, 즉
libc.so.6()(64비트) 패키지가 있는 패키지인
패키지를 설치할 수 없습니다.gdb.
i686
Bugzilla:1853140
libdwarf
가 더 이상 사용되지 않음
RHEL 8에서는 libdwarf
라이브러리가 더 이상 사용되지 않습니다. 향후 주요 릴리스에서는 라이브러리가 지원되지 않을 수 있습니다. 대신 ELF/DWARF 파일을 처리하려는 애플리케이션의 elfutils
및 libdw
라이브러리를 사용합니다.
libdwarf-tools
dwarfdump
프로그램에 대한 대안은 binutils
readelf
프로그램 또는 elfutils
eu-readelf
프로그램으로, 둘 다 --debug-dump
플래그를 전달하여 사용합니다.
10.13. IdM (Identity Management)
openssh-ldap
가 더 이상 사용되지 않음
openssh-ldap
하위 패키지는 Red Hat Enterprise Linux 8에서 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다. openssh-ldap
하위 패키지는 업스트림에서 유지 관리되지 않으므로 Red Hat은 다른 IdM 솔루션과 더 잘 통합되고 더 안전한 SSSD 및 sss_ssh_authorizedkeys
도우미를 사용하는 것이 좋습니다.
기본적으로 SSSD ldap
및 ipa
공급자는 사용 가능한 경우 사용자 오브젝트의 sshPublicKey
LDAP 특성을 읽습니다. AD에는 공개 키를 저장할 기본 LDAP 속성이 없으므로 AD(Active Directory)에서 SSH 공개 키를 검색하는 데 ad
공급자 또는 IdM 신뢰할 수 있는 도메인에 대한 기본 SSSD 구성을 사용할 수 없습니다.
sss_
도우미가 SSSD에서 키를 가져올 수 있도록 ssh
_authorizedkeyssssd.conf
파일의 services
옵션에 ssh
를 추가하여 ssh 응답자를 활성화합니다. 자세한 내용은 sssd.conf(5)
매뉴얼 페이지를 참조하십시오.
sshd
가 sss_ssh_authorizedkeys
를 사용하도록 허용하려면 AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
및 AuthorizedKeysCommandUser nobody
옵션을 /etc/ssh/sshd_config
파일에 sss_ssh_authorizedkeys(1)
도움말 페이지에 추가합니다.
DES 및 3DES 암호화 유형이 제거되었습니다.
보안상의 이유로 DES(Data Encryption Standard) 알고리즘은 RHEL 7 이후 기본적으로 사용되지 않으며 비활성화되어 있습니다. Kerberos 패키지를 최근 리베이스하여 RHEL 8에서 단일 DES(DES) 및ation-DES (3DES) 암호화 유형이 제거되었습니다.
DES 또는 3DES 암호화만 사용하도록 서비스 또는 사용자를 구성한 경우 다음과 같은 서비스 중단이 발생할 수 있습니다.
- Kerberos 인증 오류
-
unknown enctype
암호화 오류 -
DES로 암호화된 데이터베이스 마스터 키(
K/M
)가 있는 KDC(Kerberos Distribution Center)가 시작되지 않음
업그레이드를 준비하려면 다음 작업을 수행합니다.
-
test
5를 사용하여 DES 또는 3DES 암호화를 사용하는지 확인합니다. 오픈 소스 Python 스크립트를 확인하십시오
. GitHub에 대한 자세한 내용은 GitHub에서5check 를 참조하십시오. - Kerberos 보안 주체와 함께 DES 또는 3DES 암호화를 사용하는 경우 Advanced Encryption Standard(AES)와 같이 지원되는 암호화 유형으로 다시 키를 입력합니다. 키 변경에 대한 지침은 MIT Kerberos 문서에서 DES 종료를 참조하십시오.
업그레이드하기 전에 다음 Kerberos 옵션을 일시적으로 설정하여 DES 및 3DES의 독립성을 테스트합니다.
-
CloudEvent의
/var/kerberos/krb5krb5kdc/kdc.conf
에서supported_enctypes
를 설정하고des
또는des3
을 포함하지 마십시오. -
모든 호스트에 대해
/etc/krb5.conf
및/etc/krb5.conf.d
의 모든 파일에 대해allow_weak_crypto
를false
로 설정합니다. 기본적으로 false입니다. -
모든 호스트의 경우
/etc/krb5.conf
및/etc/krb5.conf.d
의 모든 파일에 대해allowed_enctypes
,default_tgs_enctypes
,default_tkt_enctypes
,des
또는des3
을 포함하지 마십시오.
-
CloudEvent의
- 이전 단계의 테스트 Kerberos 설정으로 서비스가 중단되지 않으면 해당 서비스를 제거하고 업그레이드하십시오. 최신 Kerberos 패키지로 업그레이드한 후에는 해당 설정이 필요하지 않습니다.
libwbclient
의 SSSD 버전이 삭제됨
RHEL 8.4에서는 libwbclient
패키지의 SSSD 구현이 더 이상 사용되지 않았습니다. 최신 버전의 Samba와 함께 사용할 수 없으므로 libwbclient
의 SSSD 구현이 제거되었습니다.
ctdb
서비스의 독립형 사용이 더 이상 사용되지 않음
RHEL 8.4 이후 고객은 다음 조건이 모두 적용되는 경우에만 ctdb
클러스터형 Samba 서비스를 사용하는 것이 좋습니다.
-
ctdb
서비스는 resource-agentctdb
를 사용하여pacemaker
리소스로 관리됩니다. -
ctdb
서비스는 Red Hat Gluster Storage 제품 또는 polkit2 파일 시스템에서 제공하는 GlusterFS 파일 시스템이 포함된 스토리지 볼륨을 사용합니다.
ctdb
서비스의 독립형 사용 사례는 더 이상 사용되지 않으며 Red Hat Enterprise Linux의 다음 주요 릴리스에는 포함되지 않습니다. Samba 지원 정책에 대한 자세한 내용은 RHEL 복구 스토리지 지원 정책 - ctdb 일반 정책을 참조하십시오.
Bugzilla:1916296
WinSync를 통한 IdM과의 간접 AD 통합이 더 이상 사용되지 않음
WinSync는 몇 가지 기능 제한으로 인해 RHEL 8에서 더 이상 적극적으로 개발되지 않습니다.
- WinSync는 하나의 AD(Active Directory) 도메인만 지원합니다.
- 암호 동기화를 수행하려면 AD 도메인 컨트롤러에 추가 소프트웨어를 설치해야 합니다.
더 나은 리소스 및 보안 분리 기능을 갖춘 보다 강력한 솔루션을 위해 Red Hat은 Active Directory와 간접적인 통합을 위해 교차 포리스트 신뢰를 사용하는 것이 좋습니다. 직접 통합 문서를 참조하십시오.
Jira:RHELPLAN-100400
SSSD 암시적 파일 공급자 도메인은 기본적으로 비활성화되어 있습니다.
/etc/sssd/sssd.conf
구성 파일의 enable_files_domain
설정 기본값이 true
에서 false
로 변경되었습니다. 즉, 로컬 파일
/etc/passwd
및 /etc/group
에서 사용자 및 그룹 정보를 검색하는 SSSD 암시적 파일 공급자 도메인이 기본적으로 비활성화되어 있습니다.
SSSD 대신 기본 glibc
파일
모듈은 로컬 사용자를 제공합니다. sssd.conf
파일에 도메인을 정의하지 않으면 SSSD가 자동으로 시작되지 않습니다.
로컬 사용자의 스마트 카드 인증과 같은 특정 사용 사례에 대해 SSSD 파일
공급자를 구현하는 것은 여전히 사용할 수 있습니다.
Jira:RHELPLAN-139456
PDC 또는 BDC로 Samba를 실행하는 것은 더 이상 사용되지 않습니다.
관리자가 PDC(기본 도메인 컨트롤러)와 같은 NT4로 Samba를 실행할 수 있는 클래식 도메인 컨트롤러 모드는 더 이상 사용되지 않습니다. 이러한 모드를 구성하는 코드 및 설정은 향후 Samba 릴리스에서 제거될 예정입니다.
RHEL 8의 Samba 버전이 PDC 및 BDC 모드를 제공하는 한 Red Hat은 NT4 도메인을 지원하는 Windows 버전이 있는 기존 설치에서만 이러한 모드를 지원합니다. Windows 7 및 Windows Server 2008 R2 이후의 Microsoft 운영 체제는 NT4 도메인을 지원하지 않기 때문에 새로운 Samba NT4 도메인을 설정하지 않는 것이 좋습니다.
PDC를 사용하여 Linux 사용자만 인증하는 경우 Red Hat은 RHEL 서브스크립션에 포함된 Red Hat IdM(Identity Management) 으로 마이그레이션할 것을 제안합니다. 그러나 Windows 시스템을 IdM 도메인에 연결할 수는 없습니다. Red Hat은 백그라운드에서 PDC 기능 IdM이 사용하는 PDC 기능을 계속 지원합니다.
Red Hat은 Samba를 AD DC(Domain Controller)로 실행하는 것을 지원하지 않습니다.
SMB1 프로토콜은 Samba에서 더 이상 사용되지 않음
Samba 4.11부터 비보안 SMB1(Server Message Block 버전 1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
보안을 개선하기 위해 기본적으로 SMB1은 Samba 서버 및 클라이언트 유틸리티에서 비활성화되어 있습니다.
Jira:RHELDOCS-16612
10.14. 데스크탑
libgnome-keyring
라이브러리가 더 이상 사용되지 않음
libgnome-keyring
라이브러리는 libgnome-keyring 라이브러리에서 더 이상 사용되지 않습니다. libgnome-keyring
은 업스트림에서 유지 관리되지 않으며 RHEL에 필요한 암호화 정책을 따르지 않기 때문입니다. 새로운
libsecret
라이브러리는 필요한 보안 표준을 따르는 대체 라이브러리입니다.
Bugzilla:1607766
10.15. 그래픽 인프라
AGP 그래픽 카드는 더 이상 지원되지 않습니다.
AGP(Accelerated Graphics Port) 버스를 사용하는 그래픽 카드는 Red Hat Enterprise Linux 8에서 지원되지 않습니다. 권장 교체 방법으로 PCI-Express 버스가 있는 그래픽 카드를 사용합니다.
Bugzilla:1569610
motif가 더 이상 사용되지 않음
업스트림 Motif 커뮤니티의 개발이 비활성 상태이기 때문에 RHEL에서 Motif 위젯 툴킷이 더 이상 사용되지 않습니다.
다음 Motif 패키지는 개발 및 디버깅 변형을 포함하여 더 이상 사용되지 않습니다.
-
motif
-
openmotif
-
openmotif21
-
openmotif22
또한 motif-static
패키지가 제거되었습니다.
GTK 툴킷을 대체용으로 사용할 것을 권장합니다. GTK는 보다 유지 관리할 수 있으며 Motif에 비해 새로운 기능을 제공합니다.
Jira:RHELPLAN-98983
10.16. 웹 콘솔
웹 콘솔에서 불완전한 번역을 더 이상 지원하지 않음
RHEL 웹 콘솔은 콘솔의 변환 문자열의 50 % 미만에서 사용할 수 있는 번역이 있는 언어에 대한 번역을 더 이상 제공하지 않습니다. 브라우저가 이러한 언어로 번역을 요청하는 경우 사용자 인터페이스는 대신 영어로 표시됩니다.
10.17. Red Hat Enterprise Linux System Roles
geoipupdate
패키지가 더 이상 사용되지 않음
geoipupdate
패키지에는 타사 서브스크립션이 필요하며 독점 콘텐츠도 다운로드합니다. 따라서 geoipupdate
패키지는 더 이상 사용되지 않으며 다음 주요 RHEL 버전에서 제거됩니다.
Bugzilla:1874892
RHEL 9 노드에서 팀을 구성할 때 네트워크
시스템 역할에 사용 중단 경고가 표시됩니다.
RHEL 9에서는 네트워크 팀 구성 기능이 더 이상 사용되지 않습니다. 결과적으로 RHEL 8 제어 노드에서 네트워크
RHEL 시스템 역할을 사용하여 RHEL 9 노드에서 네트워크 팀을 구성하면 사용 중단에 대한 경고가 표시됩니다.
Ansible Engine이 더 이상 사용되지 않음
이전 버전의 RHEL 8에서는 RHEL System Roles 및 Insights 해결과 같은 지원되는 RHEL Automation 사용 사례를 활성화하기 위해 지원 범위로 Ansible Engine 리포지토리에 대한 액세스 권한을 제공했습니다. Ansible Engine은 더 이상 사용되지 않으며 Ansible Engine 2.9는 2023년 9월 29일 이후에 지원되지 않습니다. 지원되는 사용 사례에 대한 자세한 내용은 RHEL 9 AppStream에 포함된 Ansible Core 패키지에 대한 지원 범위를 참조하십시오.
사용자는 시스템을 Ansible Engine에서 Ansible Core로 수동으로 마이그레이션해야 합니다. 이를 위해 다음 단계를 수행합니다.
절차
시스템이 RHEL 8.7 이상 릴리스를 실행하고 있는지 확인합니다.
# cat /etc/redhat-release
Ansible Engine 2.9 설치 제거:
# yum remove ansible
ansible-2-for-rhel-8-x86_64-rpms
리포지토리를 비활성화합니다.# subscription-manager repos --disable ansible-2-for-rhel-8-x86_64-rpms
RHEL 8 AppStream 리포지토리에서 Ansible Core 패키지를 설치합니다.
# yum install ansible-core
자세한 내용은 RHEL 8.6 이상에서 Ansible 사용을 참조하십시오.
10.18. 가상화
virsh iface-*
명령이 더 이상 사용되지 않음
virsh iface-start
-start 및 virsh iface-destroy
와 같은 virsh iface-*
명령은 더 이상 사용되지 않으며 향후 주요 RHEL 버전에서 제거됩니다. 또한 이러한 명령은 구성 종속 항목으로 인해 자주 실패합니다.
따라서 호스트 네트워크 연결을 구성하고 관리하는 데 virsh iface-*
명령을 사용하지 않는 것이 좋습니다. 대신 NetworkManager 프로그램과 nmcli
와 같은 관련 관리 애플리케이션을 사용합니다.
Bugzilla:1664592
virt-manager가 더 이상 사용되지 않음
virt-manager라고도 하는 Virtual Machine Manager 애플리케이션은 더 이상 사용되지 않습니다. Cockpit 라고도 하는 RHEL 웹 콘솔은 후속 릴리스에서 교체될 예정입니다. 따라서 GUI에서 가상화를 관리하기 위해 웹 콘솔을 사용하는 것이 좋습니다. 그러나 virt-manager 에서 사용할 수 있는 일부 기능은 RHEL 웹 콘솔에서 아직 제공되지 않을 수 있습니다.
Jira:RHELPLAN-10304
가상 머신 스냅샷 지원 제한
현재 VM(가상 머신)의 스냅샷 생성은 UEFI 펌웨어를 사용하지 않는 VM에서만 지원됩니다. 또한 스냅샷 작업 중에 QEMU 모니터가 차단되어 특정 워크로드의 하이퍼바이저 성능에 부정적인 영향을 미칠 수 있습니다.
또한 현재 VM 스냅샷 생성 메커니즘이 더 이상 사용되지 않으며 프로덕션 환경에서 VM 스냅샷을 사용하지 않는 것이 좋습니다.
Cirrus VGA 가상 GPU 유형이 더 이상 사용되지 않음
향후 Red Hat Enterprise Linux에 대한 주요 업데이트가 있을 경우 KVM 가상 머신에서 Cirrus VGA GPU 장치가 더 이상 지원되지 않습니다. 따라서 Red Hat은 Cirrus VGA 대신 stdvga,virtio-vga 또는 qxl 장치 사용을 권장합니다.
Bugzilla:1651994
SPICE가 더 이상 사용되지 않음
SPICE 원격 디스플레이 프로토콜이 더 이상 사용되지 않습니다. SPICE는 RHEL 8에서 계속 지원되지만 원격 디스플레이 스트리밍을 위해 대체 솔루션을 사용할 것을 권장합니다.
- 원격 콘솔 액세스의 경우 VNC 프로토콜을 사용합니다.
- 고급 원격 디스플레이 기능의 경우 RDP, HP RGS 또는 Mechdyne TGX와 같은 타사 도구를 사용합니다.
Bugzilla:1849563
IBM POWER의 KVM이 더 이상 사용되지 않음
IBM POWER 하드웨어에서 KVM 가상화 사용은 더 이상 사용되지 않습니다. 결과적으로 IBM POWER의 KVM은 RHEL 8에서 계속 지원되지만 향후 RHEL 주요 릴리스에서 지원되지 않습니다.
Jira:RHELPLAN-71200
SHA1- 기반 서명을 사용한 SecureBoot 이미지 확인이 더 이상 사용되지 않음
UEFI (PE/COFF) 실행 파일에서 SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인을 수행하는 것이 더 이상 사용되지 않습니다. 대신 Red Hat은 SHA2 알고리즘 이상을 기반으로 서명을 사용하는 것이 좋습니다.
Bugzilla:1935497
SPICE를 사용하여 스마트 카드 리더를 가상 머신에 연결 더 이상 사용되지 않음
RHEL 8에서는 SPICE 원격 디스플레이 프로토콜이 더 이상 사용되지 않습니다. 스마트 카드 리더를 VM(가상 머신)에 연결하는 유일한 권장 방법은 SPICE 프로토콜에 따라 달라지므로 VM의 스마트 카드 사용도 RHEL 8에서 더 이상 사용되지 않습니다.
RHEL의 향후 메이저 버전에서는 스마트 카드 리더를 VM에 연결하는 기능은 타사 원격 시각화 솔루션에서만 지원됩니다.
RDMA 기반 실시간 마이그레이션이 더 이상 사용되지 않음
이번 업데이트를 통해 RDP(Remote Direct Memory Access)를 사용하여 실행 중인 가상 머신 마이그레이션이 더 이상 사용되지 않습니다. 결과적으로 rdma://
마이그레이션 URI를 사용하여 RDMA를 통해 마이그레이션을 요청할 수 있지만 이 기능은 향후 RHEL 주요 릴리스에서 지원되지 않습니다.
Jira:RHELPLAN-153267
10.19. 컨테이너
Podman varlink 기반 API v1.0이 제거되었습니다.
이전 RHEL 8 릴리스에서는 Podman varlink 기반 API v1.0이 더 이상 사용되지 않습니다. Podman v2.0에는 새로운 Podman v2.0 RESTful API가 도입되었습니다. Podman v3.0이 릴리스되면서 varlink 기반 API v1.0이 완전히 제거되었습니다.
Jira:RHELPLAN-45858
container-tools:1.0
이 더 이상 사용되지 않음
container-tools:1.0
모듈이 더 이상 사용되지 않으며 더 이상 보안 업데이트를 받지 않습니다. container-tools:2.0
또는 container-tools:3.0
과 같이 최신 지원되는 안정적인 모듈 스트림을 사용하는 것이 좋습니다.
Jira:RHELPLAN-59825
container-tools:2.0
모듈이 더 이상 사용되지 않음
container-tools:2.0 모듈이 더 이상 사용되지 않으며 더 이상 보안 업데이트를 수신하지 않습니다. container-tools:3.0
과 같이 최신 지원되는 안정적인 모듈 스트림을 사용하는 것이 좋습니다.
Jira:RHELPLAN-85066
GIMP를 제외한 Flatpak 이미지가 더 이상 사용되지 않음
rhel8/firefox-flatpak
,rhel8/thunderbird-flatpak
,rhel8/inkscape-flatpak
, rhel8/libreoffice-flatpak
RHEL 8 Flatpak 애플리케이션은 더 이상 사용되지 않으며 RHEL 9 버전으로 대체되었습니다. RHEL 9에서는 아직 대체 항목이 없으므로 rhel8/gimp-flatpak
Flatpak 애플리케이션은 더 이상 사용되지 않습니다.
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-145958
container-tools:3.0
이 더 이상 사용되지 않음
container-tools:3.0
모듈이 더 이상 사용되지 않으며 더 이상 보안 업데이트를 수신하지 않습니다. RHEL에서 Linux 컨테이너를 계속 빌드하고 실행하려면 container-tools:4.0
과 같은 최신의 안정적이고 지원되는 모듈 스트림을 사용합니다.
이후 스트림으로 전환하는 방법에 대한 자세한 내용은 이후 스트림 으로 전환을 참조하십시오.
Jira:RHELPLAN-146398
10.20. 더 이상 사용되지 않는 패키지
이 섹션에는 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 주요 릴리스에 포함되지 않는 패키지가 나열되어 있습니다.
RHEL 7과 RHEL 8 간의 패키지 변경 사항은 RHEL 8을 채택할 때 고려 사항의 패키지 변경을 참조하십시오.
더 이상 사용되지 않는 패키지의 지원 상태는 RHEL 8 내에서 변경되지 않습니다. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클 및 Red Hat Enterprise Linux Application Streams 라이프 사이클을 참조하십시오.
RHEL 8에서는 다음 패키지가 더 이상 사용되지 않습니다.
- 389-ds-base-legacy-tools
- ABRT
- abrt-addon-ccpp
- abrt-addon-kerneloops
- abrt-addon-pstoreoops
- abrt-addon-vmcore
- abrt-addon-xorg
- abrt-cli
- abrt-console-notification
- abrt-dbus
- abrt-desktop
- abrt-gui
- abrt-gui-libs
- abrt-libs
- abrt-tui
- adobe-source-sans-pro-fonts
- adwaita-qt
- alsa-plugins-pulseaudio
- Amanda
- amanda-client
- amanda-libs
- amanda-server
- ant-contrib
- antlr3
- antlr32
- Aopalliance
- apache-commons-collections
- apache-commons-compress
- apache-commons-exec
- apache-commons-jxpath
- apache-commons-parent
- apache-ivy
- apache-parent
- apache-resource-bundles
- apache-sshd
- apiguardian
- aspnetcore-runtime-3.0
- aspnetcore-runtime-3.1
- aspnetcore-runtime-5.0
- aspnetcore-targeting-pack-3.0
- aspnetcore-targeting-pack-3.1
- aspnetcore-targeting-pack-5.0
- assertj-core
- authd
- auto
- autoconf213
- autogen
- autogen-libopts
- awscli
- base64coder
- nightik
- batik-css
- batik-util
- bea-stax
- bea-stax-api
- bind-export-devel
- bind-export-libs
- bind-libs-lite
- bind-pkcs11
- bind-pkcs11-devel
- bind-pkcs11-libs
- bind-pkcs11-utils
- bind-sdb
- bind-sdb
- bind-sdb-chroot
- bluez-hid2hci
- boost-jam
- boost-signals
- bouncycastle
- bpg-algeti-fonts
- bpg-chveulebrivi-fonts
- bpg-classic-fonts
- bpg-courier-fonts
- bpg-courier-s-fonts
- bpg-dedaena-block-fonts
- bpg-dejavu-sans-fonts
- bpg-elite-fonts
- bpg-excelsior-caps-fonts
- bpg-excelsior-condenced-fonts
- bpg-excelsior-fonts
- bpg-fonts-common
- bpg-glaho-fonts
- bpg-gorda-fonts
- bpg-ingiri-fonts
- bpg-irubaqidze-fonts
- bpg-mikhail-stephan-fonts
- bpg-mrgvlovani-caps-fonts
- bpg-mrgvlovani-fonts
- bpg-nateli-caps-fonts
- bpg-nateli-condenced-fonts
- bpg-nateli-fonts
- bpg-nino-medium-cond-fonts
- bpg-nino-medium-fonts
- bpg-sans-fonts
- bpg-sans-medium-fonts
- bpg-sans-modern-fonts
- bpg-sans-regular-fonts
- bpg-serif-fonts
- bpg-serif-modern-fonts
- bpg-ucnobi-fonts
- brlapi-java
- BSH
- buildnumber-maven-plugin
- byaccj
- cal10n
- cbi-plugins
- cdparanoia
- cdparanoia-devel
- cdparanoia-libs
- cdrdao
- cmirror
- codehaus-parent
- codemodel
- compat-exiv2-026
- compat-guile18
- compat-hwloc1
- compat-libpthread-nonshared
- compat-libtiff3
- compat-openssl10
- compat-sap-c++-11
- compat-sap-c++-10
- compat-sap-c++-9
- createrepo_c-devel
- CTags
- ctags-etags
- custodia
- cyrus-imapd-vzic
- dbus-c++
- dbus-c++-devel
- dbus-c++-glib
- dbxtool
- dhcp-libs
- directory-maven-plugin
- directory-maven-plugin-javadoc
- dirsplit
- dleyna-connector-dbus
- dleyna-core
- dleyna-renderer
- dleyna-server
- dnssec-trigger
- dnssec-trigger-panel
- dotnet-apphost-pack-3.0
- dotnet-apphost-pack-3.1
- dotnet-apphost-pack-5.0
- dotnet-host-fxr-2.1
- dotnet-host-fxr-2.1
- dotnet-hostfxr-3.0
- dotnet-hostfxr-3.1
- dotnet-hostfxr-5.0
- dotnet-runtime-2.1
- dotnet-runtime-3.0
- dotnet-runtime-3.1
- dotnet-runtime-5.0
- dotnet-sdk-2.1
- dotnet-sdk-2.1.5xx
- dotnet-sdk-3.0
- dotnet-sdk-3.1
- dotnet-sdk-5.0
- dotnet-targeting-pack-3.0
- dotnet-targeting-pack-3.1
- dotnet-targeting-pack-5.0
- dotnet-templates-3.0
- dotnet-templates-3.1
- dotnet-templates-5.0
- dotnet5.0-build-reference-packages
- dptfxtract
- drpm
- drpm-devel
- dump
- dvd+rw-tools
- dyninst-static
- eclipse-ecf
- eclipse-ecf-core
- eclipse-ecf-runtime
- eclipse-emf
- eclipse-emf-core
- eclipse-emf-runtime
- eclipse-emf-xsd
- eclipse-equinox-osgi
- eclipse-jdt
- eclipse-license
- eclipse-p2-discovery
- eclipse-pde
- eclipse-platform
- eclipse-swt
- ed25519-java
- ee4j-parent
- elfutils-devel-static
- elfutils-libelf-devel-static
- enca
- enca-devel
- environment-modules-compat
- evince-browser-plugin
- exec-maven-plugin
- farstream02
- felix-gogo-command
- felix-gogo-runtime
- felix-gogo-shell
- felix-scr
- felix-osgi-compendium
- felix-osgi-core
- felix-osgi-foundation
- felix-parent
- file-roller
- fipscheck
- fipscheck-devel
- fipscheck-lib
- Fire>-<re
- fonts-tweak-tool
- forge-parent
- freeradius-mysql
- freeradius-perl
- freeradius-postgresql
- freeradius-rest
- freeradius-sqlite
- freeradius-unixODBC
- Fuse-sshfs
- FuseSource-pom
- 미래
- gamin
- gamin-devel
- gavl
- gcc-toolset-10
- gcc-toolset-10-annobin
- gcc-toolset-10-binutils
- gcc-toolset-10-binutils-devel
- gcc-toolset-10-build
- gcc-toolset-10-dwz
- gcc-toolset-10-dyninst
- gcc-toolset-10-dyninst-devel
- gcc-toolset-10-elfutils
- gcc-toolset-10-elfutils-debuginfod-client
- gcc-toolset-10-elfutils-debuginfod-client-devel
- gcc-toolset-10-elfutils-devel
- gcc-toolset-10-elfutils-libelf
- gcc-toolset-10-elfutils-libelf-devel
- gcc-toolset-10-elfutils-libs
- gcc-toolset-10-gcc
- gcc-toolset-10-gcc-c++
- gcc-toolset-10-gcc-gdb-plugin
- gcc-toolset-10-gcc-gfortran
- gcc-toolset-10-gdb
- gcc-toolset-10-gdb-doc
- gcc-toolset-10-gdb-gdbserver
- gcc-toolset-10-libasan-devel
- gcc-toolset-10-libatomic-devel
- gcc-toolset-10-libitm-devel
- gcc-toolset-10-liblsan-devel
- gcc-toolset-10-libquadmath-devel
- gcc-toolset-10-libstdc++-devel
- gcc-toolset-10-libstdc++-docs
- gcc-toolset-10-libtsan-devel
- gcc-toolset-10-libubsan-devel
- gcc-toolset-10-ltrace
- gcc-toolset-10-make
- gcc-toolset-10-make-devel
- gcc-toolset-10-perftools
- gcc-toolset-10-runtime
- gcc-toolset-10-strace
- gcc-toolset-10-systemtap
- gcc-toolset-10-systemtap-client
- gcc-toolset-10-systemtap-devel
- gcc-toolset-10-systemtap-initscript
- gcc-toolset-10-systemtap-runtime
- gcc-toolset-10-systemtap-sdt-devel
- gcc-toolset-10-systemtap-server
- gcc-toolset-10-toolchain
- gcc-toolset-10-valgrind
- gcc-toolset-10-valgrind-devel
- gcc-toolset-9
- gcc-toolset-9-annobin
- gcc-toolset-9-build
- gcc-toolset-9-perftools
- gcc-toolset-9-runtime
- gcc-toolset-9-toolchain
- gcc-toolset-11-make-devel
- GConf2
- GConf2-devel
- gegl
- genisoimage
- genwqe-tools
- genwqe-vpd
- genwqe-zlib
- genwqe-zlib-devel
- geoipupdate
- geronimo-annotation
- geronimo-jms
- geronimo-jpa
- geronimo-parent-poms
- gfbgraph
- gflags
- gflags-devel
- glassfish-annotation-api
- glassfish-el
- glassfish-fastinfoset
- glassfish-jaxb-core
- glassfish-jaxb-txw2
- glassfish-jsp
- glassfish-jsp-api
- glassfish-legal
- glassfish-master-pom
- glassfish-servlet-api
- glew-devel
- glib2-fam
- glog
- glog-devel
- gmock
- gmock-devel
- gnome-abrt
- gnome-boxes
- gnome-menus-devel
- gnome-online-miners
- gnome-shell-extension-disable-screenshield
- gnome-shell-extension-horizontal-workspaces
- gnome-shell-extension-no-hot-corner
- gnome-shell-extension-window-grouper
- gnome-themes-standard
- gnu-free-fonts-common
- gnu-free-mono-fonts
- gnu-free-sans-fonts
- gnu-free-serif-fonts
- gnupg2-smime
- gnuplot
- gnuplot-common
- gobject-introspection-devel
- google-gson
- google-noto-sans-syriac-eastern-fonts
- google-noto-sans-syriac-estrangela-fonts
- google-noto-sans-syriac-western-fonts
- google-noto-sans-tibetan-fonts
- google-noto-sans-ui-fonts
- gphoto2
- gsl-devel
- gssntlmssp
- gtest
- gtest-devel
- gtkmm24
- gtkmm24-devel
- gtkmm24-docs
- gtksourceview3
- gtksourceview3-devel
- gtkspell
- gtkspell-devel
- gtkspell3
- Gigile
- gutenprint-gimp
- gutenprint-libs-ui
- gvfs-afc
- gvfs-afp
- gvfs-archive
- Hamcrest-core
- hawtjni
- hawtjni
- hawtjni-runtime
- HdrHistogram
- HdrHistogram-javadoc
- highlight-gui
- hivex-devel
- hostname
- hplip-gui
- httpcomponents-project
- hwloc-plugins
- 하이픈-fo
- 하이픈-grc
- hyphen-hsb
- hyphen-ia
- hyphen-is
- hyphen-ku
- hyphen-mi
- hyphen-mn
- hyphen-sa
- hyphen-tk
- ibus-sayura
- OpenSalance
- icu4j
- idm-console-framework
- Inkscape
- inkscape-docs
- inkscape-view
- iptables
- ipython
- ISL
- ISL-devel
- isorelax
- istack-commons-runtime
- istack-commons-tools
- iwl3945-firmware
- iwl4965-firmware
- iwl6000-firmware
- jacoco
- jaf
- jaf-javadoc
- jakarta-oro
- janino
- jansi-native
- JarJar
- java-1.8.0-ibm
- java-1.8.0-ibm-demo
- java-1.8.0-ibm-devel
- java-1.8.0-ibm-headless
- java-1.8.0-ibm-jdbc
- java-1.8.0-ibm-plugin
- java-1.8.0-ibm-src
- java-1.8.0-ibm-webstart
- java-1.8.0-openjdk-accessibility
- java-1.8.0-openjdk-accessibility-slowdebug
- java_cup
- java-atk-wrapper
- javacc
- javacc-maven-plugin
- javaewah
- javaparser
- javapoet
- javassist
- javassist-javadoc
- Jaxen
- jboss-annotations-1.2-api
- jboss-interceptors-1.2-api
- jboss-logmanager
- jboss-parent
- jctools
- Jdepend
- Jdependency
- jdom
- jdom2
- allty
- 10.0.0.1ty-continuation
- jetty-http
- jetty-io
- jetty-security
- jetty-server
- jetty-servlet
- jetty-util
- jffi
- jflex
- jgit
- jline
- jmc
- jnr-netdb
- jolokia-jvm-agent
- js-uglify
- jsch
- json_simple
- jss-javadoc
- jtidy
- junit5
- jvnet-parent
- jzlib
- kernel-cross-headers
- ksc
- kurdit-unikurd-web-fonts
- kyotocabinet-libs
- ldapjdk-javadoc
- lensfun
- lensfun-devel
- lftp-scripts
- libaec
- libaec-devel
- libappindicator-gtk3
- libappindicator-gtk3-devel
- libatomic-static
- libavc1394
- libblocksruntime
- libcacard
- libcacard-devel
- libcgroup
- libcgroup-tools
- libchamplain
- libchamplain-devel
- libchamplain-gtk
- libcroco
- libcroco-devel
- libcxl
- libcxl-devel
- libdap
- libdap-devel
- libdazzle-devel
- libdbusmenu
- libdbusmenu-devel
- libdbusmenu-doc
- libdbusmenu-gtk3
- libdbusmenu-gtk3-devel
- libdc1394
- libdnet
- libdnet-devel
- libdv
- libdwarf
- libdwarf-devel
- libdwarf-static
- libdwarf-tools
- libeasyfc
- libeasyfc-gobject
- libepubgen-devel
- libertas-sd8686-firmware
- libertas-usb8388-firmware
- libertas-usb8388-olpc-firmware
- libgdither
- libGLEW
- libgovirt
- libguestfs-benchmarking
- libguestfs-devel
- libguestfs-gfs2
- libguestfs-gobject
- libguestfs-gobject-devel
- libguestfs-java
- libguestfs-java-devel
- libguestfs-javadoc
- libguestfs-man-pages-ja
- libguestfs-man-pages-uk
- libguestfs-tools
- libguestfs-tools-c
- libhugetlbfs
- libhugetlbfs-devel
- libhugetlbfs-utils
- libIDL
- libIDL-devel
- libidn
- libiec61883
- libindicator-gtk3
- libindicator-gtk3-devel
- libiscsi-devel
- libjose-devel
- libkkc
- libkkc-common
- libkkc-data
- libldb-devel
- liblogging
- libluksmeta-devel
- libmalaga
- libmcpp
- libmemcached
- libmemcached-libs
- libmetalink
- libmodulemd1
- libmongocrypt
- libmtp-devel
- libmusicbrainz5
- libmusicbrainz5-devel
- libnbd-devel
- liboauth
- liboauth-devel
- libpfm-static
- libpng12
- libpurple
- libpurple-devel
- libraw1394
- libreport-plugin-mailx
- libreport-plugin-rhtsupport
- libreport-plugin-ureport
- libreport-rhel
- libreport-rhel-bugzilla
- librpmem
- librpmem-debug
- librpmem-devel
- libsass
- libsass-devel
- libselinux-python
- libsqlite3x
- libtalloc-devel
- libtar
- libtdb-devel
- libtevent-devel
- libtpms-devel
- libunwind
- libusal
- libvarlink
- libverto-libevent
- libvirt-admin
- libvirt-bash-completion
- libvirt-daemon-driver-storage-gluster
- libvirt-daemon-driver-storage-iscsi-direct
- libvirt-devel
- libvirt-docs
- libvirt-gconfig
- libvirt-gobject
- libvirt-lock-sanlock
- libvirt-wireshark
- libvmem
- libvmem-debug
- libvmem-devel
- libvmmalloc
- libvmmalloc-debug
- libvmmalloc-devel
- libvncserver
- libwinpr-devel
- libwmf
- libwmf-devel
- libwmf-lite
- libXNVCtrl
- libyami
- log4j12
- log4j12-javadoc
- lohit-malayalam-fonts
- lohit-nepali-fonts
- lorax-composer
- lua-guestfs
- Lucene
- lucene-analysis
- lucene-analyzers-smartcn
- lucene-queries
- lucene-queryparser
- lucene-sandbox
- lz4-java
- lz4-java-javadoc
- mailman
- mailx
- make-devel
- 자주하는 질문
- malaga-suomi-voikko
- Marisa
- maven-antrun-plugin
- maven-assembly-plugin
- maven-clean-plugin
- maven-dependency-analyzer
- maven-dependency-plugin
- maven-doxia
- maven-doxia-sitetools
- maven-install-plugin
- maven-invoker
- maven-invoker-plugin
- maven-parent
- maven-plugins-pom
- maven-reporting-api
- maven-reporting-impl
- maven-resolver-api
- maven-resolver-connector-basic
- maven-resolver-impl
- maven-resolver-spi
- maven-resolver-transport-wagon
- maven-resolver-util
- maven-scm
- maven-script-interpreter
- maven-shade-plugin
- maven-shared
- maven-verifier
- maven-wagon-file
- maven-wagon-http
- maven-wagon-http-shared
- maven-wagon-provider-api
- maven2
- While
- Mercurial
- mercurial-hgk
- Metis
- metis-devel
- mingw32-bzip2
- mingw32-bzip2-static
- mingw32-cairo
- mingw32-expat
- mingw32-fontconfig
- mingw32-freetype
- mingw32-freetype-static
- mingw32-gstreamer1
- mingw32-harfbuzz
- mingw32-harfbuzz-static
- mingw32-icu
- mingw32-libjpeg-turbo
- mingw32-libjpeg-turbo-static
- mingw32-libpng
- mingw32-libpng-static
- mingw32-libtiff
- mingw32-libtiff-static
- mingw32-openssl
- mingw32-readline
- mingw32-sqlite
- mingw32-sqlite-static
- mingw64-adwaita-icon-theme
- mingw64-bzip2
- mingw64-bzip2-static
- mingw64-cairo
- mingw64-expat
- mingw64-fontconfig
- mingw64-freetype
- mingw64-freetype-static
- mingw64-gstreamer1
- mingw64-harfbuzz
- mingw64-harfbuzz-static
- mingw64-icu
- mingw64-libjpeg-turbo
- mingw64-libjpeg-turbo-static
- mingw64-libpng
- mingw64-libpng-static
- mingw64-libtiff
- mingw64-libtiff-static
- mingw64-nettle
- mingw64-openssl
- mingw64-readline
- mingw64-sqlite
- mingw64-sqlite-static
- modello
- Mojo-parent
- mongo-c-driver
- mousetweaks
- mozjs52
- mozjs52-devel
- mozjs60
- mozjs60-devel
- mozvoikko
- msv-javadoc
- msv-manual
- munge-maven-plugin
- mythes-mi
- mythes-ne
- nafees-web-naskh-fonts
- nbd
- nbdkit-devel
- nbdkit-example-plugins
- nbdkit-gzip-plugin
- nbdkit-plugin-python-common
- nbdkit-plugin-vddk
- ncompress
- ncurses-compat-libs
- net-tools
- NetCF
- NetCF-devel
- netcf-libs
- network-scripts
- network-scripts-ppp
- nkf
- nodejs-devel
- nodejs-packaging
- nss_nis
- nss-pam-ldapd
- objectweb-asm
- objectweb-asm-javadoc
- objectweb-pom
- ocaml-bisect-ppx
- ocaml-camlp4
- ocaml-camlp4-devel
- ocaml-lwt
- ocaml-mmap
- ocaml-ocplib-endian
- ocaml-ounit
- ocaml-result
- ocaml-seq
- opencryptoki-tpmtok
- opencv-contrib
- opencv-core
- opencv-devel
- openhpi
- openhpi-libs
- openIPMI-perl
- openssh-cavs
- openssh-ldap
- openssl-ibmpkcs11
- opentest4j
- os-maven-plugin
- pakchois
- Pandoc
- paps-libs
- paranamer
- Parfait
- parfait-examples
- parfait-javadoc
- pcp-parfait-agent
- pcp-pmda-rpm
- pcp-pmda-vmware
- pcsc-lite-doc
- peripety
- perl-B-Debug
- perl-B-Lint
- perl-Class-Factory-Util
- perl-Class-ISA
- perl-DateTime-Format-HTTP
- perl-DateTime-Format-Mail
- perl-File-CheckTree
- perl-homedir
- perl-libxml-perl
- perl-Locale-Codes
- perl-Mozilla-LDAP
- perl-NKF
- perl-Object-HashBase-tools
- perl-Package-DeprecationManager
- perl-Pod-LaTeX
- perl-Pod-Plainer
- perl-prefork
- perl-String-CRC32
- perl-SUPER
- perl-Sys-Virt
- perl-tests
- perl-YAML-Syck
- phodav
- php-recode
- php-xmlrpc
- pidgin
- pidgin-devel
- pidgin-sipe
- pinentry-emacs
- pinentry-gtk
- pipewire0.2-devel
- pipewire0.2-libs
- platform-python-coverage
- plexus-ant-factory
- plexus-bsh-factory
- plexus-cli
- plexus-component-api
- plexus-component-factories-pom
- plexus-components-pom
- plexus-i18n
- plexus-interactivity
- plexus-pom
- plexus-velocity
- plymouth-plugin-throbgress
- pmreorder
- postgresql-test-rpm-macros
- powermock
- prometheus-jmx-exporter
- prometheus-jmx-exporter-openjdk11
- ptscotch-mpich
- ptscotch-mpich-devel
- ptscotch-mpich-devel-parmetis
- ptscotch-openmpi
- ptscotch-openmpi-devel
- purple-sipe
- pygobject2-doc
- pygtk2
- pygtk2-codegen
- pygtk2-devel
- pygtk2-doc
- python-nose-docs
- python-nss-doc
- python-podman-api
- python-psycopg2-doc
- python-pymongo-doc
- python-redis
- python-schedutils
- python-slip
- python-sqlalchemy-doc
- python-varlink
- python-virtualenv-doc
- python2-backports
- python2-backports-ssl_match_hostname
- python2-bson
- python2-coverage
- python2-docs
- python2-docs-info
- python2-funcsigs
- python2-ipaddress
- python2-mock
- python2-nose
- python2-numpy-doc
- python2-psycopg2-debug
- python2-psycopg2-tests
- python2-pymongo
- python2-pymongo-gridfs
- python2-pytest-mock
- python2-sqlalchemy
- python2-tools
- python2-virtualenv
- python3-bson
- python3-click
- python3-coverage
- python3-cpio
- python3-custodia
- python3-docs
- python3-flask
- python3-gevent
- python3-gobject-base
- python3-hivex
- python3-html5lib
- python3-hypothesis
- python3-ipatests
- python3-itsdangerous
- python3-jwt
- python3-libguestfs
- python3-mock
- python3-networkx-core
- python3-nose
- python3-nss
- python3-openipmi
- python3-pillow
- python3-ptyprocess
- python3-pydbus
- python3-pymongo
- python3-pymongo-gridfs
- python3-pyOpenSSL
- python3-pytoml
- python3-reportlab
- python3-schedutils
- python3-scons
- python3-semantic_version
- python3-slip
- python3-slip-dbus
- python3-sqlalchemy
- python3-syspurpose
- python3-virtualenv
- python3-webencodings
- python3-werkzeug
- python38-asn1crypto
- python38-numpy-doc
- python38-psycopg2-doc
- python38-psycopg2-tests
- python39-numpy-doc
- python39-psycopg2-doc
- python39-psycopg2-tests
- qemu-kvm-block-gluster
- qemu-kvm-block-iscsi
- QEMU-kvm-block-ssh
- qemu-kvm-hw-usbredir
- qemu-kvm-device-display-virtio-gpu-gl
- qemu-kvm-device-display-virtio-gpu-pci-gl
- qemu-kvm-device-display-virtio-vga-gl
- qemu-kvm-tests
- qpdf
- qpdf-doc
- qpid-proton
- qrencode
- qrencode-devel
- qrencode-libs
- qt5-qtcanvas3d
- qt5-qtcanvas3d-examples
- rarian
- rarian-compat
- re2c
- Recode
- redhat-lsb
- redhat-lsb-core
- redhat-lsb-cxx
- redhat-lsb-desktop
- redhat-lsb-languages
- redhat-lsb-printing
- redhat-lsb-submod-multimedia
- redhat-lsb-submod-security
- redhat-lsb-supplemental
- redhat-lsb-trialuse
- redhat-menus
- redhat-support-lib-python
- redhat-support-tool
- Reflections
- regexp
- relaxngDatatype
- rhsm-gtk
- rpm-plugin-prioreset
- rpmemd
- rsyslog-udpspoof
- ruby-hivex
- ruby-libguestfs
- rubygem-abrt
- rubygem-abrt-doc
- rubygem-bson
- rubygem-bson-doc
- rubygem-bundler-doc
- rubygem-mongo
- rubygem-mongo-doc
- rubygem-net-telnet
- rubygem-xmlrpc
- s390utils-cmsfs
- samba-pidl
- samba-test
- samba-test-libs
- samyak-devanagari-fonts
- samyak-fonts-common
- samyak-gujarati-fonts
- samyak-malayalam-fonts
- samyak-odia-fonts
- samyak-tamil-fonts
- sane-frontends
- sanlk-reset
- sat4j
- scala
- Scotch
- scotch-devel
- SDL_sound
- selinux-policy-minimum
- sendmail
- sgabios
- sgabios-bin
- sleepwrap
- sisu-inject
- sisu-mojos
- sisu-plexus
- skdic
- SLOF
- smc-anjalioldlipi-fonts
- smc-dyuthi-fonts
- smc-fonts-common
- smc-kalyani-fonts
- smc-raghumalayalam-fonts
- smc-suruma-fonts
- softhsm-devel
- sonatype-oss-parent
- sonatype-plugins-parent
- SOS-collector
- sparsehash-devel
- spax
- spec-version-maven-plugin
- spice
- spice-client-win-x64
- spice-client-win-x86
- spice-glib
- spice-glib-devel
- spice-gtk
- spice-gtk-tools
- spice-gtk3
- spice-gtk3-devel
- spice-gtk3-vala
- spice-parent
- spice-protocol
- spice-qxl-wddm-dod
- spice-server
- spice-server-devel
- spice-qxl-xddm
- spice-server
- spice-streaming-agent
- spice-vdagent-win-x64
- spice-vdagent-win-x86
- sssd-libwbclient
- 별
- stax-ex
- stax2-api
- stringtemplate
- stringtemplate4
- subscription-manager-initial-setup-addon
- subscription-manager-migration
- subscription-manager-migration-data
- subversion-javahl
- SuperLU
- SuperLU-devel
- supermin-devel
- swig
- swig-doc
- swig-gdb
- swtpm-devel
- swtpm-tools-pkcs11
- system-storage-manager
- tcl-brlapi
- 테스트
- tibetan-machine-uni-fonts
- timedatex
- tpm-quote-tools
- tpm-tools
- tpm-tools-pkcs11
- treelayout
- trousers
- trousers-lib
- tuned-profiles-compat
- tuned-profiles-nfv-host-bin
- tuned-utils-systemtap
- tycho
- uglify-js
- unbound-devel
- univocity-output-tester
- univocity-parsers
- usbguard-notifier
- usbredir-devel
- utf8cpp
- uthash
- 속도
- vinagre
- vino
- virt-dib
- virt-p2v-maker
- vm-dump-metrics-devel
- weld-parent
- wodim
- woodstox-core
- wqy-microhei-fonts
- wqy-unibit-fonts
- xdelta
- xmlgraphics-commons
- xmlstreambuffer
- Xinetd
- xorg-x11-apps
- xorg-x11-drv-qxl
- xorg-x11-server-Xspice
- xpp3
- xsane-gimp
- xsom
- xz-java
- xz-java-javadoc
- ECDHEjl-devel
- YP-tools
- ypbind
- ypserv
10.21. 더 이상 사용되지 않거나 유지 관리되지 않는 장치
이 섹션에는 해당 장치(드라이버, 어댑터)가 나열되어 있습니다.
- RHEL 8의 라이프 사이클이 종료될 때까지 계속 지원되지만 이 제품의 향후 주요 릴리스에서는 지원되지 않으며 새 배포에는 권장되지 않습니다. 나열된 장치 이외의 장치 지원은 변경되지 않은 상태로 유지됩니다. 이는 더 이상 사용되지 않는 장치입니다.
- 사용 가능하지만 RHEL 8에서 더 이상 정기적으로 테스트하거나 업데이트되지 않습니다. Red Hat은 재량에 따라 보안 버그를 포함한 심각한 버그를 수정할 수 있습니다. 이러한 장치는 더 이상 프로덕션에 사용되지 않으며 다음 주요 릴리스에서 비활성화될 가능성이 높습니다. 이는 유지보수되지 않은 장치입니다.
PCI 장치 ID는 vendor:device:subvendor:subdevice 의 형식입니다. 장치 ID가 나열되지 않으면 해당 드라이버와 연결된 모든 장치가 더 이상 사용되지 않습니다. 시스템에서 하드웨어의 PCI ID를 확인하려면 lspci -nn
명령을 실행합니다.
표 10.1. 더 이상 사용되지 않는 장치
장치 ID | 드라이버 | 장치 이름 |
---|---|---|
bnx2 | QLogic BCM5706/5708/5709/5716 Driver | |
hpsa | Hewlett-Packard 회사: 스마트 배열 컨트롤러 | |
0x10df:0x0724 | lpfc | EmulexECDHE: OneConnect FCoE Initiator (Skyhawk) |
0x10df:0xe200 | lpfc | Emulexknative: LPe15000/LPe16000 시리즈 8Gb/16Gb 파이버 채널 어댑터 |
0x10df:0xf011 | lpfc | Emulexknative: LightPulse Fibre Channel 호스트 어댑터 |
0x10df:0xf015 | lpfc | Emulexknative: LightPulse Fibre Channel 호스트 어댑터 |
0x10df:0xf100 | lpfc | EmulexECDHE: LPe12000 시리즈 8Gb 파이버 채널 어댑터 |
0x10df:0xfc40 | lpfc | Emulexknative: metaturn-X: LightPulse Fibre Channel 호스트 어댑터 |
0x10df:0xe220 | be2net | EmulexECDHE: OneConnect NIC(Lancer) |
0x1000:0x005b | megaraid_sas | Broadcom / LSI: MegaRAID SAS 2208 [Thunderbolt] |
0x1000:0x006E | mpt3sas | Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0080 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0081 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0082 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0083 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0084 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0085 | mpt3sas | Broadcom / LSI: SAS2208 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0086 | mpt3sas | Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2 |
0x1000:0x0087 | mpt3sas | Broadcom / LSI: SAS2308 PCI-Express Fusion-MPT SAS-2 |
myri10ge | Myricom 10G 드라이버(10GbE) | |
netxen_nic | Qlogic/NetXen (1/10) GbE 지능형 이더넷 드라이버 | |
0x1077:0x2031 | qla2xxx | Qlogic Corp.:ECDHE8324 기반 16Gb Fibre Channel에서 PCI Express 어댑터 |
0x1077:0x2532 | qla2xxx | Qlogic Corp.:ECDHE2532 기반 8Gb Fibre Channel에서 PCI Express HBA |
0x1077:0x8031 | qla2xxx | Qlogic Corp.: 8300 Series 10GbE Converged Network Adapter (FCoE) |
qla3xxx | Qlogic#1783XXX 네트워크 드라이버 v2.03.00-k5 | |
0x1924:0x0803 | sfc | Solarflare communication: SFC9020 10G 이더넷 컨트롤러 |
0x1924:0x0813 | sfc | Solarflare communication: SFL9021 10GBASE-T 이더넷 컨트롤러 |
soft-RoCE (rdma_rxe) | ||
HNS-RoCE | HNS GE/10GE/25GE/50GE/100GE RDMA Network Controller | |
liquidio | Cavium LiquidIO Intelligent Server Adapter Driver | |
liquidio_vf | Cavium LiquidIO Intelligent Server Adapter Virtual Function Driver |
표 10.2. 유지 관리되지 않는 장치
장치 ID | 드라이버 | 장치 이름 |
---|---|---|
e1000 | Intel® PRO/1000 Network Driver | |
mptbase | Fusion MPT SAS 호스트 드라이버 | |
mptsas | Fusion MPT SAS 호스트 드라이버 | |
mptscsih | Fusion MPT SCSI 호스트 드라이버 | |
mptspi | Fusion MPT SAS 호스트 드라이버 | |
0x1000:0x0071 [a] | megaraid_sas | Broadcom / LSI: MR SAS HBA 2004 |
0x1000:0x0073 [a] | megaraid_sas | Broadcom / LSI: MegaRAID SAS 2008 [Falcon] |
0x1000:0x0079 [a] | megaraid_sas | Broadcom / LSI: MegaRAID SAS 2108 [Liberator] |
nvmet_tcp | NVMe/TCP 대상 드라이버 | |
[a]
RHEL 8.0에서 비활성화되어 고객 요청으로 인해 RHEL 8.4를 다시 활성화합니다.
|
11장. 확인된 문제
이 부분에서는 Red Hat Enterprise Linux 8.8의 알려진 문제에 대해 설명합니다.
11.1. 설치 프로그램 및 이미지 생성
LPAR 및 보안 부팅이 활성화된 IBM Power 10 시스템에서 설치에 실패합니다.
RHEL 설치 프로그램은 IBM Power 10 시스템의 정적 키 보안 부팅과 통합되지 않습니다. 결과적으로 LPAR(Logical partition)가 보안 부팅 옵션으로 활성화되면 RHEL-x.x 설치를 진행할 수 없는 오류와 함께 설치에 실패합니다
.
이 문제를 해결하려면 보안 부팅을 활성화하지 않고 RHEL을 설치합니다. 시스템을 부팅한 후 다음을 수행합니다.
-
dd
명령을 사용하여 서명된 커널을 PReP 파티션에 복사합니다. - 시스템을 다시 시작하고 보안 부팅을 활성화합니다.
펌웨어가 부트로더와 커널을 확인하면 시스템이 성공적으로 부팅됩니다.
자세한 내용은 https://www.ibm.com/support/pages/node/6528884에서 참조하십시오.
Bugzilla:2025814
Anaconda가 애플리케이션으로 실행되는 시스템에서 예기치 않은 SELinux 정책
Anaconda가 이미 설치된 시스템에서 애플리케이션으로 실행되는 경우(예: -image
anaconda 옵션을 사용하여 이미지 파일에 다른 설치를 수행하기 위해) 시스템이 설치 중 SELinux 유형 및 속성을 수정하는 것을 금지하지 않습니다. 결과적으로 Anaconda가 실행 중인 시스템에서 SELinux 정책의 특정 요소가 변경될 수 있었습니다. 이 문제를 해결하려면 프로덕션 시스템에서 Anaconda를 실행하지 말고 임시 가상 머신에서 실행하십시오. 프로덕션 시스템의 SELinux 정책이 수정되지 않도록 합니다. boot.iso
또는 ….iso.iso에서 설치하는 등 시스템 설치 프로세스의 일부로 anaconda를 실행하는 것은 이 문제의 영향을 받지 않습니다.
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에서 USB CD-ROM 드라이브를 설치 소스로 사용할 수 없습니다.
USB CD-ROM 드라이브가 해당 드라이브의 소스이고 Kickstart ignoredisk --only-use=
명령을 지정하면 설치에 실패합니다. 이 경우 Anaconda는 이 소스 디스크를 찾아서 사용할 수 없습니다.
이 문제를 해결하려면 harddrive --partition=sdX --dir=/
명령을 사용하여 USB CD-ROM 드라이브에서 설치합니다. 이로 인해 설치에 실패하지 않습니다.
네트워크 액세스는 설치 프로그램에서 기본적으로 활성화되어 있지 않습니다.
몇 가지 설치 기능에는 예를 들어 CDN(Content Delivery Network), NTP 서버 지원 및 네트워크 설치 소스를 사용하여 시스템 등록이 필요합니다. 그러나 네트워크 액세스는 기본적으로 활성화되어 있지 않으므로 네트워크 액세스가 활성화될 때까지 이러한 기능을 사용할 수 없습니다.
이 문제를 해결하려면 설치가 시작될 때 네트워크 액세스를 활성화하려면 부팅 옵션에 ip=dhcp
를 추가합니다. 선택적으로 부팅 옵션을 사용하여 Kickstart 파일 또는 네트워크에 있는 리포지토리를 전달하면 문제가 해결됩니다. 따라서 네트워크 기반 설치 기능을 사용할 수 있습니다.
Bugzilla:1757877
iso9660 파일 시스템을 사용하여 분할된 설치 실패
하드 드라이브가 iso9660
파일 시스템으로 분할된 시스템에는 RHEL을 설치할 수 없습니다. 이는 iso9660
파일 시스템 파티션을 포함하는 하드 디스크를 무시하도록 설정된 업데이트된 설치 코드 때문입니다. 이는 DVD를 사용하지 않고 RHEL을 설치하는 경우에도 발생합니다.
이 문제를 해결하려면 Kickstart 파일에 다음 스크립트를 추가하여 설치를 시작하기 전에 디스크를 포맷합니다.
참고: 해결 방법을 수행하기 전에 디스크에서 사용 가능한 데이터를 백업하십시오. wipefs
명령은 디스크의 기존 데이터를 모두 포맷합니다.
%pre
wipefs -a /dev/sda
%end
결과적으로 설치는 오류 없이 예상대로 작동합니다.
HASH MMU
모드를 사용하는 IBM Power 시스템이 메모리 할당 실패로 부팅되지 않음
HASH 메모리 할당 단위(MMU)
모드를 사용하는 IBM Power Systems는 최대 192개의 코어까지 kdump
를 지원합니다. 따라서 kdump
가 192개 이상의 코어에서 활성화되어 있는 경우 메모리 할당 오류로 시스템을 부팅하지 못합니다. 이 제한은 HASH MMU
모드에서 초기 부팅시 RMA 메모리 할당 때문입니다. 이 문제를 해결하려면 kdump
를 사용하는 대신 fadump
가 활성화된 Radix MMU
모드를 사용하십시오.
Bugzilla:2028361
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
.
결과적으로 설치 프로세스가 성공적으로 완료됩니다.
11.2. 서브스크립션 관리
syspurpose addons
는 subscription-manager attach --auto
output에 영향을 미치지 않습니다.
Red Hat Enterprise Linux 8에서는 syspurpose
명령줄 툴의 네 가지 속성이 추가되었습니다. 역할
,사용법
,service_level_agreement
및 addons
. 현재는 role
,usage
및 service_level_
agrements만 subscription-manager attach --auto
명령 실행의 출력에 영향을 미칩니다. addons
인수에 값을 설정하려는 사용자는 자동 연결된 서브스크립션에 미치는 영향을 관찰하지 않습니다.
11.3. 소프트웨어 관리
cr_compress_file_with_stat()
로 인해 메모리 누수가 발생할 수 있습니다.
createrepo_c
C 라이브러리에는 API cr_compress_file_with_stat()
함수가 있습니다. 이 함수는 char **dst
를 두 번째 매개변수로 선언합니다. 다른 매개변수에 따라 cr_compress_file_with_stat()
는 dst
를 입력 매개 변수로 사용하거나 할당된 문자열을 반환하는 데 사용합니다. 이 예기치 않은 동작은 사용자에게 dst
콘텐츠를 해제 할 때 알리지 않기 때문에 메모리 누수를 유발할 수 있습니다.
이 문제를 해결하기 위해 dst
매개변수를 입력으로 사용하는 새로운 API cr_compress_file_with_stat_v2
함수가 추가되었습니다. .이(는)신으로 선언됩니다. *dst
. 이렇게 하면 메모리 누수를 방지할 수 있습니다.
cr_compress_file_with_stat_v2
기능은 임시이며 RHEL 8에서만 제공됩니다. 나중에 cr_compress_file_with_stat()
가 대신 수정됩니다.
Bugzilla:1973588
스크립트가 실패할 때 YUM 트랜잭션이 성공한 것으로 보고됨
RPM 버전 4.6부터 트랜잭션에 치명적이지 않고 설치 후 스크립트가 실패할 수 있습니다. 이 동작은 YUM에도 전파됩니다. 이렇게 하면 전체 패키지 트랜잭션이 성공한 것으로 보고되는 동안 가끔 실패할 수 있는 스크립트가 생성됩니다.
현재는 해결방법이 없습니다.
이 동작은 RPM과 YUM 간에 일관되게 유지되는 것으로 예상됩니다. scriptlets의 문제는 패키지 수준에서 해결되어야 합니다.
11.4. 쉘 및 명령행 툴
ipmitool
이 특정 서버 플랫폼과 호환되지 않음
ipmitool
유틸리티는 IPMI(Intelligent Platform Management Interface)를 지원하는 장치를 모니터링, 구성 및 관리하는 데 사용됩니다. 현재 ipmitool
버전에서는 이전 Cipher Suite 3 대신 Cipher Suite 17을 기본적으로 사용합니다. 결과적으로 ipmitool
은 협상 중에 Cipher Suite 17에 대한 지원을 발표했습니다. 그러나 이 암호화 제품군은 실제로 지원하지 않습니다. 결과적으로 ipmitool
은 일치하는 암호화 제품군
오류 메시지로 중단됩니다.
이 문제를 해결하려면 Cipher Suite 17을 사용하도록 베이스 보드 관리 컨트롤러 (BMC) 펌웨어를 업데이트하십시오.
선택적으로 BMC 펌웨어 업데이트를 사용할 수 없는 경우 ipmitool
이 특정 암호화 제품군을 사용하도록 강제하여 이 문제를 해결할 수 있습니다. ipmitool
으로 managing 작업을 호출할 때 사용할 암호화 제품군 수와 함께 ipmitool
명령에 -C
옵션을 추가합니다. 다음 예제를 참조하십시오.
# ipmitool -I lanplus -H myserver.example.com -P mypass -C 3 chassis power status
복원에 정리 디스크를 사용하지 않는 경우 볼륨 그룹을 다시 생성하지 못했습니다.
기존 데이터가 포함된 디스크로 복원하려는 경우 rear에서 복구를 수행하지 못합니다.
이 문제를 해결하려면 이전에 사용한 경우 디스크를 복원하기 전에 수동으로 디스크를 지웁니다. 복구 환경에서 디스크를 초기화하려면 rear recover
명령을 실행하기 전에 다음 명령 중 하나를 사용합니다.
-
dd
명령은 디스크를 덮어씁니다. -
사용 가능한 모든 메타데이터를 지우도록
-a
플래그와 함께wipefs
명령은 다음과 같습니다.
/dev/sda
디스크에서 메타데이터를 지우는 다음 예제를 참조하십시오.
# wipefs -a /dev/sda[1-9] /dev/sda
이 명령은 먼저 /dev/sda
의 파티션에서 메타데이터를 지운 다음 파티션 테이블 자체를 지웁니다.
coreutils
에서 잘못된 EPERM 오류 코드를 보고할 수 있습니다.
GNU CoreECDHE(coreutils
)는 statx()
시스템 호출을 사용하여 시작되었습니다. seccomp
필터에서 알 수 없는 시스템 호출에 대한 EPERM 오류 코드를 반환하는 경우 coreutils
에서 잘못된 EPERM 오류 코드를 보고할 수 있습니다. EPERM은 작동하는 statx()
syscall에서 반환된 실제 Operation not permitted 오류를 구분할 수 없기 때문에 잘못된 EPERM 오류 코드를 보고할 수 있습니다.
이 문제를 해결하려면 statx()
syscall을 허용하거나 모르는 syscall에 대한 ENOSYS 오류 코드를 반환하도록 seccomp
필터를 업데이트합니다.
11.5. 인프라 서비스
FIPS 모드의 iPXE TLS 지문 알고리즘을 SHA-256으로 변경해야 합니다.
기본적으로 RHEL 8에서 postfix
는 이전 버전과의 호환성을 위해 TLS와 함께 MD5 지문을 사용합니다. 그러나 FIPS 모드에서는 MD5 해시 기능을 사용할 수 없으므로 기본 postfix 설정에서 TLS가 잘못 작동할 수 있습니다. 이 문제를 해결하려면 postfix 설정 파일에서 해시 함수를 SHA-256으로 변경해야 합니다.
자세한 내용은 MD5 대신 SHA-256으로 전환하여 FIPS 모드에서 관련 지식베이스 문서 Fix postfix TLS를 참조하십시오.
brltty
패키지는 multilib와 호환되지 않습니다.
32비트 및 64비트 버전의 brltty
패키지를 모두 설치할 수 없습니다. 32비트(brltty.i686
) 또는 64비트(brltty.x86_64
) 버전을 설치할 수 있습니다. 64비트 버전이 권장됩니다.
11.6. 보안
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
디렉터리의 파일에 대한 권한을 변경합니다.
sshd -T
는 Ciphers, MAC 및 CloudEventX 알고리즘에 대한 부정확한 정보를 제공합니다.
sshd -T
명령의 출력에는 /etc/sysconfig/sshd
의 환경 파일에서 가져올 수 있고 sshd
명령에 인수로 적용되는 시스템 전체 암호화 정책 구성 또는 기타 옵션이 포함되어 있지 않습니다. 이는 업스트림 OpenSSH 프로젝트에서 RHEL 8에서 Red-Hat 제공 암호화 기본값을 지원하기 위해 Include 지시문을 지원하지 않았기 때문에 발생합니다. 암호화 정책은 EnvironmentFile
을 사용하여 서비스를 시작하는 동안
유닛의 sshd 실행 파일에 명령줄 인수로 적용됩니다. 이 문제를 해결하려면 환경 파일과 함께 sshd
.servicesource
명령을 사용하고 sshd -T $CRYPTO_POLICY
와 같이 암호화 정책을 sshd
명령에 전달합니다. 자세한 내용은 Ciphers, MACs 또는ovnX 알고리즘은 sshd -T
와 현재 암호화 정책 수준에서 제공하는 것과 다릅니다. 결과적으로 sshd -T
의 출력은 현재 구성된 암호화 정책과 일치합니다.
Bugzilla:2044354
설치 중에 시스템을 강화할 때 RHV 하이퍼바이저가 제대로 작동하지 않을 수 있습니다.
RHV-H(Red Hat Virtualization Hypervisor)를 설치하고 Red Hat Enterprise Linux 8 STIG 프로파일을 적용할 때 OSCAP Anaconda 애드온은 RVH-H 대신 RHEL로 시스템을 강화하고 RHV-H의 필수 패키지를 제거할 수 있습니다. 따라서 RHV 하이퍼바이저가 작동하지 않을 수 있습니다. 이 문제를 해결하려면 프로필 강화를 적용하지 않고 RHV-H 시스템을 설치하고 설치가 완료된 후 OpenSCAP을 사용하여 프로필을 적용합니다. 결과적으로 RHV 하이퍼바이저가 올바르게 작동합니다.
CVE OVAL 피드는 이제 압축 형식일 뿐이며 데이터 스트림은 SCAP 1.3 표준에 포함되지 않습니다.
Red Hat은CVE2-compressed 형식으로 CVE OVAL 피드를 제공하며 XML 파일 형식으로 더 이상 사용할 수 없습니다. 압축 콘텐츠를 참조하는 것은 SCAP(Security Content Automation Protocol) 1.3 사양에서 표준화되지 않으므로 타사 SCAP 스캐너에는 피드를 사용하는 검사 규칙이 문제가 있을 수 있습니다.
특정 Rsyslog 우선순위 문자열이 올바르게 작동하지 않음
imtcp
에 대한 GnuTLS 우선순위 문자열 지원은 암호화를 세밀하게 제어할 수 없습니다. 따라서 Rsyslog 원격 로깅 애플리케이션에서 다음 우선순위 문자열이 제대로 작동하지 않습니다.
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+DHE-RSA:+AES-256-GCM:+SIGN-RSA-SHA384:+COMP-ALL:+GROUP-ALL
이 문제를 해결하려면 올바르게 작동하는 우선 순위 문자열만 사용하십시오.
NONE:+VERS-ALL:-VERS-TLS1.3:+MAC-ALL:+ECDHE-RSA:+AES-128-CBC:+SIGN-RSA-SHA1:+COMP-ALL:+GROUP-ALL
따라서 현재 구성을 올바르게 작동하는 문자열로 제한해야 합니다.
GUI 및
서버는 CIS Server 프로필에서 사용할 수 없습니다.Workstation
을 사용하는
CIS 서버 수준 1 및 레벨 2 보안 프로필은 GUI 및
서버와 호환되지 않습니다. 결과적으로 Workstation
소프트웨어 선택 항목이 있는GUI 소프트웨어 선택 및 CIS Server 프로필이 있는 서버를 사용하여
RHEL 8을 설치할 수 없습니다. CIS Server Level 1 또는 Level 2 프로필을 사용한 설치 시도와 이러한 소프트웨어 선택 중 하나를 선택하면 오류 메시지가 생성됩니다.
package xorg-x11-server-common has been added to the list of excluded packages, but it can't be removed from the current software selection without breaking the installation.
CIS 벤치마크에 따라 서버에 GUI
또는 Workstation
소프트웨어 선택 항목을 서버에 맞게 조정해야 하는 경우 CIS Workstation Level 1 또는 Level 2 프로필을 대신 사용하십시오.
Kickstart는 RHEL 8에서 com_redhat_oscap
대신 org_fedora_oscap
사용
Kickstart는 com_redhat_oscap
대신 OSCAP(Open Security Content Automation Protocol) Anaconda 애드온을 org_fedora_oscap
으로 참조합니다. 이로 인해 혼동이 발생할 수 있습니다. 이는 Red Hat Enterprise Linux 7과의 호환성을 유지하기 위해 필요합니다.
Bugzilla:1665082
libvirt
overrides xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
libvirt
가상화 프레임워크를 사용하면 라우팅
또는 nat
의 전달 모드를 사용하는 가상 네트워크가 시작될 때마다 IPv4를 전달할 수 있습니다. 이렇게 하면 xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
규칙의 구성이 재정의되고, 이후의 규정 준수 검사는 이 규칙을 평가할 때 실패
결과를 보고합니다.
이러한 시나리오 중 하나를 적용하여 문제를 해결합니다.
-
시나리오에 필요하지 않은 경우
libvirt
패키지를 설치 제거합니다. -
libvirt
에서 생성한 가상 네트워크의 전달 모드를 변경합니다. -
프로필을 사용자 지정하여
xccdf_org.ssgproject.content_rule_sysctl_net_ipv4_conf_all_forwarding
규칙을 제거합니다.
FIPS 모드의 OpenSSL은 특정 D-H 매개변수만 허용
FIPS 모드에서 OpenSSL을 사용하는 TLS 클라이언트는 잘못된 dh 값
오류를 반환하고 수동으로 생성된 매개변수를 사용하는 서버에 대한 TLS 연결을 중단합니다. 이 문제는 OpenSSL이 FIPS CloudEvent를 준수하도록 구성된 경우 NIST SP 800-56A rev3 부록 D(그룹 14, 15, 16, 17, 18)에 규정된 Diffie-Hellman 매개변수와 RFC 3526에 정의된 그룹과 RFC 7919)과 함께 동작하기 때문입니다. 또한 OpenSSL을 사용하는 서버는 다른 모든 매개변수를 무시하고 대신 유사한 크기의 알려진 매개변수를 선택합니다. 이 문제를 해결하려면 호환 그룹만 사용하십시오.
Bugzilla:1810911
crypto-policies
잘못 허용 Camellia 암호화
RHEL 8 시스템 전체 암호화 정책은 제품 문서에 명시된 대로 모든 정책 수준에서 Camellia 암호를 비활성화해야 합니다. 그러나 Kerberos 프로토콜은 기본적으로 암호를 활성화합니다.
이 문제를 해결하려면 NO-CAMELLIA
하위 정책을 적용합니다.
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
이전 명령에서 DEFAULT
를 이전에 전환한 경우 DEFAULT
를 암호화 수준 이름으로 교체합니다.
결과적으로 Camellia 암호는 해결 방법을 통해 시스템을 비활성화한 경우에만 시스템 전체 암호화 정책을 사용하는 모든 애플리케이션에서 허용되지 않습니다.
OpenSC가 CardOS V5.3 카드 개체를 올바르게 감지하지 못할 수 있습니다.
OpenSC 툴킷은 CardOS V5.3 시스템을 사용하여 스마트 카드의 일련 번호를 올바르게 탐지하지 않습니다. 결과적으로 pkcs11-tool
유틸리티에서 카드 오브젝트를 나열하지 못할 수 있습니다.
이 문제를 해결하려면 /etc/opensc.conf
파일에서 'use_file_caching = false' 옵션을 설정하여 파일 캐싱을 끕니다.
OpenSC pkcs15-init
를 통한 스마트 카드 프로비저닝 프로세스가 제대로 작동하지 않습니다.
file_caching
옵션은 기본 OpenSC 구성에서 활성화되며 파일 캐싱 기능은 pkcs15-init
도구의 일부 명령을 올바르게 처리하지 않습니다. 결과적으로 OpenSC를 통한 스마트 카드 프로비저닝 프로세스가 실패했습니다.
이 문제를 해결하려면 /etc/opensc.conf
파일에 다음 스니펫을 추가하십시오.
app pkcs15-init { framework pkcs15 { use_file_caching = false; } }
pkcs15-init
를 통한 스마트 카드 프로비저닝은 이전에 설명한 해결 방법을 적용한 경우에만 작동합니다.
SHA-1 서명이 있는 서버에 대한 연결은 GnuTLS에서 작동하지 않습니다.
인증서의 SHA-1 서명은 안전하지 않은 경우 GnuTLS 보안 통신 라이브러리에서 거부됩니다. 결과적으로 GnuTLS를 TLS 백엔드로 사용하는 애플리케이션은 이러한 인증서를 제공하는 피어에 TLS 연결을 설정할 수 없습니다. 이 동작은 다른 시스템 암호화 라이브러리와 일치하지 않습니다.
이 문제를 해결하려면 서버를 업그레이드하여 SHA-256 또는 강력한 해시로 서명된 인증서를 사용하거나 LEGACY 정책으로 전환합니다.
Bugzilla:1628553
libselinux-python
은 모듈을 통해서만 사용할 수 있습니다.
libselinux-python
패키지에는 SELinux 애플리케이션 개발을 위한 Python 2 바인딩만 포함되어 있으며 이전 버전과의 호환성을 위해 사용됩니다. 이러한 이유로 yum install
명령을 통해 기본 RHEL 8 리포지토리에서 더 이상 libselinux-python을 사용할 수 없습니다.
libselinux-python
이 문제를 해결하려면 libselinux-python
및 python27
모듈을 모두 활성화하고 다음 명령을 사용하여 libselinux-python
패키지 및 해당 종속 항목을 설치합니다.
# yum module enable libselinux-python # yum install libselinux-python
또는 단일 명령과 함께 install 프로필을 사용하여 libselinux-python
을 설치합니다.
# yum module install libselinux-python:2.8/common
결과적으로 각 모듈을 사용하여 libselinux-python
을 설치할 수 있습니다.
Bugzilla:1666328
udica
는 --env container=podman
로 시작된 경우에만 UBI 8 컨테이너를 처리합니다.
Red Hat UBI 8(Universal Base Image 8) 컨테이너는
환경 변수를 podman
값이 아닌 컨테이너oci
값으로 설정합니다. 이렇게 하면 udica
툴이 컨테이너 JSON(JavaScript Object Notation) 파일을 분석하지 못하도록 합니다.
이 문제를 해결하려면 --env container=podman
매개변수와 함께 podman
명령을 사용하여 UBI 8 컨테이너를 시작합니다. 결과적으로 udica
는 설명된 해결 방법을 사용하는 경우에만 UBI 8 컨테이너에 대한 SELinux 정책을 생성할 수 있습니다.
성능에 대한 기본 로깅 설정의 부정적인 영향
기본 로깅 환경 설정에서는 4GB의 메모리를 사용할 수 있으며, rsyslog
를 사용하여 systemd-journald
를 실행하는 경우 속도 제한 값의 조정이 복잡할 수 있습니다.
자세한 내용은 RHEL 기본 로깅 설정에 미치는 영향 및 성능 완화 방법 문서를 참조하십시오.
Jira:RHELPLAN-10431
/etc/selinux/config
에서 SELINUX=disabled
가 제대로 작동하지 않음
/etc/selinux/config
에서 SELINUX=disabled
옵션을 사용하여 SELinux를 비활성화하면 커널이 SELinux를 활성화로 부팅하고 나중에 부팅 프로세스에서 모드로 전환되는 프로세스가 생성됩니다. 이로 인해 메모리 누수가 발생할 수 있습니다.
이 문제를 해결하려면 시나리오가 SELinux를 완전히 비활성화해야 하는 경우 SELinux 사용 제목의 부팅 시 SELinux 모드 변경 섹션에 설명된 대로 selinux=0
매개변수를 커널 명령줄에 추가하여 SELinux를 비활성화합니다.
Jira:RHELPLAN-34199
IKE over TCP 연결을 통해 사용자 지정 TCP 포트에서 작동하지 않음
tcp-remoteport
Libreswan 구성 옵션이 제대로 작동하지 않습니다. 따라서 시나리오에 기본이 아닌 TCP 포트를 지정해야 하는 경우 TCP 연결을 통한 IKE를 설정할 수 없습니다.
특정 SCAP 보안 가이드 규칙을 수정하면 openat2
시스템 호출에서 감사 규칙 로드를 중지하는 구성이 생성됩니다.
audit_access_success
및 audit_access_failed
규칙 수정에서는 열린 ,openat
,
및 open
at2open_by_handle_at
시스템 호출에 대한 이벤트를 기록하는 감사 규칙을 추가합니다. 그러나 RHEL-8.4 커널에는 openat2
시스템 호출을 사용할 수 없습니다. 이 문제는 Australia Cyber Security Center (ACSC) ISM 공식 (ism_o
) 및 운영 체제 보호 프로필 (OSpp
) 프로필에 영향을 미칩니다.
결과적으로 감사는 openat2
시스템 호출을 통해 행 앞에 있는 행에서만 감사 규칙을 로드합니다.
이 문제를 해결하려면 감사 규칙 파일 /etc/audit/audit.rules
및 /etc/audit/rules.d/*.rules
에서 openat2
시스템 호출에 대한 모든 언급을 수동으로 제거하십시오.
감사 규칙에서 openat2
시스템 호출이 제거되면 auditd
데몬이 구성된 모든 규칙을 로드합니다.
scap-security-guide
에서 유휴 세션의 종료를 구성할 수 없음
sshd_set_idle_timeout
규칙이 데이터 스트림에 계속 존재하지만 sshd
구성의 이전 방법을 더 이상 사용할 수 없습니다. 따라서 규칙은 적용되지 않는
것으로 표시되고 아무것도 강화할 수 없습니다. systemd
(Logind)와 같은 유휴 세션 종료를 구성하는 다른 방법도 사용할 수 없습니다. 결과적으로 scap-security-guide
은 일정 시간 후에 유휴 세션의 연결을 안정적으로 연결하도록 시스템을 구성할 수 없습니다.
보안 요구 사항을 충족할 수 있는 다음 방법 중 하나로 이 문제를 해결할 수 있습니다.
-
accounts_tmout
규칙 구성. 그러나 이 변수는exec
명령을 사용하여 재정의할 수 있습니다. -
configure_tmux_lock_after_time
및configure_bashrc_exec_tmux
규칙을 구성합니다. 이를 위해서는tmux
패키지를 설치해야 합니다. -
systemd
기능이 적절한 SCAP 규칙과 함께 이미 구현되어 있는 RHEL 8.7 이상으로 업그레이드합니다.
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 맞춤형 프로파일에 대한 그래픽 설치를 사용할 수 있습니다.
스마트 카드 리더를 제거해도 자동 화면 잠금이 작동하지 않습니다.
opensc
패키지에서 USB 스마트 카드 리더 제거를 잘못 처리합니다. 따라서 스마트 카드를 제거할 때 GDM(GNOME Display Manager)이 화면을 잠그도록 구성된 경우에도 시스템의 잠금을 해제된 상태로 유지됩니다. 또한, USB 리더를 다시 연결한 후 스마트 카드를 제거한 후 화면이 닫히지 않습니다.
이 문제를 해결하려면 다음 작업 중 하나를 수행합니다.
- 항상 스마트 카드 판독기가 아닌 스마트 카드 만 제거하십시오.
- 하나의 패키지로 리더와 카드를 통합하는 하드웨어 토큰을 사용하는 경우 RHEL 9로 업그레이드하십시오.
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
자세한 내용 및 해결 방법은 관련 지식베이스 문서를 참조하십시오.
11.7. 네트워킹
IPv6_rpfilter
옵션이 활성화된 시스템보다 낮은 네트워크 처리량 경험
현재 firewalld.conf
파일에서 IPv6_rpfilter
옵션이 활성화된 시스템에서는 높은 트래픽 시나리오(예: 100Gbps 링크)에서 suboptimal 성능과 낮은 네트워크 처리량을 경험합니다. 이 문제를 해결하려면 IPv6_rpfilter
옵션을 비활성화하십시오. 이렇게 하려면 /etc/firewalld/firewalld.conf
파일에 다음 행을 추가합니다.
IPv6_rpfilter=no
결과적으로 시스템이 더 잘 수행되지만 보안이 저하되었습니다.
Bugzilla:1871860
11.8. 커널
커널 ACPI 드라이버는 PCIe ECAM 메모리 영역에 액세스할 수 없다고 보고
펌웨어가 제공하는 ACPI(Advanced Configuration and Power Interface) 테이블은 PCI 버스 장치의 현재 리소스 설정(_CRS) 방법에서 PCI 버스에 메모리 영역을 정의하지 않습니다. 결과적으로 시스템 부팅 중에 다음 경고 메시지가 발생합니다.
[ 2.817152] acpi PNP0A08:00: [Firmware Bug]: ECAM area [mem 0x30000000-0x31ffffff] not reserved in ACPI namespace [ 2.827911] acpi PNP0A08:00: ECAM at [mem 0x30000000-0x31ffffff] for [bus 00-1f]
그러나 커널은 여전히 0x30000000-0x31
ffffffffff의 메모리 영역에 액세스할 수 있으며 해당 메모리 영역을 PCI 강화 구성 액세스 메커니즘(ECAM)에 적절하게 할당할 수 있습니다. 다음 출력으로 256바이트 오프셋을 통해 PCIe 구성 공간에 액세스하여 PCI ECAM이 올바르게 작동하는지 확인할 수 있습니다.
03:00.0 Non-Volatile memory controller: Sandisk Corp WD Black 2018/PC SN720 NVMe SSD (prog-if 02 [NVM Express]) ... Capabilities: [900 v1] L1 PM Substates L1SubCap: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2+ ASPM_L1.1- L1_PM_Substates+ PortCommonModeRestoreTime=255us PortTPowerOnTime=10us L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- T_CommonMode=0us LTR1.2_Threshold=0ns L1SubCtl2: T_PwrOn=10us
따라서 경고 메시지를 무시할 수 있습니다.
문제에 대한 자세한 내용은 "Firmware Bug: ECAM area mem 0x30000000-0x31ffffffffffffff
not reserved in ACPI namespace" 를 참조하십시오.
Bugzilla:1868526
tuned-adm profile powersave
명령을 사용하면 시스템이 응답하지 않습니다.
tuned-adm 프로필 powersave
명령을 실행하면 이전 Thunderx(CN88xx) 프로세서가 있는 Penguin Valkyrie 2000 2-socket 시스템의 응답하지 않는 상태가 발생합니다. 결과적으로 시스템을 재부팅하여 작동을 재개합니다. 이 문제를 해결하려면 시스템이 언급된 사양과 일치하는 경우 powersave
프로필을 사용하지 마십시오.
Bugzilla:1609288
HP NMI 워치독이 항상 크래시 덤프를 생성하는 것은 아닙니다.
특정 경우 NMI 워치독에 대한 hpwdt
드라이버는 NMI가 대신 perfmon
드라이버에서 소비했기 때문에 HPE 워치독 타이머에서 생성한 NMI(Non-maskable interrupt)를 클레임할 수 없습니다.
누락된 NMI는 다음 두 가지 조건 중 하나로 시작됩니다.
- iLO(Integrated Lights-Out) 서버 관리 소프트웨어의 NMI 생성 버튼. 이 버튼은 사용자에 의해 트리거됩니다.
-
hpwdt
워치독 만료는 기본적으로 NMI를 서버로 보냅니다.
두 시퀀스는 일반적으로 시스템이 응답하지 않을 때 발생합니다. 정상적인 상황에서 이러한 상황 모두에 대한 NMI 처리기는 kernel panic()
함수를 호출하고 구성된 경우 kdump
서비스는 vmcore
파일을 생성합니다.
그러나 NMI가 누락되어 있기 때문에 kernel panic()
이 호출되지 않고 vmcore
가 수집되지 않습니다.
첫 번째 사례(1.)에서 시스템이 응답하지 않는 경우 그대로 유지됩니다. 이 시나리오를 해결하려면 가상 전원 버튼을 사용하여 서버를 재설정하거나 전원을 켭니다.
두 번째 경우 (ASR) 자동 시스템 복구에서 재설정에 의해 누락 된 NMI가 9 초 후에 발생합니다.
HPE Gen9 서버 줄에서는 이 문제가 한 자리 백분율로 발생합니다. 더 작은 주파수에서의 Gen10.
Bugzilla:1602962
동일한 충돌 확장을 다시 로드하면 세그먼트 오류가 발생할 수 있습니다.
이미 로드된 충돌 확장 파일의 복사본을 로드하면 세그먼트 오류가 발생할 수 있습니다. 현재 crash 유틸리티는 원본 파일이 로드되었는지 여부를 탐지합니다. 결과적으로 크래시 유틸리티에 공동 존재하는 두 개의 동일한 파일로 인해 네임스페이스 충돌이 발생하여 크래시 유틸리티가 손상되어 세그먼트 오류가 발생합니다.
크래시 확장 파일을 한 번만로드하여 문제를 해결할 수 있습니다. 결과적으로 설명된 시나리오에서 세그먼트 결함이 더 이상 발생하지 않습니다.
가상 머신에 가상 기능을 연결할 때 연결에 실패합니다.
ionic
장치 드라이버를 사용하는 Pensando 네트워크 카드를 자동으로 VLAN 태그 구성 요청을 수락하고VF
(네트워크 가상 기능)를VM
(가상 머신)에 연결하는 동안 네트워크 연결 구성을 시도합니다. 이러한 네트워크 연결은 카드의 펌웨어에서 아직 지원되지 않으므로 실패합니다.
Bugzilla:1930576
OPEN MPI 라이브러리는 기본 PML을 사용하여 런타임 오류를 트리거할 수 있습니다.
OPEN Message Passing Interface(OPEN MPI) 구현 4.0.x 시리즈에서 UCX(Unified Communication X)는 기본 PML(point-to-point communicator)입니다. OPEN MPI 4.0.x 시리즈의 최신 버전은 더 이상 openib
ECDHE Transfer Layer (BTL)입니다.
그러나 OPEN MPI는 동종 클러스터(하드웨어 및 소프트웨어 구성)를 통해 실행할 때 UCX는 여전히 MPI one-sided 작업을 위해 openib
BTL을 사용합니다. 이로 인해 실행 오류가 발생할 수 있습니다. 이 문제를 해결하려면 다음을 수행합니다.
-
다음 매개변수를 사용하여
mpirun
명령을 실행합니다.
-mca btl openib -mca pml ucx -x UCX_NET_DEVICES=mlx5_ib0
여기서,
-
-mca btl openib
매개변수는openib
BTL을 비활성화합니다. -
-mca pml ucx
매개변수는 OPEN MPI가ucx
PML을 사용하도록 구성합니다. -
X UCX_NET_DEVICES=
매개 변수는 지정된 장치를 사용하도록 UCX를 제한합니다.
OPEN MPI는 이기종 클러스터(하이웨어 및 소프트웨어 구성)를 통해 실행될 때 UCX를 기본 PML으로 사용합니다. 이로 인해 OPEN MPI 작업이 잘못된 성능, 응답하지 않는 동작 또는 충돌 오류로 실행될 수 있습니다. 이 문제를 해결하려면 UCX 우선 순위를 다음과 같이 설정합니다.
-
다음 매개변수를 사용하여
mpirun
명령을 실행합니다.
-mca pml_ucx_priority 5
결과적으로 OPEN MPI 라이브러리는 UCX를 통해 사용 가능한 대체 전송 계층을 선택할 수 있습니다.
Bugzilla:1866402
메모리 핫플러그 또는 언플러그 작업 후 vmcore 캡처가 실패합니다.
메모리 핫플러그 또는 핫 플러그 해제 작업을 수행한 후 해당 이벤트는 메모리 레이아웃 정보가 포함된 장치 트리를 업데이트한 후에 발생합니다. 따라서 makedumpfile
유틸리티는 존재하지 않는 물리적 주소에 액세스하려고 합니다. 다음 조건이 모두 충족되면 문제가 발생합니다.
- IBM Power System의 little-endian 변형은 RHEL 8을 실행합니다.
-
kdump
또는fadump
서비스가 시스템에서 활성화됩니다.
결과적으로 메모리 핫플러그 또는 핫 플러그 해제 작업 후 커널 충돌이 트리거되면 캡처 커널이 vmcore
를 저장하지 못합니다.
이 문제를 해결하려면 핫플러그 또는 핫 언플러그 후 kdump
서비스를 다시 시작하십시오.
# systemctl restart kdump.service
결과적으로 vmcore
가 설명된 시나리오에 성공적으로 저장됩니다.
Bugzilla:1793389
irqpoll
을 사용하면 vmcore
생성이 실패합니다.
Amazon Web Services graviton 1 프로세서에서 실행되는 64비트 ARM 아키텍처의 nvme
드라이버의 기존 문제로 인해 irqpoll
커널 명령줄 매개변수를 첫 번째 커널에 제공할 때 vmcore
생성이 실패합니다. 결과적으로 커널이 충돌하면 /var/crash/
디렉터리에 vmcore
파일이 덤프되지 않습니다. 이 문제를 해결하려면 다음을 수행합니다.
/etc/sysconfig/kdump
파일의KDUMP_COMMANDLINE_REMOVE
변수에irqpoll
을 추가합니다.# KDUMP_COMMANDLINE_REMOVE="hugepages hugepagesz slub_debug quiet log_buf_len swiotlb"
/etc/sysconfig/kdump
파일의KDUMP_COMMANDLINE_APPEND
변수에서irqpoll
을 삭제합니다.# KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory udev.children-max=2 panic=10 swiotlb=noforce novmcoredd"
kdump
서비스를 다시 시작하십시오.# systemctl restart kdump
결과적으로 첫 번째 커널은 올바르게 부팅되고 커널 충돌 시 vmcore
파일이 캡처됩니다.
Amazon Web Services graviton 2 및 Amazon Web Services graviton 3 프로세서는 /etc/sysconfig/kdump
파일에서 irqpoll
매개변수를 수동으로 제거할 필요가 없습니다.
kdump
서비스는 상당한 양의 크래시 커널 메모리를 사용하여 vmcore
파일을 덤프할 수 있습니다. 캡처 커널에 kdump
서비스에 사용할 수 있는 충분한 메모리가 있는지 확인합니다.
이 known Issue에 대한 관련 정보는 The irqpoll kernel command line parameter might cause vmcore generation failure article에서 참조하십시오.
Bugzilla:1654962
디버그 커널이 RHEL 8에서 크래시 캡처 환경에서 부팅되지 않음
디버그 커널의 메모리 집약적인 특성으로 인해 디버그 커널이 사용되고 커널 패닉이 트리거될 때 문제가 발생합니다. 결과적으로 캡처 커널과 스택 추적이 생성되므로 디버그 커널을 부팅할 수 없습니다. 이 문제를 해결하려면 필요에 따라 크래시 커널 메모리를 늘립니다. 결과적으로 크래시 캡처 환경에서 디버그 커널이 성공적으로 부팅됩니다.
Bugzilla:1659609
부팅 시 크래시 커널 메모리 할당 실패
일부 Ampere Altra 시스템에서는 BIOS 설정에서 32비트 리전을 비활성화하면 부팅 중에 크래시 커널 메모리를 할당하는 데 실패합니다. 결과적으로 kdump
서비스가 시작되지 않습니다. 이는 4GB 미만의 리전의 메모리 조각화로 인해 크래시 커널 메모리를 포함할 만큼 조각이 크지 않기 때문입니다.
이 문제를 해결하려면 BIOS에서 32비트 메모리 영역을 다음과 같이 활성화합니다.
- 시스템의 BIOS 설정을 엽니다.
- Chipset 메뉴를 엽니다.
-
메모리 구성에서
Slave 32비트
옵션을 활성화합니다.
결과적으로 32비트 리전 내에서 커널 메모리 할당이 충돌하고 kdump
서비스가 예상대로 작동합니다.
Bugzilla:1940674
RoCE 인터페이스는 예기치 않은 네트워크 인터페이스 이름이 변경되어 IP 설정이 손실됩니다.
두 조건이 모두 충족되면 네트워크 인터페이스 이름의 예기치 않은 변경으로 인해 RoCE(RDMA over Converged Ethernet) 인터페이스가 IP 설정이 손실됩니다.
- RHEL 8.6 시스템 또는 이전 버전에서 사용자 업그레이드
- RoCE 카드는 UID에 의해 열거됩니다.
이 문제를 해결하려면 다음을 수행합니다.
-
다음 콘텐츠를 사용하여
/etc/systemd/network/98-rhel87-s390x.link
파일을 만듭니다.
[Match] Architecture=s390x KernelCommandLine=!net.naming-scheme=rhel-8.7 [Link] NamePolicy=kernel database slot path AlternativeNamesPolicy=database slot path MACAddressPolicy=persistent
- 변경 사항을 적용하려면 시스템을 재부팅합니다.
- RHEL 8.7 이상으로 업그레이드합니다.
함수 ID(FID)로 열거되고 고유하지 않은 RoCE 인터페이스는 net.naming-scheme=rhel-8.7
커널 매개변수를 설정하지 않는 한 여전히 예기치 않은 인터페이스 이름을 사용합니다. 이 경우 RoCE 인터페이스는 "ens" 접두사가 있는 예측 가능한 이름으로 전환합니다.
Bugzilla:2169382
QAT 관리자는 LKCF에 대한 예비 장치를 남겨 두지 않습니다.
Intel® QuickAssist Technology (QAT) 관리자(QAT) 관리자는 기본적으로 시스템의 모든 QAT 장치를 사용하는 사용자 공간 프로세스입니다. 그 결과, Linux Kernel cryptographic framework(LKCF)에 남아 있는 QAT 장치가 남아 있지 않습니다. 이러한 동작이 예상되고 대부분의 사용자가 사용자 공간에서 가속을 사용하기 때문에 이 상황을 해결할 필요가 없습니다.
Bugzilla:1920086
Solarflare는 최대 VF(가상 기능)를 생성하지 못합니다.
Solarflare NIC는 리소스가 충분하지 않기 때문에 최대 VF 수를 생성하지 못합니다. PCIe 장치가 /sys/bus/pci/devices/ PCI_ID/sriov_totalvfs
파일에서 생성할 수 있는 최대 VF 수를 확인할 수 있습니다. 이 문제를 해결하려면 VF 수 또는 VF MSI 인터럽트 값을 시작 시 Solarflare Boot Manager
에서 또는 Solarflare sfboot
유틸리티를 사용하여 더 낮은 값으로 조정할 수 있습니다. 기본 VF MSI 인터럽트 값은 8
입니다.
-
sfboot
를 사용하여 VF MSI 인터럽트 값을 조정하려면 다음을 수행합니다.
# sfboot vf-msix-limit=2
VF MSI 인터럽트 값을 조정하면 VF 성능에 영향을 미칩니다.
그에 따라 조정할 매개변수에 대한 자세한 내용은 Solarflare Server Adapter 사용자 가이드를 참조하십시오
.
Bugzilla:1971506
page_poison=1
을 사용하면 커널이 충돌할 수 있습니다.
errory EFI 구현이 있는 펌웨어에서 page_poison=1
을 커널 매개변수로 사용하는 경우 운영 체제가 충돌할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며 특히 프로덕션 시스템에서 사용하도록 설정하지 않는 것이 좋습니다.
Bugzilla:2050411
iwl7260-firmware
는 Intel Wi-Fi 6 AX200, AX210 및ECDHE ThinkPad P1 Gen 4에서 Wi-Fi를 중단
iwl7260-firmware
또는 iwl7260-wifi
드라이버를 RHEL 8.7 이상에서 제공하는 버전으로 업데이트한 후 하드웨어가 잘못된 내부 상태로 전환됩니다. 결과적으로 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:2106341
IBM Power Systems의 보안 부팅은 마이그레이션을 지원하지 않음
현재 IBM Power Systems에서 LPAR(Logical partition)는 PV(물리 볼륨)를 마이그레이션한 후 부팅되지 않습니다. 결과적으로 파티션에서 보안 부팅이 활성화된 모든 유형의 자동화된 마이그레이션이 실패합니다.
Bugzilla:2126777
Weak-modules
from kmod
fails to work with module inter-dependencies
kmod
패키지에서 제공하는 weak-modules
스크립트는 설치된 커널과 호환되는 kABI-호환 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은 모듈
기호의 종속성을 더 높은에서 더 낮은 버전의 커널 릴리스까지 제공합니다. 결과적으로 다른 커널 릴리스에 대해 빌드된 상호 의존 관계가 있는 모듈이 호환되지 않는 것으로 해석될 수 있으므로 약한 모듈
스크립트가 이 시나리오에서 작동하지 않습니다.
이 문제를 해결하려면 새 커널을 설치하기 전에 최신 스포지 커널에 대해 추가 모듈을 빌드하거나 배치합니다.
Bugzilla:2103605
Ampere Altra 서버의 kdump
가 OOM 상태가 됨
Ampere Altra 및 Altra Max 서버의 펌웨어로 인해 현재 커널이 너무 많은 이벤트, 인터럽트 및 명령 큐를 할당하여 메모리를 너무 많이 사용합니다. 결과적으로 kdump
커널은 OOM(Out of memory) 상태가 됩니다.
이 문제를 해결하려면 crashkernel=
커널 옵션의 값을 640M 으로 늘려 kdump
에 대한 추가 메모리를 예약합니다.
Bugzilla:2111855
코어가 큰 시스템에서 실시간 커널의 하드웨어 인증을 사용하려면 잠금 경합을 방지하기 위해 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
11.9. 부트 로더
해당 문서에서 grubby
differrges의 동작
grubby
툴을 사용하여 새 커널을 추가하고 인수를 지정하지 않으면 grubby
가 기본 인수를 새 항목에 전달합니다. 이 동작은 --copy-default
인수를 전달하지 않고 발생합니다. --args
및 --copy-default
옵션을 사용하면 해당 인수가 grubby
설명서에 명시된 기본 인수에 추가됩니다.
그러나 $tuned_params
와 같은 인수를 추가하면 --copy-default
옵션이 호출되지 않는 한 grubby
툴이 이러한 인수를 전달하지 않습니다.
이 경우 다음 두 가지 해결 방법을 사용할 수 있습니다.
root=
인수를 설정하고--args
를 비워 둡니다.# grubby --add-kernel /boot/my_kernel --initrd /boot/my_initrd --args "root=/dev/mapper/rhel-root" --title "entry_with_root_set"
또는
root=
인수와 지정된 인수를 설정하되 기본 인수는 설정하지 않습니다.# grubby --add-kernel /boot/my_kernel --initrd /boot/my_initrd --args "root=/dev/mapper/rhel-root some_args and_some_more" --title "entry_with_root_set_and_other_args_too"
11.10. 파일 시스템 및 스토리지
LUKS 볼륨을 저장하는 LVM 미러
장치가 응답하지 않는 경우가 있음
LUKS 볼륨을 저장하는 미러
세그먼트 유형으로 미러링된 LVM 장치가 특정 조건에서 응답하지 않을 수 있습니다. 응답하지 않는 장치는 모든 I/O 작업을 거부합니다.
이 문제를 해결하려면 복원력이 있는 소프트웨어 정의 스토리지 위에 LUKS 볼륨을 스택해야 하는 경우 미러
대신 raid1
세그먼트 유형과 함께 LVM RAID 1 장치를 사용하는 것이 좋습니다.
raid1
세그먼트 유형은 기본 RAID 구성 유형이며 권장 솔루션으로 mirror
를 대체합니다.
미러
장치를 raid
로 변환하려면 미러링된 LVM 장치를 RAID1 장치로 변환을 참조하십시오.
Bugzilla:1730502
/boot
파일 시스템을 LVM에 배치할 수 없음
/boot
파일 시스템을 LVM 논리 볼륨에 배치할 수 없습니다. 이 제한은 다음과 같은 이유로 존재합니다.
-
EFI 시스템에서 EFI 시스템 파티션 은 일반적으로
/boot
파일 시스템 역할을 합니다. uEFI 표준을 사용하려면 이 파티션에 특정 GPT 파티션 유형과 특정 파일 시스템 유형이 필요합니다. -
RHEL 8에서는 시스템 부팅 항목에 Boot Loader Specification (BLS)을 사용합니다. 이 사양을 사용하려면 플랫폼 펌웨어에서
/boot
파일 시스템을 읽을 수 있어야 합니다. EFI 시스템에서 플랫폼 펌웨어는 uEFI 표준에 정의된/boot
구성만 읽을 수 있습니다. - GRUB 2 부트 로더에서 LVM 논리 볼륨에 대한 지원이 불완전합니다. uEFI 및 BLS와 같은 표준으로 인해 기능의 사용 사례가 감소하기 때문에 Red Hat은 지원을 개선하지 않습니다.
Red Hat은 LVM에서 /boot
를 지원하지 않습니다. 대신 Red Hat은 /boot
파일 시스템을 LVM 논리 볼륨에 배치할 필요가 없는 시스템 스냅샷 및 롤백을 관리하는 도구를 제공합니다.
Bugzilla:1496229
LVM에서 더 이상 혼합 블록 크기로 볼륨 그룹을 만들 수 없음
CloudEvent create
또는>-< extend
와 같은 LVM 유틸리티를 사용하면 더 이상 PV(물리 볼륨)에 다른 논리 블록 크기가 있는 VG(볼륨 그룹)를 생성할 수 없습니다. 다른 블록 크기의 PV로 기본 논리 볼륨(LV)을 확장하면 파일 시스템을 마운트하지 못하기 때문에 LVM에서 이 변경 사항을 채택했습니다.
혼합 블록 크기로 VG 생성을 다시 활성화하려면 lvm.conf
파일에서 allow_mixed_block_sizes=1
옵션을 설정합니다.
LVM writecache
의 제한 사항
writecache
LVM 캐싱 방식에는 다음과 같은 제한 사항이 있으며, 이는 캐시
방법에 없습니다.
-
pvmove
명령을 사용할 때writecache
논리 볼륨의 이름을 지정할 수 없습니다. -
thin 풀 또는 VDO와 함께
writecache
가 있는 논리 볼륨을 사용할 수 없습니다.
다음 제한은 캐시
방법에도 적용됩니다.
-
캐시 또는
write
가 연결된 경우 논리 볼륨의 크기를 조정할 수 없습니다.cache
Jira:RHELPLAN-27987, Bugzilla:1798631, Bugzilla:1808012
NVMe/TCP 드라이버를 사용하는 경우 device-mapper 다중 경로가 지원되지 않습니다.
NVMe/TCP 장치 상단에 device-mapper 멀티패스를 사용하면 성능이 저하되고 오류 처리가 저하될 수 있습니다. 이 문제를 방지하려면 DM 다중 경로 도구 대신 기본 NVMe 멀티패스를 사용하십시오. RHEL 8의 경우 커널 명령줄에 nvme_core.multipath=Y
옵션을 추가할 수 있습니다.
Bugzilla:2022359
blk-availability
systemd 서비스는 복잡한 장치 스택을 비활성화합니다.
systemd
에서 기본 블록 비활성화 코드는 항상 복잡한 가상 블록 장치 스택을 올바르게 처리하는 것은 아닙니다. 일부 구성에서는 종료 중에 가상 장치가 제거되지 않아 오류 메시지가 기록될 수 있습니다. 이 문제를 해결하려면 다음 명령을 실행하여 복잡한 블록 장치 스택을 비활성화합니다.
# systemctl enable --now blk-availability.service
결과적으로 복잡한 가상 장치 스택은 종료 중에 올바르게 비활성화되고 오류 메시지가 생성되지 않습니다.
Bugzilla:2011699
XFS 할당량 경고가 너무 자주 트리거됩니다.
할당량 타이머를 사용하면 할당량 경고가 너무 자주 트리거되므로 소프트 할당량이 필요한 것보다 빠르게 적용됩니다. 이 문제를 해결하려면 소프트 할당량을 사용하지 마십시오. 그러면 경고가 트리거되지 않습니다. 결과적으로 경고 메시지의 양은 구성된 시간 초과를 고려하여 소프트 할당량 제한을 더 이상 적용하지 않습니다.
Bugzilla:2059262
11.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
virtualenv
유틸리티를 사용할 때 가상 Python 3.11 환경 생성 실패
RHEL 8의 virtualenv
유틸리티는 python3-virtualenv
패키지에서 제공하는 Python 3.11과 호환되지 않습니다. virtualenv
를 사용하여 가상 환경을 생성하려고 하면 다음 오류 메시지와 함께 실패합니다.
$ virtualenv -p python3.11 venv3.11 Running virtualenv with interpreter /usr/bin/python3.11 ERROR: Virtual environments created by virtualenv < 20 are not compatible with Python 3.11. ERROR: Use `python3.11 -m venv` instead.
Python 3.11 가상 환경을 생성하려면 표준 라이브러리의 venv
모듈을 사용하는 python3.11 -m venv
명령을 대신 사용합니다.
python3.11-lxml
은 lxml.isoschematron
하위 모듈을 제공하지 않습니다.
python3.11-lxml
패키지는 오픈 소스 라이센스에 속하지 않기 때문에 lxml.isoschematron
하위 모듈 없이 배포됩니다. 하위 모듈은 ISO Schematron 지원을 구현합니다. 다른 방법으로 lxml.etree.Schematron
클래스에서는 pre-ISO-Schematron 검증을 사용할 수 있습니다. python3.11-lxml
패키지의 나머지 콘텐츠는 영향을 받지 않습니다.
PAM 플러그인 버전 1.0은 MariaDB
에서 작동하지 않음
MariaDB 10.3
에서는 PAM(Pluggable Authentication Modules) 플러그인 버전 1.0을 제공합니다. MariaDB 10.5
에서는 플러그인 버전 1.0 및 2.0을 제공하며, 버전 2.0은 기본값입니다.
MariaDB
PAM 플러그인 버전 1.0은 RHEL 8에서는 작동하지 않습니다. 이 문제를 해결하려면 mariadb:10.5
모듈 스트림에서 제공하는 PAM 플러그인 버전 2.0을 사용하십시오.
OpenLDAP 라이브러리 간 기호 충돌이 발생하면 httpd
에서 충돌이 발생할 수 있습니다.
OpenLDAP에서 제공하는 libldap
및 libldap_r
라이브러리가 로드되고 단일 프로세스 내에서 사용되는 경우 이러한 라이브러리 간 기호 충돌이 발생할 수 있습니다. 결과적으로 httpd
구성에 의해 mod_security
또는 mod_auth_openidc
모듈을 로드하는 경우 PHP ldap
확장을 사용하는 Apache httpd
하위 프로세스가 예기치 않게 종료될 수 있습니다.
RHEL 8.3이 Apache Portable Runtime(APR) 라이브러리로 업데이트되므로 httpd
모듈을 로드할 때 RECDHE_DEEPBIND 동적 링커 옵션을 사용할 수 있는 APR
환경 변수를 설정하여 문제를 해결할 수 있습니다. _DEEPBIND
APR_DEEPBIND
환경 변수가 활성화되면 충돌하는 라이브러리를 로드하는 httpd
구성에서 충돌이 발생하지 않습니다.
Bugzilla:1819607
32비트 애플리케이션에서 호출할 때 getpwnam()
이 실패할 수 있습니다.
NIS 사용자가 getpwnam()
함수를 호출하는 32비트 애플리케이션을 사용하는 경우 nss_nis.i686
패키지가 없는 경우 호출이 실패합니다. 이 문제를 해결하려면 yum install nss_nis.i686
명령을 사용하여 누락된 패키지를 수동으로 설치합니다.
11.12. IdM (Identity Management)
인쇄 서버로 Samba를 실행하고 RHEL 8.4 및 이전 버전에서 업데이트할 때 필요한 작업
이번 업데이트를 통해 samba
패키지에서 더 이상 /var/spool/ECDHE/
디렉터리를 생성하지 않습니다. Samba를 출력 서버로 사용하고 [ECDHEs]
공유에서 /var/spool/
ECDHE/를 사용하여 출력 작업을 스풀하는 경우 SELinux는 Samba 사용자가 이 디렉터리에 파일을 생성하지 못하도록 합니다. 결과적으로 출력 작업이 실패하고 auditd
서비스에서 /var/log/audit/audit.log
에 거부된
메시지를 기록합니다. 8.4 및 이전 버전에서 시스템을 업데이트한 후 이 문제를 방지하려면 다음을 수행합니다.
-
/etc/
공유를 검색합니다.ECDHE/ECDHE.conf 파일에서 [ECDHEs
] -
공유 정의에
path = /var/spool/ECDHE/
가 포함된 경우 설정을 업데이트하고path
매개 변수를/var/tmp/
로 설정합니다. service를
재시작
합니다.# systemctl restart smbd
RHEL 8.5 이상에 Samba를 새로 설치한 경우 아무 작업도 필요하지 않습니다. 이 경우
파일은 이미 samba-common
패키지에서 제공하는 기본 /etc/ECDHE/ECDHE.conf/var/tmp/
디렉터리를 사용하여 스풀 출력 작업을 사용합니다.
Bugzilla:2009213
agent-uid pkidbuser 옵션과 함께
유틸리티를 사용하면 인증서 시스템이 중단됩니다.cert-
fix
agent-uid pkidbuser 옵션과 함께
유틸리티를 사용하면 인증서 시스템의 LDAP 구성이 손상됩니다. 결과적으로 인증서 시스템이 불안정해질 수 있으며 시스템을 복구하려면 수동 단계가 필요합니다.
cert-
fix
FIPS 모드는 공유 보안 사용을 지원하지 않습니다.
NTLMSSP 인증이 FIPS 호환이 아니기 때문에 공유 보안을 사용하여 포리스트 간 신뢰를 설정하는 것은 FIPS 모드에서 실패합니다. 이 문제를 해결하려면 FIPS 모드가 활성화된 IdM 도메인과 AD 도메인 간에 신뢰를 설정할 때 AD(Active Directory) 관리 계정으로 인증합니다.
버전 1.2.2로 리베이스된 후 authselect
다운그레이드
authselect
패키지는 최신 업스트림 버전 1.2.2
로 다시 작성되었습니다. authselect
다운그레이드가 지원되지 않으며 루트
를 포함한 모든 사용자에 대한 시스템 인증을 중단할 수 있습니다.
authselect
패키지를 1.2.1
이하로 다운그레이드한 경우 다음 단계를 수행하여 이 문제를 해결합니다.
-
GRUB 부팅 화면에서 부팅하려는 커널 버전이 있는
Red Hat Enterprise Linux
를 선택하고e
를 눌러 항목을 편집합니다. -
linux
로 시작하는 행 끝에single
을 별도의 단어로 입력하고Ctrl+X
를 눌러 부팅 프로세스를 시작합니다. - 단일 사용자 모드로 부팅하면 root 암호를 입력합니다.
다음 명령을 사용하여 authselect 구성을 복원합니다.
# authselect select sssd --force
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>
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
NSS에서 활성화된 암호의 default
키워드가 다른 암호와 함께 작동하지 않음
Directory Server에서는 default
키워드를 사용하여 NSS(네트워크 보안 서비스)에서 활성화된 기본 암호를 참조할 수 있습니다. 그러나 명령줄 또는 웹 콘솔을 사용하여 기본 암호와 추가 암호를 활성화하려면 Directory Server에서 default
키워드를 확인하지 못합니다. 결과적으로 서버는 추가로 지정된 암호화 방식만 활성화하고 다음과 유사한 오류를 기록합니다.
Security Initialization - SSL alert: Failed to set SSL cipher preference information: invalid ciphers <default,+cipher_name>: format is +cipher1,-cipher2... (Netscape Portable Runtime error 0 - no error)
이 문제를 해결하려면 추가 활성화하려는 암호를 포함하여 NSS에서 기본적으로 활성화되어 있는 모든 암호를 지정합니다.
RHEL 8.6에서 RHEL 8.7 이상으로 pki-core-debuginfo
업데이트 실패
pki-core-debuginfo
패키지를 RHEL 8.6에서 RHEL 8.7 이상으로 업데이트하면 실패합니다. 이 문제를 해결하려면 다음 명령을 실행합니다.
-
yum remove pki-core-debuginfo
-
yum update -y
-
yum install pki-core-debuginfo
-
yum install idm-pki-symkey-debuginfo idm-pki-tools-debuginfo
레지스트리가 일치하지 않아 마이그레이션된 IdM 사용자가 로그인할 수 없습니다.
ipa migrate-ds
스크립트를 사용하여 한 IdM 배포에서 다른 IdM 배포로 사용자를 마이그레이션하는 경우 이전에 기존의 SID(Security Identifiers)에 현재 IdM 환경의 domainknative가 없기 때문에 IdM 서비스를 사용하는 데 문제가 있을 수 있습니다. 예를 들어 사용자는 kinit
유틸리티를 사용하여 Kerberos 티켓을 검색할 수 있지만 로그인할 수는 없습니다. 이 문제를 해결하려면 다음 지식 베이스 문서를 참조하십시오. 도메인이 일치하지 않아서 로그인할 수 없는 IdM 사용자는 다음 지식 베이스 문서를 참조하십시오.
Jira:RHELPLAN-109613
FIPS 모드에서 IdM은 양방향 교차 트러스트를 구축하기 위해 NTLMSSP 프로토콜 사용을 지원하지 않습니다.
New Technology LAN Manager Security Support Provider(NTLMSSP) 인증이 FIPS와 호환되지 않기 때문에 AD(Active Directory)와 FIPS 모드가 활성화된 IdM(Identity Management) 간 신뢰를 두방향으로 설정할 수 없습니다. FIPS 모드에서 IdM은 AD 도메인 컨트롤러가 인증을 시도할 때 사용하는 RC4 NTLM 해시를 허용하지 않습니다.
FIPS 모드에서 IdM Vault 암호화 및 암호 해독 실패
FIPS 모드가 활성화된 경우 OpenSSL RSA-PKCS1v15 패딩 암호화가 차단됩니다. 결과적으로 IdM(Identity Management) Vault는 현재 전송 인증서로 세션 키를 래핑하기 위해 PKCS1v15 패딩을 사용하므로 올바르게 작동하지 않습니다.
Kerberos 사용자의 만료 날짜를 설정할 때 잘못된 경고
Kerberos 사용자의 암호 만료 날짜를 설정하면 현재 타임스탬프가 32비트 서명된 정수 변수를 사용하여 만료 타임스탬프와 비교됩니다. 만료 날짜가 향후 68년 이상이면 정수 변수 오버플로가 발생하여 다음과 같은 경고 메시지가 표시됩니다.
Warning: Your password will expire in less than one hour on [expiration date]
이 메시지는 무시해도 구성된 날짜와 시간에 암호가 올바르게 만료됩니다.
11.13. 데스크탑
소프트웨어 리포지토리에서 flatpak
리포지토리를 비활성화할 수 없습니다.
현재 GNOME 소프트웨어 유틸리티의 소프트웨어 리포지토리 툴에서 flatpak
리포지토리를 비활성화하거나 제거할 수 없습니다.
2세대 RHEL 8 가상 머신이 Hyper-V Server 2016 호스트에서 부팅되지 않는 경우가 있음
RHEL 8을 Microsoft Hyper-V Server 2016 호스트에서 실행 중인 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 경우에 따라 VM이 부팅되지 못하고 GRUB 부팅 메뉴로 돌아갑니다. 또한 Hyper-V 이벤트 로그에 다음 오류가 기록됩니다.In addition, the following error is logged in the Hyper-V event log:
The guest operating system reported that it failed with the following error code: 0x1E
이 오류는 Hyper-V 호스트의 UEFI 펌웨어 버그로 인해 발생합니다. 이 문제를 해결하려면 Hyper-V Server 2019 이상을 호스트로 사용하십시오.
Bugzilla:1583445
드래그 앤 드롭(Drag-and-drop)이 데스크탑과 애플리케이션 간에 작동하지 않음
gnome-shell-extensions
패키지의 버그로 인해 현재 데스크탑과 애플리케이션 간에 드래그 앤 드롭 기능이 작동하지 않습니다. 이 기능에 대한 지원은 향후 릴리스에서 다시 추가됩니다.
11.14. 그래픽 인프라
radeon
드라이버가 하드웨어를 올바르게 재설정하지 못했습니다.
radeon
커널 드라이버는 현재 kexec
컨텍스트에서 하드웨어를 올바르게 재설정하지 않습니다. 대신 radeon
이 떨어지면 나머지 kdump
서비스가 실패합니다.
이 문제를 해결하려면 /etc/kdump.conf
파일에 다음 행을 추가하여 kdump
에서 radeon
을 비활성화합니다.
dracut_args --omit-drivers "radeon" force_rebuild 1
시스템 및 kdump
를 다시 시작합니다. kdump
를 시작한 후 force_rebuild 1
행이 설정 파일에서 제거될 수 있습니다.
이 시나리오에서는 덤프 프로세스 중에 그래픽을 사용할 수 없지만 kdump
가 올바르게 작동합니다.
Bugzilla:1694705
단일 MST 토폴로지에 여러 HDR 디스플레이가 전원이 켜지지 않을 수 있음
nouveau
드라이버와 함께 NVIDIA Turing GPU를 사용하는 시스템에서는 HDR 플러그를 지원하는 여러 모니터가 있는 DisplayPort
허브(예: 랩북 도크)를 사용하면 켜지지 않을 수 있습니다. 이는 시스템이 모든 디스플레이를 지원하기에 허브에 대역폭이 충분하지 않다고 잘못 생각하고 있기 때문입니다.
Bugzilla:1812577
ESXi의 GUI가 비디오 메모리 부족으로 인해 충돌할 수 있습니다.
vCenter Server 7.0.1이 있는 VMware ESXi 7.0.1 하이퍼바이저의 RHEL 가상 머신(VM)의 GUI(그래픽 사용자 인터페이스)에는 일정 양의 비디오 메모리가 필요합니다. 여러 콘솔 또는 고해상도 모니터를 VM에 연결하면 GUI에 16MB 이상의 비디오 메모리가 필요합니다. 비디오 메모리가 적은 GUI를 시작하면 GUI가 예기치 않게 종료될 수 있습니다.
이 문제를 해결하려면 VM에 16MB 이상의 비디오 메모리를 할당하도록 하이퍼바이저를 구성합니다. 결과적으로 VM의 GUI가 더 이상 충돌하지 않습니다.
이 문제가 발생하면 VMware에 보고할 것을 권장합니다.
VMware 문서 참조: VM 콘솔이 높은 VM이 ESXi 7.0.1 (83194)에서 충돌이 발생할 수 있습니다.
Bugzilla:1910358
VNC 뷰어는 IBM Z의 16비트 색상 깊이로 잘못된 색상 표시
VNC 뷰어 애플리케이션은 16비트 색상 깊이를 사용하여 IBM Z 서버의 VNC 세션에 연결할 때 잘못된 색상이 표시됩니다.
이 문제를 해결하려면 VNC 서버에서 24비트 색상 깊이를 설정합니다. Xvnc
서버로, Xvnc
구성에서 -depth 16
옵션을 -depth 24
로 바꿉니다.
결과적으로 VNC 클라이언트는 올바른 색상이 표시되지만 서버와 더 많은 네트워크 대역폭을 사용합니다.
sudo
명령을 사용하여 그래픽 애플리케이션을 실행할 수 없음
승격된 권한으로 그래픽 애플리케이션을 실행하려고 하면 오류 메시지와 함께 애플리케이션이 열려 있지 않습니다. Xwayland
는 인증을 위해 일반 사용자 자격 증명을 사용하도록 Xauthority
파일에 의해 제한되기 때문에 오류가 발생합니다.
이 문제를 해결하려면 sudo -E
명령을 사용하여 그래픽 애플리케이션을 root
사용자로 실행합니다.
ARM에서 하드웨어 가속이 지원되지 않음
내장된 그래픽 드라이버는 64비트 ARM 아키텍처의 하드웨어 가속 또는 Vulkan API를 지원하지 않습니다.
ARM에서 하드웨어 가속 또는 Vulkan을 사용하려면 전용 Nvidia 드라이버를 설치합니다.
Jira:RHELPLAN-57914
설치 프로그램은 SETEED 2600이 있는 서버에서 일시 중지됩니다.
auditdEED 2600 On System Management Chipset이 있는 서버에서 그래픽 RHEL 8.8 설치 관리자를 시작하면 설치 프로그램이 검정색 화면으로 응답하지 않게 됩니다. 결과적으로 RHEL 8.8을 서버에 설치할 수 없습니다.
이 문제를 해결하려면 설치 프로그램을 부팅할 때 커널 명령줄에 다음 옵션 중 하나를 추가합니다.
-
nomodeset
-
drm_kms_helper.edid_firmware=edid/1024x768.bin
결과적으로 설치가 예상대로 진행됩니다.
Bugzilla:2189645
11.15. 웹 콘솔
VNC 콘솔은 특정 해상도에서 잘못 작동
특정 디스플레이 해상도에서 VNC(Virtual Network Computing) 콘솔을 사용하는 경우 마우스 오프셋 문제가 발생하거나 인터페이스의 일부만 표시될 수 있습니다. 결과적으로 VNC 콘솔을 사용할 수 없습니다. 이 문제를 해결하려면 VNC 콘솔 크기를 확장하거나 콘솔 탭에서 데스크탑 뷰어를 사용하여 원격 뷰어를 시작할 수 있습니다.
11.16. Red Hat Enterprise Linux System Roles
플레이북 또는 인벤토리의 localhost
호스트 이름을 사용하여 localhost
를 관리할 수 없음
RHEL에 ansible-core 2.13
패키지가 포함된 경우 노드를 관리하는 것과 동일한 호스트에서 Ansible을 실행하는 경우 플레이북 또는 인벤토리의 localhost
호스트 이름을 사용하여 이를 수행할 수 없습니다. ansible-core 2.13
은 python38
모듈을 사용하고, 많은 라이브러리가 스토리지
역할의 blivet
(예: 네트워크
역할의 gobject
)가 누락되어 있기 때문에 발생합니다. 이 문제를 해결하려면 플레이북 또는 인벤토리에서 localhost
호스트 이름을 이미 사용하고 있는 경우 ansible_connection=local 옵션을 사용하여 연결을 추가하거나
옵션으로 ansible_connection=local
localhost
를 나열하는 인벤토리 파일을 생성하여 연결을 추가할 수 있습니다. 이를 통해 localhost
에서 리소스를 관리할 수 있습니다. 자세한 내용은 localhost에서 실행할 때 RHEL 시스템 역할 플레이북이 실패하는 문서를 참조하십시오.
firewalld.service
가 마스킹되면 방화벽
RHEL System Role을 사용할 수 없습니다.
RHEL 시스템에서 firewalld.service
를 마스킹하면 방화벽
RHEL 시스템 역할이 실패합니다. 이 문제를 해결하려면 firewalld.service
를 마스크 해제하십시오.
systemctl unmask firewalld.service
에 활성화 키가 포함된 경우 이미 등록된 시스템에서 rhc 시스템 역할이 실패합니다.rhc
_auth
rhc_auth
매개 변수에 활성화 키가 지정된 경우 이미 등록된 시스템에서 플레이북 파일을 실행하지 못합니다. 이 문제를 해결하려면 이미 등록된 시스템에서 플레이북 파일을 실행할 때 활성화 키를 지정하지 마십시오.
11.17. 가상화
많은 수의 큐를 사용하면 Windows 가상 머신이 실패할 수 있습니다.
vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 장치가 활성화되고 250개 이상의 큐를 사용하도록 다중 큐 virtio-net 기능이 구성된 경우 VM(Windows 가상 머신)이 실패할 수 있습니다.
이 문제는 vTPM 장치의 제한으로 인해 발생합니다. vTPM 장치에는 열린 파일 설명자의 최대 수에 대한 하드 코딩된 제한이 있습니다. 모든 새 큐에 대해 여러 파일 설명자가 열리므로 내부 vTPM 제한을 초과하여 VM이 실패할 수 있습니다.
이 문제를 해결하려면 다음 두 옵션 중 하나를 선택합니다.
- vTPM 장치를 활성화 상태로 유지하되, 250개 미만의 대기열을 사용하십시오.
- 250개 이상의 대기열을 사용하도록 vTPM 장치를 비활성화합니다.
AMD Milan
시스템에서 Milan VM CPU 유형을 사용할 수 없는 경우가 있음
특정 AMD Milan 시스템에서 강화 REP MOVSB(erms
) 및 Fast Short REP MOVSB(fsrm
) 기능 플래그는 기본적으로 BIOS에서 비활성화됩니다. 결과적으로 이러한 시스템에서 Milan
CPU 유형을 사용할 수 없습니다. 또한 기능 플래그 설정이 다른 Milan 호스트 간 VM 실시간 마이그레이션이 실패할 수 있습니다. 이러한 문제를 해결하려면 호스트의 BIOS에서 수동으로 erms
및 fsrm
을 켭니다.
Bugzilla:2077770
AMD EPYC에서 호스트 통과 모드를 사용할 때 SMT CPU 토폴로지가 VM에서 탐지되지 않음
AMD EPYC 호스트에서 CPU 호스트 패스스루 모드를 사용하여 가상 머신(VM)이 부팅되면gateway OEXT
CPU 기능 플래그가 표시되지 않습니다. 결과적으로 VM은 코어당 여러 스레드를 사용하여 가상 CPU 토폴로지를 탐지할 수 없습니다. 이 문제를 해결하려면 host passthrough 대신 EPYC CPU 모델로 VM을 부팅합니다.
virtio-blk를 사용하여 가상 머신에 LUN 장치를 연결할 수 없습니다.
q35 시스템 유형은 전환 virtio 1.0 장치를 지원하지 않으므로 RHEL 8에서는 virtio 1.0에서 더 이상 사용되지 않는 기능을 지원하지 않습니다. 특히 virtio-blk 장치에서 SCSI 명령을 보내는 것은 RHEL 8 호스트에서 불가능합니다. 결과적으로 virtio-blk 컨트롤러를 사용하면 가상 머신에 물리적 디스크를 LUN 장치로 연결하는 데 실패합니다.
물리적 디스크를 게스트 운영 체제로 계속 전달할 수 있지만 device='lun'
이 아닌 device='disk'
옵션으로 구성해야 합니다.
Bugzilla:1777138
여러 virtio-blk 디스크를 사용할 때 가상 머신이 시작되지 않는 경우가 있음
VM(가상 머신)에 다수의 virtio-blk 장치를 추가하면 플랫폼에서 사용 가능한 인터럽트 벡터 수가 소진될 수 있습니다. 이 경우 VM의 게스트 OS가 부팅되지 않고 dracut-initqueue[392]: Warning: Could not boot
오류가 표시됩니다.
iommu_platform=on
이 있는 가상 머신은 IBM POWER에서 시작되지 않습니다.
RHEL 8은 현재 IBM POWER 시스템의 VM(가상 머신)의 iommu_platform=on
매개변수를 지원하지 않습니다. 결과적으로 IBM POWER 하드웨어에서 이 매개변수를 사용하여 VM을 시작하면 부팅 프로세스 중에 VM이 응답하지 않습니다.
ibmvfc
드라이버를 사용할 때 IBM POWER 호스트가 올바르게 작동합니다.
LPAR(PowerVM 논리 파티션)에서 RHEL 8을 실행할 때 ibmvfc
드라이버의 문제로 인해 다양한 오류가 발생할 수 있었습니다. 그 결과 다음과 같은 특정 상황에서 커널 패닉이 호스트에서 트리거됩니다.
- Live PartitionECDHE (LPM) 기능 사용
- 호스트 어댑터 재설정
- SCSI 오류 처리(SCSI EH) 함수 사용
이번 업데이트를 통해 ibmvfc
의 처리가 수정되었으며 설명된 커널 패닉이 더 이상 발생하지 않습니다.
Bugzilla:1961722
IBM POWER Systems에서 perf kvm 레코드를
사용하면 VM이 충돌할 수 있습니다.
IBM POWER 하드웨어의 little-endian 변형에서 RHEL 8 호스트를 사용하는 경우 perf kvm record
명령을 사용하여 KVM 가상 머신(VM)의 추적 이벤트 샘플을 수집하면 VM이 응답하지 않는 경우가 있습니다. 이 상황은 다음과 같은 경우에 발생합니다.
-
perf
유틸리티는 권한이 없는 사용자가 사용하며-p
옵션은 VM을 식별하는 데 사용됩니다(예:perf kvm record -e trace_cycles -p
ECDHE45 ). -
VM은
virsh
쉘을 사용하여 시작되었습니다.
이 문제를 해결하려면 perf kvm
유틸리티를 -i
옵션과 함께 사용하여 virsh
쉘을 사용하여 생성된 VM을 모니터링합니다. 예를 들면 다음과 같습니다.
# perf kvm record -e trace_imc/trace_cycles/ -p <guest pid> -i
i
옵션을 사용하면 하위 작업에서 카운터를 상속하지 않으므로 스레드가 모니터링되지 않습니다.
Bugzilla:1924016
특정 CPU 모델을 사용할 때 Hyper-V가 활성화된 Windows Server 2016 가상 머신은 부팅되지 않습니다.
현재 게스트 운영 체제로 Windows Server 2016을 사용하고 Hyper-V 역할을 활성화한 상태에서 다음 CPU 모델 중 하나를 사용하는 VM(가상 머신)을 부팅할 수 없습니다.
- EPYC-IBPB
- EPYC
이 문제를 해결하려면 EPYC-v3 CPU 모델을 사용하거나 VM에 대해 xsaves CPU 플래그를 수동으로 활성화합니다.
Bugzilla:1942888
POWER9 게스트를 RHEL 7-ALT 호스트에서 RHEL 8로 마이그레이션하지 못했습니다.
현재는 RHEL 7-ALT 호스트 시스템에서 RHEL 8로 POWER9 가상 머신을 마이그레이션하면 Migration status: active
상태가 응답하지 않습니다.
이 문제를 해결하려면 RHEL 7-ALT 호스트에서 Transparent Huge Pages(THP)를 비활성화하여 마이그레이션을 성공적으로 완료할 수 있습니다.
Bugzilla:1741436
virt-customize
를 사용하면 guestfs-firstboot
가 실패하는 경우가 있습니다.
virt-customize
유틸리티를 사용하여 VM(가상 머신) 디스크 이미지를 수정한 후 일부 경우 guestfs-firstboot
서비스가 잘못된 SELinux 권한으로 인해 실패합니다. 이로 인해 사용자 생성 실패 또는 시스템 등록과 같이 VM 시작 중에 다양한 문제가 발생합니다.
이 문제를 방지하려면 --selinux-relabel
옵션과 함께 virt-customize
명령을 사용하십시오.
macvtap 가상 네트워크에서 전달 인터페이스를 삭제하면 이 네트워크의 모든 연결 수가 재설정됩니다.
현재 여러 전달 인터페이스가 있는 macvtap
가상 네트워크에서 전달 인터페이스를 삭제하면 네트워크의 다른 전달 인터페이스의 연결 상태도 재설정됩니다. 따라서 라이브 네트워크 XML의 연결 정보가 올바르지 않습니다. 그러나 가상 네트워크의 기능에는 영향을 미치지 않습니다. 이 문제를 해결하려면 호스트에서 libvirtd
서비스를 다시 시작합니다.
SLOF가 있는 가상 머신은 netcat 인터페이스에서 부팅되지 않음
netcat(nc
) 인터페이스를 사용하여 현재 SLOF(S muline Open Firmware) 프롬프트에서 대기 중인 VM(가상 머신)의 콘솔에 액세스하는 경우 사용자 입력은 무시되고 VM은 응답하지 않습니다. 이 문제를 해결하려면 VM에 연결할 때 nc -C
옵션을 사용하거나 telnet 인터페이스를 대신 사용하십시오.
Bugzilla:1974622
경우에 따라 virt-manager
의 가상 머신에 중재된 장치를 연결하는 데 실패합니다.
virt-manager
애플리케이션은 현재 중재된 장치를 감지할 수 있지만 장치가 활성 상태인지 여부를 인식하지 못합니다. 결과적으로 virt-manager
를 사용하여 실행 중인 VM(가상 머신)에 비활성 미디어 장치를 연결하지 못했습니다. 마찬가지로 비활성 미디어 장치를 사용하는 새 VM을 생성하려고 하면 장치가 찾을 수 없는
오류와 함께 실패합니다.
이 문제를 해결하려면 virt-manager
에서 사용하기 전에 virsh nodedev-start
또는 mdevctl start
명령을 사용하여 중재 장치를 활성화합니다.
RHEL 9 가상 머신이 POWER8 호환 모드에서 부팅되지 않음
현재 VM과 유사한 CPU 구성을 사용하는 경우 RHEL 9를 게스트 운영 체제로 실행하는 VM(가상 머신)을 부팅하지 못합니다.
<cpu mode="host-model"> <model>power8</model> </cpu>
이 문제를 해결하려면 RHEL 9 VM에서 POWER8 호환성 모드를 사용하지 마십시오.
또한 POWER8 호스트에서 RHEL 9 VM을 실행할 수 없습니다.
virtiofs
에서 SUID 및 SGID가 자동으로 삭제되지 않음
killpriv_v2
기능을 사용하여 virtiofsd
서비스를 실행하면 일부 파일 시스템 작업을 수행한 후 시스템에서 SUID 및 SGID 권한을 자동으로 지우지 못할 수 있습니다. 결과적으로 권한을 지우지 않으면 잠재적인 보안 취약점이 발생할 수 있습니다. 이 문제를 해결하려면 다음 명령을 입력하여 killpriv_v2
기능을 비활성화합니다.
# virtiofsd -o no_killpriv_v2
Bugzilla:1966475
호스트에서 OVS 서비스를 다시 시작하면 실행 중인 VM에서 네트워크 연결이 차단될 수 있습니다.
호스트에서 OVS(Open vSwitch) 서비스가 재시작되거나 충돌하면 이 호스트에서 실행 중인 VM(가상 머신)이 네트워킹 장치의 상태를 복구할 수 없습니다. 결과적으로 VM이 패킷을 완전히 수신할 수 없었습니다.
이 문제는 virtio
네트워킹 스택에서 패키지된 virtqueue 형식을 사용하는 시스템에만 영향을 미칩니다.
이 문제를 해결하려면 virtio
네트워킹 장치 정의에서 packed=off
매개변수를 사용하여 패키지된 virtqueue를 비활성화합니다. 패키지된 virtqueue가 비활성화된 상태에서 네트워킹 장치의 상태는 일부 상황에서 RAM에서 복구될 수 있습니다.
VM 마이그레이션 중 NFS 실패로 인해 마이그레이션 실패 및 소스 VM 코어 덤프
현재 VM(가상 머신) 마이그레이션 중에 NFS 서비스 또는 서버가 종료되면 다시 실행을 시작할 때 소스 VM의 QEMU가 NFS 서버에 다시 연결할 수 없습니다. 결과적으로 마이그레이션이 실패하고 소스 VM에서 코어dump가 시작됩니다. 현재는 사용할 수 있는 해결방법이 없습니다.
가상 머신에 Watchdog 카드를 핫플러그할 수 없음
현재 사용 가능한 PCI 슬롯이 없는 경우 실행 중인 VM(가상 머신)에 Watchdog 카드를 추가하면 다음 오류와 함께 실패합니다.
Failed to configure watchdog ERROR Error attempting device hotplug: internal error: No more available PCI slots
이 문제를 해결하려면 Watchdog 카드를 추가하기 전에 VM을 종료합니다.
11.18. 클라우드 환경의 RHEL
VMware 호스트의 RHEL 가상 시스템에서 고정 IP 설정이 작동하지 않음
현재 RHEL을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 DatasourceOVF 기능이 제대로 작동하지 않습니다. 결과적으로 cloud-init
유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM의 네트워크가 DHCP로 변경됩니다.
이 문제를 해결하려면 VNware knowledgebase 를 참조하십시오.
kdump가 Azure 및 Hyper-V에서 시작되지 않는 경우가 있음
Microsoft Azure 또는 Hyper-V 하이퍼바이저에서 호스팅되는 RHEL 8 게스트 운영 체제에서는 일부 경우 kdump
커널을 시작하는 데 문제가 발생하지 않는 경우가 있습니다.
이 문제를 해결하려면 크래시 kexec 후 알림기를 비활성화합니다.
# echo N > /sys/module/kernel/parameters/crash_kexec_post_notifiers
Bugzilla:1865745
여러 게스트 디스크로 Hyper-V VM을 부팅할 때 SCSI 호스트 주소가 변경되는 경우가 있음
현재 Hyper-V 하이퍼바이저에서 RHEL 8 가상 머신(VM)을 부팅할 때 경우에 따라 호스트, 버스, 대상, Lun (HBTL) SCSI 주소의 호스트 부분이 변경됩니다. 결과적으로 VM의 HBTL SCSI 식별 또는 장치 노드로 설정된 자동화된 작업이 일관되게 작동하지 않습니다. 이는 VM에 디스크가 두 개 이상 있거나 디스크 크기가 다른 경우 발생합니다.
이 문제를 해결하려면 다음 방법 중 하나를 사용하여 Kickstart 파일을 수정합니다.
방법 1: SCSI 장치에 영구 식별자를 사용합니다.
예를 들어 다음 powershell 스크립트를 사용하여 특정 장치 식별자를 확인할 수 있습니다.
# Output what the /dev/disk/by-id/<value> for the specified hyper-v virtual disk. # Takes a single parameter which is the virtual disk file. # Note: kickstart syntax works with and without the /dev/ prefix. param ( [Parameter(Mandatory=$true)][string]$virtualdisk ) $what = Get-VHD -Path $virtualdisk $part = $what.DiskIdentifier.ToLower().split('-') $p = $part[0] $s0 = $p[6] + $p[7] + $p[4] + $p[5] + $p[2] + $p[3] + $p[0] + $p[1] $p = $part[1] $s1 = $p[2] + $p[3] + $p[0] + $p[1] [string]::format("/dev/disk/by-id/wwn-0x60022480{0}{1}{2}", $s0, $s1, $part[4])
다음과 같이 hyper-v 호스트에서 이 스크립트를 사용할 수 있습니다.
PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_8.vhdx /dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4 PS C:\Users\Public\Documents\Hyper-V\Virtual hard disks> .\by-id.ps1 .\Testing_8\disk_3_9.vhdx /dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2
이후 디스크 값은 다음과 같이 Kickstart 파일에서 사용할 수 있습니다.
part / --fstype=xfs --grow --asprimary --size=8192 --ondisk=/dev/disk/by-id/wwn-0x600224807270e09717645b1890f8a9a2 part /home --fstype="xfs" --grow --ondisk=/dev/disk/by-id/wwn-0x60022480e00bc367d7fd902e8bf0d3b4
이러한 값은 각 가상 디스크에 특정하므로 각 VM 인스턴스에 대해 구성을 수행해야 합니다. 따라서 %include
구문을 사용하여 디스크 정보를 별도의 파일에 배치하는 것이 유용할 수 있습니다.
방법 2: 크기별로 장치 선택을 설정합니다.
크기에 따라 디스크 선택을 구성하는 Kickstart 파일에는 다음과 유사한 행이 포함되어야 합니다.
... # Disk partitioning information is supplied in a file to kick start %include /tmp/disks ... # Partition information is created during install using the %pre section %pre --interpreter /bin/bash --log /tmp/ks_pre.log # Dump whole SCSI/IDE disks out sorted from smallest to largest ouputting # just the name disks=(`lsblk -n -o NAME -l -b -x SIZE -d -I 8,3`) || exit 1 # We are assuming we have 3 disks which will be used # and we will create some variables to represent d0=${disks[0]} d1=${disks[1]} d2=${disks[2]} echo "part /home --fstype="xfs" --ondisk=$d2 --grow" >> /tmp/disks echo "part swap --fstype="swap" --ondisk=$d0 --size=4096" >> /tmp/disks echo "part / --fstype="xfs" --ondisk=$d1 --grow" >> /tmp/disks echo "part /boot --fstype="xfs" --ondisk=$d1 --size=1024" >> /tmp/disks %end
Bugzilla:1906870
cloud-init
에서 프로비저닝하고 NFSv3 마운트 항목으로 구성된 경우 Azure의 RHEL 인스턴스가 부팅되지 않음
현재 cloud-init
툴에서 VM을 프로비저닝하고 VM의 게스트 운영 체제에 NFSv3 마운트 항목이 있는 경우 Microsoft Azure 클라우드 플랫폼에서 RHEL 가상 머신(VM)을 부팅하지 못합니다.
Bugzilla:2081114
11.19. 지원 관련 기능
getattachment
명령이 한 번에 여러 첨부 파일을 다운로드하지 못했습니다.
redhat-support-tool
명령은 첨부 파일을 다운로드하는 getattachment
하위 명령을 제공합니다. 그러나 getattachment
는 현재 단일 첨부 파일만 다운로드할 수 있으며 여러 첨부 파일을 다운로드하지 못합니다.
이 문제를 해결하려면 getattachment
하위 명령에 있는 각 첨부 파일의 케이스 번호와 UUID를 전달하여 하나씩 여러 첨부 파일을 다운로드할 수 있습니다.
redhat-support-tool
이 FUTURE
암호화 정책에서 작동하지 않음
고객 포털 API의 인증서에서 사용하는 암호화 키가 FUTURE
시스템 전체 암호화 정책의 요구 사항을 충족하지 않으므로 redhat-support-tool
유틸리티는 현재 이 정책 수준에서 작동하지 않습니다.
이 문제를 해결하려면 고객 포털 API에 연결하는 동안 DEFAULT
암호화 정책을 사용하십시오.
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:2011413
11.20. 컨테이너
이전 컨테이너 이미지 내에서 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
12장. 국제화
12.1. Red Hat Enterprise Linux 8 국제 언어
Red Hat Enterprise Linux 8에서는 여러 언어를 설치하고 요구 사항에 따라 언어 변경을 지원합니다.
- 동아시아 언어 - 일본어, 한국어, 중국어 간체, 중국어 번체 등입니다.
- 유럽 언어 - 영어, 독일어, 스페인어, 프랑스어, 이탈리아어, 포르투갈어 및 러시아어.
다음 표에는 다양한 주요 언어에 대해 제공되는 글꼴 및 입력 방법이 나열되어 있습니다.
언어 | 기본 글꼴(Font 패키지) | 입력 방법 |
---|---|---|
영어 | dejavu-sans-fonts | |
프랑스어 | dejavu-sans-fonts | |
독일어 | dejavu-sans-fonts | |
이탈리아어 | dejavu-sans-fonts | |
러시아어 | dejavu-sans-fonts | |
스페인어 | dejavu-sans-fonts | |
포르투갈어 | dejavu-sans-fonts | |
중국어 단순화 | google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts | ibus-libpinyin, libpinyin |
기존 중국어 | google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts | ibus-libzhuyin, libzhuyin |
일본어 | google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts | ibus-kkc, libkkc |
한국어 | google-noto-sans-cjk-ttc-fonts, google-noto-serif-cjk-ttc-fonts | IBus-hangul, libhangul |
12.2. RHEL 8의 국제화의 주요 변경 사항
RHEL 8에서는 RHEL 7에 비해 다음과 같은 국제화 변경 사항이 추가되었습니다.
- 유니코드 11 컴퓨팅 산업 표준에 대한 지원이 추가되었습니다.
- 국제화는 여러 패키지로 배포되며, 이로 인해 풋프린트 설치가 가능합니다. 자세한 내용은 langpacks 사용을 참조하십시오.
-
여러
glibc
로케일이 유니코드 공통 로컬 데이터 리포지토리(CLDR)와 동기화되었습니다.
부록 A. 구성 요소별 티켓 목록
Bugzilla 및 JIRA 티켓은 참조를 위해 이 문서에 나열되어 있습니다. 링크는 티켓을 설명하는 이 문서의 릴리스 노트로 이어집니다.
부록 B. 리버전 내역
0.1-10
2023년 9월 8일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 더 이상 사용되지 않는 기능 릴리스 노트 JIRA:RHELDOCS-16612 (Samba)가 추가되었습니다.
- Red Hat 설명서 섹션에 대한 제공 피드백이 업데이트되었습니다.
0.0-9
2023년 8월 24일 Lucie Va#159á (lvarakova@redhat.com)
- 알려진 문제 BZ#2214508 (Kernel)이 추가되었습니다.
0.0-8
2023년 8월 4일 Lenka Cryostatková (lspackova@redhat.com)
- BZ#2225332 의 고정 섹션 .
0.0-7
2023년 8월 3일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 더 이상 사용되지 않는 기능 Jira:RHELPLAN-139456 (Identity Management)
0.0-6
2023년 8월 1일 Lenka Cryostatková (lspackova@redhat.com)
- 더 이상 사용되지 않는 기능 BZ#2225332 가 추가되었습니다.
- 요약이 개선되었습니다.
0.0-5
2023년 7월 31일 Mirek Jahoda (mjahoda@redhat.com)
- 알려진 문제 BZ#2203361이 BZ#2212371 버그 수정으로 변경되었습니다.
0.0-4
2023년 7월 13일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 기술 프리뷰 BZ#1570255 (네트워크)가 추가되었습니다.
- 인플레이스 업그레이드 및 OS 변환 섹션을 업데이트했습니다.
0.0-3
2023년 6월 27일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 향상된 기능 BZ#2087247 (Identity Management)이 추가되었습니다.
- BZ#2176248 을 버그 수정(Security)으로 이동합니다.
- 알려진 문제 BZ#2176973 (Security)이 추가되었습니다.
- 업데이트된 기술 프리뷰 BZ#1769727 (커널).
0.0-2
2023년 6월 6일 Lucie Va Cryostatá (lvarakova@redhat.com)
- 알려진 문제 BZ#2177957 (가상화)이 추가되었습니다.
- 기타 작은 업데이트
0.0-1
2023년 5월 17일, Lucie VaECDHEkov al (lvarakova@redhat.com)
- Red Hat Enterprise Linux 8.8 릴리스 정보.
0.0-0
Mar 29 2023, Lucie Vařáková (lvarakova@redhat.com)
- Red Hat Enterprise Linux 8.8 베타 릴리스 노트