8.10 릴리스 노트
Red Hat Enterprise Linux 8.10 릴리스 정보
초록
Red Hat 문서에 관한 피드백 제공
문서 개선을 위한 의견에 감사드립니다. 어떻게 개선할 수 있는지 알려주십시오.
Jira를 통해 피드백 제출 (등록 필요)
- Jira 웹 사이트에 로그인합니다.
- 상단 탐색 모음에서 생성 을 클릭합니다.
- 요약 필드에 설명 제목을 입력합니다.
- 설명 필드에 개선을 위한 제안을 입력합니다. 문서의 관련 부분에 대한 링크를 포함합니다.
- 대화 상자 하단에서 생성 을 클릭합니다.
1장. 개요
1.1. RHEL 8.10의 주요 변경 사항
설치 프로그램 및 이미지 생성
RHEL 이미지 빌더의 주요 주요 주요 사항:
-
auto-lvm
,lvm
,raw
와 같은 다양한 파티션 모드를 생성할 수 있습니다. - 프로필에 대한 맞춤 옵션을 사용자 지정하고 선택한 옵션과 선택되지 않은 옵션을 사용하여 블루프린트 사용자 지정에 추가하여 규칙을 추가 및 제거할 수 있습니다.
자세한 내용은 새로운 기능 - 설치 프로그램 및 이미지 생성 을 참조하십시오.
보안
SCAP Security Guide 0.1.72 에는 업데이트된 CIS 프로필, PCI DSS 정책 버전 4.0과 일치하는 프로필, 최신 DISA STIG 정책에 대한 프로필이 포함되어 있습니다.
Linux 커널 암호화 API(libkcapi) 1.4.0에는 새로운 툴과 옵션이 도입되었습니다. 특히 새로운 -T
옵션을 사용하면 해시 계산에 대상 파일 이름을 지정할 수 있습니다.
stunnel TLS/SSL 터널링 서비스 5.71은 FIPS 모드에서 OpenSSL 1.1 이상 버전의 동작을 변경합니다. 이러한 변경 외에도 버전 5.71은 최신 PostgreSQL 클라이언트 지원과 같은 많은 새로운 기능을 제공합니다.
OpenSSL TLS 툴킷에는 이제 RSA PKCS #1 v1.5 암호 해독 프로세스의 Bleichenbacher와 같은 공격에 대한 API 수준 보호가 포함됩니다.
자세한 내용은 새 기능 - 보안 을 참조하십시오.
동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
다음 Application Streams의 최신 버전을 사용할 수 있습니다.
- Python 3.12
- Ruby 3.3
- PHP 8.2
- nginx 1.24
- MariaDB 10.11
- PostgreSQL 16
다음 구성 요소가 업그레이드되었습니다.
- Git 에서 2.43.0 버전으로
- Git LFS 에서 버전 3.4.1로
자세한 내용은 새로운 기능 - 동적 프로그래밍 언어, 웹 및 데이터베이스 서버를 참조하십시오.
IdM (Identity Management)
RHEL 8.10의 IdM(Identity Management)은 OAuth 2 장치 권한 부여 흐름을 지원하는 외부 ID 공급자(IdP)에 대한 사용자 인증을 위임합니다. 이는 이제 완전히 지원되는 기능입니다.
외부 IdP에서 인증 및 승인을 수행한 후 IdM 사용자는 Single Sign-On 기능이 있는 Kerberos 티켓을 받습니다.
자세한 내용은 새로운 기능 - ID 관리를참조하십시오.
컨테이너
주요 변경 사항은 다음과 같습니다.
-
다중 아키텍처 컨테이너 이미지를 생성하기 위한
podman 6.0 빌드
명령은 기술 프리뷰로 사용할 수 있습니다. -
Podman에서 이제
container.conf
모듈을 지원하여 사전 정의된 구성 세트를 로드합니다. - 컨테이너 툴 패키지가 업데이트되었습니다.
- 이제 이미지를 레지스트리로 가져오거나 푸시할 때 podman v4.9 RESTful API에서 진행 중인 데이터를 표시합니다.
- SQLite는 이제 Podman의 기본 데이터베이스 백엔드로 완전히 지원됩니다.
-
Containerfile
은 이제 여러 줄 hereDoc 명령을 지원합니다. -
네트워크 이름으로
파스타
가 더 이상 사용되지 않습니다. - BoltDB 데이터베이스 백엔드는 더 이상 사용되지 않습니다.
-
container-tools:4.0
모듈이 더 이상 사용되지 않습니다. - CNI(Container Network Interface) 네트워크 스택은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
자세한 내용은 새 기능 - 컨테이너를 참조하십시오.
1.2. 인플레이스 업그레이드 및 OS 변환
RHEL 7에서 RHEL 8로 인플레이스 업그레이드
현재 가능한 인플레이스 업그레이드 경로는 다음과 같습니다.
- 64비트 Intel, IBM POWER 8(little endian) 및 IBM Z 아키텍처의 RHEL 7.9에서 RHEL 8.8 및 RHEL 8.10
- SAP HANA가 있는 시스템의 RHEL 7.9에서 RHEL 8.8 및 RHEL 8.10까지 64비트 Intel 아키텍처에서 사용할 수 있습니다.
자세한 내용은 Red Hat Enterprise Linux의 지원되는 인플레이스 업그레이드 경로를 참조하십시오.
인플레이스 업그레이드를 수행하는 방법은 RHEL 7에서 RHEL 8로 업그레이드 를 참조하십시오.
SAP 환경에서 시스템에서 인플레이스 업그레이드를 수행하는 방법은 RHEL 7에서 RHEL 8로 SAP 환경을 인플레이스 업그레이드하는 방법을 참조하십시오.
Red Hat이 인플레이스 업그레이드 프로세스를 지원하는 방법에 대한 자세한 내용은 인플레이스 업그레이드 지원 정책을 참조하십시오.
주요 개선 사항은 다음과 같습니다.
-
업그레이드 후
systemd
서비스의 예상 상태를 확인하기 위해 새 논리가 구현되었습니다. - 이제 로컬에 저장된 DNF 리포지토리를 인플레이스 업그레이드에 사용할 수 있습니다.
- 이제 프록시를 사용하여 업그레이드할 수 있도록 DNF를 구성할 수 있습니다.
- HTTPS를 사용하여 액세스한 사용자 정의 DNF 리포지토리에서 인플레이스 업그레이드를 수행하는 문제가 수정되었습니다.
-
/etc/pki/tls/openssl.cnf
구성 파일이 수정된 경우 업그레이드 중에 파일이 대상 기본 OpenSSL 구성 파일로 교체되어 업그레이드 후 문제가 발생하지 않습니다. 자세한 내용은 업그레이드 전 보고서를 참조하십시오.
RHEL 6에서 RHEL 8로 인플레이스 업그레이드
RHEL 6에서 RHEL 8로 직접 인플레이스 업그레이드를 수행할 수 없습니다. 그러나 RHEL 6에서 RHEL 7으로 인플레이스 업그레이드를 수행한 다음 두 번째 인플레이스 업그레이드를 RHEL 8로 업그레이드할 수 있습니다. 자세한 내용은 RHEL 6에서 RHEL 7로 업그레이드 를 참조하십시오.
RHEL 8에서 RHEL 9로 인플레이스 업그레이드
Leapp 유틸리티를 사용하여 RHEL 8에서 RHEL 9로 인플레이스 업그레이드를 수행하는 방법에 대한 지침은 RHEL 8에서 RHEL 9로의 업그레이드 문서를 통해 제공됩니다. RHEL 8과 RHEL 9의 주요 차이점은 RHEL 9 채택에 대한 고려 사항에 설명되어 있습니다.
다른 Linux 배포에서 RHEL로 변환
Alma Linux 8, CentOS Linux 8, Oracle Linux 8 또는 Rocky Linux 8을 사용하는 경우 Red Hat 지원 Convert2RHEL
유틸리티를 사용하여 운영 체제를 RHEL 8로 변환할 수 있습니다. 자세한 내용은 RPM 기반 Linux 배포에서 RHEL로 변환을 참조하십시오.
CentOS Linux 7 또는 Oracle Linux 7을 사용하는 경우 운영 체제를 RHEL로 변환한 다음 RHEL 8으로 인플레이스 업그레이드를 수행할 수 있습니다.
Red Hat이 다른 Linux 배포판에서 RHEL로의 변환을 지원하는 방법에 대한 자세한 내용은 Convert2RHEL 지원 정책 문서를 참조하십시오.
1.3. Red Hat Customer Portal 랩
Red Hat Customer Portal 랩 은 https://access.redhat.com/labs/ 에서 제공되는 고객 포털 섹션에 있는 툴 세트입니다. Red Hat 고객 포털 랩의 애플리케이션은 성능을 개선하고, 문제를 신속하게 해결하고, 보안 문제를 식별하고, 복잡한 애플리케이션을 신속하게 배포 및 구성할 수 있도록 지원합니다. 가장 널리 사용되는 애플리케이션 중 일부는 다음과 같습니다.
- registration Assistant
- 제품 라이프 사이클 검사기
- Kickstart 생성기
- Kickstart Cryostat
- Red Hat Enterprise Linux Upgrade Helper
- Red Hat Satellite Upgrade Helper
- Red Hat Code Browser
- JVM 옵션 구성 도구
- Red Hat CVE Checker
- Red Hat 제품 인증서
- 로드 밸런서 구성 도구
- yum Repository Configuration Helper
- Red Hat Memory Analyzer
- 커널 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 로의 업그레이드 문서를 통해 제공됩니다.
- 알려진 기술 문제를 사전에 확인, 검사 및 해결할 수 있는 Red Hat Insights 서비스는 이제 모든 RHEL 서브스크립션을 통해 사용할 수 있습니다. Red Hat Insights 클라이언트를 설치하고 시스템을 서비스에 등록하는 방법에 대한 자세한 내용은 Red Hat Insights 가져오기 시작 페이지를 참조하십시오.
릴리스 노트에는 원래 추적 티켓에 액세스할 수 있는 링크가 포함되어 있습니다. 개인 티켓에는 링크가 없으며 대신 이 노트가 포함되어 있습니다.[1]
2장. 아키텍처
Red Hat Enterprise Linux 8.10은 다음 아키텍처를 지원하는 커널 버전 4.18.0-553과 함께 배포됩니다.
- AMD 및 Intel 64비트 아키텍처
- 64비트 ARM 아키텍처
- IBM Power Systems, Little Endian
- 64-bit IBM Z
각 아키텍처에 적합한 서브스크립션을 구매해야 합니다. 자세한 내용은 추가 아키텍처인 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 하드 드라이브를 사용하는 것이 좋습니다. 이미지 빌더 툴을 사용하여 사용자 지정 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 형식의 확장 또는 Software Collections로 사용할 수 있습니다. 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
대신 dnf
를 입력하면 yum
은 호환성을 위해 dnf
의 별칭이므로 명령이 예상대로 작동합니다.
자세한 내용은 다음 설명서를 참조하십시오.
4장. 새로운 기능
이 부분에서는 Red Hat Enterprise Linux 8.10에 도입된 새로운 기능 및 주요 개선 사항에 대해 설명합니다.
4.1. 설치 프로그램 및 이미지 생성
블루프린트 파일 시스템 사용자 정의에서 파티션 모드를 사용하는 기능
이번 업데이트를 통해 RHEL 이미지 빌더를 사용하는 동안 선택한 파일 시스템 사용자 지정으로 블루프린트를 사용자 지정할 수 있습니다. 이미지를 생성하는 동안 다음 파티션 모드 중 하나를 선택할 수 있습니다.
-
기본값:
auto-lvm
- LVM: 추가 파티션 없이도 이미지에서 LVM(Logical Volume Manager)을 사용합니다.
- raw: 이미지는 추가 파티션과 함께도 원시 파티션을 사용합니다.
Jira:RHELDOCS-16337[1]
이미지 빌더의 파일 시스템 사용자 지정 정책 변경
블루프린트에서 RHEL 이미지 빌더 파일 시스템 사용자 지정을 사용할 때 다음 정책 변경 사항이 적용됩니다.
현재 마운트 지점
및 최소 파티션 minsize
를 설정할 수 있습니다. 다음 이미지 유형은 파일 시스템 사용자 지정을 지원하지 않습니다. image
다음 이미지 유형은 분할된 운영 체제 이미지를 생성하지 않습니다. 파일 시스템 사용자 지정은 무의미합니다. -installer
edge
-simplified-installerEdge-commit
edge-
container
tar
컨테이너인 블루프린트는 이제 tpm
및 해당 하위 디렉터리에 대한 마운트 지점
사용자 지정을 지원합니다.
Jira:RHELDOCS-17261[1]
4.2. 보안
SCAP 보안 가이드 0.1.72에 기반
SCAP Security Guide (SSG) 패키지는 업스트림 버전 0.1.72로 변경되었습니다. 이 버전은 버그 수정 및 다양한 개선 사항을 제공합니다.
- CIS 프로필은 최신 벤치마크에 맞게 업데이트됩니다.
- PCI DSS 프로필은 PCI DSS 정책 버전 4.0과 일치합니다.
- STIG 프로필은 최신 DISA STIG 정책과 일치합니다.
자세한 내용은 SCAP 보안 가이드 릴리스 노트를 참조하십시오.
Jira:RHEL-25250[1]
OpenSSL에는 Bleichenbacher와 같은 공격에 대한 보호 기능이 포함되어 있습니다.
이번 OpenSSL TLS 툴킷 릴리스에서는 RSA PKCS #1 v1.5 암호 해독 프로세스의 Bleichenbacher와 같은 공격에 대한 API 수준 보호가 도입되었습니다. 이제 RSA 암호 해독은 PKCS #1 v1.5 암호 해독 중에 패딩을 확인할 때 오류를 감지하면 오류 대신 임의로 생성된 결정적 메시지를 반환합니다. 이 변경 사항은 CVE-2020-25659 및 CVE-2020-25657 과 같은 취약점에 대한 일반적인 보호 기능을 제공합니다.
EVP_PKEY_CTX_ctrl_str(ctx, "rsa_pkcs1_implicit_rejection"을 호출하여 이 보호를 비활성화할 수 있습니다. "0")
는 RSA 암호 해독 컨텍스트에서 작동하지만 시스템을 더 취약하게 만듭니다.
Jira:RHEL-17689[1]
librdkafka
재기반 1.6.1
Apache Kafka 프로토콜의 librdkafka
구현은 업스트림 버전 1.6.1에 따라 변경되었습니다. 이는 RHEL 8의 첫 번째 주요 기능 릴리스입니다. 리베이스는 많은 중요한 개선 사항 및 버그 수정을 제공합니다. 모든 관련 변경 사항은 librdkafka
패키지에 제공된 CHANGELOG.md
문서를 참조하십시오.
이번 업데이트에서는 구성 기본값을 변경하고 일부 구성 속성을 더 이상 사용하지 않습니다. 자세한 내용은 CHANGELOG.md
의 업그레이드 고려 사항 섹션을 참조하십시오. 이 버전의 API(C & C++) 및 ABI ©는 이전 버전의 librdkafka
와 호환되지만 구성 속성을 변경하려면 기존 애플리케이션을 변경해야 할 수 있습니다.
Jira:RHEL-12892[1]
1.4.0에 기반 libkcapi
rebased
Linux 커널 암호화 API에 대한 액세스를 제공하는 libkcapi
라이브러리는 업스트림 버전 1.4.0에 따라 변경되었습니다. 이 업데이트에는 다양한 개선 사항 및 버그 수정이 포함되어 있습니다.
-
sm3sum
및sm3hmac
툴을 추가했습니다. -
kcapi_md_sm3
및kcapi_md_hmac_sm3
API를 추가했습니다. - SM4 편의성 기능이 추가되었습니다.
- LTO(link-time optimization)에 대한 지원이 수정되었습니다.
- LTO 회귀 테스트를 수정했습니다.
-
kcapi-enc
를 사용하여 임의의 크기의 AEAD 암호화를 수정했습니다.
Jira:RHEL-5366[1]
Stunnel은
5.71로 다시 기반
stunnel
TLS/SSL 터널링 서비스는 업스트림 버전 5.71로 변경되었습니다. 이번 업데이트에서는 FIPS 모드에서 OpenSSL 1.1 및 이후 버전의 동작이 변경됩니다. OpenSSL이 FIPS 모드에 있고 stunnel
기본 FIPS 구성이 no
로 설정된 경우stunnel
은 OpenSSL에 적용되고 FIPS 모드가 활성화됩니다.
추가 새로운 기능은 다음과 같습니다.
- 최신 PostgreSQL 클라이언트에 대한 지원이 추가되었습니다.
-
protocolHeader
서비스 수준 옵션을 사용하여 사용자 지정연결
프로토콜 협상 헤더를 삽입할 수 있습니다. -
protocolHost
옵션을 사용하여 HELO/EHLO 값의 클라이언트 SMTP 프로토콜 협상을 제어할 수 있습니다. -
클라이언트 측 프로토콜에 대한 클라이언트 측 지원이 추가되었습니다.
ldap
. -
이제 service-level
sessionResume
옵션을 사용하여 세션 재개를 구성할 수 있습니다. -
CApath
를 사용하여 서버 모드에서 클라이언트 인증서를 요청하는 데 지원이 추가되었습니다(이전에는CAfile
만 지원됨). - 파일 읽기 및 로깅 성능 개선
-
재시도
옵션에 대한 구성 가능한 지연에 대한 지원이 추가되었습니다. -
클라이언트 모드에서
verify
Cryostat가 설정된 경우 OCSP 스타일링이 요청되고 검증됩니다. - 서버 모드에서 OCSP 스타일링은 항상 사용할 수 있습니다.
-
OCSP 확인으로 인해 TLS 협상이 중단됩니다.
OCSPrequire = no
를 설정하여 이 기능을 비활성화할 수 있습니다.
Jira:RHEL-2340[1]
OpenSSH는 인증의 인위 지연 제한
로그인 실패 후 OpenSSH의 응답은 사용자 열거 공격을 방지하기 위해 인위적으로 지연됩니다. 이번 업데이트에서는 원격 인증이 너무 오래 걸리는 경우 권한 액세스 관리(PAM) 처리에서 이러한 인공 지연이 과도하게 길지 않도록 상한 제한이 도입되었습니다.
libkcapi
에서 해시 계산에 대상 파일 이름을 지정하는 옵션을 제공합니다.
libkcapi
(Linux 커널 암호화 API) 패키지의 이번 업데이트에서는 해시 계산에 대상 파일 이름을 지정하는 새로운 옵션 -T
가 도입되었습니다. 이 옵션의 값은 처리된 HMAC 파일에 지정된 파일 이름을 재정의합니다. 이 옵션은 -c
옵션에서만 사용할 수 있습니다. 예를 들면 다음과 같습니다.
$ sha256hmac -c <hmac_file> -T <target_file>
Jira:RHEL-15300[1]
3.1.2에서 감사
기반 감사
Linux 감사 시스템이 버전 3.1.2로 업데이트되어 이전에 릴리스된 버전 3.0.7에 비해 버그 수정, 개선 사항 및 성능 향상을 제공합니다. 주요 개선 사항은 다음과 같습니다.
-
이제
auparse
라이브러리에서 이름이 지정되지 않은 소켓과 익명 소켓을 해석합니다. -
new 키워드는
ausearch
및aureport
도구의시작
및종료
옵션에서 사용할 수 있습니다. -
신호에 대한 사용자 친화적인 키워드가
auditctl
프로그램에 추가되었습니다. -
손상된 로그를
auparse
에서 처리하는 기능이 향상되었습니다. -
이제
auditd
서비스에서protectControlGroups
옵션이 기본적으로 비활성화되어 있습니다. - exclude 필터에 대한 규칙 검사가 수정되었습니다.
-
OPENAT2
필드 해석이 향상되었습니다. -
audispd af_unix
플러그인이 독립 실행형 프로그램으로 이동되었습니다. - Python API에서 감사 규칙을 설정하지 않도록 Python 바인딩이 변경되었습니다. 이러한 변경은 SWIG(Simplified Wrapper and Interface Generator)의 버그로 인해 발생했습니다.
Jira:RHEL-15001[1]
4.3. 쉘 및 명령행 툴
OpenCryptoki
버전 3.22.0에 기반
opencryptoki
패키지가 3.22.0 버전으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
-
CPACF
보호 키를 사용하여AES-XTS
키 유형에 대한 지원이 추가되었습니다. - 인증서 오브젝트 관리에 대한 지원이 추가되었습니다.
-
no-login
옵션을 사용하여 공개 세션에 대한 지원이 추가되었습니다. - SO(Security Officer)로 로그인 지원이 추가되었습니다.
-
Cryostat 및
Montgomery
키를 가져오고 내보낼수
있는 지원이 추가되었습니다. -
RSA-PSS
키와 인증서 가져오기에 대한 지원이 추가되었습니다. - 보안상의 이유로 AES-XTS 키의 두 가지 주요 부분은 동일하지 않아야 합니다. 이번 업데이트에서는 키 생성 및 가져오기 프로세스에 검사를 추가하여 이를 확인합니다.
- 다양한 버그 수정이 구현되어 있습니다.
Jira:RHEL-11413[1]
4.4. 인프라 서비스
chrony
버전 4.5로 업데이트
chrony
제품군이 버전 4.5로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
-
호스트 이름으로 지정된 NTP(Network Time Protocol) 소스의 IP 주소를 주기적으로 새로 고침합니다. 기본 간격은 2주이며
새로 고침 0
을chrony.conf
파일에 추가하여 비활성화할 수 있습니다. - 연결할 수 없는 NTP 소스의 자동 교체가 개선되었습니다.
-
chronyc
유틸리티의 중요한 변경 사항 로깅이 개선되었습니다. - 소스 선택 실패 및 falsetickers 로깅이 개선되었습니다.
-
최근 하드웨어 전송 타임스탬프에 대한 시간 초과를 구성하기 위해
hwtstimeout
지시문을 추가했습니다. - 하드웨어 타임스탬프를 사용하여 PTP의 정확성에 도달하기 위해 PTP(Precision Time Protocol) 투명 클럭에서 제공하는 수정 사항에 대한 실험적인 지원이 추가되었습니다.
-
presend
옵션을interleaved
모드에서 수정했습니다. -
sourcedir
디렉터리에서 IP 주소로 지정된 수정된 소스를 다시 로드합니다.
linuxptp
버전 4.2로 업데이트
linuxptp
프로토콜이 버전 4.2로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
-
phc2sys
유틸리티에서 여러 도메인에 대한 지원이 추가되었습니다. - 클럭 업데이트 및 PTP(Precision Time Protocol) 상위 데이터 세트(예: 클럭 클래스)의 변경 사항에 대한 알림 지원이 추가되었습니다.
- PTP Power Profile, 즉 IEEE C37.238-2011 및 IEEE C37.238-2017에 대한 지원이 추가되었습니다.
Jira:RHEL-21326[1]
4.5. 네트워킹
이제 firewalld
에서 불필요한 방화벽 규칙 플러시 방지
firewalld
서비스는 다음 두 조건이 모두 충족되면 iptables
구성에서 기존 규칙을 모두 제거하지 않습니다.
-
firewalld
는nftables
백엔드를 사용하고 있습니다. -
--direct
옵션을 사용하여 생성된 방화벽 규칙은 없습니다.
이 변경으로 불필요한 작업(firewall 규칙 플러시)을 줄이고 다른 소프트웨어와의 통합을 개선하는 것을 목표로 합니다.
ss
유틸리티는 TCP 경계 소켓에 가시성 향상 기능 추가
iproute2
제품군은 TCP/IP 네트워킹 트래픽을 제어하는 유틸리티 컬렉션을 제공합니다. TCP 바인딩된 소켓은 IP 주소와 포트 번호에 연결되지만 TCP 포트에서 연결되거나 수신 대기하지 않습니다. 소켓 서비스(ss
) 유틸리티는 커널에 대한 지원을 추가하여 TCP 경계 소켓을 덤프합니다. 다음 명령 옵션을 사용하여 해당 소켓을 볼 수 있습니다.
-
SS --all
: TCP 바인딩된 활성 소켓을 포함한 모든 소켓을 덤프 -
SS --bound-inactive
: 바인딩된 소켓만 덤프
Jira:RHEL-6113[1]
nispor
rebased to version 1.2.10
nispor
패키지가 업스트림 버전 1.2.10으로 업그레이드되어 이전 버전에 비해 몇 가지 개선 사항 및 버그 수정을 제공합니다.
-
네트워크 경로 및 인터페이스에서 커널 필터를 사용하도록
NetStateFilter
지원이 추가되었습니다. - SR-IOV(Single Root Input and Output Virtualization) 인터페이스는 (VF)당 SR-IOV VF(가상 기능) 정보를 쿼리할 수 있습니다.
-
새로 지원되는 본딩 옵션:
lacp_active
,arp_missed_max
,ns_ip6_target
.
4.6. 커널
RHEL 8.10의 커널 버전
Red Hat Enterprise Linux 8.10은 커널 버전 4.18.0-553과 함께 배포됩니다.
rtla
는 업스트림 커널
소스 코드의 버전 6.6으로 다시 기반
rtla
유틸리티가 최신 업스트림 버전으로 업그레이드되어 여러 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
기본
rtla
스레드와 별도로rtla
스레드에 대한 추가 제어 그룹을 지정하려면-C
옵션을 추가했습니다. -
하우스
키핑 옵션을 추가하여 하우스키핑 CPU에rtla
스레드를 배치하고 다른 CPU에 측정 스레드를 배치했습니다. -
사용자 공간의
timerlat
histtimerlat top
threads를 실행할 수 있도록 타이머lat 추적기에 지원이 추가되었습니다.
Jira:RHEL-10081[1]
rteval
이 업스트림 버전 3.7로 업그레이드됨
이번 업데이트를 통해 rteval
유틸리티가 업스트림 버전 3.7로 업그레이드되었습니다. 이번 업데이트에서 가장 중요한 기능은 isolcpus
커널 매개변수와 관련이 있습니다. 여기에는 rteval
의 측정 모듈에 isolcpus
메커니즘을 감지하고 사용하는 기능이 포함됩니다. 결과적으로 isolcpus
사용자는 rteval
을 사용하여 정확한 대기 시간 번호를 얻고 실시간 커널에서 측정된 대기 시간 결과를 얻을 수 있습니다.
Jira:RHEL-8967[1]
SGX가 이제 완전히 지원됨
SGX( Software Guard Extensions )는 소프트웨어 코드와 데이터를 공개 및 수정으로부터 보호하는 Intel® 기술입니다.
RHEL 커널은 SGX 버전 1 및 2 기능을 제공합니다. 버전 1은 유연한 시작 제어 메커니즘을 사용하는 플랫폼에서 SGX 기술을 사용할 수 있도록 합니다. 버전 2에는 Enclave Dynamic Memory Management (EDMM)가 추가되었습니다. 주요 기능은 다음과 같습니다.
- 초기화된 enclave에 속하는 일반 enclave 페이지의 EPCM 권한 수정.
- 초기화된 enclave에 일반 enclave 페이지의 동적 추가
- 더 많은 스레드를 수용하기 위해 초기화된 enclave를 확장합니다.
- 초기화된 enclave에서 일반 및 TCS 페이지 제거.
이번 릴리스에서는 SGX가 기술 프리뷰에서 완전히 지원되는 기능으로 이동합니다.
Bugzilla:2041881[1]
Intel 데이터 스트리밍 액셀러레이터 드라이버가 완전히 지원됨
Intel 데이터 스트리밍 액셀러레이터 드라이버(IDXD)는 Intel CPU 통합 액셀러레이터를 제공하는 커널 드라이버입니다. 여기에는 프로세스 주소 공간 ID(pasid
) 제출 및 공유 가상 메모리(SVM)가 있는 공유 작업 큐가 포함됩니다.
이번 릴리스에서는 IDXD가 기술 프리뷰에서 완전히 지원되는 기능으로 이동합니다.
Jira:RHEL-10097[1]
rteval
에서는 이제 기본 측정 CPU 목록에서 임의의 CPU 추가 및 제거를 지원합니다.
rteval
유틸리티를 사용하면 전체 새 목록을 지정하지 않고 --measurement-cpulist 매개변수를 사용할 때 --measurement-cpulist
매개변수를 사용할 때 기본 측정 CPU 목록에 (+ 기호를 사용하여) CPU를 추가(+ 기호 사용)할 수 있습니다. 또한 모든 분리된 CPU 세트를 기본 측정 CPU 목록에 추가하기 위해 --measurement-run-on-isolcpus
가 도입되었습니다. 이 옵션은 분리된 CPU에서 실행되는 실시간 애플리케이션의 가장 일반적인 사용 사례에 대해 설명합니다. 다른 사용 사례에는 더 일반적인 기능이 필요합니다. 예를 들어 일부 실시간 애플리케이션은 하우스키핑에 하나의 격리된 CPU를 사용했기 때문에 기본 측정 CPU 목록에서 제외해야 합니다. 결과적으로 이제 기본 측정 CPU 목록에서 임의의 CPU를 유연하게 추가할 수 있습니다. 제거는 추가보다 우선합니다. 이 규칙은 +/- 기호로 지정된 CPU와 --measurement-run-on-isolcpus
로 정의된 CPU 모두에 적용됩니다.
Jira:RHEL-21926[1]
4.7. 부트 로더
사전 부팅 단계에서 DEP/NX 지원
DEP(Data Execution Prevention), No Execute (NX) 또는 Execute Disable(XD)이라고 하는 메모리 보호 기능은 실행 불가능으로 표시된 코드 실행을 차단합니다. DEP/NX는 운영 체제 수준에서 RHEL에서 사용할 수 있습니다.
이번 릴리스에서는 GRUB 및 shim
부트 로더에 DEP/NX 지원이 추가되었습니다. 이렇게 하면 DEP/NX 보호 없이 특정 공격을 실행할 수 있는 악의적인 EFI 드라이버와 같이 사전 부팅 단계에서 특정 취약점을 방지할 수 있습니다.
Jira:RHEL-15856[1]
GRUB 및 shim에서 TD CryostatR 측정 지원
Intel® TDX(Intel® TDX)는 TD(신뢰 도메인)라는 하드웨어 격리 VM(가상 머신)을 배포하는 기밀 컴퓨팅 기술입니다.
TDX는 TD VM 게스트와 함께 VMI(Virtual Machine Extensions) 지침 및 MKTME(Multi-key Total Memory Encryption) 기능을 확장합니다. TD 게스트 VM에서 grub2
및 shim
과 같은 부트 체인의 모든 구성 요소는 이벤트 및 측정 해시를 RTMR(time measurement registers)에 로깅해야 합니다.
TD 게스트 런타임 측정은 인증 애플리케이션의 기반입니다. TD 게스트의 애플리케이션은 TD 측정에 의존하여 인증 서비스를 통해 중계 부분의 키와 같은 기밀 정보를 얻을 수 있는 신뢰할 수 있는 증명을 제공합니다.
이번 릴리스에서는 GRUB 및 shim
부트 로더가 TD 측정 프로토콜을 지원합니다.
Intel® TDX에 대한 자세한 내용은 Intel® Trust Domain Extensions 문서를 참조하십시오.
Jira:RHEL-15583[1]
4.8. 파일 시스템 및 스토리지
스토리지 RHEL 시스템 역할에서 공유 LVM 장치 관리 지원
RHEL 시스템 역할은 이제 공유 논리 볼륨 및 볼륨 그룹을 생성 및 관리할 수 있습니다.
multipathd
에서 NVMe 장치의 FPIN-Li 이벤트 감지 지원
이전에는 multipathd
명령이 SCSI 장치에서 Integrity Fabric Performance Impact Notification(PFIN-Li) 이벤트만 모니터링했습니다. multipathd
는 파이버 채널 패브릭에서 전송한 Link Integrity 이벤트를 수신하고 이를 사용하여 경로를 경계로 표시할 수 있습니다. 이 기능은 SCSI 장치의 다중 경로 장치에 대해서만 지원되었으며 multipathd
는 이 기능의 사용을 제한하여 NVMe(Non-volatile Memory Express) 장치 경로를 경계로 표시할 수 없었습니다.
이번 업데이트를 통해 multipathd
는 SCSI 및 NVMe 장치 모두에 대해 FPIN-Li 이벤트 감지를 지원합니다. 결과적으로 이제 다중 경로에서는 좋은 패브릭 연결 없이 경로를 사용하지 않고 다른 경로를 사용할 수 있습니다. 이는 이러한 상황에서 IO 지연을 방지하는 데 도움이 됩니다.
4.9. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
RHEL 8에서 Python 3.12 사용 가능
RHEL 8.10에는 새 패키지 python3.12
에서 제공하는 Python 3.12와 이를 위해 빌드된 패키지 모음과 ubi8/python-312
컨테이너 이미지가 도입되었습니다.
이전에 릴리스된 Python 3.11과 비교하여 주요 개선 사항은 다음과 같습니다.
-
Python은 일반 클래스 및 함수에 대한 새로운
type
문 및 새로운 type 매개 변수 구문을 도입합니다. - 포맷된 문자열 리터럴(f-문자열)은 문법으로 공식화되어 이제 구문 분석기에 직접 통합될 수 있습니다.
- Python은 이제 GIL(글로벌 인터프리터 잠금)을 통해 고유한 해석별 인터프리터 잠금을 제공합니다.
- 이제 Python 코드의 버퍼 프로토콜을 사용할 수 있습니다.
-
보안을 개선하기 위해 SHA1, SHA3, SHA2-384, SHA2-512 및 MD5 암호화 알고리즘의 내장
hashlib
구현은 HACL* 프로젝트에서 공식적으로 인증된 코드로 교체되었습니다. OpenSSL이 제공하지 않는 경우 기본 제공 구현은 폴백으로 계속 사용할 수 있습니다. -
CPython
의 사전, 목록 및 설정 이해는 이제 인라인으로 표시됩니다. 이로 인해 이해력 실행 속도가 크게 증가합니다. -
CPython
은 이제 Linuxperf
profiler를 지원합니다. -
CPython
은 이제 지원되는 플랫폼에서 스택 오버플로 보호 기능을 제공합니다.
python3.12
스택에서 패키지를 설치하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
# yum install python3.12 # yum install python3.12-pip
인터프리터를 실행하려면 다음을 사용합니다. 예를 들면 다음과 같습니다.
$ python3.12 $ python3.12 -m pip --help
자세한 내용은 Python 설치 및 사용을 참조하십시오.
Python 3.12 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
이메일 주소 구문 분석을 제어하는 Python의 새로운 환경 변수
CVE-2023-27043 을 완화하기 위해 이메일 주소의 더 엄격한 구문 분석을 Python 3에 도입하기 위한 이전 버전과 호환되지 않는 변경 사항이 추가되었습니다.
이번 업데이트에서는 새로운 PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING
환경 변수가 도입되었습니다. 이 변수를 true
로 설정하면 이전보다 덜 엄격한 구문 분석 동작이 전체 시스템의 기본값입니다.
export PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING=true
그러나 영향을 받는 함수에 대한 개별 호출은 여전히 더 엄격한 동작을 활성화할 수 있습니다.
다음 콘텐츠를 사용하여 /etc/python/email.cfg
구성 파일을 생성하여 동일한 결과를 얻을 수 있습니다.
[email_addr_parsing] PYTHON_EMAIL_DISABLE_STRICT_ADDR_PARSING = true
자세한 내용은 Knowledgebase 문서 Mitigation of CVE-2023-27043 introduce stricter parsing of email address in Python에서 참조하십시오.
Jira:RHELDOCS-17369[1]
새 모듈 스트림: ruby:3.3
RHEL 8.10에는 새로운 ruby:3.3
모듈 스트림에 Ruby 3.3.0이 도입되었습니다. 이 버전은 RHEL 8.7에서 배포된 Ruby 3.1
이상의 몇 가지 성능 개선, 버그 및 보안 수정, 새로운 기능을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
Ripper
대신 새로운Prism
parser를 사용할 수 있습니다.Prism
은 Ruby 언어의 이식 가능하고 오류 허용 및 유지 관리할 수 있는 재귀 descent 구문 분석기입니다. - Ruby just-in-time (JIT) 컴파일러 구현인 YJIT는 더 이상 실험적이지 않으며 주요 성능 향상을 제공합니다.
-
potential Regular Expression Denial of Service (ReDoS) 취약점의 영향을 줄이기 위해 clevis
p
일치 알고리즘이 개선되었습니다. - 새로운 실험 RJIT( pure-Ruby Cryostat) 컴파일러는 MJIT를 대체합니다. YJIT를 생산에서 사용하십시오.
- 이제 새로운 M:N 스레드 스케줄러를 사용할 수 있습니다.
기타 주요 변경 사항:
-
이제
Bison
.NET 대신Lrama
LALR 구문 분석기 생성기를 사용해야 합니다. - 더 이상 사용되지 않는 몇 가지 메서드 및 상수가 제거되었습니다.
-
Racc
gem은 기본 gem에서 번들 gem으로 승격되었습니다.
ruby:3.3
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install ruby:3.3
이전 ruby
모듈 스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
Ruby 3.3 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
Jira:RHEL-17090[1]
새로운 모듈 스트림: php:8.2
RHEL 8.10은 PHP 8.2를 추가하여 버전 8.0에 비해 여러 버그 수정 및 개선 사항을 제공합니다.
PHP 8.2
를 사용하면 다음을 수행할 수 있습니다.
- 열거 (Enums) 기능을 사용하여 가능한 값 중 하나로 제한되는 사용자 지정 유형을 정의합니다.
-
readonly
한정자를 사용하여 속성을 선언하여 초기화 후 속성 수정을 방지합니다. - 파이버, 풀 스택 및 인터럽트 가능한 기능을 사용합니다.
- readonly 클래스를 사용합니다.
- 여러 새로운 독립 실행형 유형을 선언합니다.
-
새로운
Random
확장을 사용합니다. - 특성에서 제약 조건을 정의합니다.
php:8.2
모듈 스트림을 설치하려면 다음 명령을 사용합니다.
# yum module install php:8.2
이전 php
스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
RHEL 8에서 PHP 사용법에 대한 자세한 내용은 PHP 스크립팅 언어 사용을 참조하십시오.
php
모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
Jira:RHEL-14705[1]
perl-DateTime-TimeZone
모듈의 name()
메서드는 이제 시간대 이름을 반환합니다.
perl-DateTime-TimeZone
모듈이 버전 2.62로 업데이트되어 name()
메서드에서 표준 시간대 별칭에서 기본 시간대 이름으로 반환되는 값을 변경했습니다.
자세한 내용 및 예제는 표준 시간대 이름 및 별칭과 관련된 perl-DateTime-TimeZone API의 지식베이스 문서 변경 을 참조하십시오.
새 모듈 스트림: nginx:1.24
nginx 1.24 웹 및 프록시 서버는 이제 nginx:1.24
모듈 스트림으로 사용할 수 있습니다. 이번 업데이트에서는 이전에 릴리스된 버전 1.22에 비해 여러 가지 버그 수정, 보안 수정, 새로운 기능 및 개선 사항을 제공합니다.
TLS(Transport Layer Security)와 관련된 새로운 기능 및 변경 사항:
-
ssl_session_cache
지시문에서 공유 메모리를 사용할 때 TLS 세션 티켓에 대해 암호화 키가 자동으로 순환됩니다. - 메모리 사용량은 SSL(Secure Sockets Layer) 프록시를 사용한 구성에 최적화되었습니다.
-
이제
resolver
지시문의ipv4=off
매개 변수를 사용하여 확인하는 동안 IPv4 주소 검색을 비활성화할 수 있습니다. -
Nginx는 이제 PROXY v2 TLV 프로토콜에 표시되는 TLV(Type-Length-Value) 필드의 값을 저장하는
$proxy_protocol_tlv_*
변수를 지원합니다. -
ngx_http_gzip_static_module
모듈은 이제 바이트 범위를 지원합니다.
기타 변경 사항:
- 이제 헤더 행이 내부 API에서 연결된 목록으로 표시됩니다.
-
Nginx는 이제
ngx_http_perl_module
의$r->header_in() 메서드와 $http_.. ,
_in()로 전달되는 동일한 이름의 헤더 문자열을 연결합니다.$sent_http_
r->header...
.. . . . . . . . . . . . . . . . . . . ngx_http_in() 메서드의 $$sent_trailer_...
,$upstream_http_...
및$upstream_trailer_...
변수가 있습니다. - 이제 수신 소켓의 프로토콜 매개 변수가 다시 정의되면 Nginx에 경고가 표시됩니다.
- 클라이언트에서 pipelining을 사용한 경우 Nginx는 이제 lingering으로 연결을 닫습니다.
-
예를 들어,
Critical
에서Informational
까지 다양한 SSL 오류의 로깅 수준이 감소되었습니다.
nginx:1.24
스트림을 설치하려면 다음을 사용합니다.
# yum module install nginx:1.24
이전 nginx
스트림에서 업그레이드하려면 이후 스트림으로 전환합니다.
자세한 내용은 NGINX 설정 및 구성을 참조하십시오.
nginx
모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 문서를 참조하십시오.
Jira:RHEL-14714[1]
새 모듈 스트림: mariadb:10.11
MariaDB 10.11은 이제 새 모듈 스트림 mariadb:10.11
로 사용할 수 있습니다. 이전에 사용 가능한 버전 10.5에 비해 주요 개선 사항은 다음과 같습니다.
-
새로운
sys_schema
기능 - Atomic Data Definition Language (DDL) 구문
-
새로운
GRANT.. TO PUBLIC
권한. -
ADMIN 권한만 별도로
읽습니다.SUPER
및 READ만 -
새
UUID
데이터베이스 데이터 유형입니다. - SSL(Secure Socket Layer) 프로토콜 버전 3을 지원하려면 MariaDB 서버에 SSL을 올바르게 구성해야 합니다.
-
natural_sort_key()
함수를 통해 자연 정렬 순서를 지원합니다. -
임의의 텍스트 형식을 위한 새로운
SFORMAT
함수입니다. - UTF-8 문자 집합 및 UCA-14 데이터 정렬을 변경합니다.
-
systemd
소켓 활성화 파일은/usr/share/
디렉토리에서 사용할 수 있습니다. 이는 업스트림과 달리 RHEL의 기본 구성의 일부가 아닙니다. -
MySQL
대신MariaDB
문자열이 포함된 오류 메시지입니다. - 중국어로 사용할 수 있는 오류 메시지입니다.
- 기본 logrotate 파일을 변경합니다.
-
MariaDB 및 MySQL 클라이언트의 경우 명령줄에 지정된 연결 속성(예:
--port=3306
)은 이제tcp
,소켓
,파이프
또는메모리
와 같은 클라이언트와 서버 간의 프로토콜 통신 유형을 강제 적용합니다.
MariaDB 10.11의 변경 사항에 대한 자세한 내용은 MariaDB 10.5와 MariaDB 10.11의 주요 차이점 을 참조하십시오.
MariaDB에 대한 자세한 내용은 MariaDB 사용을 참조하십시오.
mariadb:10.11
스트림을 설치하려면 다음을 사용합니다.
# yum module install mariadb:10.11
mariadb:10.5
모듈 스트림에서 업그레이드하려면 MariaDB 10.5 에서 MariaDB 10.11로 업그레이드 를 참조하십시오.
mariadb
모듈 스트림에 대한 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
새 모듈 스트림: postgresql:16
RHEL 8.10에는 버전 15에 비해 몇 가지 새로운 기능과 향상된 기능을 제공하는 PostgreSQL 16이 도입되었습니다.
주요 개선 사항은 다음과 같습니다.
- 향상된 대량 로드를 통해 성능이 향상됩니다.
-
libpq
라이브러리에서 연결 수준 로드 밸런싱을 지원합니다. 새로운load_balance_hosts
옵션을 사용하여 더 효율적인 로드 밸런싱을 수행할 수 있습니다. -
이제 사용자 지정 구성 파일을 생성하고
pg_hba.conf
및pg_ident.conf
파일에 포함할 수 있습니다. -
PostgreSQL은 이제
pg_hba.conf
파일의 데이터베이스 및 역할 항목에 일치하는 정규식을 지원합니다.
기타 변경 사항은 다음과 같습니다.
-
PostgreSQL은 더 이상
postmaster
바이너리와 함께 배포되지 않습니다. 제공된systemd
장치 파일(systemctl start postgres
명령)을 사용하여postgresql
서버를 시작하는 사용자는 이 변경의 영향을 받지 않습니다. 이전에postmaster
바이너리를 통해postgresql
서버를 직접 시작한 경우 대신postgres
바이너리를 사용해야 합니다. - PostgreSQL은 더 이상 패키지 내에서 PDF 형식으로 문서를 제공하지 않습니다. 대신 온라인 문서를 사용하십시오.
PostgreSQL 사용을 참조하십시오.
postgresql:16
스트림을 설치하려면 다음 명령을 사용합니다.
# yum module install postgresql:16
RHEL 8 내의 이전 postgresql
스트림에서 업그레이드하려면 이후 스트림으로 전환에 설명된 절차에 따라 RHEL 8 버전의 PostgreSQL으로 마이그레이션에 설명된 대로 PostgreSQL 데이터를 마이그레이션합니다.
postgresql
모듈 스트림의 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
Git 버전 2.43.0으로 업데이트
Git 버전 제어 시스템이 2.43.0 버전으로 업데이트되어 이전에 릴리스된 버전 2.39에 비해 버그 수정, 개선 사항 및 성능 향상을 제공합니다.
주요 개선 사항은 다음과 같습니다.
-
이제
git check-attr
명령과 함께 새--source
옵션을 사용하여 현재 작업 디렉터리 대신 제공된 트리 ish 오브젝트에서.gitattributes
파일을 읽을 수 있습니다. -
이제 Git에서
WWW-Authenticate
response-type 헤더에서 인증 정보 도우미로 정보를 전달할 수 있습니다. -
커밋이 비어 있는 경우
git format-patch
명령은 빈 파일을 생성하는 대신 커밋 헤더가 포함된 출력 파일을 작성합니다. -
이제
git mistake --contents= <file > < revision > -- < path
> 명령을 사용하여 <revision
>으로 이어지는 기록을 통해 <file
> 콘텐츠에서 시작하는 줄의 출처를 찾을 수 있습니다. -
이제
git log --format
명령에서%(decorate)
자리 표시자를 수락하여 추가 사용자 지정을 통해--decorate
옵션에서 제공하는 기능을 확장합니다.
Jira:RHEL-17103[1]
Git LFS 버전 3.4.1로 업데이트
Git Large File Storage(LFS) 확장이 버전 3.4.1로 업데이트되어 이전에 릴리스된 버전 3.2.0에 비해 버그 수정, 개선 사항 및 성능 향상을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
이제
git lfs push
명령에서 표준 입력에서 참조 및 오브젝트 ID를 읽을 수 있습니다. - Git LFS는 이제 Git에 의존하지 않고 대체 원격을 처리합니다.
-
Git LFS는 이제
WWW-Authenticate
response-type 헤더를 인증 정보 도우미로 지원합니다.
Jira:RHEL-17102[1]
Python 인터프리터의 성능 향상
RHEL 8에서 지원되는 모든 Python 버전은 업스트림의 기본값인 -O3
최적화 플래그를 사용하여 컴파일됩니다. 결과적으로 Python 애플리케이션 및 인터프리터 자체의 성능 향상을 확인할 수 있습니다.
변경 사항은 다음 권고의 릴리스에서 사용할 수 있습니다.
-
python3.12
- RHSA-2024:6961 -
python3.11
- RHSA-2024:6962 -
python3
- RHSA-2024:6975 -
python39
모듈 - RHSA-2024:5962
Jira:RHEL-49614[1], Jira:RHEL-49636, Jira:RHEL-49644, Jira:RHEL-49638
4.10. 컴파일러 및 개발 도구
elfutils
버전 0.190으로 업데이트
elfutils
패키지가 버전 0.190으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.
-
libelf
라이브러리에서 상대 재배치(RELR)를 지원합니다. -
libdw
라이브러리에서.debug_[ct]u_index
섹션을 인식합니다. -
eu-readelf
유틸리티는 이제 ELF 섹션을 사용하지 않고 동적 세그먼트를 통해 기호를 표시하는 새로운 -D
,--use-dynamic --symbol
옵션을 지원합니다. -
eu-readelf
유틸리티는 이제.gdb_index
버전 9를 표시할 수 있습니다. -
새로운
eu-scrlines
유틸리티는 지정된 DWARF 또는 ELF 파일과 관련된 소스 파일 목록을 컴파일합니다. -
파일 이름 표현에서 60% 압축에 대해
debuginfod
서버 스키마가 변경되었습니다(이를 다시 인덱싱해야 함).
Valgrind
가 3.22로 업데이트됨
valgrind
패키지가 3.22 버전으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.
-
Val
grind
memcheck
는 이제 C 함수memalign
,posix_memalign
,aligned_alloc
, C++17 정렬새
연산자에 지정된 값이 유효한 정렬 값인지 확인합니다. -
Valgrind
memcheck
는 이제 C++14 크기d 및 C++17에 대한 불일치 탐지를
지원합니다. -
DWARF 디버깅 정보에 대한 지연 읽기 지원이 추가되어
debuginfo
패키지가 설치될 때 더 빨리 시작됩니다.
Clang 리소스 디렉터리 이동
Clang이 내부 헤더 및 라이브러리를 저장하는 Clang 리소스 디렉터리가 /usr/lib64/clang/17
에서 /usr/lib/clang/17
로 이동되었습니다.
새 grafana-selinux
패키지
이전에는 grafana-server
의 기본 설치가 unconfined_service_t
SELinux 유형으로 실행되었습니다. 이번 업데이트에서는 grafana-server
에 대한 SELinux 정책이 포함되어 있고 기본적으로 grafana-server
를 사용하여 설치하는 새로운 grafana-selinux
패키지가 추가되었습니다. 그 결과 grafana-server
가 grafana_t
SELinux 유형으로 실행됩니다.
GCC Toolset 13 업데이트
GCC Toolset 13은 최신 버전의 개발 도구를 제공하는 컴파일러 툴셋입니다. AppStream 리포지토리에서 소프트웨어 컬렉션 형식으로 Application Stream으로 사용할 수 있습니다.
RHEL 8.10에 도입된 주요 변경 사항은 다음과 같습니다.
- GCC 컴파일러가 버전 13.2.1로 업데이트되어 업스트림 GCC에서 사용할 수 있는 많은 버그 수정 및 개선 사항을 제공합니다.
-
binutils
는-march=
znver5
컴파일러 스위치를 통해 znver5 코어를 기반으로 AMD CPU를 지원합니다. -
annobin
이 12.32 버전으로 업데이트되었습니다. -
GCC용
annobin
플러그인은 기본적으로 오브젝트 파일에 저장된 노트에 더 압축된 형식을 사용하므로 오브젝트 파일을 더 작고 더 빠른 링크 시간, 특히 대규모의 복잡한 프로그램에서 사용할 수 있습니다.
다음 툴 및 버전은 GCC Toolset 13에서 제공합니다.
툴 | 버전 |
---|---|
GCC | 13.2.1 |
GDB | 12.1 |
binutils | 2.40 |
dwz | 0.14 |
annobin | 12.32 |
GCC Toolset 13을 설치하려면 root로 다음 명령을 실행합니다.
# yum install gcc-toolset-13
GCC Toolset 13에서 툴을 실행하려면 다음을 수행합니다.
$ scl enable gcc-toolset-13 tool
GCC Toolset 13의 툴 버전이 다음 툴의 시스템 버전을 재정의하는 쉘 세션을 실행하려면 다음을 수행합니다.
$ scl enable gcc-toolset-13 bash
자세한 내용은 GCC Toolset 13 및 GCC Toolset 사용을 참조하십시오.
Jira:RHEL-25405[1]
LLVM Toolset이 17.0.6 버전으로 업데이트됨
LLVM Toolset이 17.0.6 버전으로 업데이트되었습니다.
주요 개선 사항은 다음과 같습니다.
- 이제 불투명 포인터 마이그레이션이 완료되었습니다.
- 중간 단위 최적화에서 레거시 통과 관리자에 대한 지원 삭제
Clang 변경 사항:
- C++20 coroutine은 더 이상 실험적인 것으로 간주되지 않습니다.
-
std::move
함수에 대한 코드 생성이 개선되었으며 최적화되지 않은 빌드에서 비슷합니다.
자세한 내용은 LLVM 및 Clang 업스트림 릴리스 노트를 참조하십시오.
rust Toolset 버전 1.75.0으로 업데이트됨
rust Toolset이 1.75.0 버전으로 업데이트되었습니다.
주요 개선 사항은 다음과 같습니다.
- 지속적인 평가 시간은 무제한입니다.
- Cleaner 패닉 메시지
- 레지스트리 인증
-
특성의
async fn
및 opaque 반환 유형
Go Toolset을 버전 1.21.0으로 업데이트
Go Toolset이 1.21.0 버전으로 업데이트되었습니다.
주요 개선 사항은 다음과 같습니다.
-
min
,max
및clear
built-ins가 추가되었습니다. - 프로필 가이드 최적화에 대한 공식 지원이 추가되었습니다.
- 이제 패키지 초기화 순서가 보다 정확하게 정의됩니다.
- 유형 유추가 향상되었습니다.
- 이전 버전과의 호환성 지원이 향상되었습니다.
자세한 내용은 Go 업스트림 릴리스 노트를 참조하십시오.
Jira:RHEL-11872[1]
Papi에서
새로운 프로세서 마이크로 아키텍처 지원
이번 개선된 기능을 통해 다음 프로세서 마이크로 아키텍처에서 papi
이벤트를 사전 설정하여 성능 모니터링 하드웨어에 액세스할 수 있습니다.
- AMD Cryostat 4
- 4th Generation Intel® Xeon® Scalable Processors
Jira:RHEL-9336[1], Jira:RHEL-9320, Jira:RHEL-9337
ant가 버전 1.10.9로 업데이트됨
ant:1.10
모듈 스트림이 버전 1.10.9로 업데이트되었습니다. 이 버전은 공급자 클래스 및 공급자 인수를 사용하여 코드 서명을 지원합니다.
업데이트된 ant:1.10
모듈 스트림은 ant
및 ant-lib
패키지만 제공합니다. Cryostat와 관련된 나머지 패키지는 지원되지 않는 CRB(CodeReady Linux Builder) 리포지토리의 javapackages-tools
모듈에 배포되며 업데이트되지 않았습니다.
업데이트된 ant:1.10
모듈 스트림의 패키지는 javapackages-tools
모듈의 패키지와 동시에 사용할 수 없습니다. Cryostat 관련 패키지 전체 세트를 사용하려면 ant:1.10
모듈을 제거한 후 비활성화한 후 CRB 리포지토리를 활성화하고 javapackages-tools
모듈을 설치해야 합니다.
새로운 패키지: maven-openjdk21
maven:3.8
모듈 스트림에는 OpenJDK 21에 대한 Maven JDK 바인딩을 제공하고 시스템 OpenJDK 21을 사용하도록 Maven을 구성하는 maven-openjdk21
하위 패키지가 포함됩니다.
Jira:RHEL-17126[1]
CMake
버전 3.26로 업데이트
cmake
패키지가 3.26 버전으로 업데이트되었습니다. 주요 개선사항은 다음과 같습니다.
- C17 및 C18 언어 표준에 대한 지원이 추가되었습니다.
-
CMake는 이제 운영 체제 식별 정보를 위해
수 있습니다./etc/os-release
파일을 쿼리할 -
CUDA 20 및
nvtx3
라이브러리에 대한 지원이 추가되었습니다. - Python 안정적인 애플리케이션 바이너리 인터페이스에 대한 지원이 추가되었습니다.
- SWIG(Simplified Wrapper and Interface Generator) 툴에 Perl 5에 대한 지원이 추가되었습니다.
4.11. IdM (Identity Management)
이제 ID 관리 사용자가 외부 ID 공급자를 사용하여 IdM에 인증할 수 있습니다.
이번 개선된 기능을 통해 OAuth 2 장치 권한 부여 흐름을 지원하는 외부 ID 공급자(IdP)와 IdM(Identity Management) 사용자를 연결할 수 있습니다. 이러한 IdP의 예로는 Red Hat build of Keycloak, Microsoft Entra ID (이전 Azure Active Directory), GitHub 및 Google이 있습니다.
IdP 참조 및 IdM에 연결된 IdP 사용자 ID가 있는 경우 IdM 사용자가 외부 IdP에서 인증할 수 있도록 해당 ID를 사용할 수 있습니다. 외부 IdP에서 인증 및 승인을 수행한 후 IdM 사용자는 Single Sign-On 기능이 있는 Kerberos 티켓을 받습니다. 사용자는 RHEL 8.7 이상에서 사용할 수 있는 SSSD 버전으로 인증해야 합니다.
Jira:RHELPLAN-123140[1]
IPA
버전 4.9.13으로 업데이트
ipa
패키지가 버전 4.9.12에서 4.9.13으로 업데이트되었습니다. 주요 변경 사항은 다음과 같습니다.
- IdM 복제본은 이제 Kerberos 인증뿐만 아니라 모든 IPA API 및 CA 요청에 대해서도 선택한 서버에 대해 설치됩니다.
-
인증서가 많은 경우
cert-find
명령의 성능이 크게 향상되었습니다. -
ansible-freeipa
패키지는 버전 1.11에서 1.12.1로 변경되었습니다.
자세한 내용은 업스트림 릴리스 노트 를 참조하십시오.
만료된 KCM Kerberos 티켓 삭제
이전에는 Kerberos Credential Manager(KCM)에 새 인증 정보를 추가하려고 시도했지만 이미 스토리지 공간 제한에 도달한 경우 새 인증 정보가 거부되었습니다. 사용자 스토리지 공간은 기본값이 64인 max_uid_ccaches
구성 옵션에 의해 제한됩니다. 이번 업데이트를 통해 스토리지 공간 제한에 도달한 경우 가장 오래된 만료된 인증 정보가 제거되고 새 인증 정보가 KCM에 추가됩니다. 만료된 인증 정보가 없으면 작업이 실패하고 오류가 반환됩니다. 이 문제를 방지하려면 kdestroy
명령을 사용하여 인증 정보를 제거하여 일부 공간을 확보할 수 있습니다.
로컬 사용자를 위한 bcrypt
암호 해시 알고리즘 지원
이번 업데이트를 통해 로컬 사용자에 대해 bcrypt
암호 해시 알고리즘을 활성화할 수 있습니다. bcrypt
해시 알고리즘으로 전환하려면 다음을 수행합니다.
-
pam_unix.so sha512
설정을 pam_unix.sofish
로 변경하여/etc/authselect/system-auth
및/etc/authselect/password-auth
파일을 편집합니다. 변경 사항을 적용합니다.
# authselect apply-changes
-
passwd
명령을 사용하여 사용자의 암호를 변경합니다. -
/etc/shadow
파일에서 해시 알고리즘이 이제bcrypt
암호 해시 알고리즘이 사용됨을 나타내는 $ 2
idp
Ansible 모듈을 사용하면 IdM 사용자를 외부 IdP와 연결할 수 있습니다.
이번 업데이트를 통해 idp
ansible-freeipa
모듈을 사용하여 OAuth 2 장치 권한 부여 흐름을 지원하는 IdM(Identity Management) 사용자를 외부 ID 공급자(IdP)와 연결할 수 있습니다. IdM에 IdP 참조 및 관련 IdP 사용자 ID가 있는 경우 이를 사용하여 IdM 사용자에 대한 IdP 인증을 활성화할 수 있습니다.
외부 IdP에서 인증 및 승인을 수행한 후 IdM 사용자는 Single Sign-On 기능이 있는 Kerberos 티켓을 받습니다. 사용자는 RHEL 8.7 이상에서 사용할 수 있는 SSSD 버전으로 인증해야 합니다.
IdM에서 idoverrideuser
,idoverridegroup
및 idview
Ansible 모듈 지원
이번 업데이트를 통해 ansible-freeipa
패키지에 다음 모듈이 포함됩니다.
idoverrideuser
- IdM(Identity Management) LDAP 서버에 저장된 사용자의 사용자 속성을 재정의할 수 있습니다(예: 사용자 로그인 이름, 홈 디렉터리, 인증서 또는 SSH 키).
idoverridegroup
- IdM LDAP 서버에 저장된 그룹의 특성(예: 그룹 이름, GID 또는 설명)을 재정의할 수 있습니다.
idview
- 사용자 및 그룹 ID 덮어쓰기를 구성하고 특정 IdM 호스트에 적용할 수 있습니다.
나중에 이러한 모듈을 사용하여 AD 사용자가 스마트 카드를 사용하여 IdM에 로그인할 수 있습니다.
ansible-freeipa
에서 활성화된 DNS 영역 관리 위임
이제 dnszone
ansible-freeipa
모듈을 사용하여 DNS 영역 관리를 위임할 수 있습니다. dnszone
모듈의 permission
또는 managedby
변수를 사용하여 영역별 액세스 위임 권한을 설정합니다.
ansible-freeipa
ipauser
및 ipagroup
모듈에서 새로운 이름이 변경된
상태를 지원
이번 업데이트를 통해 ansible-freeipa
ipauser
모듈에서 이름 변경 상태를 사용하여 기존 IdM 사용자의 사용자 이름을 변경할 수 있습니다.
ansible-freeipa
ipagroup
모듈에서 이 상태를 사용하여 기존 IdM 그룹의 그룹 이름을 변경할 수도 있습니다.
runasuser_group
매개변수를 ansible-freeipa
ipasudorule
에서 사용할 수 있습니다.
이번 업데이트를 통해 ansible-freeipa ipa
모듈을 사용하여 sudo 규칙에 대해 RunAs Users 그룹을 설정할 수 있습니다. 옵션은 이미 IdM(Identity Management) 명령줄 인터페이스 및 IdM 웹 UI에서 사용할 수 있습니다.
sudo
rule
389-DS-base
버전 1.4.3.39로 업데이트
389-ds-base
패키지가 버전 1.4.3.39로 업데이트되었습니다.
389-ds-base
패키지에서 HAProxy 프로토콜 지원
이전에는 Directory Server에서 프록시와 비 프록시 클라이언트 간의 들어오는 연결을 구분하지 않았습니다. 이번 업데이트를 통해 새로운 nsslapd-haproxy-trusted-ip
다중 값 구성 속성을 사용하여 신뢰할 수 있는 프록시 서버 목록을 구성할 수 있습니다. nsslapd-haproxy-trusted-ip
가 cn=config
항목에서 구성되면 Directory Server는 HAProxy 프로토콜을 사용하여 추가 TCP 헤더를 통해 클라이언트 IP 주소를 수신하여ACI(액세스 제어 지침)를 올바르게 평가하고 클라이언트 트래픽을 로깅할 수 있습니다.
신뢰할 수 없는 프록시 서버가 bind 요청을 시작하면 Directory Server는 요청을 거부하고 오류 로그 파일에 다음 메시지를 기록합니다.
[time_stamp] conn=5 op=-1 fd=64 Disconnect - Protocol error - Unknown Proxy - P4
Samba
버전 4.19.4로 업데이트
samba
패키지가 업스트림 버전 4.19.4로 업그레이드되어 이전 버전에 대한 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
smbget
유틸리티의 명령줄 옵션은 일관된 사용자 환경을 위해 이름이 변경 및 제거되었습니다. 그러나 유틸리티를 사용하는 기존 스크립트 또는 작업이 손상될 수 있습니다. 새 옵션에 대한 자세한 내용은smbget --help
명령 및smbget(1)
도움말 페이지를 참조하십시오. winbind debug traceid
옵션이 활성화된 경우winbind
서비스는 이제 다음 필드를 추가로 기록합니다.-
traceid
: 동일한 요청에 속하는 레코드를 추적합니다. -
깊이
: 요청 중첩 수준을 추적합니다.
-
- Samba는 더 이상 자체 암호화 구현을 사용하지 않으며 대신 GnuTLS 라이브러리에서 제공하는 암호화 기능을 완전히 사용합니다.
-
디렉터리 이름 캐시 크기
옵션이 제거되었습니다.
Samba 4.11 이후 서버 메시지 블록 버전 1(SMB1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
Samba를 시작하기 전에 데이터베이스 파일을 백업합니다. smbd
,nmbd
또는 winbind
서비스가 시작되면 Samba는 tdb
데이터베이스 파일을 자동으로 업데이트합니다. Red Hat은 tdb
데이터베이스 파일 다운그레이드를 지원하지 않습니다.
Samba를 업데이트한 후 testparm
유틸리티를 사용하여 /etc/samba/smb.conf
파일을 확인합니다.
Jira:RHEL-16483[1]
4.12. 웹 콘솔
RHEL 웹 콘솔에서 Ansible 및 쉘 스크립트를 생성할 수 있음
웹 콘솔에서 kdump
구성 페이지에서 자동화 스크립트에 쉽게 액세스하고 복사할 수 있습니다. 그런 다음 생성된 스크립트를 사용하여 여러 시스템에서 특정 kdump
구성을 구현할 수 있습니다.
Jira:RHELDOCS-17060[1]
스토리지 관리 단순화 및 스토리지의 파티션 크기 조정
웹 콘솔의 스토리지 섹션이 다시 설계되었습니다. 새로운 설계는 모든 관점에서 가시성을 개선했습니다. 개요 페이지는 이제 포괄적인 테이블에 모든 스토리지 개체를 표시하므로 작업을 직접 더 쉽게 수행할 수 있습니다. 임의의 행을 클릭하여 자세한 정보 및 보조 작업을 볼 수 있습니다. 또한 스토리지 섹션에서 파티션 크기를 조정할 수 있습니다.
Jira:RHELDOCS-17056[1]
4.13. Red Hat Enterprise Linux 시스템 역할
ad_integration
RHEL 시스템 역할에서 동적 DNS 업데이트 옵션 구성 지원
이번 업데이트를 통해 ad_integration
RHEL 시스템 역할은 AD(Active Directory)와 통합될 때 SSSD를 사용하여 동적 DNS 업데이트 옵션 구성을 지원합니다. 기본적으로 SSSD는 DNS 레코드를 자동으로 새로 고치려고 합니다.
- ID 공급자가 온라인 상태가 되면(항상).
- 지정된 간격(선택 사항 구성)에서 AD 공급자는 24시간마다 DNS 레코드를 업데이트합니다.
ad_integration
의 새 변수를 사용하여 이러한 및 기타 설정을 변경할 수 있습니다. 예를 들어 ad_dyndns_refresh_interval
을 172800
으로 설정하여 DNS 레코드 새로 고침 간격을 48시간으로 변경할 수 있습니다. 역할 변수에 대한 자세한 내용은 /usr/share/doc/rhel-system-roles/ad_integration/
디렉터리의 리소스를 참조하십시오.
Jira:RHELDOCS-17372[1]
RHEL 시스템 역할 메트릭
에서 PMIE Webhook 구성 지원
이번 업데이트를 통해 메트릭 RHEL 시스템 역할에 대한 metrics
webhook_endpoint PMIE 변수 _webhook_endpoint
변수를 사용하여 글로벌를
자동으로 구성할 수 있습니다. 이를 통해 중요한 성능 이벤트에 대한 메시지를 수신하는 환경에 사용자 정의 URL을 제공할 수 있으며 일반적으로 Event-Driven Ansible과 같은 외부 툴과 함께 사용됩니다.
부트로더
RHEL 시스템 역할
이번 업데이트에서는 부트로더
RHEL 시스템 역할이 도입되었습니다. 이 기능을 사용하여 RHEL 시스템에서 부트 로더 및 커널의 안정적이고 일관된 구성을 수행할 수 있습니다. 요구 사항, 역할 변수 및 예제 플레이북에 대한 자세한 내용은 /usr/share/doc/rhel-system-roles/bootloader/
디렉터리의 README 리소스를 참조하십시오.
로깅
역할은 출력 모듈에서 일반 대기열 및 일반 작업 매개변수를 지원합니다.
이전에는 로깅
역할을 사용하여 일반 대기열 매개변수 및 일반 작업 매개변수를 구성할 수 없었습니다. 이번 업데이트를 통해 로깅
RHEL 시스템 역할은 일반 대기열 매개변수 구성 및 출력 모듈에서 일반 작업 매개변수를 지원합니다.
새로운 ha_cluster
시스템 역할 기능 지원
ha_cluster
시스템 역할은 이제 다음 기능을 지원합니다.
-
dlm
또는gfs2
와 같은 탄력적 스토리지 패키지가 포함된 리포지토리 활성화 리포지토리에 액세스하려면 복구 스토리지 서브스크립션이 필요합니다. - 펜싱 수준을 구성하여 클러스터가 여러 장치를 사용하여 노드를 펜싱할 수 있습니다.
- 노드 속성 구성.
이러한 기능을 구현하기 위해 구성한 매개변수에 대한 자세한 내용은 ha_cluster RHEL 시스템 역할을 사용하여 고가용성 클러스터 구성을 참조하십시오.
Jira:RHEL-4624[1], Jira:RHEL-22108, Jira:RHEL-14090
fapolicyd
구성을 위한 새로운 RHEL 시스템 역할
새로운 fapolicyd
RHEL 시스템 역할을 사용하면 Ansible 플레이북을 사용하여 fapolicyd
프레임워크를 관리하고 구성할 수 있습니다. fapolicyd
소프트웨어 프레임워크는 사용자 정의 정책을 기반으로 애플리케이션 실행을 제어합니다.
네트워크
RHEL 시스템 역할에서 새 경로 유형 지원
이번 개선된 기능을 통해 이제 네트워크
RHEL 시스템 역할과 함께 다음 경로 유형을 사용할 수 있습니다.
-
blackhole
-
금지
-
연결할 수 없음
Jira:RHEL-21491[1]
표시 이름을 설정하기 위해 rhc
역할의 새로운 rhc_insights.display_name
옵션
이제 새로운 rhc_insights.display_name
매개변수를 사용하여 Red Hat Insights에 등록된 시스템의 표시 이름을 구성하거나 업데이트할 수 있습니다. 매개 변수를 사용하면 Insights 인벤토리에서 시스템을 쉽게 관리할 수 있도록 기본 설정에 따라 시스템의 이름을 지정할 수 있습니다. 시스템이 이미 Red Hat Insights에 연결되어 있는 경우 매개 변수를 사용하여 기존 표시 이름을 업데이트합니다. 등록 시 표시 이름이 명시적으로 설정되지 않은 경우 기본적으로 호스트 이름으로 설정됩니다. 표시 이름을 호스트 이름으로 자동 되돌릴 수는 없지만 수동으로 설정할 수 있습니다.
RHEL 시스템 역할에서 LVM 스냅샷 관리 지원
이번 개선된 기능을 통해 새 스냅샷 RHEL 시스템 역할을 사용하여 LVM 스냅샷
을 생성, 구성 및 관리할 수 있습니다.
postgresql
RHEL 시스템 역할에서 PostgreSQL 16 지원
PostgreSQL 서버를 설치, 구성, 관리 및 시작하는 postgresql
RHEL 시스템 역할은 이제 PostgreSQL 16을 지원합니다.
이 시스템 역할에 대한 자세한 내용은 postgresql RHEL 시스템 역할을 사용하여 PostgreSQL 설치 및 구성을 참조하십시오.
rhc
역할의 새로운 rhc_insights.ansible_host
옵션을 사용하여 Ansible 호스트 이름을 설정합니다.
이제 새 rhc_insights.ansible_host
매개변수를 사용하여 Red Hat Insights에 등록된 시스템의 Ansible 호스트 이름을 구성하거나 업데이트할 수 있습니다. 설정된 경우 매개 변수는 /etc/insights-client/insights-client.conf
파일의 ansible_host
구성을 선택한 Ansible 호스트 이름으로 변경합니다. 시스템이 이미 Red Hat Insights에 연결되어 있는 경우 이 매개변수는 기존 Ansible 호스트 이름을 업데이트합니다.
journald
시스템 역할에서 ForwardToSyslog
플래그가 지원됨
journald
RHEL 시스템 역할에서 journald_forward_to_syslog
변수는 수신된 메시지를 기존 syslog
데몬으로 전달해야 하는지 여부를 제어합니다. 이 변수의 기본값은 false
입니다. 이번 개선된 기능을 통해 인벤토리에서 journald_forward_to_syslog
를 true
로 설정하여 ForwardToSyslog
플래그를 구성할 수 있습니다. 결과적으로 Splunk와 같은 원격 로깅 시스템을 사용하는 경우 /var/log
파일에서 로그를 사용할 수 있습니다.
ratelimit_burst
변수는 ratelimit_interval
이 로깅
시스템 역할에 설정된 경우에만 사용됩니다.
이전 버전에서는 로깅
RHEL 시스템 역할에서 ratelimit_interval
변수가 설정되지 않은 경우 역할에서 ratelimit_burst
변수를 사용하여 rsyslog ratelimit.burst
설정을 설정했습니다. 그러나 ratelimit_interval
을 설정하는 데도 필요하기 때문에 효과가 없었습니다.
이번 개선된 기능을 통해 ratelimit_interval
이 설정되지 않은 경우 역할이 ratelimit.burst
를 설정하지 않습니다. ratelimit.burst
를 설정하려면 ratelimit_interval
및 ratelimit_burst
변수를 둘 다 설정해야 합니다.
로깅 시스템 역할에서 rsyslog_max_message_size
대신
매개변수 사용logging
_max_message_size
이전 버전에서는
매개변수가 지원되지 않았지만 로깅 RHEL 시스템 역할은 rsyslog_max_message_size
logging
_max_message_size 매개변수를 사용하는 대신 rsyslog _max_message_size
를 사용했습니다. 이번 개선된 기능을 통해 logging_max_message_size
가 사용되고 rsyslog_max_message_size
가 사용되지 않고 로그 메시지의 최대 크기를 설정할 수 있습니다.
ad_integration
RHEL 시스템 역할에서 사용자 지정 SSSD 설정 지원
이전에는 ad_integration
RHEL 시스템 역할을 사용할 때 역할을 사용하여 sssd.conf
파일의 [sssd]
섹션에 사용자 지정 설정을 추가할 수 없었습니다. 이번 개선된 기능을 통해 ad_integration
역할은 이제 sssd.conf
파일을 수정할 수 있으며 결과적으로 사용자 지정 SSSD 설정을 사용할 수 있습니다.
ad_integration
RHEL 시스템 역할에서 사용자 지정 SSSD 도메인 구성 설정 지원
이전에는 ad_integration
RHEL 시스템 역할을 사용할 때 역할을 사용하여 sssd.conf
파일의 도메인 구성 섹션에 사용자 지정 설정을 추가할 수 없었습니다. 이번 개선된 기능을 통해 ad_integration
역할은 이제 sssd.conf
파일을 수정할 수 있으며 결과적으로 사용자 지정 SSSD 설정을 사용할 수 있습니다.
로깅 RHEL 시스템 역할을 위한 새로운
변수logging
_preserve_fqdn
이전에는 로깅
시스템 역할을 사용하여 FQDN(정규화된 도메인 이름)을 구성할 수 없었습니다. 이번 업데이트에서는 syslog 항목의 짧은 이름 대신 전체 FQDN을 사용하도록 rsyslog
에서 preserveFQDN
구성 옵션을 설정하는 데 사용할 수 있는 선택적 logging_preserve_fqdn
변수를 추가합니다.
파일 시스템을 생성하지 않고 볼륨 생성 지원
이번 개선된 기능을 통해 fs_type=un formatted
옵션을 지정하여 파일 시스템을 생성하지 않고 새 볼륨을 생성할 수 있습니다.
마찬가지로 안전 모드를 비활성화하여 기존 파일 시스템을 동일한 접근 방식을 사용하여 제거할 수 있습니다.
rhc
시스템 역할에서 RHEL 7 시스템 지원
rhc
시스템 역할을 사용하여 RHEL 7 시스템을 관리할 수 있습니다. RHSM(Red Hat Subscription Management) 및 Insights에 RHEL 7 시스템을 등록하고 rhc
시스템 역할을 사용하여 시스템 관리를 시작합니다.
현재 RHEL 7에서 Insights 수정 기능을 사용할 수 없으므로 rhc_insights.remediation
매개변수를 사용하는 것은 RHEL 7 시스템에 영향을 미치지 않습니다.
new mssql_ha_prep_for_pacemaker
변수
이전에는 Cryo stat.sql.server
RHEL 시스템 역할에 Pacemaker에 대한 SQL Server 구성 여부를 제어하는 변수가 없었습니다. 이번 업데이트에서는 mssql_ha_prep_for_pacemaker
를 추가합니다. Pacemaker에 대한 시스템을 구성하지 않고 다른 HA 솔루션을 사용하려는 경우 변수를 false
로 설정합니다.
sshd
역할은 인증서 기반 SSH 인증을 구성합니다.
sshd
RHEL 시스템 역할을 사용하면 SSH 인증서를 사용하여 인증하도록 여러 SSH 서버를 구성하고 관리할 수 있습니다. 이렇게 하면 인증서가 신뢰할 수 있는 CA에서 서명하고 세분화된 액세스 제어, 만료 날짜 및 중앙 집중식 관리를 제공하므로 SSH 인증이 더 안전합니다.
SELinux
역할에서 비활성화 모드에서 SELinux 구성 지원
이번 업데이트를 통해 selinux
RHEL 시스템 역할은 SELinux가 비활성화된 노드에서 SELinux 포트, 파일 컨텍스트 및 부울 매핑 구성을 지원합니다. 이 기능은 시스템에서 SELinux를 허용 또는 강제 모드로 활성화하기 전에 구성 시나리오에 유용합니다.
이제 존재하지 않는 모듈을 지정할 때 SELinux 역할이 메시지를 출력합니다.
이번 릴리스에서는
변수에 존재하지 않는 모듈을 지정할 때 selinux RHEL 시스템 역할이 오류 메시지를 출력합니다.
selinux
_modules.path
4.14. 가상화
RHEL에서 가상 머신의 Multi-FD 마이그레이션 지원
이번 업데이트를 통해 가상 머신의 다중 파일 설명자(multi-FD) 마이그레이션이 지원됩니다. 다중 FD 마이그레이션은 여러 병렬 연결을 사용하여 가상 머신을 마이그레이션하므로 사용 가능한 모든 네트워크 대역폭을 활용하여 프로세스의 속도를 높일 수 있습니다.
고속 네트워크(20Gbps 이상)에서 이 기능을 사용하는 것이 좋습니다.
Jira:RHELDOCS-16970[1]
IBM Z의 보안 실행 VM에서 암호화 coprocessor 지원
이번 업데이트를 통해 IBM Z에서 IBM Secure Execution를 사용하여 VM(가상 머신)에 중재된 장치로 암호화 coprocessor를 할당할 수 있습니다.
보안 실행 VM에 암호화 coprocessor를 중재된 장치로 할당하면 VM의 보안을 손상시키지 않고 하드웨어 암호화를 사용할 수 있습니다.
Jira:RHEL-11597[1]
이제 웹 콘솔에서 SPICE를 VNC로 교체할 수 있습니다.
이번 업데이트를 통해 웹 콘솔을 사용하여 기존 VM(가상 머신)의 VNC 프로토콜로 SPICE 원격 디스플레이 프로토콜을 교체할 수 있습니다.
SPICE 프로토콜 지원은 RHEL 8에서 더 이상 사용되지 않으며 RHEL 9에서 제거되므로 SPICE 프로토콜을 사용하는 VM이 RHEL 9로 마이그레이션되지 않습니다. 그러나 RHEL 8 VM은 기본적으로 SPICE를 사용하므로 성공적으로 마이그레이션하려면 SPICE에서 VNC로 전환해야 합니다.
Jira:RHELDOCS-18289[1]
RHEL 웹 콘솔의 새로운 가상화 기능
이번 업데이트를 통해 RHEL 웹 콘솔에는 가상 머신 페이지에 새로운 기능이 포함되어 있습니다. 이제 다음을 수행할 수 있습니다.
-
VM(가상 머신) 생성 중에 SSH 공개 키를 추가합니다. 이 공개 키는 새로 생성된 VM에서 지정된 root가 아닌 사용자의
~/.ssh/authorized_keys
파일에 저장되며 지정된 사용자 계정에 대한 SSH 액세스를 제공합니다. -
새 스토리지 풀을 생성할 때
사전 포맷된 블록 장치
유형을 선택합니다. 이는 원시디스크 장치를 의도하지 않게 다시 포맷하는 것을 방지하기 때문에 물리적 디스크 장치
유형에 대한 보다 강력한 대안입니다.
이번 업데이트에서는 가상 머신 페이지의 기본 동작도 변경합니다.
-
이제
디스크 추가
대화 상자에서Always attach
옵션이 기본적으로 설정됩니다.
Jira:RHELDOCS-18323[1]
4.15. 클라우드 환경의 RHEL
생성된 구성 파일을 삭제하기 위한 새로운 cloud-init clean 옵션
cloud-init clean --configs
옵션이 cloud-init
유틸리티에 추가되었습니다. 이 옵션을 사용하여 인스턴스의 cloud-init
에서 생성한 불필요한 구성 파일을 삭제할 수 있습니다. 예를 들어 네트워크 설정을 정의하는 cloud-init
구성 파일을 삭제하려면 다음 명령을 사용합니다.
cloud-init clean --configs network
Jira:RHEL-7312[1]
EC2의 RHEL 인스턴스가 IPv6 IMDS 연결 지원
이번 업데이트를 통해 Amazon Elastic Cloud Compute(EC2)의 RHEL 8 및 9 인스턴스는 IPv6 프로토콜을 사용하여 IMDS(인스턴스 메타데이터 서비스)에 연결할 수 있습니다. 결과적으로 듀얼 스택 IPv4 및 IPv6 연결을 사용하여 EC2에서 cloud-init
를 사용하여 RHEL 인스턴스를 구성할 수 있습니다. 또한 IPv6 전용 서브넷에서 cloud-init
를 사용하여 RHEL의 EC2 인스턴스를 시작할 수 있습니다.
4.16. 컨테이너
컨테이너 툴 패키지가 업데이트됨
Podman, Buildah, Skopeo, crun, runc 툴이 포함된 업데이트된 컨테이너 툴 패키지를 사용할 수 있습니다. 이전 버전에 비해 주요 버그 수정 및 개선 사항은 다음과 같습니다.
Podman v4.9에서 주요 변경 사항:
-
podman --module <your_module_name
> 명령을 사용하고 시스템 및 사용자 구성 파일을 재정의하여 Podman을 사용하여 온디맨드로 모듈을 로드할 수 있습니다. -
create
,
set ,remove
하위 명령세트가
포함된 새로운Podman
명령이 추가되었습니다. 이러한 명령을 사용하면 다양한 아키텍처에서 podman을 실행하는 머신에 대한 빌드를 스플릿 아웃할 수 있습니다. -
Docker 구성과 같은 외부 구성 공급자를 사용하여 Compose 워크로드를 실행하는 새로운
podman-compose
명령이 추가되었습니다. -
podman build
명령에서--layer-label
및--cw
옵션을 지원합니다. -
podman generate systemd
명령은 더 이상 사용되지 않습니다. Quadlet을 사용하여systemd
에서 컨테이너 및 Pod를 실행합니다. -
이제
podman build
명령에서hereDoc 구문을 사용하여Containerfiles
를 지원합니다. -
podman machine init
및podman machine set
명령에서 새로운--usb
옵션을 지원합니다. QEMU 공급자에 대해 USB 패스스루를 허용하려면 이 옵션을 사용합니다. -
이제
podman kube play
명령에서 새--publish-all
옵션을 지원합니다. 이 옵션을 사용하여 호스트의 모든 containerPorts를 노출합니다.
주요 변경 사항에 대한 자세한 내용은 업스트림 릴리스 노트를 참조하십시오.
Jira:RHELPLAN-167794[1]
Podman에서 container .conf
모듈 지원
Podman 모듈을 사용하여 사전 정의된 구성 세트를 로드할 수 있습니다. Podman 모듈은 Tom의 Obvious Minimal Language (TOML) 형식의 containers.conf
파일입니다.
이러한 모듈은 다음 디렉터리 또는 하위 디렉터리에 있습니다.
-
rootless 사용자의 경우:
$HOME/.config/containers/containers.conf.modules
-
root 사용자의 경우:
/etc/containers/containers.conf.modules
또는/usr/share/containers/containers.conf.modules
podman --module <your_module_name> 명령을 사용하여 온디맨드 모듈을
로드하여 시스템 및 사용자 구성 파일을 덮어쓸 수 있습니다. 모듈 작업에는 다음과 같은 사실이 포함됩니다.
-
module
옵션을 사용하여 모듈을 여러 번 지정할 수 있습니다. -
&
lt;your_module_name
>이 절대 경로이면 구성 파일이 직접 로드됩니다. - 상대 경로는 이전에 언급한 세 개의 모듈 디렉터리에 따라 해결됩니다.
-
$HOME
의 모듈은/etc/
및/usr/share/
디렉터리의 모듈을 재정의합니다.
자세한 내용은 업스트림 설명서 를 참조하십시오.
Jira:RHELPLAN-167830[1]
Podman v4.9 RESTful API에서 진행 데이터를 표시
이번 개선된 기능을 통해 레지스트리에 이미지를 가져오거나 푸시할 때 Podman v4.9 RESTful API에서 진행 중인 데이터를 표시할 수 있습니다.
Jira:RHELPLAN-167822[1]
SQLite가 Podman의 기본 데이터베이스 백엔드로 완전히 지원됨
Podman v4.9를 사용하면 이전에 기술 프리뷰로 사용 가능한 Podman의 SQLite 데이터베이스 백엔드가 완전히 지원됩니다. SQLite 데이터베이스는 컨테이너 메타데이터로 작업할 때 더 나은 안정성, 성능 및 일관성을 제공합니다. SQLite 데이터베이스 백엔드는 RHEL 8.10의 새 설치를 위한 기본 백엔드입니다. 이전 RHEL 버전에서 업그레이드하는 경우 기본 백엔드는 BoltDB입니다.
containers.conf
파일에서 database_backend
옵션을 사용하여 데이터베이스 백엔드를 명시적으로 구성한 경우 Podman은 지정된 백엔드를 계속 사용합니다.
Jira:RHELPLAN-168179[1]
관리자는 nftables
를 사용하여 방화벽 규칙에 대한 격리를 설정할 수 있습니다.
iptables
를 설치하지 않은 시스템에서 Podman 컨테이너 네트워킹 스택인 Netavark를 사용할 수 있습니다. 이전에는 컨테이너 네트워킹 인터페이스(CNI) 네트워킹을 사용할 때 Netavark로 간주할 때 iptables
를 설치하지 않은 시스템에서 컨테이너 네트워킹을 설정할 수 없었습니다. 이번 개선된 기능을 통해 Netavark 네트워크 스택은 nftables
가 설치된 시스템에서만 작동하며 자동으로 생성된 방화벽 규칙을 격리할 수 있습니다.
Jira:RHELDOCS-16955[1]
Containerfile
에서 여러 줄 지침을 지원
Containerfile
파일에서 여러 줄hereDoc 명령( here Document notation)을 사용하여 이 파일을 단순화하고 여러 RUN
지시문을 수행하여 이미지 계층 수를 줄일 수 있습니다.
예를 들어 원래 Containerfile
에는 다음 RUN
지시문이 포함될 수 있습니다.
RUN dnf update RUN dnf -y install golang RUN dnf -y install java
여러 RUN 지시문 대신 hereDoc 표기법을 사용할 수 있습니다.
RUN <<EOF dnf update dnf -y install golang dnf -y install java EOF
Jira:RHELPLAN-168184[1]
Toolbx 사용 가능
Toolbx를 사용하면 기본 운영 체제에 영향을 주지 않고 개발 및 디버깅 도구, 편집기 및 소프트웨어 개발 키트(SDK)를 Toolbx 완전히 변경 가능한 컨테이너에 설치할 수 있습니다. Toolbx 컨테이너는 registry.access.redhat.com/ubi8.10/toolbox:latest
이미지를 기반으로 합니다.
Jira:RHELDOCS-16241[1]
5장. 사용 가능한 BPF 기능
이 장에서는 Red Hat Enterprise Linux 8의 이 마이너 버전의 커널에서 사용할 수 있는 BPF(Berkeley Packet Filter) 기능의 전체 목록을 제공합니다. 테이블에는 다음과 같은 목록이 포함됩니다.
이 장에서는 bpftool feature
명령의 자동 생성된 출력이 포함되어 있습니다.
옵션 | 현재의 |
---|---|
unprivileged_bpf_disabled | 1 (BPF() syscall은 권한있는 사용자로 제한, 복구없이) |
Cryostat 컴파일러 | 1 (활성화) |
Cryostat 컴파일러 강화 | 1 (권한 없는 사용자에 대해 사용 가능) |
Cryostat 컴파일러 kallsyms 내보내기 | 1 (root에 사용) |
권한이 없는 사용자의 메모리 제한 | 528482304 |
CONFIG_BPF | y |
CONFIG_BPF_SYSCALL | y |
CONFIG_HAVE_EBPF_JIT | y |
CONFIG_BPF_JIT | y |
CONFIG_BPF_JIT_ALWAYS_ON | y |
CONFIG_DEBUG_INFO_BTF | y |
CONFIG_DEBUG_INFO_BTF_MODULES | 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 | 사용 가능 |
대규모 프로그램 크기 제한 | 사용 가능 |
프로그램 유형 | 사용 가능한 도우미 |
---|---|
socket_filter | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_kb_load_bytes_relative, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_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_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
kprobe | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_event_read_value, bpf_override_total, bpf_get_stack, bpf_get_current_group_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user, bpf_probe_read_user bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snECDHE_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
sched_cls | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_kb_delete_elem bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_vlan_pop_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_redirect_key bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_skb_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_sk_lookup_tcp bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_c_sum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_to_tcp_timewaits, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat |
sched_act | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_kb_delete_elem bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_vlan_pop_pop, bpf_skb_get_tunnel_key, bpf_skb_set_tunnel_key, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_get_redirect_key bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_change_proto, bpf_skb_change_type, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_set_hash, bpf_skb_adjust_room, bpf_skb_get_xfrm_state, bpf_skb_load_bytes_relative, bpf_fib_lookup, bpf_skb_lookup bpf_skb_cgroup_id, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_sk_lookup_tcp bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_c_sum_level, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_to_tcp_timewaits, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat |
tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user, bpf_probe_read_user bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snECDHE_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
xdp | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_redirect, bpf_perf_event_output, bpf_csum_diff, bpf_get_current_task, bpf_get_numa_node_id, bpf_xdp_adjust_head, bpf_redirect_map, bpf_xdp_adjust_map, bpf_xdp_djust_meta, bpf_get_current_task bpf_xdp_adjust_tail, bpf_fib_lookup, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_spin_unlock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_tcp_gen_syncookie, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat |
perf_event | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_prog_read_value, bpf_get_get_stack, bpf_get_stack, bpf_probe_read_value bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch_records, bpf_get_ns_current_pid_tgid, bpf_get_get_current_ancestor_group, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_sn#159_f, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn 0.0.0.0 |
cgroup_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_kb_load_bytes_relative, bpf_skb_cgroup_id, bpf_get_local_storage, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_lookup_release, bpf_map_push_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_spin_unlock, bpf_sk_fullsock, bpf_tcp_sock, bpf_skb_ecn_set_ce, bpf_get_listener_sock, bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_str bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_reserve bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
cgroup_sock | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_get_current_pid_tgid, bpf_get_uid_gid, bpf_get_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_get_current_cgroup_id, bpf_get_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_probe_read_user, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_mit, bpf_ringbuf_discard, bpf_ringbuf_reserve bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
lwt_in | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_pust_elem bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_jiffies64, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_probe_read_user_str bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
lwt_out | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_get_cgroup_classid, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_elem, bpf_map_spin_lock, bpf_get_node_id, bpf_map_push_elem bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
lwt_xmit | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_kb_delete_elem bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_call, bpf_clone_redirect, bpf_get_cgroup_classid, bpf_skb_get_tunnel_key, bpf_skb_set_unnn_key, bpf_tail_csum_key, bpf_skb_set_key bpf_redirect, bpf_get_route_realm, bpf_perf_event_output, bpf_skb_load_bytes, bpf_csum_diff, bpf_skb_get_tunnel_opt, bpf_skb_set_tunnel_opt, bpf_skb_set_tunnel_opt bpf_skb_under_cgroup, bpf_get_hash_recalc, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_csum_update, bpf_set_hash_invalid, bpf_get_numa_node_id, bpf_skb_change_head, bpf_lwt_push_encap, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_map_ppin_lock, bpf_lwt_push_elem bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_csum_level, bpf_skc_to_tcp6_ock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
sock_ops | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_sock_map_update, bpf_getsockopt, bpf_getsockopt, bpf_getsockopt, bpf_getsockopt, bpf_getsock_link_set bpf_sock_hash_update, bpf_get_local_storage, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_tcp_sock, bpf_map_push_elem bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_user_str, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_kc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_load_hdr_opt, bpf_skc_to_tcp_sock bpf_store_hdr_opt, bpf_reserve_hdr_opt, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
sk_skb | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_kb_delete_elem bpf_tail_call, bpf_perf_event_output, bpf_skb_load_bytes, bpf_get_current_task, bpf_skb_change_tail, bpf_skb_pull_data, bpf_get_numa_node_id, bpf_skb_change_head, bpf_get_socket_cookie, bpf_get_socket_uid, bpf_sk_adjust_room, bpf_sk_redirect_map, bpf_sk_redirect_hash, bpf_sk_lookup_tcp, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_spin_unlock, bpf_sk_lookup_tcp, bpf_map_pop_elem bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_sock bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
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_event_output, bpf_get_get_current_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_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
sk_msg | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_get_current_pid_tgid, bpf_get_uid_gid, bpf_get_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_msg_redirect_map, bpf_get_cgroup_classid, bpf_get_current_task bpf_msg_apply_bytes, bpf_msg_cork_bytes, bpf_msg_pull_data, bpf_msg_redirect_hash, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_map_pop_elem, bpf_msg_redirect_data bpf_map_peek_elem, bpf_msg_push_data, bpf_msg_pop_data, bpf_spin_lock, bpf_spin_unlock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_current_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_probe_read_kernel_str bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
raw_tracepoint | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user, bpf_probe_read_user bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snECDHE_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
cgroup_sock_addr | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_get_current_pid_tgid, bpf_get_uid_gid, bpf_get_get_current_comm, bpf_get_cgroup_classid, bpf_perf_event_output, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_setsockopt, bpf_getsockopt, bpf_get_current_cgroup_id, bpf_get_local_storage, bpf_sk_lookup_tcp, bpf_sk_lookup_tcp, bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_skc_lookup_tcp, bpf_sk_storage_get, bpf_map_peek_elem bpf_sk_storage_delete, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
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_elem, bpf_map_spin_lock, bpf_get_node_id, bpf_map_push_elem bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
lirc_mode2 | 지원되지 않음 |
sk_reuseport | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_skb_load_bytes, bpf_get_current_task, bpf_get_numa_node_id, bpf_get_socket_cookie, bpf_skb_load_relative, bpf_sk_select_reuseport, bpf_map_push_em, bpf_map_pop_elem, bpf_map_peek_elem, bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_str, bpf_probe_read_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
flow_dissector | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_ktime_get_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call bpf_skb_load_bytes, bpf_get_current_task, bpf_get_get_node_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_elem, bpf_map_spin_lock, bpf_get_node_id, bpf_map_push_elem bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_skc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_skc_to_tcp_request_sock bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
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_event_output, bpf_get_get_current_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_spin_unlock, bpf_sysctl_get_name, bpf_sysctl_get_current_value, bpf_sysctl_get_value, bpf_sysctl_get_value, bpf_sysctl_get_value, bpf_sysctl_get_value bpf_sysctl_set_value, bpf_strtol, bpf_strtol, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_user_str, bpf_probe_kernel bpf_jiffies64, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query, bpf_ringbuf_query bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
raw_tracepoint_writable | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_tail_call, bpf_get_current_pid_tgid, bpf_get_current_current_gid, bpf_get_current_comm, bpf_perf_event_read, bpf_perf_event_output, bpf_get_stackid, bpf_get_stackid, bpf_get_current_task, bpf_current_task_under_cgroup, bpf_get_numa_node_id, bpf_probe_read_str, bpf_perf_read_value, bpf_get_get_stack, bpf_get_current_cgroup_id, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_send_signal, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user, bpf_probe_read_user bpf_probe_read_kernel_str, bpf_send_signal_thread, bpf_jiffies64, bpf_get_ns_current_tgid, bpf_get_current_ancestor_cgroup_id, bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_get_task_stack, bpf_snECDHE_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_get_current_task_btf, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
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_event_output, bpf_get_get_current_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_spin_unlock, bpf_tcp_sock, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_probe_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_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_sn Cryostat_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
tracing | 지원되지 않음 |
struct_ops | bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_recall, bpf_clone_redirect, bpf_get_current_pid_tid, bpf_get_current_uid_gid, bpf_get_current_uid_gid, bpf_get_current_comm, bpf_get_cgroup_classid, bpf_skb_vlan_push, bpf_skb_vlan_pop, bpf_skb_get_tunnel_key, bpf_skb_set_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_tunn_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_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_get_socket_uid, bpf_set_hash bpf_sk_redirect_map, bpf_sock_map_update, bpf_xdpdp_adjust_meta, bpf_perf_event_read_value, bpf_prog_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_xdpdp_adjust_tail, bpf_skb_get_xfrm_state, bpf_get_stack, bpf_skb_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_seg6_action, bpf_rc_repeat, bpf_rc_key, bpf_rc_key, bpf_skb_cgroup_id, bpf_get_cgroup_id, bpf_get_get_local_storage, bpf_sk_select_reuseport, bpf_skb_ancestor_cgroup_id, bpf_sk_lookup_tcp, bpf_sk_lookup_tcp bpf_sk_lookup_udp, bpf_sk_release, bpf_map_push_elem, bpf_map_pop_elem, bpf_map_peek_elem, bpf_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_get_listener_sock, bpf_skc_lookup_tcp, bpf_tcp_check_syncookie, bpf_sysctl_get_name, bpf_sysctl_get_current_value, bpf_sysctl_get_new_value, bpf_sysctl_set_new_value, bpf_strtol, bpf_sysctl_get_value bpf_strtoul, bpf_sk_storage_get, bpf_sk_storage_delete, bpf_send_signal, bpf_gen_gen_syncookie, bpf_skb_output, bpf_probe_read_user, bpf_probe_read_kernel, bpf_probe_read_user_str, bpf_probe_read_kernel_str, bpf_tcp_send_ack, bpf_send_signal_thread, bpf_jiffies64, bpf_read_branch_records, bpf_get_ns_current_pidtid, bpf_xdp_output, bpf_get_netns_cookie, bpf_get_current_ancestor_cgroup_id, bpf_sk_assign, bpf_ktime_get_boot_ns, bpf_seq_GROUP, bpf_seq_write, bpf_sk_cgroup_id, bpf_sk_ancestor_cgroup_id, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_discard, bpf_ringbuf_query, 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_ud6_sock, bpf_skc_to_tcp_sock bpf_get_task_stack, bpf_load_hdr_opt, bpf_store_hdr_opt, bpf_reserve_hdr_opt, bpf_inode_storage_get, bpf_inode_storage_delete, bpf_d_path, bpf_d_copy_from_user, bpf_sn Cryostat_btf, bpf_seq_ Cryostat_btf, bpf_skb_cgroup_classid, bpf_redirect_neigh, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_redirect_peer, bpf_redirect_peer bpf_task_storage_get, bpf_task_storage_delete, bpf_get_current_task_btf, bpf_bprm_opts_set, bpf_ktime_get_coarse_ns, bpf_ima_inode_hash, bpf_sock_from_from_file, bpf_check_mtu, bpf_for_each_map_elem, bpf_sn Cryostat, 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_map_peek_elem, bpf_map_peek_elem bpf_spin_lock, bpf_spin_unlock, bpf_probe_read_user, bpf_probe_read_kernel_str, bpf_probe_read_kernel_str, bpf_jiffies64, bpf_jiffies64, bpf_jiffies64, bpf_probe_read_user bpf_ktime_get_boot_ns, bpf_ringbuf_output, bpf_ringbuf_reserve, bpf_ringbuf_submit, bpf_ringbuf_discard, bpf_ringbuf_query, bpf_kc_to_tcp6_sock, bpf_skc_to_tcp_sock, bpf_skc_to_tcp_timewait_sock, bpf_skc_to_tcp_request_sock, bpf_skc_to_udp6_sock, bpf_sn#159_btf, bpf_per_cpu_ptr, bpf_this_cpu_ptr, bpf_ktime_get_coarse_ns, bpf_for_each_map_elem, bpf_sn Cryostat |
맵 유형 | Available |
---|---|
hash | 제공됨 |
array | 제공됨 |
prog_array | 제공됨 |
perf_event_array | 제공됨 |
percpu_hash | 제공됨 |
percpu_array | 제공됨 |
stack_trace | 제공됨 |
cgroup_array | 제공됨 |
lru_hash | 제공됨 |
lru_percpu_hash | 제공됨 |
lpm_trie | 제공됨 |
array_of_maps | 제공됨 |
hash_of_maps | 제공됨 |
devmap | 제공됨 |
sockmap | 제공됨 |
cpumap | 제공됨 |
xskmap | 제공됨 |
sockhash | 제공됨 |
cgroup_storage | 제공됨 |
reuseport_sockarray | 제공됨 |
percpu_cgroup_storage | 제공됨 |
대기열 | 제공됨 |
stack | 제공됨 |
sk_storage | 제공됨 |
devmap_hash | 제공됨 |
struct_ops | 제공되지 않음 |
ringbuf | 제공됨 |
inode_storage | 제공됨 |
task_storage | 제공되지 않음 |
6장. 버그 수정
이 부분에서는 사용자에게 상당한 영향을 미치는 Red Hat Enterprise Linux 8.10에서 수정된 버그에 대해 설명합니다.
6.1. 설치 프로그램 및 이미지 생성
이제 설치 프로그램에서 Kickstart 파일에서 추가 시간대 정의 허용
Anaconda는 시간대 선택을 검증하는 다른 더 제한적인 방법으로 전환되었습니다. 이로 인해 일본과 같은 일부 시간대 정의가 이전 버전에서 수락되어도 더 이상 유효하지 않습니다. 이러한 정의가 포함된 기존 Kickstart 파일을 업데이트해야 했습니다. 그렇지 않으면 Americas/New_York 시간대
가 기본값으로 설정됩니다.
유효한 시간대 목록은 이전에 pytz
.common_timezones의 pytz.common_timezones
에서 가져온 것입니다. 이번 업데이트에서는 common_timezones
목록의 상위 세트인 pytz.all_timezones
를 사용하도록 시간대
Kickstart 명령의 유효성 검사 설정을 변경하고 훨씬 더 많은 시간대를 지정할 수 있습니다. 이러한 변경으로 인해 Red Hat Enterprise Linux 6에 대해 만든 이전 Kickstart 파일은 여전히 유효한 시간대를 지정할 수 있습니다.
참고: 이 변경은 timezone
Kickstart 명령에만 적용됩니다. 그래픽 및 텍스트 기반 대화형 인터페이스에서 시간대 선택 시간은 변경되지 않습니다. 유효한 시간대를 선택할 수 있는 Red Hat Enterprise Linux 8용 기존 Kickstart 파일에는 업데이트가 필요하지 않습니다.
Jira:RHEL-13151[1]
6.2. 보안
ip vrf
를 사용하여 가상 라우팅을 관리하는 규칙이 SELinux 정책에 추가됩니다.
ip vrf
명령을 사용하여 다른 네트워크 서비스의 가상 라우팅을 관리할 수 있습니다. 이전에는 selinux-policy
에 이 사용을 지원하는 규칙이 포함되어 있지 않았습니다. 이번 업데이트를 통해 SELinux 정책 규칙을 사용하면 ip
도메인에서 httpd
,sshd
, named
도메인으로 명시적으로 전환할 수 있습니다. 이러한 전환은 ip
명령에서 setexeccon
라이브러리 호출을 사용하는 경우 적용됩니다.
Jira:RHEL-9981[1]
SELinux 정책을 사용하면 staff_r
제한된 사용자가 sudo crontab
을 실행할 수 있습니다.
이전에는 SELinux 정책에 제한된 사용자가 sudo crontab
명령을 실행할 수 있는 규칙이 없었습니다. 결과적으로 staff_r
역할의 제한된 사용자는 sudo crontab
을 사용하여 다른 사용자의 crontab
일정을 편집할 수 없었습니다. 이번 업데이트에서는 정책에 규칙이 추가되어 staff_r
사용자는 sudo crontab
을 사용하여 다른 사용자의 crontab
스케줄을 편집할 수 있습니다.
SELinux 정책에는 추가 서비스 및 애플리케이션에 대한 규칙이 포함되어 있습니다.
이 버전의 selinux-policy
패키지에는 추가 규칙이 포함되어 있습니다. 특히 sysadm_r
역할의 사용자는 다음 명령을 입력할 수 있습니다.
-
sudo traceroute
-
sudo tcpdump
-
sudo dnf
Jira:RHEL-15398, Jira:RHEL-1679, Jira:RHEL-9947
unconfined_login
이 off
로 설정된 경우 SELinux 정책에서 제한되지 않은 사용자에 대한 SSH 로그인을 거부합니다.
이전에는 unconfined_login
부울이 off
로 설정된 경우 SELinux 정책에 제한되지 않은 사용자를 거부하는 규칙이 없었습니다. 결과적으로 unconfined_login
을 off
로 설정하면 사용자가 SSHD를 제한되지 않은 도메인으로 사용하여 로그인할 수 있었습니다. 이번 업데이트에서는 SELinux 정책에 규칙이 추가되어 unconfined_login
이 꺼지면
사용자가 sshd
를 통해 unconfined로 로그인할 수 없습니다.
SELinux 정책으로 rsyslogd
가 제한된 명령을 입력할 수 있음
이전에는 SELinux 정책에 rsyslogd
데몬이 systemctl
과 같은 SELinux 제한 명령을 입력할 수 있는 규칙이 누락되었습니다. 결과적으로 omprog
지시문의 인수로 명령이 실행되지 않았습니다. 이번 업데이트에서는 SELinux 정책에 규칙을 추가하여 omprog
의 인수로 실행되는 /usr/libexec/rsyslog
디렉터리의 실행 파일이 syslogd_unconfined_script_t
unconfined 도메인에 있습니다. 결과적으로 omprog
finish 인수로 명령이 성공적으로 실행됩니다.
대규모 SSHD 구성 파일이 더 이상 로그인을 방지하지 않음
이전에는 SSHD 구성 파일이 256KB보다 크면 시스템에 로그인할 때 오류가 발생했습니다. 그 결과 원격 시스템에 연결할 수 없었습니다. 이번 업데이트에서는 파일 크기 제한이 제거되므로 사용자가 SSHD 구성 파일이 256KB보다 큰 경우 시스템에 로그인할 수 있습니다.
6.3. 소프트웨어 관리
yum needs-restarting --reboothint
명령을 사용하여 CPU 마이크로 코드를 업데이트할 것을 권장합니다.
CPU 마이크로 코드를 완전히 업데이트하려면 시스템을 재부팅해야 합니다. 이전 버전에서는 업데이트된 CPU 마이크로 코드가 포함된 microcode_ctl
패키지를 설치할 때 yum needs-restarting --reboothint
명령이 재부팅을 권장하지 않았습니다. 이번 업데이트를 통해 문제가 해결되었으며 yum needs-restarting --reboothint
를 사용하여 CPU 마이크로 코드를 업데이트할 것을 권장합니다.
systemd
에서 librepo
에서 생성한 /run/user/0
디렉토리를 올바르게 관리합니다.
이전에는 root에 로그인하기 전에 Insights 클라이언트에서 librepo
함수를 호출한 경우 잘못된 SELinux 컨텍스트 유형으로 /run/user/0
디렉터리를 생성할 수 있었습니다. 이로 인해 root에서 로그아웃한 후 systemd
가 디렉토리를 정리하지 못했습니다.
이번 업데이트를 통해 librepo
패키지는 이제 SELinux 정책에 정의된 기본 파일 시스템 레이블 지정 규칙에 따라 기본 생성 유형을 설정합니다. 결과적으로 systemd
는 이제 librepo
에서 생성된 /run/user/0
디렉터리를 올바르게 관리합니다.
systemd
에서 libdnf
에서 생성한 /run/user/0
디렉토리를 올바르게 관리
이전 버전에서는 root에 로그인하기 전에 libdnf
함수가 Insights 클라이언트에서 호출된 경우 잘못된 SELinux 컨텍스트 유형으로 /run/user/0
디렉터리를 생성할 수 있었습니다. 이로 인해 root에서 로그아웃한 후 systemd
가 디렉토리를 정리하지 못했습니다.
이번 업데이트를 통해 libdnf
패키지는 이제 SELinux 정책에 정의된 기본 파일 시스템 레이블 지정 규칙에 따라 기본 생성 유형을 설정합니다. 결과적으로 systemd
는 이제 libdnf
에서 생성한 /run/user/0
디렉터리를 올바르게 관리합니다.
6.4. 쉘 및 명령행 툴
Rear는 BIOS와 UEFI 부트 로더가 모두 설치되어있는 경우 BIOS 부트 로더의 존재를 결정합니다.
이전에는 하이브리드 부트 로더 설정(UEFI 및 BIOS)에서 UEFI를 사용하여 부팅 시 Relax-and-Recover (ReaR)는 BIOS 부트 로더가 아닌 UEFI 부트 로더만 복원했습니다. 이로 인해 BIOS 부팅 파티션인 GUID 파티션 테이블
(GPT)이 있지만 BIOS 부트 로더가 아닌 시스템이 생성되었습니다. 이 경우 ReaR은 복구 이미지를 생성하지 못했습니다. rear mkbackup
또는 rear mkrescue
명령을 사용하여 백업 또는 복구 이미지를 생성하려고 하면 다음 오류 메시지와 함께 실패합니다.
ERROR: Cannot autodetect what is used as boot loader, see default.conf about 'BOOTLOADER'.
이번 업데이트를 통해 ReaR은 UEFI 및 BIOS 부트 로더의 존재를 확인하고 복원한 후 GPT
의 BIOS 부팅 파티션이 있는 시스템의 BIOS 부트 로더가 없으면 실패하지 않습니다. 결과적으로 하이브리드 UEFI 및 BIOS 부트 로더 설정이 있는 시스템을 여러 번 백업 및 복구할 수 있습니다.
Jira:RHEL-24729[1]
Rear는 더 이상 복구 중에 logbsize
,sunit
및 swidth
마운트 옵션을 사용하지 않음
이전 버전에서는 MKFS_XFS_OPTIONS
설정 설정을 사용하여 원래 파일과 다른 매개변수로 XFS
파일 시스템을 복원할 때 Relax-and-Recover(ReaR)는 원래 파일 시스템에 적용 가능한 마운트 옵션으로 이 파일 시스템을 마운트했습니다. 그러나 복원된 파일 시스템에는 적용되지 않습니다. 그 결과 ReaR이 마운트
명령을 실행한 경우 다음과 같은 오류 메시지와 함께 디스크 레이아웃 재생성이 실패했습니다.
wrong fs type, bad option, bad superblock on and missing codepage or helper program, or other error.
커널 로그는 다음 메시지 중 하나를 표시합니다.
logbuf size must be greater than or equal to log stripe size
alignment check failed: sunit/swidth vs. agsize
이번 업데이트를 통해 ReaR은 XFS
파일 시스템을 다시 마운트할 때 logbsize
,sunit
및 swidth
마운트 옵션을 사용하지 않습니다. 결과적으로 MKFS_XFS_OPTIONS
구성 설정을 사용하면 디스크 레이아웃 재생성이 성공합니다.
Jira:RHEL-17354[1]
씬 풀 메타데이터 크기가 작은 시스템에서 복구가 더 이상 실패하지 않음
이전에는 씬 풀이 있는 LVM 볼륨 그룹의 레이아웃을 저장할 때 ReaR에서 풀 메타데이터 볼륨의 크기를 저장하지 않았습니다. 복구 중에 ReaR은 시스템이 기본이 아닌 풀 메타데이터 크기를 사용한 경우에도 기본 크기로 풀을 다시 생성합니다.
결과적으로 원래 풀 메타데이터 크기가 기본 크기보다 작고 볼륨 그룹에서 사용 가능한 공간을 사용할 수 없는 경우 다음 예와 유사한 로그의 메시지와 함께 시스템 복구 중 레이아웃 재생성에 실패했습니다.
Insufficient free space: 230210 extents needed, but only 230026 available
또는
Volume group "vg" has insufficient free space (16219 extents): 16226 required.
이번 업데이트를 통해 복구된 시스템에는 원래 시스템과 동일한 크기의 메타데이터 볼륨이 있습니다. 결과적으로 작은 씬 풀 메타데이터가 있고 볼륨 그룹에서 사용 가능한 추가 공간이 없는 시스템 복구가 성공적으로 완료됩니다.
Jira:RHEL-17353[1]
pkla-compact
바이너리는 polkit이 logind-session-monitor
이벤트에서 호출될 때 실행됩니다.
이전에는 모든 사용자에 대해 logind-session-monitor
이벤트에 의해 polkit 작업에 대한 권한 부여를 다시 확인했습니다. 각 CheckAuthorization
요청은 polkit-pkla-compat
바이너리를 실행하여 시스템에 이러한 파일이 없는 경우에도 레거시 .pkla
구성 파일을 확인합니다. 이로 인해 polkit 데몬에 의해 CPU 사용량이 증가합니다.
현재 polkit 작업과 관련된 logind-session
변경 사항만 관찰됩니다. 세션 상태가 변경되면 polkit 오브젝트는 세션 트리거 재확인(CheckAuthorization
)과 연관됩니다. 성공적으로 업데이트하려면 gnome-shell을 다시 시작(로그인 화면으로 로그아웃한 후 다시 로그인
또는 재부팅
)해야 합니다.
polkit-pkla-compat
바이너리는 이제 소프트 종속성입니다. 결과적으로 /etc/polkit-1/localauthority , /etc/polkit-1/localauthority
.conf.d ,
파일이 없는 경우에만 /var/lib/polkit-1/localauthority
및 개별 하위 디렉터리에 있는 .
pklapolkit-pkla-compat
바이너리를 제거하여 CPU의 성능을 줄일 수 있습니다.
Jira:RHEL-34022[1]
6.5. 커널
버전 8.0.4에 충돌
기반
크래시
유틸리티는 여러 버그 수정을 제공하는 버전 8.0.4로 업그레이드되었습니다. 주요 수정 사항은 다음과 같습니다.
- 커널 패닉 중에 일시 중지되지 않은 CPU가 중지되지 않은 경우 세그먼트 오류가 수정되었습니다.
-
panic_on_oops
커널 매개변수가 비활성화되었을 때 커널이 패닉되지 않도록하는 심각한 오류가 수정되었습니다. -
CONFIG_SLAB_FREELIST_HARDENED=y
구성 옵션으로 컴파일된 커널의 해시 목록 포인터를 수정했습니다. 커널 모듈 메모리 레이아웃 용어의 변경으로
module_layout
을module_memory
로 교체하여크래시
유틸리티의 메모리 관련 측면을 보다 잘 나타냅니다. 이 변경 이전에는크래시
유틸리티에서 세션을 시작할 수 없어 다음과 같은 오류 메시지를 반환했습니다.crash: invalid structure member offset: module_core_size FILE: kernel.c LINE: 3787 FUNCTION: module_init()
필요한 경우 tuna
시작 GUI
이전에는 하위 명령 없이 tuna
유틸리티를 실행한 경우 GUI가 시작됩니다. 이 동작은 디스플레이가 있는 경우 바람직합니다. 반대의 경우 디스플레이가 없는 시스템의 tuna
가 정상적으로 종료되지 않습니다. 이번 업데이트를 통해 tuna
는 디스플레이가 있는지 여부를 감지하고 GUI가 그에 따라 시작되거나 시작되지 않습니다.
Jira:RHEL-19179[1]
6.6. 파일 시스템 및 스토리지
이제 multipathd에서 장치가 I/O를 잘못 대기하고 있는지 확인합니다.
이전에는 다음 조건에서 다중 경로 장치가 실패하도록 구성된 경우에도 I/O 대기열을 다시 시작했습니다.
-
multipath 장치는
queue_if_no_paths
매개변수를 여러 재시도로 설정하여 구성되었습니다. - 경로 장치가 작동하지 않고 I/O를 대기열에 추가하지 않은 다중 경로 장치에서 제거되었습니다.
이번 업데이트를 통해 이 문제가 해결되었습니다. 결과적으로 대기열이 비활성화되고 사용 가능한 경로가 없는 동안 다중 경로 장치가 더 이상 I/O를 다시 시작하지 않습니다.
Jira:RHEL-16563[1]
no_read_workqueue
,no_write_workqueue
, dm-crypt
및 dm-verity
장치의 try_verify_in_taskle
옵션이 일시적으로 비활성화되어 있습니다.
이전에는 try_verify_in_tasklet
옵션을 사용하여 생성된 no_read_workqueue
옵션과 no_write_workqueue
옵션과 dm-verity
장치를 사용하여 생성된 dm-crypt
장치로 인해 메모리 손상이 발생했습니다. 그 결과 임의의 커널 메모리가 손상되어 시스템 문제가 발생했습니다. 이번 업데이트를 통해 이러한 옵션은 일시적으로 비활성화됩니다. 이 수정으로 인해 dm-verity
및 dm-crypt
가 일부 워크로드에서 더 느려질 수 있습니다.
Jira:RHEL-22232[1]
6.7. 고가용성 및 클러스터
복제 및 번들 리소스 이동 및 금지 문제 해결
이 버그 수정에서는 번들 및 복제 리소스의 두 가지 제한 사항을 해결합니다.
-
사용자가 번들에서 번들로 이동하거나 번들에서 실행되지 않도록 하려는 경우
pcs
에서 제약 조건을 생성했지만 제약 조건은 적용되지 않았습니다. 이로 인해 오류 메시지와 함께 이동이 실패했습니다. 이번 수정으로pcs
는 번들에서 번들 리소스를 이동 및 금지하고 번들 리소스를 번들에서 이동할 수 없다는 오류 메시지를 출력합니다. -
사용자가 번들 또는 복제 리소스를 이동하려고 하면 해당 번들 또는 복제 리소스를 이동할 수 없다는 오류 메시지와 함께
pcs
가 종료되었습니다. 이번 수정에서는 이동 명령의 유효성 검사를 완화합니다. 이제 복제 및 번들 리소스를 이동할 수 있습니다. 복제 리소스를 이동할 때 복제의 인스턴스가 두 개 이상인 경우 대상 노드를 지정해야 합니다. 하나의 복제 번들만 이동할 수 있습니다.
pcs status
명령의 출력에 만료된 제약 조건에 대한 경고가 더 이상 표시되지 않음
이전 버전에서는 클러스터 리소스를 이동할 때 임시 위치 제약 조건이 생성되면 제약 조건이 만료된 후에도 pcs status
명령으로 경고가 표시되었습니다. 이번 수정으로 pcs status
명령은 만료된 제약 조건을 필터링하고 더 이상 명령 출력에 경고 메시지를 생성하지 않습니다.
SBD 펜싱에 필요한 경우 auto_tie_breaker
쿼럼 옵션을 비활성화해도 더 이상 허용되지 않음
이전에는 pcs
에서 SBD 펜싱이 제대로 작동하려면 클러스터 구성에 이 옵션이 필요한 경우에도 사용자가 auto_tie_breaker
쿼럼 옵션을 비활성화할 수 있었습니다. 이번 수정을 통해 SBD 펜싱을 사용하려면 사용자가 auto_tie_breaker
옵션을 활성화해야 하는 시스템에서 auto_tie_breaker
를 비활성화하려고 할 때 오류 메시지가 생성됩니다.
--force
를 지정하지 않고 tls
및 keep_active_partition_tie_breaker
쿼럼 장치 옵션 구성
이전 버전에서는 쿼럼 장치를 구성할 때 --force
옵션을 지정하지 않고 쿼럼 장치 모델 net
에 대해 tls
및 keep_active_partition_tie_breaker
옵션을 구성할 수 없었습니다. 이번 업데이트를 통해 이러한 옵션을 더 이상 구성할 필요가 없습니다. --force
.
6.8. 컴파일러 및 개발 도구
ldconfig
가 중단된 시스템 업그레이드 후 더 이상 충돌하지 않음
이전에는 중단된 시스템 업그레이드 후 /usr/lib64
디렉터리에 불완전한 공유 오브젝트를 처리할 때 ldconfig
유틸리티가 세그먼트화 오류를 사용하여 예기치 않게 중지되었습니다. 이번 업데이트를 통해 ldconfig
는 시스템 업그레이드 중에 작성된 임시 파일을 무시합니다. 결과적으로 중단된 시스템 업그레이드 후 ldconfig
가 더 이상 충돌하지 않습니다.
종속성 사이클과 관련된 공유 오브젝트에 dl close
을 사용하는 애플리케이션과 glibc
호환성 개선
이전 버전에서는 glibc
에서 dlclose
함수를 사용하여 종속성 주기에서 공유 오브젝트를 언로드할 때 다른 모든 오브젝트가 언로드되기 전에 해당 오브젝트의 ELF 종료기가 호출되지 않았을 수 있었습니다. 이러한 늦은 ELF 종료자 실행으로 인해 초기 공유 개체의 종속성이 이미 초기화되지 않아 애플리케이션이 충돌 및 기타 오류가 발생했습니다.
이번 업데이트를 통해 glibc
는 다른 ELF 종료자가 시작되기 전에 언로드되는 즉시 객체의 ELF 종료자를 먼저 호출하도록 수정되었습니다. 결과적으로 종속성 주기와 관련된 공유 오브젝트에 대한 dlclose
를 사용하는 애플리케이션과의 호환성이 개선되고 충돌이 더 이상 발생하지 않습니다.
Jira:RHEL-10481[1]
glibc
광범위한 문자 쓰기 성능 개선
이전에는 glibc
의 광범위한 stdio
스트림 구현에서 기본 버퍼 크기를 광범위한 쓰기 작업을 위해 충분히 큰 것으로 취급하지 않았으며 대신 16바이트 대체 버퍼를 사용하여 성능에 부정적인 영향을 미쳤습니다. 이번 업데이트를 통해 버퍼 관리가 수정되고 전체 쓰기 버퍼가 사용됩니다. 그 결과 glibc
광범위한 문자 쓰기 성능이 향상됩니다.
Jira:RHEL-19824[1]
glibc
동적 링커는 사용자 정의 malloc
구현의 TLS 액세스를 사용하여 애플리케이션에서 수행한 재차별 malloc
호출을 방지합니다.
일부 애플리케이션은 초기 실행 TLS 대신 글로벌 동적 스레드 로컬 스토리지(TLS)를 사용하는 사용자 지정 malloc
동적 메모리 할당 구현을 제공합니다. 이전 버전에서는 글로벌 동적 TLS를 사용하는 번들 malloc
호출이 있는 애플리케이션에서 애플리케이션의 malloc
하위 시스템에 대한 재entrant 호출이 발생할 수 있었습니다. 그 결과 스택 소진 또는 내부 데이터 구조의 예기치 않은 상태로 인해 애플리케이션 malloc
호출이 충돌했습니다.
RHBA-2024:5834 권고가 릴리스되면서 glibc
동적 링커는 사용자 정의 malloc
구현에서 TLS 액세스를 감지합니다. malloc
호출 중 TLS 액세스가 감지되면 TLS 처리 중 추가 호출을 건너뛰고 malloc
호출을 다시 시작할 수 없습니다.
6.9. IdM (Identity Management)
certmonger
가 숨겨진 복제본에서 KDC 인증서를 올바르게 갱신
이전에는 인증서가 만료될 때 certmonger
가 숨겨진 복제본에서 KDC 인증서를 갱신하지 못했습니다. 이는 갱신 프로세스가 숨겨진 복제본이 활성 KDC로 간주되기 때문에 발생했습니다. 이번 업데이트를 통해 숨겨진 복제본은 활성 KDC로 처리되고 certmonger
는 이러한 서버에서 KDC 인증서를 성공적으로 갱신합니다.
Automembership 플러그인은 기본적으로 더 이상 그룹을 정리하지 않습니다.
이전에는 automember rebuild 작업에서 먼저 모든 멤버십 값을 제거한 다음 멤버십을 처음부터 다시 빌드했습니다. 그 결과 다른 be_txn
플러그인이 활성화된 경우 재빌드 작업이 많이 필요했습니다.
이번 업데이트를 통해 Automembership 플러그인에 다음과 같은 개선 사항이 추가되었습니다.
- 한 번에 하나의 재구축 작업만 허용됩니다.
Automembership 플러그인은 기본적으로 이전 멤버를 더 이상 정리하지 않습니다. 새
--cleanup
CLI 옵션을 사용하여 처음부터 다시 빌드하기 전에 의도적으로 멤버십을 정리합니다.# dsconf slapd-instance_name plugins automember fixup -f objectclass=posixaccount -s sub --cleanup "ou=people,dc=example,dc=com"
- 로깅이 개선되어 수정 진행 상황을 표시합니다.
Jira:RHEL-5390[1]
작업이 완료되면 할당된 메모리가 해제됨
이전에는 각 작업에 대해 KCM에 의해 할당된 메모리가 연결이 닫힐 때까지 해제되지 않았습니다. 결과적으로 연결을 열고 동일한 연결에서 많은 작업을 실행한 클라이언트 애플리케이션의 경우 연결이 닫힐 때까지 할당된 메모리가 해제되지 않았기 때문에 메모리가 눈에 띄게 증가했습니다. 이번 업데이트를 통해 작업이 완료되는 즉시 작업에 할당된 메모리가 릴리스됩니다.
이름에 혼합된 대소문자 문자가 포함된 경우 IdM 클라이언트는 신뢰할 수 있는 AD 사용자의 정보를 올바르게 검색
이전 버전에서는 사용자의 사용자 조회 또는 인증을 시도했고 신뢰할 수 있는 AD(Active Directory) 사용자에게 이름에 혼합된 케이스 문자가 포함되어 있고 IdM에서 재정의를 통해 구성된 경우 오류가 반환되어 사용자가 IdM 리소스에 액세스할 수 없었습니다.
이번 업데이트를 통해 대소문자를 구분하지 않는 비교가 문자의 대소문자를 무시하는 대소문자를 구분하지 않는 비교로 교체되었습니다. 결과적으로 사용자 이름에 혼합된 대소문자 문자가 포함되어 있고 IdM에서 재정의를 사용하여 구성된 경우에도 IdM 클라이언트는 AD 신뢰할 수 있는 도메인의 사용자를 조회할 수 있습니다.
암호를 변경하는 동안 유예 로그인이 남아 있지 않은 경우 SSSD에서 오류를 올바르게 반환합니다.
이전 버전에서는 사용자의 LDAP 암호가 만료된 경우 SSSD에서 더 이상 유예 로그인이 남아 있지 않아 사용자의 초기 바인딩에 실패한 후에도 암호를 변경하려고 했습니다. 그러나 사용자에게 반환된 오류는 실패 이유를 표시하지 않았습니다. 이번 업데이트를 통해 바인딩이 실패하면 암호 변경 요청이 취소되고 SSSD에서 더 이상 유예 로그인이 없음을 나타내는 오류 메시지를 반환하고 다른 방법으로 암호를 변경해야 합니다.
realm leave
명령을 사용하여 도메인에서 시스템 제거
이전 버전에서는 sssd.conf
파일의 ad_server
옵션에 여러 이름이 설정된 경우 realm leave
명령을 실행하면 구문 분석 오류가 발생하고 시스템이 도메인에서 제거되지 않았습니다. 이번 업데이트를 통해 ad_server
옵션이 올바르게 평가되고 올바른 도메인 컨트롤러 이름이 사용되고 도메인에서 시스템이 올바르게 제거됩니다.
KCM은 올바른 sssd.kcm.log
파일에 기록합니다.
이전에는 logrotate
가 Kerberos Credential Manager(KCM) 로그 파일을 올바르게 순환했지만 KCM은 이전 로그 파일인 sssd_kcm.log.1
에 로그를 잘못 작성했습니다. KCM이 다시 시작되면 올바른 로그 파일을 사용했습니다. 이번 업데이트를 통해 logrotate
가 호출된 후 로그 파일이 순환되고 KCM이 sssd_kcm.log
파일에 올바르게 로그됩니다.
realm leave --remove
명령은 더 이상 인증 정보를 요청하지 않음
이전에는 realm
유틸리티에서 realm leave
작업을 실행할 때 유효한 Kerberos 티켓을 사용할 수 있는지 올바르게 확인하지 않았습니다. 그 결과 유효한 Kerberos 티켓을 사용할 수 있는 경우에도 사용자에게 암호를 입력하라는 요청을 받았습니다. 이번 업데이트를 통해 이제 realm
에서 유효한 Kerberos 티켓이 있는지 올바르게 확인하고 더 이상 realm leave --remove
명령을 실행할 때 암호를 입력하도록 요청하지 않습니다.
FIPS 모드에서 IdM Vault 암호화 및 암호 해독이 더 이상 실패하지 않음
이전에는 IdM Vault에서 OpenSSL RSA-PKCS1v15를 기본 패딩 래핑 알고리즘으로 사용했습니다. 그러나 RHEL의 FIPS 인증 모듈은 FIPS 승인 알고리즘으로 PKCS#1 v1.5를 지원하지 않아 FIPS 모드에서 IdM Vault가 실패합니다. 이번 업데이트를 통해 IdM Vault는 RSA-OAEP 패딩 패딩 알고리즘을 폴백으로 지원합니다. 결과적으로 IdM Vault 암호화 및 암호 해독이 FIPS 모드에서 올바르게 작동합니다.
Jira:RHEL-12153[1]
CA가 아닌 IdM 복제본 설치가 더 이상 서버 유사성 구성으로 실패하지 않음
일부 시나리오에서는 CA(인증 기관) 없이 IdM 복제본을 설치하는 데 CA_REJECTED
오류로 실패했습니다. 인증서 검색을 시도하는 certmonger
서비스로 인해 오류가 발생하여 새 복제본을 복잡한 토폴로지에 추가할 때 복제 세부 정보가 불완전했습니다.
이번 업데이트를 통해 IdM 복제본 설치 프로세스는 Kerberos 인증 및 IdM API 및 CA 요청과 같은 필요한 서비스를 제공하는 특정 IdM 서버에 대해 수행됩니다. 이렇게 하면 새 복제본을 추가할 때 전체 복제 세부 정보가 보장됩니다.
Kerberos 키 배포 센터 버전 1.20 이상에서는 버전 1.18.2 및 이전 버전을 실행하는 KDC에서 생성된 티켓을 처리합니다.
이전에는 Kerberos 버전 1.20 이상을 실행하는 KDC(Key Distribution Center)와 버전 1.18.2 또는 이전 버전을 실행하는 KDC 간에 호환성 문제가 발생했습니다. 그 결과 Kerberos 1.20 이상을 실행하는 KDC에서 발행한 증명 티켓이 Kerberos 1.18.2 또는 이전 버전을 실행하는 KDC로 전송될 때 이전 KDC는 AD-SIGNTICKET
특성을 지원하지 않기 때문에 티켓 부여 서비스 요청을 거부했습니다.
이번 업데이트를 통해 이제 이전 버전의 KDC는 PAC(Privileged Attribute Certificate)가 있을 때 더 이상 AD-SIGNTICKET
이 필요하지 않으므로 Kerberos 1.20 이상을 실행하는 KDC에서 생성한 증명 티켓을 허용합니다.
dirsrv
파일의 SELinux 레이블링이 DEBUG
로그 수준으로 이동되었습니다.
이전에는 dirsrv
파일의 SELinux 레이블 지정에 INFO
로그 수준이 있었습니다. 이번 업데이트를 통해 이전 버전과 동일한 방식으로 dirsrv
파일에 DEBUG
로그 수준이 사용됩니다.
관련 접미사 없이 백엔드를 구성할 때 디렉터리 서버가 더 이상 세그먼트 결함이 발생하지 않음
이전 버전에서는 백엔드가 관련 접미사 없이 구성된 경우 시작 중에 Directory Server에 세그먼트 오류가 있었습니다. 이번 업데이트를 통해 Directory Server는 접미사에 액세스하기 전에 접미사가 백엔드와 연결되어 있는지 확인합니다. 결과적으로 세그먼트 오류가 더 이상 발생하지 않습니다.
페이지가 지정된 결과 검색을 종료한 후 Directory Server가 더 이상 실패하지 않음
이전에는 경쟁 조건이 페이지링된 결과 검색을 중단하는 동안 힙 손상 및 Directory Server 실패의 이유였습니다. 이번 업데이트를 통해 경쟁 조건이 수정되었으며 Directory Server 오류가 더 이상 발생하지 않습니다.
연결 테이블 크기에 대한 사용자 지정 값을 구성한 경우 업그레이드 후 디렉터리 서버가 올바르게 시작됩니다.
이전 버전에서는 연결 테이블 크기에 사용자 지정 값을 설정하고 nsslapd-conntablesize
속성이 dse.ldif
파일에 있는 경우 업그레이드 후 Directory Server가 시작되지 않았습니다. 이번 릴리스에서는 dse.ldif
파일에 nsslapd-conntablesize
를 사용하여 업그레이드한 후 Directory Server가 올바르게 시작됩니다.
콘텐츠 동기화 플러그인이 동적으로 활성화된 경우 디렉터리 서버가 더 이상 실패하지 않음
이전 버전에서는 콘텐츠 동기화 플러그인이 동적으로 활성화된 경우 사전 작업 Cryostatallback이 등록되지 않았기 때문에 작업 후 플러그인 콜백에 세그먼트 오류가 발생했습니다. 이번 업데이트를 통해 post-operation 플러그인 콜백은 메모리가 초기화되고 Directory Server가 더 이상 실패하지 않는지 확인합니다.
6.10. Red Hat Enterprise Linux 시스템 역할
SBD delay-start
값이 높은 경우 클러스터 시작 시간이 더 이상 초과되지 않음
이전 버전에서는 사용자가 ha_cluster
시스템 역할을 사용하여 클러스터에서 SBD 펜싱을 구성하고 delay-start
옵션을 90초 이상의 값으로 설정하면 클러스터가 시간 초과됩니다. 기본 systemd
시작 제한 시간은 SBD 시작 지연 값 이전에 시스템에 도달한 90초이기 때문입니다. 이번 수정으로 ha_cluster
시스템 역할은 systemd
의 sbd.service
시작 시간 초과를 재정의하여 delay-start
값보다 높습니다. 그러면 delay-start
옵션의 높은 값으로도 시스템이 성공적으로 시작될 수 있습니다.
Jira:RHEL-4684[1]
네트워크
역할은 0.0.0.0/0
또는 ::/0
을 사용하여 라우팅 규칙을 검증합니다.
이전 버전에서는 from:
또는 to:
설정이 라우팅 규칙의 0.0.0.0/0
또는 ::/0
주소로 설정된 경우 네트워크
RHEL 시스템 역할이 라우팅 규칙을 구성하지 못하고 설정이 유효하지 않은 것으로 거부되었습니다. 이번 업데이트를 통해 네트워크
역할은 from:
및 to:
라우팅 규칙 검증에서 0.0.0.0/0
및 ::/0
을 허용합니다. 결과적으로 이 역할은 검증 오류를 발생시키지 않고 라우팅 규칙을 성공적으로 구성합니다.
이제 ha_cluster
시스템 역할이 qnetd
호스트에서 방화벽을 올바르게 구성
이전에는 사용자가 qnetd
호스트를 구성하고 ha_cluster
시스템 역할을 사용하여 ha_cluster_manage_firewall
변수를 true
로 설정하면 역할이 방화벽에서 고가용성 서비스를 활성화하지 않았습니다. 이번 수정으로 ha_cluster
시스템 역할은 이제 qnetd
호스트에서 방화벽을 올바르게 구성합니다.
keylime_server
역할은 등록 기관 서비스 상태를 올바르게 보고합니다.
이전 버전에서는 keylime_server
역할 플레이북에서 잘못된 정보를 제공하면 역할이 시작을 성공한 것으로 잘못 보고했습니다. 이번 업데이트를 통해 잘못된 정보가 제공되면 역할이 오류를 올바르게 보고하고, 열린 포트를 기다릴 때의 시간 초과가 약 300초에서 약 30초로 단축되었습니다.
postgresql
RHEL 시스템 역할에서 올바른 PostgreSQL 버전을 설치합니다.
이전 버전에서는 RHEL 관리 노드에 정의된
변수를 사용하여 postgresql RHEL 시스템 역할을 실행하려고 하면 버전 15 대신 PostgreSQL 버전 13이 설치되었습니다. 이 버그는 수정되었으며 postgresql
_version: "15"postgresql
역할은 변수에 설정된 버전을 설치합니다.
podman
RHEL 시스템 역할은 이제 rootless 컨테이너에 대해 linger를 올바르게 설정하고 취소합니다.
이전에는 podman
RHEL 시스템 역할이 rootless 컨테이너에 대해 linger를 올바르게 설정 및 취소하지 않았습니다. 결과적으로 rootless 사용자를 위해 시크릿 또는 컨테이너를 배포하면 경우에 따라 오류가 발생하여 경우에 따라 리소스를 제거할 때 linger를 취소하지 못했습니다. 이번 업데이트를 통해 podman
RHEL 시스템 역할은 시크릿 또는 컨테이너 리소스 관리를 수행하기 전에 rootless 사용자가 linger를 활성화하고 더 이상 시크릿 또는 컨테이너 리소스를 관리할 때 rootless 사용자에 대해 linger가 취소되도록 합니다. 결과적으로 역할은 rootless 사용자에 대한 리틀링을 올바르게 관리합니다.
podman
RHEL 시스템 역할은 이제 rootless 컨테이너에 대해 linger를 올바르게 설정하고 취소합니다.
이전에는 podman
RHEL 시스템 역할이 rootless 컨테이너에 대해 linger를 올바르게 설정 및 취소하지 않았습니다. 결과적으로 rootless 사용자를 위해 시크릿 또는 컨테이너를 배포하면 경우에 따라 오류가 발생하여 경우에 따라 리소스를 제거할 때 linger를 취소하지 못했습니다. 이번 업데이트를 통해 podman
RHEL 시스템 역할은 시크릿 또는 컨테이너 리소스 관리를 수행하기 전에 rootless 사용자가 linger를 활성화하고 더 이상 시크릿 또는 컨테이너 리소스를 관리할 때 rootless 사용자에 대해 linger가 취소되도록 합니다. 결과적으로 역할은 rootless 사용자에 대한 리틀링을 올바르게 관리합니다.
read-scale 클러스터를 실행하고 mssql-server-ha
를 설치하려면 더 이상 특정 변수가 필요하지 않음
이전에는 mssql
RHEL 시스템 역할을 사용하여 특정 변수(mssql_ha_virtual_ip
, mssql_ha_login ,mssql_ha_login
_password ,
) 없이 read-scale 클러스터를 구성하는 경우 오류 메시지 mssql_ha_
cluster_run_roleVariable not defined
. 그러나 이러한 변수는 읽기-스케일 클러스터를 실행하는 데 필요하지 않습니다. 또한 이 역할은 읽기-스케일 클러스터에 필요하지 않은 mssql-server-ha
를 설치하려고 했습니다. 이번 수정을 통해 이러한 변수에 대한 요구 사항이 제거되었습니다. 결과적으로 read-scale 클러스터를 실행하면 오류 메시지 없이 성공적으로 진행됩니다.
kexec_crash_size 파일이 사용 중인 경우 Kdump 시스템 역할이 올바르게 작동합니다.
/sys/kernel/kexec_crash_size
파일은 크래시 커널 메모리에 할당된 메모리 영역의 크기를 제공합니다.
이전에는 /sys/kernel/kexec_crash_size
파일이 사용 중인 경우 Kdump 시스템 역할이 실패했습니다. 이번 업데이트를 통해 시스템 역할은 사용 가능한 경우 파일 읽기를 다시 시도합니다. 결과적으로 파일이 사용 중일 때 시스템 역할이 더 이상 실패하지 않습니다.
SELinux
역할은 더 이상 item
루프 변수를 사용하지 않음
이전에는 selinux
RHEL 시스템 역할에서 item
loop 변수를 사용했습니다. 이로 인해 다른 역할에서 selinux
역할을 호출했을 때 다음과 같은 경고 메시지가 표시될 수 있습니다.
[WARNING]: TASK: fedora.linux_system_roles.selinux : Restore SELinux labels on filesystem tree: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior.
이번 릴리스에서는 selinux
역할은 __selinux_item
을 루프 변수로 사용합니다. 결과적으로 item
변수가 이미 사용 중인 경고는 다른 역할의 selinux
역할을 호출하더라도 더 이상 표시되지 않습니다.
자세한 로깅을 사용하여 시크릿 데이터가 더 이상 기록되지 않음
이전에는 시크릿 데이터를 처리하는 일부 작업에서 콘텐츠를 기록했습니다. 결과적으로 자세한 로깅이 사용 중인 경우 로그에 시크릿 데이터가 표시되었습니다. 이번 업데이트에서는 no_log: true
지시문을 시크릿 데이터를 로깅할 수 있는 작업에 추가합니다. 결과적으로 자세한 로깅으로 시크릿 데이터가 기록되지 않습니다.
볼륨 쿼드릿 서비스 이름이 더 이상 실패하지 않음
이전 버전에서는 볼륨 서비스 이름을 시작하면 다음과 유사한 오류가 발생했습니다.
Could not find the requested service NAME.volume: host
이번 업데이트를 통해 volume quadlet 서비스 이름이 basename-volume.service
로 변경됩니다. 결과적으로 볼륨 서비스가 오류 없이 시작됩니다.
자세한 내용은 볼륨 단위 도움말 페이지를 참조하십시오.
nbde_server
역할이 소켓 덮어쓰기에서 작동함
이전에는 nbde_server
RHEL 시스템 역할에서 tangd
소켓 덮어쓰기 디렉터리에 있는 유일한 파일이 사용자 지정 포트의 override.conf
파일인 것으로 간주했습니다. 결과적으로 다른 파일을 확인하지 않고 포트 사용자 지정이 없는 경우 역할이 디렉터리를 삭제했으며 시스템은 후속 실행에서 디렉터리를 다시 생성했습니다.
이번 릴리스에서는 다른 파일이 있는 경우 포트 덮어쓰기 파일의 속성을 변경하고 디렉터리를 삭제하지 않도록 역할이 수정되었습니다. 결과적으로 tangd
소켓 덮어쓰기 파일이 역할 외부에서도 관리되는 경우 역할이 올바르게 작동합니다.
6.11. 가상화
덤프 실패로 인해 Secure Execution가 있는 IBM Z VM이 더 이상 실행되지 않음
이전에는 Secure Execution가 있는 IBM Z 가상 머신(VM) 덤프가 실패하면 VM이 일시 중지된 상태로 유지되어 실행되지 않았습니다. 예를 들어, 디스크에 충분한 공간이 없는 경우 virsh dump
명령을 사용하여 VM을 덤프하는 작업이 실패합니다.
기본 코드가 수정되었으며 덤프가 실패한 후 Secure Execution VM이 작업을 재개합니다.
Jira:RHEL-16696[1]
7장. 기술 프리뷰
이 부분에서는 Red Hat Enterprise Linux 8.10에서 사용 가능한 모든 기술 프리뷰 목록을 제공합니다.
기술 프리뷰 기능에 대한 Red Hat 지원 범위 정보는 기술 프리뷰 기능 지원 범위를 참조하십시오.
7.1. 인프라 서비스
TuneD용 소켓 API를 기술 프리뷰로 사용 가능
이제 UNIX 도메인 소켓을 통해 TuneD를 제어하는 소켓 API를 기술 프리뷰로 사용할 수 있습니다. 소켓 API는 D-Bus API를 사용하여 일대일로 매핑하고 D-Bus를 사용할 수 없는 경우에 대한 대체 통신 방법을 제공합니다. 소켓 API를 사용하면 TuneD 데몬을 제어하여 성능을 최적화하고 다양한 튜닝 매개변수 값을 변경할 수 있습니다. 소켓 API는 기본적으로 비활성화되어 있으며 tuned-main.conf
파일에서 활성화할 수 있습니다.
7.2. 네트워킹
AF_XDP
를 기술 프리뷰로 사용 가능
Address Family eXpress Data Path
(AF_XDP
) 소켓은 고성능 패킷 처리를 위해 설계되었습니다. XDP
와 함께 사용할 수 있으며, 추가 처리를 위해 프로그래밍 방식으로 선택한 패킷을 사용자 공간 애플리케이션으로 효율적으로 리디렉션할 수 있습니다.
Bugzilla:1633143[1]
기술 프리뷰로 사용할 수 있는 XDP 기능
Red Hat은 지원되지 않는 기술 프리뷰로 다음과 같은 eXpress Data Path(XDP) 기능을 사용합니다.
-
AMD 및 Intel 64비트 이외의 아키텍처에서 XDP 프로그램 로드. AMD 및 Intel 64비트 이외의 아키텍처에서는
libxdp
라이브러리를 사용할 수 없습니다. - XDP 하드웨어 오프로드입니다.
TC의 멀티프로토콜 라벨 전환은 기술 프리뷰로 사용 가능
MPLS(Multi-protocol Label Switching)는 엔터프라이즈 네트워크 간에 트래픽 흐름을 라우팅하는 커널 내 데이터 전달 메커니즘입니다. MPLS 네트워크에서 패킷을 수신하는 라우터는 패킷에 연결된 라벨에 따라 패킷의 추가 경로를 결정합니다. 라벨을 사용하면 MPLS 네트워크는 특정 특성을 가진 패킷을 처리할 수 있습니다. 예를 들어 특정 포트에서 수신된 패킷 관리 또는 특정 유형의 트래픽을 일관된 방식으로 전송하기 위한 tc 필터
를 추가할 수 있습니다.
패킷이 엔터프라이즈 네트워크에 진입한 후 MPLS 라우터는 레이블을 추가하기 위해 푸시
, 레이블을 업데이트하기 위해 스왑
, 레이블을 제거하기 위해 팝업
과 같은 패킷에서 여러 작업을 수행합니다. MPLS를 사용하면 RHEL의 하나 또는 여러 레이블을 기반으로 작업을 로컬에서 정의할 수 있습니다. 라우터를 구성하고 트래픽 제어(tc
) 필터를 설정하여 라벨 ,트래픽 클래스
하단, 스택하단,
적절한 작업을 수행할 수 있습니다. 라이브 시간
등의 MPLS 라벨 스택 항목(lse
) 요소를 기반으로 패킷에 대한
예를 들어 다음 명령은 첫 번째 레이블 12323 및 두 번째 레이블 45832 를 갖는 들어오는 패킷과 일치하도록 enp0s1 네트워크 인터페이스에 필터를 추가합니다. 일치하는 패킷에서 다음 작업을 수행합니다.
- 첫 번째 MPLS TTL이 감소합니다 ( TTL이 0에 도달하면packet이 삭제됩니다)
- 첫 번째 MPLS 레이블이 549386으로 변경되었습니다.
결과 패킷은 enp0s2 를 통해 전송되며 대상 MAC 주소 00:00:5E:00:53:01 및 소스 MAC 주소 00:00:5E:53:02
# 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[1], Bugzilla:1856415
act_mpls
모듈은 기술 프리뷰로 사용 가능
act_mpls
모듈은 이제 kernel-modules-extra
rpm에서 기술 프리뷰로 사용할 수 있습니다. 이 모듈은 트래픽 제어(TC) 필터를 사용하여 MPLS(Multiprotocol Label Switching) 작업을 적용할 수 있습니다(예: TC 필터를 사용하여 MPLS 레이블 스택 항목 푸시 및 팝업). 이 모듈은 또한 라벨, 트래픽 클래스, Stack의 192.0.2.tom, Time to Live 필드를 독립적으로 설정할 수 있습니다.
Bugzilla:1839311[1]
systemd-resolved
서비스가 기술 프리뷰로 사용 가능
systemd-resolved
서비스는 로컬 애플리케이션에 대한 이름 확인을 제공합니다. 이 서비스는 캐싱 및 검증 DNS 스텁 확인자, LLMNR(Link-Local Multicast Name Resolution) 및 멀티 캐스트 DNS 확인자 및 응답자를 구현합니다.
systemd
패키지가 systemd-resolved
를 제공하는 경우에도 이 서비스는 지원되지 않는 기술 프리뷰입니다.
7.3. 커널
soft-RoCE를 기술 프리뷰로 사용 가능
RoCE(Remote Direct Memory Access)는 이더넷을 통해 RDMA를 구현하는 네트워크 프로토콜입니다. soft-RoCE는 RoCE의 소프트웨어 구현으로 RoCE v1과 RoCE v2의 두 가지 프로토콜 버전을 유지 관리합니다. Soft-RoCE 드라이버 rdma_rxe
는 RHEL 8에서 지원되지 않는 기술 프리뷰로 제공됩니다.
Bugzilla:1605216[1]
eBPF를 기술 프리뷰로 이용 가능
eBPF(Extended Berkeley Packet Filter) 는 제한된 함수 집합에 액세스할 수 있는 제한된 샌드박스 환경에서 커널 환경에서 코드를 실행할 수 있는 커널 내 가상 머신입니다.
가상 머신에는 다양한 유형의 맵을 만들 수 있는 새로운 시스템 호출 bpf()
가 포함되어 있으며 특수한 어셈블리와 같은 코드에서 프로그램을 로드할 수도 있습니다. 그런 다음 코드가 커널에 로드되고 just-in-time 컴파일을 사용하여 네이티브 머신 코드로 변환됩니다. bpf()
syscall은 root 사용자와 같은 CAP_SYS_ADMIN
기능이 있는 사용자만 성공적으로 사용할 수 있습니다. 자세한 내용은 bpf(2)
매뉴얼 페이지를 참조하십시오.
로드된 프로그램은 데이터를 수신하고 처리하기 위해 다양한 지점(소켓, 추적점, 패킷 수신)에 연결할 수 있습니다.
eBPF 가상 머신을 사용하는 Red Hat에서 제공하는 다양한 구성 요소가 있습니다. 각 구성 요소는 다른 개발 단계에 있습니다. 특정 구성 요소가 지원되는 것으로 표시되지 않는 한 모든 구성 요소는 기술 프리뷰로 사용할 수 있습니다.
다음과 같은 주요 eBPF 구성 요소는 현재 기술 프리뷰로 사용할 수 있습니다.
-
AF_XDP
- 패킷 처리 성능 우선 순위를 지정하는 애플리케이션의 사용자 공간에 eXpress Data Path(XDP) 경로를 연결하기 위한 소켓입니다.
Bugzilla:1559616[1]
kexec
빠른 재부팅 기능은 기술 프리뷰로 사용 가능
kexec
빠른 재부팅 기능은 기술 프리뷰로 계속 사용할 수 있습니다. kexec
빠른 재부팅은 먼저 Basic Input/Output System(BIOS) 또는 펌웨어를 통과하지 않고 두 번째 커널로 직접 부팅할 수 있으므로 부팅 프로세스의 속도를 크게 향상시킵니다. 이 기능을 사용하려면 다음을 수행합니다.
-
kexec
커널을 수동으로 로드합니다. - 변경 사항을 적용하려면 재부팅하십시오.
kexec
빠른 재부팅 기능은 RHEL 9 이상 릴리스에서 제한된 지원 범위를 통해 사용할 수 있습니다.
기술 프리뷰로 사용 가능한 accel-config
패키지
accel-config
패키지는 이제 Intel EM64T
및 AMD64
아키텍처에서 기술 프리뷰로 사용할 수 있습니다. 이 패키지는 Linux 커널에서 DSA(Data-streaming 액셀러링 가속기) 하위 시스템을 제어하고 구성하는 데 도움이 됩니다. 또한 sysfs
(pseudo-filesystem)를 통해 장치를 구성하고 json
형식으로 구성을 저장하고 로드합니다.
Bugzilla:1843266[1]
7.4. 파일 시스템 및 스토리지
ext4 및 XFS에서 파일 시스템 DAX를 기술 프리뷰로 사용 가능
Red Hat Enterprise Linux 8에서 파일 시스템 DAX는 기술 프리뷰로 사용할 수 있습니다. DAX는 애플리케이션에서 영구 메모리를 해당 주소 공간에 직접 매핑할 수 있는 수단을 제공합니다. DAX를 사용하려면 시스템에서 일반적으로 하나 이상의 NVMe(Non-Volatile Dual In-line Memory Modules) 형식으로 사용 가능한 영구 메모리가 있어야 하며, DAX 기능을 제공하는 파일 시스템은 NVDIMM(s)에서 생성해야 합니다. 또한 dax
마운트 옵션을 사용하여 파일 시스템을 마운트해야 합니다. 그런 다음 dax로 마운트된 파일 시스템의 파일 mmap
이 있으면 스토리지가 애플리케이션의 주소 공간에 직접 매핑됩니다.
Bugzilla:1627455[1]
OverlayFS
OverlayFS는 통합 파일 시스템의 유형입니다. 이를 통해 하나의 파일 시스템을 다른 파일 시스템에 오버레이할 수 있습니다. 변경 사항은 상위 파일 시스템에 기록되지만 하위 파일 시스템은 수정되지 않은 상태로 유지됩니다. 이를 통해 여러 사용자가 기본 이미지가 읽기 전용 미디어인 컨테이너 또는 DVD-ROM과 같은 파일 시스템 이미지를 공유할 수 있습니다.
OverlayFS는 대부분의 상황에서 기술 프리뷰로 남아 있습니다. 따라서 이 기술이 활성화되면 커널은 경고를 기록합니다.
지원되는 컨테이너 엔진(podman
,cri-o
또는 buildah
)과 함께 사용되는 경우 OverlayFS에 대한 전체 지원이 다음 제한 사항에 따라 제공됩니다.
-
OverlayFS는 컨테이너 엔진 그래프 드라이버 또는 스쿼시드
kdump
initramfs와 같은 기타 특수 사용 사례로만 사용할 수 있습니다. 해당 용도는 주로 영구 스토리지가 아닌 컨테이너 COW 콘텐츠에서 지원됩니다. OverlayFS 이외의 볼륨에 영구 스토리지를 배치해야합니다. 기본 컨테이너 엔진 구성만 사용할 수 있습니다. 오버레이 수준, 하나의 하위 디렉터리, 낮은 수준 및 상위 수준 모두 동일한 파일 시스템에 있습니다. - 현재 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[1]
Stratis를 기술 프리뷰로 사용 가능
Stratis는 추가 기능이 있는 스토리지 풀에 관리되는 파일 시스템을 제공하는 새로운 로컬 스토리지 관리자입니다. 기술 프리뷰로 제공됩니다.
Stratis를 사용하면 다음 스토리지 작업을 수행할 수 있습니다.
- 스냅샷 및 씬 프로비저닝 관리
- 필요에 따라 파일 시스템 크기 자동 확장
- 파일 시스템 관리
Stratis 스토리지를 관리하려면 stratisd
백그라운드 서비스와 통신하는 stratis
유틸리티를 사용합니다. 자세한 내용은 Stratis 파일 시스템 설정 설명서를 참조하십시오.
RHEL 8.5가 Stratis를 2.4.2 버전으로 업데이트했습니다. 자세한 내용은 Stratis 2.4.2 릴리스 노트 를 참조하십시오.
Jira:RHELPLAN-1212[1]
NVMe/TCP 호스트는 기술 프리뷰로 사용 가능
TCP/IP 네트워크(NVMe/TCP) 및 해당 nvme_tcp.ko
커널 모듈을 기술 프리뷰로 통해 NVMe(Nonvolatile Memory Express) 스토리지 액세스 및 공유 NVMe/TCP를 호스트로 사용하는 것은 nvme-cli
패키지에서 제공하는 툴을 사용하여 관리할 수 있습니다. NVMe/TCP 호스트 기술 프리뷰는 테스트 목적으로만 포함되어 있으며 현재 완전 지원을 위해 계획되어 있지 않습니다.
Bugzilla:1696451[1]
IdM 도메인 멤버에서 Samba 서버 설정은 기술 프리뷰로 제공됩니다.
이번 업데이트를 통해 IdM(Identity Management) 도메인 멤버에서 Samba 서버를 설정할 수 있습니다. 동일한 이름의 패키지에서 제공하는 새로운 ipa-client-samba
유틸리티는 IdM에 Samba별 Kerberos 서비스 주체를 추가하고 IdM 클라이언트를 준비합니다. 예를 들어 유틸리티는 sss
ID 매핑 백엔드에 대한 ID 매핑 구성을 사용하여 /etc/samba/smb.conf
를 생성합니다. 결과적으로 관리자는 이제 IdM 도메인 멤버에 Samba를 설정할 수 있습니다.
IdM 신뢰 컨트롤러는 글로벌 카탈로그 서비스를 지원하지 않기 때문에 AD-enrolled Windows 호스트는 Windows에서 IdM 사용자 및 그룹을 찾을 수 없습니다. 또한 IdM Trust 컨트롤러는 분산 컴퓨팅 환경 / DCE/RPC(원격 프로시저 호출) 프로토콜을 사용하여 IdM 그룹 확인을 지원하지 않습니다. 결과적으로 AD 사용자는 IdM 클라이언트의 Samba 공유 및 프린터에만 액세스할 수 있습니다.
자세한 내용은 IdM 도메인 멤버에서 Samba 설정을 참조하십시오.
Jira:RHELPLAN-13195[1]
7.5. 고가용성 및 클러스터
Pacemaker podman
번들을 기술 프리뷰로 이용 가능
이제 Pacemaker 컨테이너 번들이 기술 프리뷰로 사용할 수 있는 컨테이너 번들 기능을 사용하여 Podman에서 실행됩니다. 기술 프리뷰 기능에는 한 가지 예외가 있습니다. Red Hat은 Red Hat OpenStack에 대한 Pacemaker 번들 사용을 완전히 지원합니다.
Bugzilla:1619620[1]
기술 프리뷰로 사용 가능한 corosync-qdevice
의 추론
추론은 시작 시 로컬로 실행되는 명령 세트이며, 클러스터 멤버십 변경, corosync-qnetd
에 성공적으로 연결 및 선택적으로 주기적으로 실행됩니다. 모든 명령이 제 시간에 성공적으로 완료되면 (그 반환 오류 코드는 0 이고), 역학이 통과되었습니다. 그렇지 않으면 실패했습니다. 추론 결과는 corosync-qnetd
로 전송됩니다. 계산에서 어떤 파티션을 정해야 하는지 결정하는 데 사용됩니다.
새로운 fence-agents-heuristics-ping
차단 에이전트
이제 Pacemaker에서 기술 프리뷰로 fence_heuristics_ping
에이전트를 제공합니다. 이 에이전트는 실제 펜싱을 수행하는 실험적 차단 에이전트 클래스를 열려고 하지만 대신 펜싱 수준의 동작을 새로운 방식으로 활용하는 것을 목표로 합니다.
논리 에이전트가 실제 펜싱을 수행하지만 순서대로 구성된 펜싱 에이전트와 동일한 펜싱 수준에서 구성된 경우 펜싱은 펜싱을 수행하는 에이전트에서 이를 시도하기 전에 추론 에이전트에서 off
작업을 실행합니다. heuristics 에이전트가 off
작업에 부정적인 결과를 제공하는 경우 펜싱 수준이 성공하지 않을 것이라고 이미 명확하지 않아 Pacemaker 펜싱에서 펜싱을 수행하는 에이전트에서 오프
작업 실행 단계를 건너뜁니다. 추론 에이전트는 이 동작을 악용하여 실제 펜싱을 수행하는 에이전트가 특정 조건에서 노드를 펜싱하지 못하도록 할 수 있습니다.
사용자가 이 에이전트(특히 2-노드 클러스터에서) 이 에이전트를 사용하려는 경우 노드가 피어를 펜싱하는 것이 적절하지 않은 경우 서비스를 적절하게 인수할 수 없다는 것을 미리 알고 있을 수 있습니다. 예를 들어, 네트워킹 uplink에 도달하는 데 문제가 있는 경우 노드가 서비스를 인수하여 서비스에 연결할 수 없는 경우 해당 경우 라우터에 대한 ping이 탐지될 수 있습니다.
Bugzilla:1775847[1]
7.6. IdM (Identity Management)
Identity Management JSON-RPC API를 기술 프리뷰로 사용 가능
IdM(Identity Management)에 API를 사용할 수 있습니다. API를 보기 위해 IdM은 API 브라우저도 기술 프리뷰로 제공합니다.
이전에는 여러 버전의 API 명령을 사용하도록 IdM API가 향상되었습니다. 이러한 개선 사항으로 인해 호환되지 않는 방식으로 명령의 동작이 변경될 수 있습니다. 이제 IdM API가 변경되어도 기존 툴과 스크립트를 계속 사용할 수 있습니다. 이를 통해 다음을 활성화합니다.
- 관리자는 관리 클라이언트보다 서버에서 이전 또는 이후 버전의 IdM을 사용해야 합니다.
- 서버에서 IdM 버전이 변경되어도 개발자는 특정 버전의 IdM 호출을 사용할 수 있습니다.
모든 경우에 한 쪽이 사용하는지에 관계없이 서버와의 통신이 가능합니다(예: 기능에 대한 새로운 옵션을 도입하는 최신 버전).
API 사용에 대한 자세한 내용은 Using the Identity Management API to Communicate with the IdM Server (undercloudNOLOGY PREVIEW) 를 참조하십시오.
DNSSEC를 IdM에서 기술 프리뷰로 사용 가능
통합 DNS가 있는 IdM(Identity Management) 서버는 DNS 프로토콜의 보안을 강화하는 DNS 확장 프로그램 세트인 DNSSEC(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 서비스가 설치되어 있고 활성화되어 있는지 확인하려면
ipa-acme-manage status
명령을 사용합니다.# ipa-acme-manage status ACME is enabled The ipa-acme-manage command was successful
Bugzilla:1628987[1]
sssd-idp 하위 패키지를 기술 프리뷰로 사용 가능
SSSD의 sssd-idp
하위 패키지에는 IdM(Identity Management) 서버에 대해 OAuth2 인증을 수행하는 클라이언트 측 구성 요소인 oidc_child
및 krb5 idp
플러그인이 포함되어 있습니다. 이 기능은 RHEL 8.7 이상의 IdM 서버에서만 사용할 수 있습니다.
SSSD 내부 krb5 idp 플러그인을 기술 프리뷰로 사용 가능
SSSD krb5 idp
플러그인을 사용하면 OAuth2 프로토콜을 사용하여 외부 ID 공급자(IdP)에 대해 인증할 수 있습니다. 이 기능은 RHEL 8.7 이상의 IdM 서버에서만 사용할 수 있습니다.
7.7. 데스크탑
64비트 ARM 아키텍처용 GNOME은 기술 프리뷰로 사용 가능
64비트 ARM 아키텍처에서 GNOME 데스크탑 환경은 기술 프리뷰로 사용할 수 있습니다.
이제 VNC를 사용하여 64비트 ARM 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.
제한된 그래픽 애플리케이션 세트는 64비트 ARM에서 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- Firefox 웹 브라우저
-
Red Hat Subscription Manager (
subscription-manager-cockpit
) -
방화벽 설정(
firewall-config
) -
디스크 사용량 분석기(
baobab
)
Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.
LibreOffice와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스는 비활성화되어 있습니다.
Jira:RHELPLAN-27394[1], Bugzilla:1667516, Bugzilla:1724302, Bugzilla:1667225
IBM Z 아키텍처용 GNOME은 기술 프리뷰로 사용 가능
IBM Z 아키텍처에서 GNOME 데스크탑 환경은 기술 프리뷰로 사용할 수 있습니다.
이제 VNC를 사용하여 IBM Z 서버의 데스크탑 세션에 연결할 수 있습니다. 따라서 그래픽 애플리케이션을 사용하여 서버를 관리할 수 있습니다.
IBM Z에서 제한된 그래픽 애플리케이션 세트를 사용할 수 있습니다. 예를 들면 다음과 같습니다.
- Firefox 웹 브라우저
-
Red Hat Subscription Manager (
subscription-manager-cockpit
) -
방화벽 설정(
firewall-config
) -
디스크 사용량 분석기(
baobab
)
Firefox를 사용하여 서버의 Cockpit 서비스에 연결할 수 있습니다.
LibreOffice와 같은 특정 애플리케이션은 명령줄 인터페이스만 제공하며 그래픽 인터페이스는 비활성화되어 있습니다.
Jira:RHELPLAN-27737[1]
7.8. 그래픽 인프라
VNC 원격 콘솔은 64비트 ARM 아키텍처용 기술 프리뷰로 사용 가능
64비트 ARM 아키텍처에서 VNC(Virtual Network Computing) 원격 콘솔은 기술 프리뷰로 사용할 수 있습니다. 현재 64비트 ARM 아키텍처에서는 그래픽 스택의 나머지 부분이 확인되지 않았습니다.
Bugzilla:1698565[1]
7.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[1]
KVM 가상 머신용 AMD SEV 및 SEV-ES
RHEL 8은 KVM 하이퍼바이저를 사용하는 AMD EPYC 호스트 시스템에 대해 SEV(Secure Encrypted Virtualization) 기능을 기술 프리뷰로 제공합니다. VM(가상 시스템)에서 활성화된 경우 SEV는 VM의 메모리를 암호화하여 호스트의 액세스로부터 보호합니다. 이렇게 하면 VM의 보안이 향상됩니다.
또한 SEV (SEV-ES)의 향상된 암호화 상태 버전도 기술 프리뷰로 제공됩니다. SEV-ES는 VM 실행이 중지되면 모든 CPU 레지스터 콘텐츠를 암호화합니다. 이렇게 하면 호스트에서 VM의 CPU 레지스터를 수정하거나 해당 항목에서 정보를 읽지 않습니다.
SEV 및 SEV-ES는 2 세대의 AMD EPYC CPU (코드명 Ramam) 이상에서만 작동합니다. 또한 RHEL 8에는 SEV 및 SEV-ES 암호화가 포함되어 있지만 SEV 및 SEV-ES 보안 테스트에는 포함되지 않습니다.
Bugzilla:1501618[1], Bugzilla:1501607, Jira:RHELPLAN-7677
Intel vGPU를 기술 프리뷰로 사용 가능
기술 프리뷰로 물리적 Intel GPU 장치를 중재 장치라고 하는 여러 가상 장치로 나눌 수 있습니다
. 그런 다음 이러한 중재된 장치를 가상 GPU로 여러 VM(가상 머신)에 할당할 수 있습니다. 결과적으로 이러한 VM은 단일 물리적 Intel GPU의 성능을 공유합니다.
선택한 Intel GPU만 vGPU 기능과 호환됩니다.
또한 Intel vGPU에서 작동하는 VNC 콘솔을 활성화할 수 있습니다. 사용자가 VM의 VNC 콘솔에 연결하고 Intel vGPU에서 호스팅하는 VM의 데스크탑을 확인할 수 있습니다. 그러나 현재 이 기능은 RHEL 게스트 운영 체제에서만 작동합니다.
이 기능은 더 이상 사용되지 않으며 향후 RHEL 주요 릴리스에서 완전히 제거됩니다.
Bugzilla:1528684[1]
중첩된 가상 머신 생성
중첩된 KVM 가상화는 RHEL 8이 포함된 Intel, AMD64, IBM POWER 및 IBM Z 시스템에서 실행되는 KVM 가상 머신(VM)용 기술 프리뷰로 제공됩니다. 이 기능을 사용하면 물리적 RHEL 8 호스트에서 실행되는 RHEL 7 또는 RHEL 8 VM이 하이퍼바이저 역할을 하며 자체 VM을 호스팅할 수 있습니다.
Jira:RHELPLAN-14047[1], 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[1]
RHEL 게스트의 Intel TDX
이제 기술 프리뷰로 TDX(Intel Trust Domain Extension) 기능을 RHEL 8.8 이상 게스트 운영 체제에서 사용할 수 있습니다. 호스트 시스템이 TDX를 지원하는 경우 신뢰 도메인(TD)이라는 하드웨어 격리 RHEL 9 VM(가상 머신)을 배포할 수 있습니다. 그러나 TDX는 현재 kdump
에서는 작동하지 않으며 TDX를 활성화하면 VM에서 kdump
가 실패합니다.
Bugzilla:1836977[1]
virtiofs를 사용하여 호스트와 VM 간 파일 공유
이제 RHEL 8에서 virtio 파일 시스템(virtiofs
)을 기술 프리뷰로 제공합니다. virtiofs
를 사용하면 호스트 시스템과 VM(가상 시스템) 간에 파일을 효율적으로 공유할 수 있습니다.
Bugzilla:1741615[1]
7.10. 클라우드 환경의 RHEL
Azure에서 RHEL 기밀 VM을 기술 프리뷰로 사용 가능
업데이트된 RHEL 커널을 사용하면 Microsoft Azure에서 기술 프리뷰로 기밀 가상 머신(VM)을 생성하고 실행할 수 있습니다. 그러나 Azure에서 부팅하는 동안 RHEL 기밀 VM 이미지를 암호화할 수 없습니다.
Jira:RHELPLAN-122316[1]
7.11. 컨테이너
podman-machine
명령은 지원되지 않음
가상 머신을 관리하는 podman-machine
명령은 기술 프리뷰로만 사용할 수 있습니다. 대신 명령줄에서 직접 Podman을 실행합니다.
Jira:RHELDOCS-16861[1]
다중 아키텍처 이미지 빌드는 기술 프리뷰로 사용 가능
다중 아키텍처 컨테이너 이미지를 만드는 데 사용할 수 있는 podman farm build
명령은 기술 프리뷰로 사용할 수 있습니다.
소규모은 UNIX podman 소켓이 실행되고 있는 머신 그룹입니다. 확장성의 노드는 서로 다른 아키텍처의 다른 머신을 가질 수 있습니다. podman farm build
명령은 podman build --arch --platform
명령보다 빠릅니다.
podman grow build
를 사용하여 다음 작업을 수행할 수 있습니다.
- 프로덕션 환경의 모든 노드에 이미지를 빌드합니다.Creates an image on all nodes in a body.
- 노드를 매니페스트 목록에 번들로 번들합니다.
-
모든 리전 노드에서
podman build
명령을 실행합니다. -
--tag
옵션을 사용하여 지정된 레지스트리로 이미지를 푸시합니다. - 로컬에서 매니페스트 목록을 생성합니다.
매니페스트 목록을 레지스트리에 내보냅니다.
매니페스트 목록에는 OpenStack에 있는 기본 아키텍처 유형당 하나의 이미지가 포함되어 있습니다.
Jira:RHELPLAN-154435[1]
8장. 사용되지 않는 기능
이 부분에서는 Red Hat Enterprise Linux 8에서 더 이상 사용되지 않는 기능에 대한 개요를 제공합니다.
더 이상 사용되지 않는 장치는 완전히 지원되므로 테스트 및 유지 관리되며 Red Hat Enterprise Linux 8 내에서 지원 상태가 변경되지 않은 상태로 유지됩니다. 그러나 이러한 장치는 다음 주요 버전 릴리스에서 지원되지 않을 수 있으며 현재 또는 향후 RHEL 주요 버전의 새 배포에는 권장되지 않습니다.
특정 주요 릴리스에서 더 이상 사용되지 않는 기능의 최신 목록은 최신 릴리스 설명서를 참조하십시오. 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux 라이프 사이클 및 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.
패키지가 더 이상 사용되지 않으며 향후 사용이 권장되지 않는 경우가 있습니다. 특정 상황에서 패키지는 제품에서 제거할 수 있습니다. 제품 설명서에 더 이상 사용되지 않는 기능과 유사 또는 동일하거나 보다 고급 기능을 제공하는 최근 패키지가 지정된 권장 사항이 기재됩니다.
RHEL 7에는 있지만 RHEL 8에는 제거된 기능에 대한 자세한 내용은 RHEL 8 채택에 대한 고려 사항을 참조하십시오.
RHEL 8에는 존재하지만 RHEL 9에는 제거된 기능에 대한 자세한 내용은 RHEL 9 채택 시 고려 사항을 참조하십시오.
8.1. 설치 프로그램 및 이미지 생성
몇 가지 Kickstart 명령 및 옵션이 더 이상 사용되지 않음
RHEL 8 Kickstart 파일에서 다음 명령 및 옵션을 사용하면 로그에 경고가 출력됩니다.
-
auth
또는authconfig
-
device
-
deviceprobe
-
dmraid
-
설치
-
lilo
-
lilocheck
-
마우스
-
multipath
-
bootloader --upgrade
-
ignoredisk --interactive
-
partition --active
-
reboot --kexec
특정 옵션만 나열된 경우에도 기본 명령 및 기타 옵션은 계속 사용할 수 있으며 더 이상 사용되지 않습니다.
Kickstart의 관련 변경 사항 및 자세한 내용은 RHEL 8 도입 시 고려 사항 의 Kickstart 변경 섹션을 참조하십시오.
Bugzilla:1642765[1]
ignoredisk
Kickstart 명령의 --interactive
옵션이 더 이상 사용되지 않음
Red Hat Enterprise Linux의 향후 릴리스에서 --interactive option
을 사용하면 치명적인 설치 오류가 발생합니다. 옵션을 제거하려면 Kickstart 파일을 수정하는 것이 좋습니다.
Bugzilla:1637872[1]
Kickstart autostep
명령이 더 이상 사용되지 않음
autostep
명령이 더 이상 사용되지 않습니다. 이 명령에 대한 관련 섹션은 RHEL 8 설명서에서 제거되었습니다.
Bugzilla:1904251[1]
8.2. 보안
NSS
SEED 암호가 더 이상 사용되지 않음
NSS
( Mozilla Network Security Services) 라이브러리는 향후 릴리스에서 SEED 암호를 사용하는 TLS 암호화 제품군을 지원하지 않습니다. NSS가 지원을 제거할 때 SEED 암호를 사용하는 배포를 원활하게 전환하려면 다른 암호화 제품군에 대한 지원을 활성화하는 것이 좋습니다.
RHEL에서는 SEED 암호가 이미 비활성화되어 있습니다.
TLS 1.0 및 TLS 1.1은 더 이상 사용되지 않음
TLS 1.0 및 TLS 1.1 프로토콜은 DEFAULT
시스템 전체 암호화 정책 수준에서 비활성화되어 있습니다. 예를 들어 Firefox 웹 브라우저의 비디오 회의 애플리케이션에서 더 이상 사용되지 않는 프로토콜을 사용해야 하는 경우 시스템 전체 암호화 정책을 LEGACY
수준으로 전환합니다.
# update-crypto-policies --set LEGACY
자세한 내용은 RHEL 8의 Strong 암호화 기본값 및 Red Hat 고객 포털 및 update-crypto-policies(8)
도움말 페이지의 약한 암호화 알고리즘 지식베이스 문서를 참조하십시오.
RHEL 8에서 DSA가 더 이상 사용되지 않음
Red Hat Enterprise Linux 8에서는 DSA(Digital Signature Algorithm)가 더 이상 사용되지 않습니다. DSA 키에 의존하는 인증 메커니즘은 기본 구성에서 작동하지 않습니다. OpenSSH
클라이언트는 LEGACY
시스템 전체 암호화 정책 수준에서도 DSA 호스트 키를 허용하지 않습니다.
Bugzilla:1646541[1]
fapolicyd.rules
가 더 이상 사용되지 않음
허용 및 실행 규칙을 포함하는 파일의 /etc/fapolicyd/rules.d/
디렉토리에서 /etc/fapolicyd/fapolicyd.rules
파일을 대체합니다. fagenrules
스크립트는 이 디렉터리의 모든 구성 요소 규칙 파일을 /etc/fapolicyd/compiled.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[1]
이제 /etc/selinux/config
를 사용하여 SELinux를 비활성화하는 런타임이 더 이상 사용되지 않음
/etc/selinux/config
파일에서 SELINUX=disabled
옵션을 사용하여 SELinux를 비활성화하는 런타임은 더 이상 사용되지 않습니다. RHEL 9에서는 /etc/selinux/config
를 통해서만 SELinux를 비활성화하면 SELinux가 활성화된 상태에서 정책이 로드되지 않고 시스템이 시작됩니다.
시나리오가 SELinux를 완전히 비활성화해야 하는 경우 Red Hat은 SELinux 사용 의 부팅 시 SELinux 모드 변경 섹션에 설명된 대로 selinux=0
매개 변수를 커널 명령줄에 추가하여 SELinux 를 비활성화할 것을 권장합니다.
selinux-policy
에서 제거된 ipa
SELinux 모듈
ipa
SELinux 모듈이 더 이상 유지 관리되지 않기 때문에 selinux-policy
패키지에서 제거되었습니다. 이제 기능이 ipa-selinux
하위 패키지에 포함됩니다.
시나리오에 로컬 SELinux 정책의 ipa
모듈에서 유형 또는 인터페이스를 사용해야 하는 경우 ipa-selinux
패키지를 설치합니다.
Bugzilla:1461914[1]
TPM 1.2가 더 이상 사용되지 않음
신뢰할 수 있는 플랫폼 모듈(TPM) 보안 암호화 프로세서 표준이 2016년 버전 2.0으로 업데이트되었습니다. TPM 2.0은 TPM 1.2에 비해 많은 개선 사항을 제공하며 이전 버전과 호환되지 않습니다. TPM 1.2는 RHEL 8에서 더 이상 사용되지 않으며 다음 주요 릴리스에서 제거될 수 있습니다.
Bugzilla:1657927[1]
crypto-policies
파생 속성이 더 이상 사용되지 않음
사용자 지정 정책에서 crypto-policies
지시문에 대한 범위가 도입되면 다음과 같은 파생된 속성이 더 이상 사용되지 않습니다. tls_cipher
,ssh_cipher
,ssh_group
,ike_protocol
, sha1_in_dnssec
. 또한 범위를 지정하지 않고 프로토콜
속성도 더 이상 사용되지 않습니다. 권장 교체는 crypto-policies(7)
도움말 페이지를 참조하십시오.
RHEL 8 및 9 OpenSSL 인증서 및 서명 컨테이너는 더 이상 사용되지 않음
Red Hat Ecosystem Catalog의 ubi8/openssl
및 ubi9/openssl
리포지토리에서 사용 가능한 OpenSSL 이식 인증서 및 서명 컨테이너는 이제 수요가 부족하기 때문에 더 이상 사용되지 않습니다.
Jira:RHELDOCS-17974[1]
8.3. 서브스크립션 관리
subscription-manager 레지스터
의 더 이상 사용되지 않는 --token
옵션은 2024년 11월 말에 작동하지 않습니다.
subscription-manager register
명령의 더 이상 사용되지 않는 --token=<TOKEN
> 옵션은 2024년 11월 말부터 지원되는 인증 방법이 아닙니다. 기본 인타이틀먼트 서버 subscription.rhsm.redhat.com
은 더 이상 토큰 기반 인증을 허용하지 않습니다. 결과적으로 subscription-manager register --token=<TOKEN
> 을 사용하는 경우 다음 오류 메시지와 함께 등록이 실패합니다.
Token authentication not supported by the entitlement server
시스템을 등록하려면 subscription-manager register
명령에 --username / --password
OR --org / --activationkey
를 포함하여 지원되는 다른 권한 부여 방법을 사용하십시오.
8.4. 소프트웨어 관리
rpmbuild --sign
이 더 이상 사용되지 않음
rpmbuild --sign
명령은 RHEL 8.1 이후 더 이상 사용되지 않습니다. Red Hat Enterprise Linux의 향후 릴리스에서 이 명령을 사용하면 오류가 발생할 수 있습니다. 대신 rpmsign
명령을 사용하는 것이 좋습니다.
8.5. 쉘 및 명령행 툴
ReaR 구성 파일에서 TMPDIR
변수 설정은 더 이상 사용되지 않습니다.
내보내기
환경 변수를 설정하는 것은 더 이상 사용되지 않습니다.
TMPDIR
=… 와 같은 문을 사용하여 /etc/rear/local.conf
또는 /etc/rear/site.conf
ReaR 구성 파일에서 TMPDIR
ReaR 임시 파일의 사용자 지정 디렉터리를 지정하려면 ReaR을 실행하기 전에 쉘 환경에서 변수를 내보냅니다. 예를 들어 내보내기 TMPDIR=…
문을 입력한 다음 동일한 쉘 세션 또는 스크립트에 rear
명령을 입력합니다.
Jira:RHELDOCS-18049[1]
OpenEXR
구성 요소가 더 이상 사용되지 않음
OpenEXR
구성 요소는 더 이상 사용되지 않습니다. 따라서 EXR
이미지 형식에 대한 지원이 imagecodecs
모듈에서 삭제되었습니다.
dump
패키지의 dump
유틸리티가 더 이상 사용되지 않음
파일 시스템의 백업에 사용되는 덤프
유틸리티는 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다.
RHEL 9에서는 ext2, ext3 및 ext4 파일 시스템에서 전체 및 안전한 백업을 제공하는 사용 유형에 따라 tar
,dd
또는 bacula
, backup 유틸리티를 사용하는 것이 좋습니다.
dump
패키지의 복원
유틸리티는 RHEL 9에서 사용 가능하고 지원되며 복원
패키지로 사용할 수 있습니다.
Bugzilla:1997366[1]
RHEL 8 systemd
에서는 hidepid=n
마운트 옵션이 지원되지 않습니다.
/proc/[
디렉토리에서 정보에 액세스할 수 있는 사용자를 제어하는 마운트 옵션은 RHEL 8에서 제공되는 pid
]systemd
인프라와 호환되지 않습니다.
또한 이 옵션을 사용하면 systemd
에 의해 시작된 특정 서비스가 SELinux AVC 거부 메시지를 생성하고 다른 작업이 완료되지 않을 수 있습니다.
자세한 내용은 RHEL7 및 RHEL8에서 권장되는 "hidepid=2"를 사용하여 마운트 하는 관련 지식베이스 솔루션을 참조하십시오.
/usr/lib/udev/rename_device
유틸리티가 더 이상 사용되지 않음
네트워크 인터페이스 이름을 변경하기 위한 udev
도우미 유틸리티 /usr/lib/udev/rename_device
는 더 이상 사용되지 않습니다.
ABRT 툴이 더 이상 사용되지 않음
RHEL 8에서는 애플리케이션 충돌 감지 및 보고를 위한 ABRT(Automatic Bug Reporting Tool)가 더 이상 사용되지 않습니다. 대신 systemd-coredump
툴을 사용하여 프로그램이 충돌한 후 자동으로 생성되는 코어 덤프를 기록하고 저장합니다.
Bugzilla:2055826[1]
ReaR crontab이 더 이상 사용되지 않음
rear 패키지의 /etc/cron.d/
crontab은 RHEL 8에서 더 이상 사용되지 않으며 RHEL 9에서는 사용할 수 없습니다. crontab은 디스크 레이아웃이 변경되었는지 확인하며 변경이 발생한 경우 rear
rear mkrescue
명령을 실행합니다.
이 기능이 필요한 경우 RHEL 9로 업그레이드한 후 주기적인 ReaR 실행을 수동으로 구성합니다.
Bacula의 SQLite 데이터베이스 백엔드가 더 이상 사용되지 않음
Bacula 백업 시스템은 PostgreSQL, MySQL, SQLite 등 여러 데이터베이스 백엔드를 지원했습니다. SQLite 백엔드는 더 이상 사용되지 않으며 이후 RHEL 릴리스에서 지원되지 않습니다. 대신 다른 백엔드(PostgreSQL 또는 MySQL) 중 하나로 마이그레이션하고 새 배포에서 SQLite 백엔드를 사용하지 않습니다.
raw
명령이 더 이상 사용되지 않음
raw
(/usr/bin/raw
) 명령이 더 이상 사용되지 않습니다. Red Hat Enterprise Linux의 향후 릴리스에서 이 명령을 사용하면 오류가 발생할 수 있습니다.
Jira:RHELPLAN-133171[1]
8.6. 인프라 서비스
geoipupdate
패키지가 더 이상 사용되지 않음
geoipupdate
패키지에는 타사 서브스크립션이 필요하며 독점 콘텐츠도 다운로드합니다. 따라서 geoipupdate
패키지는 더 이상 사용되지 않으며 다음 주요 RHEL 버전에서 제거됩니다.
Bugzilla:1874892[1]
8.7. 네트워킹
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[1]
dropwatch
툴이 더 이상 사용되지 않음
dropwatch
툴이 더 이상 사용되지 않습니다. 이 툴은 향후 릴리스에서 지원되지 않으므로 새 배포에는 사용하지 않는 것이 좋습니다. 이 패키지를 대체하기 위해 Red Hat은 perf
명령줄 툴을 사용하는 것이 좋습니다.
perf
명령줄 툴 사용에 대한 자세한 내용은 Red Hat 고객 포털 또는 perf
도움말 페이지의 Perf 시작하기 섹션을 참조하십시오.
xinetd
서비스가 더 이상 사용되지 않음
xinetd
서비스는 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다. 교체로 systemd
를 사용합니다. 자세한 내용은 xinetd 서비스를 systemd로 변환하는 방법을 참조하십시오.
Bugzilla:2009113[1]
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-FiProtected Access 3 (WPA3) 또는 Cryostat2 연결 방법을 사용하십시오.
지원되지 않는 xt_u32
모듈이 더 이상 사용되지 않음
지원되지 않는 xt_u32
모듈을 사용하여 iptables
사용자는 패킷 헤더 또는 페이로드에서 임의의 32비트와 일치할 수 있습니다. RHEL 8.6부터 xt_u32
모듈은 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다.
xt_u32
를 사용하는 경우 nftables
패킷 필터링 프레임워크로 마이그레이션합니다. 예를 들어 기본 일치 항목이 포함된 iptables
를 사용하도록 방화벽을 먼저 변경하여 개별 규칙을 점진적으로 교체하고 나중에 iptables-translate
및 관련 유틸리티를 사용하여 nftables
로 마이그레이션하십시오. nftables
에 네이티브 일치 항목이 없는 경우 nftables
의 원시 페이로드 일치 기능을 사용합니다. 자세한 내용은 nft(8)
도움말 페이지의 원시 페이로드 표현식
섹션을 참조하십시오.
8.8. 커널
rdma_rxe
soft-RoCE 드라이버가 더 이상 사용되지 않음
RXE(Remote Direct Memory Access over Converged Ethernet)는 RDMA(Remote Direct Memory Access)를 에뮬레이션하는 기능입니다. RHEL 8에서는 soft-RoCE 기능을 기술 프리뷰로 사용할 수 있습니다. 또한 안정성 문제로 인해 이 기능은 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다.
Bugzilla:1878207[1]
RHEL 8에서는 Linux firewire
하위 시스템 및 관련 사용자 공간 구성 요소가 더 이상 사용되지 않음
firewire
하위 시스템은 IEEE 1394 버스의 모든 리소스를 사용하고 유지 관리하는 인터페이스를 제공합니다. RHEL 9에서는 firewire
가 더 이상 커널
패키지에서 지원되지 않습니다. firewire
에는 libavc1394
,libdc1394
,libraw1394
패키지에서 제공하는 여러 사용자 공간 구성 요소가 포함되어 있습니다. 이러한 패키지에는 사용 중단이 적용됩니다.
Bugzilla:1871863[1]
디스크리스 부팅을 사용하여 실시간 8용 RHEL 설치가 더 이상 사용되지 않음
디스크리스 부팅을 사용하면 여러 시스템이 네트워크를 통해 루트 파일 시스템을 공유할 수 있습니다. 편리한 부팅은 실시간 워크로드에 네트워크 대기 시간을 도입하기 쉽습니다. RHEL for Real Time 8의 8.3 마이너 업데이트를 사용하면 디스크 없는 부팅 기능이 더 이상 지원되지 않습니다.
커널 실시간 패치에 대한 모든 RHEL 마이너 릴리스 적용
RHEL 8.1부터 심각 및 중요한 CVE(Common Vulnerabilities and Exposures)를 해결하기 위해 EUS(Extended Update Support) 정책에 따라 RHEL의 선택된 마이너 릴리스 스트림에 커널 라이브 패치가 제공되었습니다. 동시에 다루는 커널 및 사용 사례의 최대 수를 수용하기 위해 각 라이브 패치의 지원 기간이 커널의 마이너 버전, 메이저 및 zStream 버전에 대해 12개월에서 6개월로 단축되었습니다. 이는 커널 라이브 패치가 릴리스되는 날에는 지난 6개월 동안 제공되는 모든 마이너 릴리스 및 예약된 에라타 커널을 다룹니다.
이 기능에 대한 자세한 내용은 커널 실시간 패치를 사용하여 패치 적용을 참조하십시오.
사용 가능한 커널 라이브 패치에 대한 자세한 내용은 Kernel Live Patch 라이프 사이클 을 참조하십시오.
crash-ptdump-command
패키지는 더 이상 사용되지 않음
크래시 유틸리티에 대한 ptdump
확장 모듈인 crash-ptdump-command
패키지는 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 사용할 수 없습니다. ptdump
명령은 단일 범위 출력 모드에서 작업할 때 로그 버퍼를 검색하지 못하고ToPA(물리적 주소) 모드에서만 작동합니다. crash-ptdump-command
는 현재 업스트림에서 유지 관리되지 않음
Bugzilla:1838927[1]
8.9. 부트 로더
kernelopts
환경 변수가 더 이상 사용되지 않음
RHEL 8에서는 GRUB 부트 로더를 사용하는 시스템의 커널 명령줄 매개 변수가 kernelopts
환경 변수에 정의되어 있습니다. 변수는 각 커널 부팅 항목의 /boot/grub2/grubenv
파일에 저장되었습니다. 그러나 kernelopts
를 사용하여 커널 명령줄 매개 변수를 저장하는 것은 쉽지 않았습니다. 따라서 RHEL의 향후 주요 업데이트로 kernelopts
가 제거되고 커널 명령줄 매개변수가 대신 BLS(Boot Loader Specification) 스니펫에 저장됩니다.
8.10. 파일 시스템 및 스토리지
탄력적 스토리지 애드온이 더 이상 사용되지 않음
RHEL(Red Hat Enterprise Linux) 탄력적 스토리지 애드온은 더 이상 사용되지 않습니다. 스토리지 장애 복구 애드온은 Red Hat Enterprise Linux 10 및 RHEL 10 이후의 후속 릴리스에서 더 이상 지원되지 않습니다. RHEL 탄력적 스토리지 애드온은 이전 버전의 RHEL (7, 8, 9) 및 해당 유지 관리 지원 라이프 사이클에서 계속 지원됩니다.
lift kernel
명령줄 매개변수는 더 이상 사용되지 않습니다.
이전 RHEL 릴리스에서는 모든 장치의 디스크 스케줄러를 설정하기 위해 lift kernel 명령줄 매개변수가 사용되었습니다. RHEL 8에서는 매개변수가 더 이상 사용되지 않습니다.
업스트림 Linux 커널은 성능 저하 매개 변수에 대한 지원을 제거했지만 RHEL 8에서는 호환성을 위해 계속 사용할 수 있습니다.
커널은 장치 유형에 따라 기본 디스크 스케줄러를 선택합니다. 일반적으로 이는 최적의 설정입니다. 다른 스케줄러가 필요한 경우 udev
규칙 또는 TuneD 서비스를 사용하여 구성하는 것이 좋습니다. 선택한 장치를 일치시키고 해당 장치에 대해서만 스케줄러를 전환합니다.
자세한 내용은 디스크 스케줄러 설정을 참조하십시오.
Bugzilla:1665295[1]
UDP를 통한 NFSv3이 비활성화
NFS 서버는 기본적으로 더 이상 UDP(User Datagram Protocol) 소켓을 열거나 수신하지 않습니다. 버전 4는 TCP(Transmission Control Protocol)가 필요하기 때문에 이 변경은 NFS 버전 3에만 영향을 미칩니다.
RHEL 8에서는 UDP를 통한 NFS가 더 이상 지원되지 않습니다.
Bugzilla:1592011[1]
peripety
가 더 이상 사용되지 않음
RHEL 8.3 이후 peripety
패키지는 더 이상 사용되지 않습니다.
Peripety 스토리지 이벤트 알림 데몬은 시스템 스토리지 로그를 구조화된 스토리지 이벤트에 구문 분석합니다. 스토리지 문제를 조사하는 데 도움이 됩니다.
async
이외의 VDO 쓰기 모드는 더 이상 사용되지 않음
VDO는 RHEL 8에서 여러 쓰기 모드를 지원합니다.
-
sync
-
async
-
async-unsafe
-
auto
RHEL 8.4부터 다음 쓰기 모드는 더 이상 사용되지 않습니다.
sync
-
VDO 계층 위의 장치는 VDO가 동기 상태인지 인식할 수 없으므로 장치가 VDO
동기화
모드를 활용할 수 없습니다. async-unsafe
-
VDO는 이 쓰기 모드를 Atomicity, Consistency, Isolation 및 Durability(ACID)를 준수하는
async
모드의 성능을 줄이기 위한 해결 방법으로 추가했습니다. Red Hat은 대부분의 사용 사례에 대해async-unsafe
를 권장하지 않으며 이를 사용하는 사용자를 인식하지 못합니다. auto
- 이 쓰기 모드는 다른 쓰기 모드 중 하나만 선택합니다. VDO가 단일 쓰기 모드만 지원하는 경우에는 더 이상 필요하지 않습니다.
이러한 쓰기 모드는 향후 주요 RHEL 릴리스에서 제거됩니다.
권장 VDO 쓰기 모드는 이제 async
입니다.
VDO 쓰기 모드에 대한 자세한 내용은 VDO 쓰기 모드 선택을 참조하십시오.
Jira:RHELPLAN-70700[1]
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[1]
8.11. 고가용성 및 클러스터
clufter
툴을 지원하는 pcs
명령이 더 이상 사용되지 않음
클러스터 구성 형식을 분석하기 위한 clufter
툴을 지원하는 pcs
명령이 더 이상 사용되지 않습니다. 이러한 명령은 이제 명령이 더 이상 사용되지 않으며 이러한 명령과 관련된 섹션이 pcs
도움말 표시 및 pcs(8)
도움말 페이지에서 제거되었다는 경고를 출력합니다.
다음 명령은 더 이상 사용되지 않습니다.
-
CMAN / RHEL6 HA 클러스터 구성을 가져오는
pcs config import-cman
-
동일한 클러스터를 다시 생성하는
pcs
명령 목록으로 클러스터 구성을내보낼 pcs config 내보내기
Bugzilla:1851335[1]
8.12. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
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 사용을 참조하십시오.
8.13. 컴파일러 및 개발 도구
gdb.i686
패키지는 더 이상 사용되지 않음
RHEL 8.1에서 32비트 버전의 GNU Debugger(GDB), 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-12.el8.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[1]
libdwarf
가 더 이상 사용되지 않음
RHEL 8에서는 libdwarf
라이브러리가 더 이상 사용되지 않습니다. 라이브러리는 향후 주요 릴리스에서 지원되지 않을 수 있습니다. 대신 ELF/DWARF 파일을 처리하려는 애플리케이션에 elfutils
및 libdw
라이브러리를 사용합니다.
libdwarf-tools
dwarfdump
프로그램의 대안은 --debug-dump
플래그를 전달하는 데 사용되는 binutils
readelf
프로그램 또는 elfutils
eu-readelf
프로그램입니다.
8.14. IdM (Identity Management)
OpenSSH-ldap
가 더 이상 사용되지 않음
openssh-ldap
하위 패키지는 Red Hat Enterprise Linux 8에서 더 이상 사용되지 않으며 RHEL 9에서 제거됩니다. openssh-ldap
하위 패키지는 업스트림에서 유지 관리되지 않으므로 Red Hat은 SSSD 및 sss_ssh_authorizedkeys
도우미를 사용하여 다른 IdM 솔루션과 더 잘 통합할 것을 권장합니다.
기본적으로 SSSD ldap
및 ipa
공급자는 사용 가능한 경우 사용자 오브젝트의 sshPublicKey
LDAP 특성을 읽습니다. AD에는 공개 키를 저장할 기본 LDAP 속성이 없으므로 ad
공급자 또는 IdM 신뢰할 수 있는 도메인에 대한 기본 SSSD 구성을 사용하여 AD(Active Directory)에서 SSH 공개 키를 검색할 수 없습니다.
sss_
도우미가 SSSD에서 키를 가져올 수 있도록 하려면 ssh
_authorizedkeyssssd.conf
파일의 services
옵션에 ssh
를 추가하여 ssh 응답을 활성화합니다. 자세한 내용은 sssd.conf(5)
도움말 페이지를 참조하십시오.
sshd
가 sss_ssh_authorizedkeys
를 사용할 수 있도록 하려면 sss_ssh_authorizedkeys(1)
도움말 페이지에 설명된 대로 AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
및 AuthorizedKeysCommandUser nobody
옵션을 /etc/ssh/sshd_config
파일에 추가합니다.
DES 및 3DES 암호화 유형이 제거되었습니다.
보안상의 이유로 RHEL 7 이후 DES(Data Encryption Standard) 알고리즘은 기본적으로 더 이상 사용되지 않고 비활성화되어 있습니다. 최근 Kerberos 패키지 리베이스를 통해 단일 DES(DES) 및 트리플-DES(DES) 암호화 유형이 RHEL 8에서 제거되었습니다.
DES 또는 3DES 암호화만 사용하도록 서비스 또는 사용자를 구성한 경우 다음과 같은 서비스 중단이 발생할 수 있습니다.
- Kerberos 인증 오류
-
unknown enctype
암호화 오류 -
DES 암호화 데이터베이스 마스터 키(
K/M
)가 있는 KDC(Kerberos Distribution Center)를 시작할 수 없음
업그레이드를 준비하려면 다음 작업을 수행합니다.
-
krb5check
오픈 소스 Python 스크립트와 함께 KDC가 DES 또는 3DES 암호화를 사용하는지 확인합니다. GitHub에서 krb5check 를 참조하십시오. - Kerberos 주체와 함께 DES 또는 3DES 암호화를 사용하는 경우 AES(Advanced Encryption Standard)와 같은 지원되는 암호화 유형으로 다시 입력합니다. 키 재지정에 대한 지침은 MIT Kerberos 설명서에서 Retiring DES 를 참조하십시오.
업그레이드하기 전에 다음 Kerberos 옵션을 임시로 설정하여 DES 및 3DES의 독립성을 테스트합니다.
-
KDC의
/var/kerberos/krb5kdc/kdc.conf
에서supported_enctypes
를 설정하고des
3 -
모든 호스트에 대해
/etc/krb5.conf
및/etc/krb5.conf.d
의 모든 파일에서allow_weak_crypto
를false
로 설정합니다. 기본적으로 false입니다. -
모든 호스트에 대해
/etc/krb5.conf
및/etc/krb5.conf.d
의 파일,permitted_enctypes
,default_tgs_enctypes
,default_tkt_enctypes
에서des
또는des3
을 포함하지 않습니다.
-
KDC의
- 이전 단계에서 테스트 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 제품 또는 Cryostat2 파일 시스템에서 제공하는 GlusterFS 파일 시스템을 포함하는 스토리지 볼륨을 사용합니다.
ctdb
서비스의 독립형 사용 사례는 더 이상 사용되지 않으며 Red Hat Enterprise Linux의 다음 주요 릴리스에는 포함되지 않습니다. Samba 지원 정책에 대한 자세한 내용은 RHEL 탄력적 스토리지에 대한 지식베이스 문서 지원 정책 - ctdb 일반 정책을 참조하십시오.
Bugzilla:1916296[1]
FreeRADIUS에 대한 제한된 지원
RHEL 8에서는 FreeRADIUS 오퍼링의 일부로 다음 외부 인증 모듈이 더 이상 사용되지 않습니다.
- MySQL, PostgreSQL, SQlite 및 unixODBC 데이터베이스 커넥터
-
Perl
언어 모듈 - REST API 모듈
기본 패키지의 일부로 제공되는 PAM 인증 모듈 및 기타 인증 모듈은 영향을 받지 않습니다.
예를 들어 Fedora 프로젝트에서는 더 이상 사용되지 않는 모듈의 교체를 찾을 수 있습니다.
또한 freeradius
패키지에 대한 지원 범위는 향후 RHEL 릴리스에서 다음 사용 사례로 제한됩니다.
-
IdM(Identity Management)이 있는 인증 공급자로 FreeRADIUS를 인증 소스로 사용합니다. 인증은
krb5
및 LDAP 인증 패키지를 통해 또는 기본 FreeRADIUS 패키지에서 PAM 인증으로 수행됩니다. - FreeRADIUS를 사용하여 Python 3 인증 패키지를 통해 IdM의 인증에 대한 소스 제공
이러한 사용 중단과 달리 Red Hat은 FreeRADIUS를 사용하여 다음 외부 인증 모듈의 지원을 강화할 것입니다.
-
krb5
및 LDAP 기반 인증 -
Python 3
인증
이러한 통합 옵션에 중점을 두는 것은 Red Hat IdM의 전략적 방향과 긴밀히 조정되는 것입니다.
Jira:RHELDOCS-17573[1]
WinSync를 통한 IdM과의 간접 AD 통합이 더 이상 사용되지 않음
WinSync는 다음과 같은 몇 가지 기능 제한으로 인해 더 이상 RHEL 8에서 적극적으로 개발되지 않습니다.
- WinSync는 하나의 AD(Active Directory) 도메인만 지원합니다.
- 암호 동기화를 사용하려면 AD 도메인 컨트롤러에 추가 소프트웨어를 설치해야 합니다.
리소스 및 보안을 더 잘 분리할 수 있는 보다 강력한 솔루션을 위해 Red Hat은 Active Directory와의 간접 통합을 위해 교차 포리스트 신뢰를 사용하는 것이 좋습니다. 직접 통합 문서를 참조하십시오.
Jira:RHELPLAN-100400[1]
PDC 또는 BDC로 Samba를 실행하는 것은 더 이상 사용되지 않습니다.
PDC(기본 도메인 컨트롤러) 및 BDC( backup domain controller)와 같이 관리자가 NT4로 Samba를 실행할 수 있는 클래식 도메인 컨트롤러 모드는 더 이상 사용되지 않습니다. 이러한 모드를 구성하는 코드 및 설정은 향후 Samba 릴리스에서 제거됩니다.
RHEL 8의 Samba 버전이 PDC 및 BDC 모드를 제공하는 한 Red Hat은 NT4 도메인을 지원하는 기존 설치에서만 이러한 모드를 지원합니다. 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 사용을 계속 지원합니다.
Red Hat은 Samba를 AD DC(Domain Controller)로 실행하는 것을 지원하지 않습니다.
SMB1 프로토콜은 Samba에서 더 이상 사용되지 않음
Samba 4.11부터 비보안 SMB1(Server Message Block 버전 1) 프로토콜은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다.
보안을 개선하기 위해 기본적으로 SMB1은 Samba 서버 및 클라이언트 유틸리티에서 비활성화되어 있습니다.
Jira:RHELDOCS-16612[1]
8.15. 데스크탑
libgnome-keyring
라이브러리가 더 이상 사용되지 않음
libgnome-keyring
은 업스트림에서 유지 관리되지 않으며 RHEL에 필요한 암호화 정책을 따르지 않기 때문에 libsecret
라이브러리 대신 libgnome-keyring
라이브러리가 더 이상 사용되지 않습니다. 새로운 libsecret
라이브러리는 필요한 보안 표준을 따르는 교체입니다.
Bugzilla:1607766[1]
LibreOffice가 더 이상 사용되지 않음
LibreOffice RPM 패키지는 더 이상 사용되지 않으며 향후 주요 RHEL 릴리스에서 제거될 예정입니다. LibreOffice는 RHEL 7, 8 및 9의 전체 라이프 사이클을 통해 계속 지원됩니다.
RPM 패키지를 대체하기 위해 The Document Foundation에서 제공하는 다음 소스 중 하나에서 LibreOffice를 설치하는 것이 좋습니다.
- Flathub 리포지토리의 공식 Flatpak 패키지: https://flathub.org/apps/org.libreoffice.LibreOffice.
- 공식 RPM 패키지: https://www.libreoffice.org/download/download-libreoffice/.
Jira:RHELDOCS-16300[1]
여러 비트맵 글꼴이 더 이상 사용되지 않음
다음 비트맵 글꼴 패키지가 더 이상 사용되지 않습니다.
-
bitmap-console-fonts
-
비트맵-fixed-fonts
-
bitmap-fonts-compat
-
bitmap-lucida-typewriter-fonts
비트맵 브렉시트의 크기는 제한적입니다. 사용할 수 없는 글꼴 크기를 설정하려고 하면 텍스트가 다른 크기 또는 다른 글꼴로 표시될 수 있습니다. 또한 비트맵 글꼴의 렌더링 품질을 줄이고 사용자 환경을 방해합니다.
또한 fontconfig
시스템은 언어 범위를 추정하는 메타데이터가 없으므로 주요 비트맵 글꼴 형식 중 하나인 PCF (Portable Compiled Format)를 무시합니다.
비트맵-fangsongti-fonts
비트맵 글꼴 패키지는 Lorax 툴의 종속성으로 계속 지원됩니다.
Jira:RHELDOCS-17623[1]
8.16. 그래픽 인프라
AGP 그래픽 카드는 더 이상 지원되지 않음
Red Hat Enterprise Linux 8에서는 Accelerated Graphics Port(AGP) 버스를 사용하는 그래픽 카드는 지원되지 않습니다. 권장 교체로 PCI-Express 버스가 포함된 그래픽 카드를 사용하십시오.
Bugzilla:1569610[1]
motif가 더 이상 사용되지 않음
업스트림 Motif 커뮤니티의 개발이 비활성화되었기 때문에 RHEL에서 Motif 위젯 툴킷이 더 이상 사용되지 않습니다.
다음 Motif 패키지는 개발 및 디버깅 변형을 포함하여 더 이상 사용되지 않습니다.
-
motif
-
openmotif
-
openmotif21
-
openmotif22
또한 motif-static
패키지가 제거되었습니다.
Red Hat은 GTK 툴킷을 교체로 사용할 것을 권장합니다. GTK는 유지 보수가 가능하며 Motif에 비해 새로운 기능을 제공합니다.
Jira:RHELPLAN-98983[1]
8.17. 웹 콘솔
웹 콘솔에서 더 이상 불완전한 번역을 지원하지 않음
RHEL 웹 콘솔은 더 이상 Console의 변환 가능한 문자열 중 50 % 미만에서 번역을 사용할 수 있는 언어에 대한 번역을 제공하지 않습니다. 브라우저가 이러한 언어로 번역을 요청하는 경우 사용자 인터페이스는 대신 영어로 표시됩니다.
remotectl
명령이 더 이상 사용되지 않음
remotectl
명령은 더 이상 사용되지 않으며 향후 RHEL 릴리스에서 사용할 수 없습니다. cockpit-certificate-ensure
명령을 교체로 사용할 수 있습니다. 그러나 cockpit-certificate-ensure
에는 remotectl
과 기능 패리티가 없습니다. 번들 인증서 및 키체인 파일을 지원하지 않으며 이를 분할해야 합니다.
Jira:RHELPLAN-147538[1]
8.18. Red Hat Enterprise Linux 시스템 역할
RHEL 9 노드에서 팀을 구성할 때 네트워크
시스템 역할에 사용 중단 경고가 표시됩니다.
RHEL 9에서는 네트워크 팀 기능이 더 이상 사용되지 않습니다. 결과적으로 RHEL 8 제어 노드에서 네트워크
RHEL 시스템 역할을 사용하여 RHEL 9 노드에서 네트워크 팀을 구성하면 사용 중단에 대한 경고가 표시됩니다.
Ansible Engine이 더 이상 사용되지 않음
이전 버전의 RHEL 8에서는 RHEL 시스템 역할 및 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 사용을 참조하십시오.
mssql_ha_cluster_run_role
이 더 이상 사용되지 않음
mssql_ha_cluster_run_role
변수가 더 이상 사용되지 않습니다. 대신 mssql_manage_ha_cluster
변수를 사용합니다.
8.19. 가상화
virsh iface-*
명령이 더 이상 사용되지 않음
virsh iface-start
및 virsh iface-destroy
와 같은 virsh iface-*
명령은 더 이상 사용되지 않으며 향후 주요 RHEL 버전에서 제거됩니다. 또한 구성 종속성으로 인해 이러한 명령이 자주 실패합니다.
따라서 호스트 네트워크 연결을 구성하고 관리하기 위해 virsh iface-*
명령을 사용하지 않는 것이 좋습니다. 대신 NetworkManager 프로그램과 nmcli
와 같은 관련 관리 애플리케이션을 사용합니다.
Bugzilla:1664592[1]
virt-manager가 더 이상 사용되지 않음
virt-manager라고도 하는 Virtual Machine Manager 애플리케이션은 더 이상 사용되지 않습니다. Cockpit 라고도 하는 RHEL 웹 콘솔은 후속 릴리스에서 대체하기 위한 것입니다. 따라서 GUI에서 가상화를 관리하기 위해 웹 콘솔을 사용하는 것이 좋습니다. 그러나 virt-manager 에서 사용할 수 있는 일부 기능은 RHEL 웹 콘솔에서 아직 제공되지 않을 수 있습니다.
Jira:RHELPLAN-10304[1]
가상 머신 스냅샷에 대한 제한된 지원
가상 머신(VM)의 스냅샷 생성은 현재 UEFI 펌웨어를 사용하지 않는 VM에서만 지원됩니다. 또한 스냅샷 작업 중에 QEMU 모니터가 차단되어 특정 워크로드의 하이퍼바이저 성능에 부정적인 영향을 미칠 수 있습니다.
또한 VM 스냅샷 생성의 현재 메커니즘이 더 이상 사용되지 않으며 Red Hat은 프로덕션 환경에서 VM 스냅샷을 사용하는 것을 권장하지 않습니다.
Cirrus VGA 가상 GPU 유형이 더 이상 사용되지 않음
향후 Red Hat Enterprise Linux에 대한 주요 업데이트가 있을 경우 KVM 가상 머신에서 Cirrus VGA GPU 장치가 더 이상 지원되지 않습니다. 따라서 Red Hat은 Cirrus VGA 대신 stdvga 또는 virtio-vga 장치를 사용할 것을 권장합니다.
Bugzilla:1651994[1]
SPICE가 더 이상 사용되지 않음
SPICE 원격 디스플레이 프로토콜이 더 이상 사용되지 않습니다. SPICE는 RHEL 8에서 계속 지원되지만 Red Hat은 원격 디스플레이 스트리밍을 위해 대체 솔루션을 사용하는 것이 좋습니다.
- 원격 콘솔 액세스의 경우 VNC 프로토콜을 사용합니다.
- 고급 원격 디스플레이 기능의 경우 RDP, HP RGS 또는 Mechdyne TGX와 같은 타사 툴을 사용하십시오.
Bugzilla:1849563[1]
IBM POWER의 KVM이 더 이상 사용되지 않음
IBM POWER 하드웨어에서 KVM 가상화를 사용하는 것은 더 이상 사용되지 않습니다. 결과적으로 IBM POWER의 KVM은 RHEL 8에서 계속 지원되지만 향후 RHEL 주요 릴리스에서 지원되지 않습니다.
Jira:RHELPLAN-71200[1]
SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인이 더 이상 사용되지 않음
UEFI (PE/COFF) 실행 파일에서 SHA1- 기반 서명을 사용하여 SecureBoot 이미지 확인을 수행하는 것은 더 이상 사용되지 않습니다. 대신 SHA-2 알고리즘을 기반으로 서명을 사용하는 것이 좋습니다.
Bugzilla:1935497[1]
SPICE를 사용하여 스마트 카드 리더를 가상 머신에 연결하는 것은 더 이상 사용되지 않음
RHEL 8에서는 SPICE 원격 디스플레이 프로토콜이 더 이상 사용되지 않습니다. 스마트 카드 리더를 VM(가상 머신)에 연결하는 유일한 방법은 SPICE 프로토콜에 따라 달라지므로 VM에서 스마트 카드 사용도 더 이상 사용되지 않습니다.
향후 주요 RHEL 버전에서는 스마트 카드 리더를 VM에 연결하는 기능은 타사 원격 시각화 솔루션에서만 지원됩니다.
RDMA 기반 실시간 마이그레이션은 더 이상 사용되지 않음
이번 업데이트를 통해 RDMA(Remote Direct Memory Access)를 사용하여 실행 중인 가상 머신의 마이그레이션이 더 이상 사용되지 않습니다. 결과적으로 rdma://
마이그레이션 URI를 사용하여 RDMA를 통한 마이그레이션을 요청할 수 있지만 이 기능은 향후 RHEL 주요 릴리스에서 지원되지 않습니다.
Jira:RHELPLAN-153267[1]
8.20. 컨테이너
GIMP flatpak
및 GIMP
모듈이 더 이상 사용되지 않음
raster 그래픽용 GNU 이미지 조작 프로그램을 나타내는
및 GIMP 모듈은 이제 Python 2의 EOL (End of Life)으로 인해 더 이상 사용되지 않으며 다음 주요 RHEL 릴리스에서 제거됩니다. 대안으로 Python 3을 기반으로 업스트림 flatpak 버전을 사용할 수 있습니다.
GIMP
flatpak
Podman varlink 기반 API v1.0이 제거되었습니다.
Podman varlink 기반 API v1.0은 RHEL 8의 이전 릴리스에서 더 이상 사용되지 않습니다. podman v2.0에서는 새로운 Podman v2.0 RESTful API를 도입했습니다. Podman v3.0이 릴리스되면서 varlink 기반 API v1.0이 완전히 제거되었습니다.
Jira:RHELPLAN-45858[1]
container-tools:1.0
이 더 이상 사용되지 않음
container-tools:1.0
모듈은 더 이상 사용되지 않으며 보안 업데이트를 받지 않습니다. container-tools:2.0
또는 container-tools:3.0
과 같은 지원되는 안정적인 모듈 스트림을 사용하는 것이 좋습니다.
Jira:RHELPLAN-59825[1]
container-tools:2.0
모듈이 더 이상 사용되지 않음
container-tools:2.0 모듈은 더 이상 사용되지 않으며 보안 업데이트를 받지 않습니다. container-tools:3.0
과 같이 지원되는 최신 안정적인 모듈 스트림을 사용하는 것이 좋습니다.
Jira:RHELPLAN-85066[1]
GIMP를 제외한 Flatpak 이미지가 더 이상 사용되지 않음
rhel8/firefox-flatpak
,rhel8/thunderbird-flatpak
,rhel8/inkscape-flatpak
, rhel8/libre Cryostat-flatpak
RHEL 8 Flatpak 애플리케이션은 더 이상 사용되지 않으며 RHEL 9 버전으로 교체되었습니다. RHEL 9에서는 아직 대체 기능이 없으므로 rhel8/gimp-flatpak
애플리케이션은 더 이상 사용되지 않습니다.
CNI 네트워크 스택이 더 이상 사용되지 않음
CNI(Container Network Interface) 네트워크 스택은 더 이상 사용되지 않으며 RHEL의 향후 마이너 릴리스에서 Podman에서 제거됩니다. 이전에는 단일 CNI(Container Network Interface) 플러그인에 연결된 컨테이너는 DNS를 통해서만 연결되었습니다. podman v.4.0에는 새로운 Netavark 네트워크 스택이 도입되었습니다. Podman 및 기타 OCI(Open Container Initiative) 컨테이너 관리 애플리케이션과 함께 Netavark 네트워크 스택을 사용할 수 있습니다. Podman용 Netavark 네트워크 스택은 고급 Docker 기능과도 호환됩니다. 여러 네트워크의 컨테이너가 해당 네트워크의 컨테이너에 액세스할 수 있습니다.
자세한 내용은 CNI에서 Netavark로 네트워크 스택 전환 을 참조하십시오.
Jira:RHELDOCS-16755[1]
container-tools:3.0
이 더 이상 사용되지 않음
container-tools:3.0
모듈은 더 이상 사용되지 않으며 보안 업데이트를 받지 않습니다. RHEL에서 Linux 컨테이너를 계속 빌드하고 실행하려면 container-tools:4.0
과 같이 안정적인 최신 모듈 스트림을 사용하십시오.
이후 스트림으로 전환하는 방법에 대한 자세한 내용은 이후 스트림 으로 전환을 참조하십시오.
Jira:RHELPLAN-146398[1]
rhel8/openssl
이 더 이상 사용되지 않음
rhel8/openssl
컨테이너 이미지가 더 이상 사용되지 않습니다.
Jira:RHELDOCS-18107[1]
Inkscape 및 LibreOffice Flatpak 이미지는 더 이상 사용되지 않습니다.
기술 프리뷰로 사용할 수 있는
pak Flatpak 이미지는 더 이상 사용되지 않습니다.
rhel9/inkscape-flatpak
및 rhel9/libre
Red Hat은 다음 이미지에 대해 다음 대안을 권장합니다.
-
rhel9/inkscape-flatpak
을 교체하려면inkscape
RPM 패키지를 사용합니다. -
rhel9/libre Cryostat-flatpak
을 교체하려면 LibreOffice 사용 중단 릴리스 노트 를 참조하십시오.
Jira:RHELDOCS-17102[1]
네트워크 이름으로 파스타
가 더 이상 사용되지 않음
네트워크 이름 값으로 파스타
에 대한 지원은 더 이상 사용되지 않으며 Podman 버전 5.0의 다음 주요 릴리스에서 허용되지 않습니다. pasta
네트워크 이름 값을 사용하여 podman run --network
및 podman create --network
명령을 사용하여 Podman에 고유한 네트워크 모드를 생성할 수 있습니다.
Jira:RHELDOCS-17038[1]
BoltDB 데이터베이스 백엔드가 더 이상 사용되지 않음
BoltDB 데이터베이스 백엔드는 RHEL 8.10부터 더 이상 사용되지 않습니다. 향후 RHEL 버전에서는 BoltDB 데이터베이스 백엔드가 제거되고 Podman에서 더 이상 사용할 수 없습니다. Podman의 경우 RHEL 8.10의 기본값인 SQLite 데이터베이스 백엔드를 사용합니다.
Jira:RHELDOCS-17461[1]
CNI 네트워크 스택이 더 이상 사용되지 않음
CNI(Container Network Interface) 네트워크 스택은 더 이상 사용되지 않으며 향후 릴리스에서 제거됩니다. 대신 Netavark 네트워크 스택을 사용합니다. 자세한 내용은 CNI에서 Netavark로 네트워크 스택 전환 을 참조하십시오.
Jira:RHELDOCS-17518[1]
container-tools:4.0
이 더 이상 사용되지 않음
container-tools:4.0
모듈은 더 이상 사용되지 않으며 보안 업데이트를 받지 않습니다. RHEL에서 Linux 컨테이너를 계속 빌드하고 실행하려면 최신의 안정적인 모듈 스트림 container-tools:rhel8
을 사용하십시오.
이후 스트림으로 전환하는 방법에 대한 자세한 내용은 이후 스트림 으로 전환을 참조하십시오.
Jira:RHELPLAN-168223[1]
8.21. 더 이상 사용되지 않는 패키지
이 섹션에는 더 이상 사용되지 않으며 향후 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
- arpwatch
- 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
- bash-doc
- extensionik
- extensionik-css
- extensionik-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
- 비트맵-console-fonts
- 비트맵-fixed-fonts
- bitmap-fonts-compat
- bitmap-lucida-typewriter-fonts
- 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
- culmus-keteryg-fonts
- culmus-shofar-fonts
- custodia
- cyrus-imapd-vzic
- dbus-c++
- dbus-c++-devel
- dbus-c++-glib
- dbxtool
- dejavu-fonts-common
- 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
- 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
- emacs-terminal
- emoji-picker
- 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
- FireWire
- 글꼴 -tweak-tool
- forge-parent
- freeradius-mysql
- freeradius-perl
- freeradius-postgresql
- freeradius-rest
- freeradius-sqlite
- freeradius-unixODBC
- fuse-sshfs
- fusesource-pom
- future
- Gamin
- Gamin-devel
- gavl
- 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-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-11-make-devel
- gcc-toolset-12-annobin-annocheck
- gcc-toolset-12-annobin-docs
- gcc-toolset-12-annobin-plugin-gcc
- gcc-toolset-12-binutils
- gcc-toolset-12-binutils-devel
- gcc-toolset-12-binutils-gold
- 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-droid-kufi-fonts
- google-gson
- google-noto-kufi-arabic-fonts
- google-noto-naskh-arabic-fonts
- google-noto-naskh-arabic-ui-fonts
- google-noto-nastaliq-urdu-fonts
- google-noto-sans-balinese-fonts
- google-noto-sans-bamum-fonts
- google-noto-sans-batak-fonts
- google-noto-sans-buginese-fonts
- google-noto-sans-buhid-fonts
- google-noto-sans-canadian-aboriginal-fonts
- google-noto-sans-cham-fonts
- google-noto-sans-cuneiform-fonts
- google-noto-sans-cypriot-fonts
- google-noto-sans-gothic-fonts
- google-noto-sans-gurmukhi-ui-fonts
- google-noto-sans-hanunoo-fonts
- google-noto-sans-inscriptional-pahlavi-fonts
- google-noto-sans-inscriptional-parthian-fonts
- google-noto-sans-javanese-fonts
- google-noto-sans-lepcha-fonts
- google-noto-sans-limbu-fonts
- google-noto-sans-linear-b-fonts
- google-noto-sans-lisu-fonts
- google-noto-sans-mandaic-fonts
- google-noto-sans-meetei-mayek-fonts
- google-noto-sans-mongolian-fonts
- google-noto-sans-myanmar-fonts
- google-noto-sans-myanmar-ui-fonts
- google-noto-sans-new-tai-lue-fonts
- google-noto-sans-ogham-fonts
- google-noto-sans-ol-chiki-fonts
- google-noto-sans-old-italic-fonts
- google-noto-sans-old-persian-fonts
- google-noto-sans-oriya-fonts
- google-noto-sans-oriya-ui-fonts
- google-noto-sans-phags-pa-fonts
- google-noto-sans-rejang-fonts
- google-noto-sans-runic-fonts
- google-noto-sans-samaritan-fonts
- google-noto-sans-saurashtra-fonts
- google-noto-sans-sundanese-fonts
- google-noto-sans-syloti-nagri-fonts
- google-noto-sans-syriac-eastern-fonts
- google-noto-sans-syriac-estrangela-fonts
- google-noto-sans-syriac-western-fonts
- google-noto-sans-tagalog-fonts
- google-noto-sans-tagbanwa-fonts
- google-noto-sans-tai-le-fonts
- google-noto-sans-tai-tham-fonts
- google-noto-sans-tai-viet-fonts
- google-noto-sans-tibetan-fonts
- google-noto-sans-tifinagh-fonts
- google-noto-sans-ui-fonts
- google-noto-sans-yi-fonts
- google-noto-serif-bengali-fonts
- google-noto-serif-devanagari-fonts
- google-noto-serif-gujarati-fonts
- google-noto-serif-kannada-fonts
- google-noto-serif-malayalam-fonts
- google-noto-serif-tamil-fonts
- google-noto-serif-telugu-fonts
- gphoto2
- graphviz-ruby
- gsl-devel
- gssntlmssp
- gtest
- gtest-devel
- gtkmm24
- gtkmm24-devel
- gtkmm24-docs
- gtksourceview3
- gtksourceview3-devel
- gtkspell
- gtkspell-devel
- gtkspell3
- guile
- 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
- hspell
- httpcomponents-project
- hwloc-plugins
- hyphen-fo
- hyphen-grc
- hyphen-hsb
- hyphen-ia
- 하이픈-is
- hyphen-ku
- hyphen-mi
- hyphen-mn
- hyphen-sa
- hyphen-tk
- ibus-sayura
- Idax
- 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
- Cryostatty
- Cryostatty-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
- khmeros-fonts-common
- ksc
- kurdit-unikurd-web-fonts
- kyotocabinet-libs
- langtable-data
- ldapjdk-javadoc
- Renisonfun
- daemonfun-devel
- lftp-scripts
- libaec
- libaec-devel
- libappindicator-gtk3
- libappindicator-gtk3-devel
- libatomic-static
- libavc1394
- libblocksruntime
- libcacard
- libcacard-devel
- libcgroup
- libcgroup-pam
- 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
- libicu-doc
- 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
- libnice
- libnice-gstreamer1
- liboauth
- liboauth-devel
- libpfm-static
- libpng12
- libpsm2-compat
- 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
- malaga-suomi-voikko
- malsa
- 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
- 그 사이에
- 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-lb
- 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
- overpass-mono-fonts
- Pakchois
- pandoc
- paps-libs
- paranamer
- paratype-pt-sans-caption-fonts
- 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
- qperf
- qpid-proton
- qrencode
- qrencode-devel
- qrencode-libs
- qt5-qtcanvas3d
- qt5-qtcanvas3d-examples
- raian
- rarian-compat
- re2c
- 재코드
- 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
- Cryostats
- regexp
- relaxngDatatype
- resteasy-javadoc
- 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
- shim-ia32
- shrinkwrap
- sil-padauk-book-fonts
- CryostatU-inject
- ECDSAU-mojos
- sisu-plexus
- skkdic
- 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
- star
- 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
- systemd-tests
- tcl-brlapi
- testng
- thai-scalable-laksaman-fonts
- tibetan-machine-uni-fonts
- timedatex
- torque-libs
- 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
- voikko-tools
- Vorbis-tools
- 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
- yajl-devel
- YP-tools
- ypbind
- ypserv
- zsh-html
8.22. 더 이상 사용되지 않거나 유지 관리되지 않는 장치
이 섹션에서는 장치(드라이버, 어댑터)를 나열합니다.
- RHEL 8의 라이프 사이클이 종료될 때까지 계속 지원되지만 이 제품의 향후 주요 릴리스에서는 지원되지 않으며 새로운 배포에는 권장되지 않습니다. 나열된 장치 이외의 장치에 대한 지원은 변경되지 않습니다. 이는 더 이상 사용되지 않는 장치입니다.
- RHEL 8에서는 제공되지만 더 이상 RHEL 8에서 일상적인 테스트 또는 업데이트되지 않습니다. Red Hat은 재량에 따라 보안 버그를 포함하여 심각한 버그를 수정할 수 있습니다. 이러한 장치는 더 이상 프로덕션에서 사용되지 않으며 다음 주요 릴리스에서 비활성화됩니다. 유지되지 않은 장치입니다.
PCI 장치 ID는 vendor:device:subvendor:subdevice 형식으로 되어 있습니다. 장치 ID가 나열되지 않은 경우 해당 드라이버와 연결된 모든 장치가 더 이상 사용되지 않습니다. 시스템에서 하드웨어의 PCI ID를 확인하려면 lspci -nn
명령을 실행합니다.
장치 ID | 드라이버 | 장치 이름 |
---|---|---|
hns_roce | ||
ebtables | ||
arp_tables | ||
ip_tables | ||
ip6_tables | ||
ip6_set | ||
ip_set | ||
nft_compat | ||
usnic_verbs | ||
vmw_pvrdma | ||
hfi1 | ||
bnx2 | QLogic BCM5706/5708/5709/5716 Driver | |
hpsa | Hewlett-Packard Company: Smart Array Controllers | |
0x10df:0x0724 | lpfc | Emulex Corporation: OneConnect FCoE Initiator (Skyhawk) |
0x10df:0xe200 | lpfc | Emulex Corporation: LPe15000/LPe16000 시리즈 8Gb/16Gb 파이버 채널 어댑터 |
0x10df:0xf011 | lpfc | Emulex Corporation: Horizon: LightPulse Fibre Channel Host Adapter |
0x10df:0xf015 | lpfc | Emulex Corporation: Horizon: LightPulse Fibre Channel Host Adapter |
0x10df:0xf100 | lpfc | Emulex Corporation: LPe12000 Series 8Gb Fibre Channel Adapter |
0x10df:0xfc40 | lpfc | Emulex Corporation: 19-X: LightPulse Fibre Channel Host Adapter |
0x10df:0xe220 | be2net | Emulex Corporation: 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.: Cryostat8324 기반 16Gb 파이버 채널 to PCI Express Adapter |
0x1077:0x2532 | qla2xxx | Qlogic Corp.: Cryostat2532 기반 8Gb 파이버 채널 to PCI Express HBA |
0x1077:0x8031 | qla2xxx | Qlogic Corp.: 8300 Series 10GbE Converged Network Adapter (FCoE) |
qla3xxx | QLogic ISP3XXX Network Driver v2.03.00-k5 | |
0x1924:0x0803 | sfc | Solarflare2307: SFC9020 10G 이더넷 컨트롤러 |
0x1924:0x0813 | sfc | Solarflare communications: SFL9021 10GBASE-T 이더넷 컨트롤러 |
soft-RoCE (rdma_rxe) | ||
HNS-RoCE | HNS GE/10GE/25GE/50GE/100GE RDMA 네트워크 컨트롤러 | |
liquidio | Cavium LiquidIO Intelligent Server Adapter 드라이버 | |
liquidio_vf | Cavium LiquidIO Intelligent Server Adapter Virtual Function Driver |
장치 ID | 드라이버 | 장치 이름 |
---|---|---|
dl2k | ||
dlci | ||
dnet | ||
hdlc_fr | ||
rdma_rxe | ||
nicvf | ||
nicpf | ||
SIW | ||
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 대상 드라이버 | |
nvmet-fc | NVMe/Fabrics FC 대상 드라이버 | |
[a]
RHEL 8.0에서 비활성화됨, 고객 요청으로 인해 RHEL 8.4에서 다시 활성화됩니다.
|
9장. 확인된 문제
이 부분에서는 Red Hat Enterprise Linux 8.10의 알려진 문제에 대해 설명합니다.
9.1. 설치 프로그램 및 이미지 생성
IBM Z에 RHEL을 설치하는 동안 udev
는 FID에 의해 열거된 RoCE 카드에 예측 가능한 인터페이스 이름을 할당하지 않습니다.
net.naming-scheme=rhel-8.7
커널 명령줄 옵션을 사용하여 RHEL 8.7 이상을 시작하는 경우 RHEL 설치 미디어의 udev
장치 관리자는 함수 식별자(FID)로 열거된 RoCE 카드의 이 설정을 무시합니다. 결과적으로 udev
는 예측할 수 없는 인터페이스 이름을 이러한 장치에 할당합니다. 설치하는 동안 해결방법은 없지만 설치 후 기능을 구성할 수 있습니다. 자세한 내용은 IBM Z 플랫폼의 예측 가능한 RoCE 장치 이름 결정을 참조하십시오.
(JIRA:RHEL-11397)
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[1]
Anaconda가 애플리케이션으로 실행되는 시스템에서 예기치 않은 SELinux 정책
Anaconda가 이미 설치된 시스템에서 애플리케이션으로 실행 중인 경우(예: -image
anaconda 옵션을 사용하여 이미지 파일에 다른 설치를 수행하기 위해) 설치 중에 SELinux 유형과 속성을 수정하는 것은 금지되지 않습니다. 결과적으로 Anaconda가 실행 중인 시스템에서 SELinux 정책의 특정 요소가 변경될 수 있습니다.
이 문제를 해결하려면 프로덕션 시스템에서 Anaconda를 실행하지 마십시오. 대신 임시 가상 시스템에서 Anaconda를 실행하여 프로덕션 시스템에서 SELinux 정책을 변경하지 않고 유지합니다. boot.iso
또는 dvd.iso
에서 설치하는 것과 같은 시스템 설치 프로세스의 일부로 anaconda를 실행하면 이 문제의 영향을 받지 않습니다.
auth
및 authconfig
Kickstart 명령에는 AppStream 리포지토리가 필요
authselect-compat
패키지는 설치하는 동안 auth
및 authconfig
Kickstart 명령이 필요합니다. 이 패키지가 없으면 auth
또는 authconfig
가 사용되는 경우 설치에 실패합니다. 설계에 따라 authselect-compat
패키지는 AppStream 리포지토리에서만 사용할 수 있습니다.
이 문제를 해결하려면 설치 프로그램에서 BaseOS 및 AppStream 리포지토리를 사용할 수 있는지 확인하거나 설치 중에 authselect
Kickstart 명령을 사용합니다.
Bugzilla:1640697[1]
reboot --kexec
및 inst.kexec
명령은 예측 가능한 시스템 상태를 제공하지 않습니다.
reboot --kexec
Kickstart 명령 또는 inst.kexec
커널 부팅 매개변수를 사용하여 RHEL 설치를 수행하면 전체 재부팅과 동일한 예측 가능한 시스템 상태가 제공되지 않습니다. 결과적으로 재부팅하지 않고 설치된 시스템으로 전환하면 예기치 않은 결과가 발생할 수 있습니다.
kexec
기능은 더 이상 사용되지 않으며 향후 Red Hat Enterprise Linux 릴리스에서 제거될 예정입니다.
Bugzilla:1697896[1]
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[1]
iso9660 파일 시스템이 있는 하드 드라이브 파티셔닝 설치 실패
하드 드라이브가 iso9660
파일 시스템으로 분할되는 시스템에는 RHEL을 설치할 수 없습니다. 이는 iso9660
파일 시스템 파티션이 포함된 하드 디스크를 무시하도록 설정된 업데이트된 설치 코드 때문입니다. 이는 DVD를 사용하지 않고 RHEL을 설치하는 경우에도 발생합니다.
이 문제를 해결하려면 Kickstart 파일에 다음 스크립트를 추가하여 설치가 시작되기 전에 디스크를 포맷합니다.
참고: 해결 방법을 수행하기 전에 디스크에서 사용 가능한 데이터를 백업하십시오. wipefs
명령은 디스크의 모든 기존 데이터를 포맷합니다.
%pre
wipefs -a /dev/sda
%end
결과적으로 설치는 오류 없이 예상대로 작동합니다.
HASH MMU
모드가 있는 IBM Power 시스템이 메모리 할당 실패로 부팅되지 않음
HASH 메모리 할당 단위(MMU)
모드가 있는 IBM Power Systems는 kdump
를 최대 192코어까지 지원합니다. 결과적으로 kdump
가 192코어 이상에서 활성화된 경우 메모리 할당 실패로 시스템을 부팅하지 못합니다. 이 제한은 HASH MMU
모드에서 초기 부팅 시 RMA 메모리 할당으로 인해 발생합니다. 이 문제를 해결하려면 kdump
를 사용하는 대신 fadump
가 활성화된 상태에서 Radix MMU
모드를 사용하십시오.
Bugzilla:2028361[1]
rpm-ostree 페이로드를 설치할 때 RHEL for Edge 설치 관리자 이미지가 마운트 지점을 생성하지 못했습니다
예를 들어 RHEL for Edge 설치 프로그램 이미지에서 사용되는 rpm-ostree
페이로드를 배포할 때 설치 프로그램이 사용자 지정 파티션에 대한 일부 마운트 지점을 올바르게 생성하지 않습니다. 결과적으로 다음 오류와 함께 설치가 중단됩니다.
The command 'mount --bind /mnt/sysimage/data /mnt/sysroot/data' exited with the code 32.
이 문제를 해결하려면 다음을 수행합니다.
- 자동 파티션 스키마를 사용하고 수동으로 마운트 지점을 추가하지 마십시오.
-
/var
디렉토리 내에서만 마운트 지점을 수동으로 할당합니다. 예를 들어/var/my-mount-point
) 및 다음 표준 디렉터리(/
,/boot
,/var
)입니다.
결과적으로 설치 프로세스가 성공적으로 완료됩니다.
stig
프로필 수정을 사용하여 빌드된 이미지가 FIPS 오류로 부팅되지 않음
RHEL 이미지 빌더에서 FIPS 모드를 지원하지 않습니다. xccdf_org.ssgproject.content_profile_stig
프로필 수정으로 사용자 정의된 RHEL 이미지 빌더를 사용하면 다음 오류와 함께 시스템이 부팅되지 않습니다.
Warning: /boot//.vmlinuz-<kernel version>.x86_64.hmac does not exist FATAL: FIPS integrity test failed Refusing to continue
fips-mode-setup --enable
명령을 사용하여 시스템 이미지 설치 후 수동으로 FIPS 정책을 활성화하면 /boot
디렉터리가 다른 파티션에 있기 때문에 작동하지 않습니다. FIPS가 비활성화된 경우 시스템이 성공적으로 부팅됩니다. 현재는 사용할 수 있는 해결방법이 없습니다.
fips-mode-setup --enable
명령을 사용하여 이미지를 설치한 후 수동으로 FIPS를 활성화할 수 있습니다.
9.2. 보안
OpenSC가 CardOS V5.3 카드 개체를 올바르게 감지하지 못할 수 있습니다.
OpenSC 툴킷은 일부 CardOS V5.3 카드에 사용된 다른 PKCS #15 파일 오프셋에서 캐시를 올바르게 읽지 않습니다. 그 결과 OpenSC에서 카드 오브젝트를 나열하지 못하고 다른 애플리케이션에서 사용하지 못할 수 있습니다.
이 문제를 해결하려면 /etc/opensc.conf
파일에서 use_file_caching = false
옵션을 설정하여 파일 캐싱을 끕니다.
sshd -T
는 Ciphers, MACs 및 KeX 알고리즘에 대한 부정확한 정보를 제공합니다.
sshd -T
명령의 출력에는 시스템 전체 암호화 정책 구성 또는 /etc/sysconfig/sshd
의 환경 파일에서 제공될 수 있고 sshd
명령에 인수로 적용되는 기타 옵션이 포함되어 있지 않습니다. 이는 업스트림 OpenSSH 프로젝트에서 RHEL 8에서 Red-Hat-provided 암호화 기본값을 지원하는 Include 지시문을 지원하지 않기 때문에 발생합니다. 암호화 정책은 EnvironmentFile
을 사용하여 서비스를 시작하는 동안
단위의 sshd 실행 파일에 명령줄 인수로 적용됩니다. 이 문제를 해결하려면 환경 파일과 함께 sshd
.servicesource
명령을 사용하고 sshd -T $CRYPTO_POLICY
와 같이 crypto 정책을 sshd
명령에 인수로 전달합니다. 자세한 내용은 Ciphers, MACs 또는 KeX 알고리즘은 sshd -T
와 현재 암호화 정책 수준에서 제공하는 것과 다릅니다. 결과적으로 sshd -T
의 출력은 현재 구성된 암호화 정책과 일치합니다.
Bugzilla:2044354[1]
설치 중에 시스템을 강화할 때 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은 bzip2 압축 형식으로 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
따라서 현재 구성은 올바르게 작동하는 문자열로 제한되어야 합니다.
CIS 서버 프로파일에는 GUI
및 Workstation
설치가 있는 서버를 사용할 수 없습니다.
CIS 서버 수준 1 및 수준 2 보안 프로필은 GUI 및
서버와 호환되지 않습니다. 결과적으로 Workstation
소프트웨어 선택과 함께GUI 소프트웨어 선택 및 CIS 서버 프로필이 포함된
RHEL 8을 설치할 수 없습니다. CIS 서버 수준 1 또는 수준 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 벤치마크에 따라 서버
를 서버로 조정해야 하는 경우 CIS Workstation
Level 1 또는 Level 2 프로필을 대신 사용하십시오.
Kickstart 설치 중에 서비스 관련 규칙 수정에 실패할 수 있습니다.
Kickstart 설치 중에 OpenSCAP 유틸리티에서 서비스 활성화
또는 비활성화
상태 수정이 필요하지 않은 것으로 잘못 표시되는 경우가 있습니다. 그 결과 OpenSCAP에서 설치된 시스템의 서비스를 비준수 상태로 설정할 수 있습니다. 이 문제를 해결하려면 Kickstart 설치 후 시스템을 스캔하고 수정할 수 있습니다. 이렇게 하면 서비스 관련 문제가 해결됩니다.
Kickstart는 RHEL 8의 com_redhat_oscap
대신 org_fedora_oscap
을 사용합니다.
Kickstart는 OSCAP(Open Security Content Automation Protocol) Anaconda 애드온을 com_redhat_oscap
대신 org_fedora_oscap
로 참조합니다. 이로 인해 혼동이 발생할 수 있습니다. 이는 Red Hat Enterprise Linux 7과의 호환성을 유지하기 위해 필요합니다.
Bugzilla:1665082[1]
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
규칙을 제거합니다.
fapolicyd
유틸리티에서 변경된 파일을 잘못 실행할 수 있습니다.
올바르게 파일의 IMA 해시는 파일을 변경한 후 업데이트해야 하며 fapolicyd
는 변경된 파일의 실행을 방지해야 합니다. 그러나 이는 IMA 정책 설정의 차이점과 evctml
유틸리티의 파일 해시로 인해 발생하지 않습니다. 결과적으로 IMA 해시는 변경된 파일의 확장된 속성에서 업데이트되지 않습니다. 결과적으로 fapolicyd
에서 변경된 파일을 잘못 실행할 수 있습니다.
Jira:RHEL-520[1]
semanage fcontext
명령은 로컬 수정 순서를 변경합니다.
semanage fcontext -l -C
명령은 file_contexts.local
파일에 저장된 로컬 파일 컨텍스트 수정 사항을 나열합니다. restorecon
유틸리티는 file_contexts.local
의 항목을 가장 최근 항목에서 가장 오래된 항목으로 처리합니다. 그러나 semanage fcontext -l -C
는 항목을 다른 순서로 나열합니다. 처리 순서와 목록 순서가 일치하지 않으면 SELinux 규칙을 관리할 때 문제가 발생할 수 있습니다.
Jira:RHEL-24461[1]
FIPS 모드의 OpenSSL은 특정 D-H 매개변수만 허용
FIPS 모드에서 OpenSSL을 사용하는 TLS 클라이언트는 잘못된 dh 값
오류를 반환하고 수동으로 생성된 매개변수를 사용하는 서버에 대한 TLS 연결을 취소합니다. 이는 OpenSSL이 FIPS 140-2를 준수하도록 구성된 경우 NIST SP 800-56A rev3 부록 D(그룹 14, 15, 16, 17 및 18)를 준수하는 Diffie-Hellman 매개변수에서만 RFC 3526 및 RFC 7919)에 정의되어 있기 때문입니다. 또한 OpenSSL을 사용하는 서버는 다른 모든 매개변수를 무시하고 대신 유사한 크기의 알려진 매개 변수를 선택합니다. 이 문제를 해결하려면 규정 준수 그룹만 사용하십시오.
Bugzilla:1810911[1]
암호화 정책에서
Camellia 암호를 잘못 허용
RHEL 8 시스템 전체 암호화 정책은 제품 문서에 명시된 대로 모든 정책 수준에서 Camellia 암호를 비활성화해야 합니다. 그러나 Kerberos 프로토콜은 기본적으로 암호를 활성화합니다.
이 문제를 해결하려면 NO-CAMELLIA
하위 정책을 적용합니다.
# update-crypto-policies --set DEFAULT:NO-CAMELLIA
이전 명령에서 이전에 DEFAULT
에서 전환한 경우 DEFAULT
를 암호화 수준 이름으로 바꿉니다.
결과적으로 해결 방법을 통해 비활성화한 경우에만 시스템 전체 암호화 정책을 사용하는 모든 애플리케이션에서 Camellia 암호가 올바르게 허용되지 않습니다.
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[1]
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
또는 단일 명령으로 설치 프로필을 사용하여 libselinux-python
을 설치합니다.
# yum module install libselinux-python:2.8/common
결과적으로 지정된 모듈을 사용하여 libselinux-python
을 설치할 수 있습니다.
Bugzilla:1666328[1]
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의 메모리를 사용하거나 더 많은 메모리를 사용할 수 있으며, systemd-journald
가 rsyslog
를 사용하여 실행되는 경우 rate-limit 값 조정이 복잡할 수 있습니다.
자세한 내용은 RHEL 기본 로깅 설정의 성능 및 완화 지식베이스 문서를 참조하십시오.
Jira:RHELPLAN-10431[1]
/etc/selinux/config
에서 SELINUX=disabled
가 제대로 작동하지 않음
/etc/selinux/config
에서 SELINUX=disabled
옵션을 사용하여 SELinux를 비활성화하면 커널이 SELinux가 활성화된 상태로 부팅되고 부팅 프로세스의 나중에 비활성화 모드로 전환됩니다. 이로 인해 메모리 누수가 발생할 수 있습니다.
이 문제를 해결하려면 실제로 SELinux를 완전히 비활성화해야 하는 경우 부팅 시 SELinux 모드 변경 섹션에 설명된 대로 selinux=0
매개 변수 를 커널 명령줄에 추가하여 SELinux를 비활성화합니다.
Jira:RHELPLAN-34199[1]
TCP 연결을 통한 IKE는 사용자 지정 TCP 포트에서 작동하지 않음
tcp-remoteport
Libreswan 구성 옵션이 제대로 작동하지 않습니다. 따라서 시나리오가 기본이 아닌 TCP 포트를 지정해야 하는 경우에는 TCP 연결을 통해 IKE를 설정할 수 없습니다.
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
패키지를 설치해야 합니다. -
RHEL 8.7 이상으로 업그레이드하면
systemd
기능이 적절한 SCAP 규칙과 함께 이미 구현되어 있습니다.
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 맞춤형 프로필에 대해 그래픽 설치를 사용할 수 있습니다.
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
자세한 내용 및 해결 방법은 관련 지식 베이스 문서를 참조하십시오.
rpm
데이터베이스 다시 빌드에서 잘못된 SELinux 레이블 지정
명령을 사용하여 rpm 데이터베이스를 다시 빌드하면 rpm
db --rebuilddbrpm
데이터베이스 파일에 잘못된 SELinux 레이블을 할당합니다. 결과적으로 rpm
데이터베이스를 사용하는 일부 서비스가 제대로 작동하지 않을 수 있습니다. 데이터베이스를 다시 빌드한 후 이 문제를 해결하려면 restorecon -Rv /var/lib/rpm
명령을 사용하여 데이터베이스 레이블을 다시 지정합니다.
감사에 대한 ANSSI BP28 HP SCAP 규칙이 64비트 ARM 아키텍처에서 잘못 사용됩니다.
SCAP Security Guide(SSG)의 ANSSI BP28 High 프로필에는 Linux 감사 하위 시스템을 구성하지만 64비트 ARM 아키텍처에서 유효하지 않은 다음의 SCAP(Security Content Automation Protocol) 규칙이 포함되어 있습니다.
-
audit_rules_unsuccessful_file_modification_creat
-
audit_rules_unsuccessful_file_modification_open
-
audit_rules_file_deletion_events_rename
-
audit_rules_file_deletion_events_rmdir
-
audit_rules_file_deletion_events_unlink
-
audit_rules_dac_modification_chmod
-
audit_rules_dac_modification_chown
-
audit_rules_dac_modification_lchown
이 프로필을 사용하여 64비트 ARM 머신에서 실행되는 RHEL 시스템을 구성하는 경우 잘못된 시스템 호출을 사용하므로 감사 데몬이 시작되지 않습니다.
이 문제를 해결하려면 프로필 맞춤을 사용하여 데이터 스트림에서 이전에 언급된 규칙을 제거하거나 /etc/audit/rules.d
디렉터리의 파일을 편집하여 -S <syscall
> 스니펫을 제거합니다. 파일에는 다음 시스템 호출을 포함하지 않아야 합니다.
- creat
- open
- 이름 변경
- rmdir
- unlink
- chmod
- chown
- lchown
두 가지 해결 방법 중 하나로 인해 64비트 ARM 시스템에서 ANSSI BP28 High 프로필을 사용한 후에도 감사 데몬이 시작될 수 있습니다.
9.3. RHEL for Edge
nodejs
또는 npm
이 포함된 경우 composer-cli
가 RHEL for Edge 이미지를 빌드하지 못했습니다.
현재 RHEL 이미지 빌더를 사용하는 동안 nodejs
및 npm
패키지로 RHEL 8 Edge 이미지를 사용자 지정할 수 없습니다. nodejs
패키지로 RHEL for Edge 이미지를 빌드할 수 없기 때문입니다. NPM 패키지 관리자는 {prefix}/etc/npmrc
디렉토리에서 해당 구성을 예상하고 npm RPM은 /usr /etc/npmrc
디렉토리를 가리키는 /usr/etc/npmrc
디렉터리에 심볼릭 링크를 패키징합니다. 이 문제를 해결하려면 RHEL for Edge 시스템을 빌드한 후 nodejs
및 npm
패키지를 설치합니다.
Jira:RHELDOCS-17126[1]
9.4. 서브스크립션 관리
syspurpose addons
는 subscription-manager attach --auto
출력에 영향을 미치지 않습니다.
Red Hat Enterprise Linux 8에서 syspurpose
명령줄 툴의 4가지 속성( 역할
,usage
,service_level_agreement
및 addons
)이 추가되었습니다. 현재 역할
,usage
및 service_level_agreement
만 subscription-manager attach --auto
명령을 실행하는 출력에 영향을 미칩니다. addons
인수에 값을 설정하려는 사용자는 자동으로 연결된 서브스크립션에 영향을 미치지 않습니다.
9.5. 소프트웨어 관리
로깅 서비스를 사용할 수 없는 경우에도 YUM 기능 또는 플러그인은 메시지를 로깅할 수 있습니다.
특정 YUM 기능 또는 플러그인은 로깅 서비스를 사용할 수 없는 경우 표준 출력 또는 표준 오류에 메시지를 로깅할 수 있습니다. 로그 메시지의 수준은 메시지가 기록되는 위치를 나타냅니다.
- 정보 메시지는 표준 출력에 기록됩니다.
- 오류 및 디버깅 메시지는 표준 오류에 기록됩니다.
결과적으로 YUM 옵션을 스크립팅할 때 표준 출력 또는 표준 오류에서 원하지 않는 로그 메시지가 스크립트 기능에 영향을 미칠 수 있습니다.
이 문제를 해결하려면 yum -q
명령을 사용하여 표준 출력 및 표준 오류에서 로그 메시지를 표시하지 않습니다. 이렇게 하면 로그 메시지가 표시되지만 표준 출력에서 예상되는 명령 결과는 아닙니다.
Jira:RHELPLAN-50409[1]
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
함수가 추가되었습니다. char *dst
로 선언됩니다. 이렇게 하면 메모리 누수를 방지할 수 있습니다.
cr_compress_file_with_stat_v2
기능은 임시 기능이며 RHEL 8에만 존재합니다. 나중에 cr_compress_file_with_stat()
가 대신 수정됩니다.
Bugzilla:1973588[1]
스크립트릿이 실패할 때 YUM 트랜잭션에 성공으로 보고됨
RPM 버전 4.6부터는 설치 후 스크립트릿이 트랜잭션에 치명적이지 않고 실패할 수 있습니다. 이 동작은 YUM에도 전파됩니다. 이로 인해 스크립트릿이 생성되고 전체 패키지 트랜잭션이 성공으로 보고되는 동안 때때로 실패할 수 있습니다.
현재 사용 가능한 해결방법이 없습니다.
이는 RPM과 YUM 간에 일관성을 유지하는 것으로 예상되는 동작입니다. 스크립트릿의 모든 문제는 패키지 수준에서 해결되어야 합니다.
9.6. 쉘 및 명령행 툴
ipmitool
은 특정 서버 플랫폼과 호환되지 않음
ipmitool
유틸리티는 IPMI(Intelligent Platform Management Interface)를 지원하는 장치를 모니터링, 구성 및 관리하는 데 사용됩니다. ipmitool
의 현재 버전은 이전 Cipher Suite 3 대신 기본적으로 Cipher Suite 17을 사용합니다. 결과적으로 ipmitool
은 협상 중에 Cipher Suite 17에 대한 지원을 발표했지만 실제로 이 암호화 제품군을 지원하지 않는 특정 베어 메탈 노드와 통신하지 못합니다. 결과적으로 ipmitool
은 일치하는 암호화 제품군
오류 메시지로 중지되었습니다.
자세한 내용은 관련 지식 베이스 문서를 참조하십시오.
이 문제를 해결하려면 Cipher Suite 17을 사용하도록 BMC(Baseboard Management Controller) 펌웨어를 업데이트합니다.
선택적으로 BMC 펌웨어 업데이트를 사용할 수 없는 경우 ipmitool
에서 특정 암호화 제품군을 사용하도록 강제 실행하여 이 문제를 해결할 수 있습니다. ipmitool
을 사용하여 관리 작업을 호출할 때 사용할 암호화 제품군 수와 함께 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
의 파티션에서 메타데이터를 지운 다음 파티션 테이블 자체를 지웁니다.
Secure Boot가 활성화된 UEFI
시스템의 ReaR 복구 이미지가 기본 설정으로 부팅되지 않음
rear mkrescue
또는 rear mkbackup
명령을 사용하여 이미지를 다시 작성하면 다음 메시지와 함께 실패합니다.
grub2-mkstandalone might fail to make a bootable EFI image of GRUB2 (no /usr/*/grub*/x86_64-efi/moddep.lst file) (...) grub2-mkstandalone: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
누락된 파일은 grub2-efi-x64-modules
패키지의 일부입니다. 이 패키지를 설치하면 오류 없이 복구 이미지가 성공적으로 생성됩니다. UEFI
Secure Boot가 활성화되면 서명되지 않은 부트 로더를 사용하므로 복구 이미지를 부팅할 수 없습니다.
이 문제를 해결하려면 /etc/rear/local.conf
또는 /etc/rear/site.conf
ReaR 구성 파일에 다음 변수를 추가합니다.
UEFI_BOOTLOADER=/boot/efi/EFI/redhat/grubx64.efi SECURE_BOOT_BOOTLOADER=/boot/efi/EFI/redhat/shimx64.efi
제안된 해결 방법을 통해 grub2-efi-x64-modules
패키지가 없는 시스템에서도 이미지를 성공적으로 생성할 수 있으며 Secure Boot가 활성화된 시스템에서 부팅할 수 있습니다. 또한 시스템 복구 중에 복구된 시스템의 부트로더가 EFI
shim 부트로더로 설정됩니다.
UEFI
,Secure Boot
및 shim 부트로더
에 대한 자세한 내용은 UEFI: 시스템 기술 자료 문서를 부팅할 때 발생하는 내용을 참조하십시오.
Jira:RHELDOCS-18064[1]
coreutils
에서 잘못된 EPERM 오류 코드를 보고할 수 있습니다.
GNU Core Cryostat(coreutils
)는 statx()
시스템 호출을 사용하여 시작되었습니다. seccomp
필터에서 알 수 없는 시스템 호출에 대한 EPERM 오류 코드를 반환하는 경우 coreutils
가 작업 statx()
syscall에서 반환된 실제 Operation not permitted 오류와 구분할 수 없기 때문에 coreutils가 잘못된 EPERM 오류 코드를 보고할 수 있습니다.
이 문제를 해결하려면 statx()
syscall을 허용하거나 알 수 없는 syscall의 ENOSYS 오류 코드를 반환하도록 seccomp
필터를 업데이트합니다.
Cryo stat
패키지의 %vmeff
메트릭에 잘못된 값이 표시됩니다.
Cryo stat
패키지는 %vmeff
메트릭을 제공하여 페이지 회수 효율성을 측정합니다. Cryostat는 이후 커널 버전에서 제공하는 모든 관련 /proc/vm
값을 구문 분석하지 않기 때문에 stat
sar -B
명령에서 반환된 %vmeff
열의 값이 올바르지 않습니다. 이 문제를 해결하려면 /proc/vmstat
파일에서 %vmeff
값을 수동으로 계산할 수 있습니다. 자세한 내용은 sar(1)
툴이 RHEL 8 및 RHEL 9에서 %
100 %를 초과하는 %를 보고하는이유를 참조하십시오.
sar
및 iostat
유틸리티에서 생성한 %util
및 svctm
열은 유효하지 않습니다.
커널 버전 4.18.0-55.el8
이상이 있는 시스템에서 sar
또는 iostat
유틸리티를 사용하여 시스템 사용량 통계를 수집할 때 sar
또는 iostat
에서 생성한 %util
및 svctm
열에 잘못된 데이터가 포함될 수 있습니다.
Jira:RHEL-23074[1]
9.7. 인프라 서비스
FIPS 모드의 ExternalIP TLS 지문 알고리즘을 SHA-256으로 변경해야 합니다.
RHEL 8에서 postfix
는 이전 버전과의 호환성을 위해 TLS와 함께 MD5 지문을 사용합니다. 그러나 FIPS 모드에서는 MD5 해시 기능을 사용할 수 없으므로 TLS가 기본 postfix 구성에서 잘못 작동할 수 있습니다. 이 문제를 해결하려면 postfix 구성 파일에서 해시 함수를 SHA-256로 변경해야 합니다.
자세한 내용은 MD5 대신 SHA-256으로 전환하여 FIPS 모드에서 postfix TLS 수정 관련 지식베이스 문서를 참조하십시오.
brltty
패키지는 multilib와 호환되지 않습니다.
brltty
패키지의 32비트 및 64비트 버전을 모두 설치할 수 없습니다. 32비트(brltty.i686
) 또는 64비트(brltty.x86_64
) 버전의 패키지를 설치할 수 있습니다. 64비트 버전이 권장됩니다.
9.8. 네트워킹
negative_advice()
함수를 사용하는 오래된 타사 모듈은 커널을 충돌시킬 수 있습니다.
핵심 네트워킹 작업 negative_advice()
는 inline dst_negative_advice()
및 __dst_negative_advice()
함수를 호출합니다. RHEL 8.10의 커널은 이러한 인라인 함수에서 보안 문제 (CVE-2024-36971)를 패치했습니다. 수정 전에 타사 모듈을 컴파일한 경우 이 모듈은 negative_advice()
를 잘못 호출할 수 있습니다. 결과적으로 타사 모듈이 커널을 손상시킬 수 있습니다. 이 문제를 해결하려면 negative_advice()
함수를 올바르게 호출하는 업데이트된 모듈을 사용합니다.
네트워크 인터페이스 이름이 예기치 않은 변경으로 인해 RoCE 인터페이스에서 IP 설정이 손실됨
두 조건이 충족되면 RDMA over Converged Ethernet (RoCE) 인터페이스가 네트워크 인터페이스 이름을 예기치 않은 변경으로 인해 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 이상으로 업그레이드합니다.
function ID(FID)로 열거되어 있고 고유하지 않은 RoCE 인터페이스는 net.naming-scheme=rhel-8.7
커널 매개 변수를 설정하지 않는 한 여전히 예측할 수 없는 인터페이스 이름을 사용합니다. 이 경우 RoCE 인터페이스는 ens
접두사를 사용하여 예측 가능한 이름으로 전환합니다.
Jira:RHEL-11398[1]
IPv6_rpfilter
옵션을 사용하는 시스템은 네트워크 처리량이 낮은 경험
firewalld.conf
파일에서 IPv6_rpfilter
옵션이 활성화된 시스템은 현재 100Gbps 링크와 같이 높은 트래픽 시나리오에서 하위 성능 및 낮은 네트워크 처리량을 경험합니다. 이 문제를 해결하려면 IPv6_rpfilter
옵션을 비활성화합니다. 이렇게 하려면 /etc/firewalld/firewalld.conf
파일에 다음 행을 추가합니다.
IPv6_rpfilter=no
결과적으로 시스템이 더 잘 수행되지만 보안이 저하되었습니다.
Bugzilla:1871860[1]
9.9. 커널
커널 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-0x31ffffff
ff 메모리 영역에 액세스할 수 있으며 해당 메모리 영역을 PCI Enhanced Configuration Access Mechanism(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 영역 mem 0x30000000-0x31ffffff
ff not reserved in ACPI namespace" 를 참조하십시오.
Bugzilla:1868526[1]
tuned-adm 프로필 powersave
명령을 사용하면 시스템이 응답하지 않습니다.
tuned-adm 프로필 powersave
명령을 실행하면 이전 Thunderx (CN88xx) 프로세서가 있는 Penguin Valkyrie 2000 2socket 시스템의 응답하지 않는 상태가 됩니다. 결과적으로 시스템을 재부팅하여 작업을 다시 시작합니다. 이 문제를 해결하려면 시스템이 언급된 사양과 일치하는 경우 powersave
프로필을 사용하지 마십시오.
Bugzilla:1609288[1]
HP NMI 워치독이 항상 크래시 덤프를 생성하는 것은 아닙니다.
경우에 따라 HP NMI 워치독용 hpwdt
드라이버는 perfmon
드라이버에서 대신 사용했기 때문에 HPE 워치독 타이머에서 생성된 NMI(Non-maskable interrupt)를 요청할 수 없습니다.
누락된 NMI는 다음 두 가지 조건 중 하나로 시작됩니다.
- iLO(Integrated Lights-Out) 서버 관리 소프트웨어에서 NMI 생성 버튼이 있습니다. 이 버튼은 사용자가 트리거합니다.
-
hpwdt
워치독입니다. expiration는 기본적으로 NMI를 서버로 보냅니다.
두 시퀀스 모두 일반적으로 시스템이 응답하지 않을 때 발생합니다. 정상적인 상황에서 이러한 두 상황에 대한 NMI 처리기는 kernel panic()
함수를 호출하고 구성된 경우 kdump
서비스에서 vmcore
파일을 생성합니다.
그러나 누락된 NMI로 인해 kernel panic()
은 호출되지 않으며 vmcore
는 수집되지 않습니다.
첫 번째 경우(1.)에서는 시스템이 응답하지 않는 경우 그대로 유지됩니다. 이 시나리오를 해결하려면 가상 전원 버튼을 사용하여 서버를 재설정하거나 전원을 켭니다.
두 번째 경우 (2.)에서 누락된 NMI는 9초 후에 자동화된 시스템 복구(ASR)에서 재설정됩니다.
HPE generates9 서버 라인은 이 문제를 한 자리 백분율로 경험합니다. 더 작은 빈도로 설정합니다.
Bugzilla:1602962[1]
동일한 충돌 확장을 다시 로드하면 세그먼트 오류가 발생할 수 있습니다.
이미 로드된 크래시 확장 파일의 사본을 로드하면 세그먼트 오류가 발생할 수 있습니다. 현재 크래시 유틸리티는 원본 파일이 로드되었는지 여부를 탐지합니다. 결과적으로 크래시 유틸리티에 존재하는 두 개의 동일한 파일로 인해 네임스페이스 충돌이 발생하여 크래시 유틸리티가 트리거되어 세그먼트 오류가 발생합니다.
충돌 확장 파일을 한 번만 로드하여 문제를 해결할 수 있습니다. 결과적으로 설명된 시나리오에서는 세그먼트 오류가 더 이상 발생하지 않습니다.
가상 머신에 가상 기능을 연결할 때 연결 실패
ionic
장치 드라이버를 사용하는 Pensando 네트워크 카드는 VLAN 태그 구성 요청을 자동으로 수락하고 네트워크 연결을VM
(가상 머신)에 연결하는 동안 네트워크 연결 구성을 시도합니다. 이 기능은 카드 펌웨어에서 아직 지원되지 않으므로 이러한 네트워크 연결이 실패합니다.
Bugzilla:1930576[1]
OPEN MPI 라이브러리는 기본 PML을 사용하여 런타임 오류를 트리거할 수 있습니다.
OPEN Message Passing Interface(OPEN MPI) 구현 4.0.x 시리즈, UCS(Unified Communication X)는 기본 PML(point-to-point Communicator)입니다. OPEN MPI 4.0.x 시리즈의 최신 버전은 더 이상 사용되지 않는 openib
Cryostat Transfer Layer (BTL)입니다.
그러나 OPEN MPI는 동종 클러스터(동일 하드웨어 및 소프트웨어 구성)를 통해 실행될 때 UCX는 여전히 MPI 일회성 작업에 openib
BTL을 사용합니다. 이로 인해 실행 오류가 트리거될 수 있습니다. 이 문제를 해결하려면 다음을 수행합니다.
-
다음 매개변수를 사용하여
mpirun
명령을 실행합니다.
-mca btl openib -mca pml ucx -x UCX_NET_DEVICES=mlx5_ib0
여기서,
-
-mca btl openib
매개변수는openib
BTL을 비활성화합니다. -
-mca pml ucx
매개변수는ucx
PML을 사용하도록 OPEN MPI를 구성합니다. -
x UCX_NET_DEVICES=
매개변수는 지정된 장치를 사용하도록 UCX를 제한합니다.
OPEN MPI는 이기종 클러스터(하드웨어 및 소프트웨어 구성)를 통해 실행될 때 UCX를 기본 PML으로 사용합니다. 이로 인해 OPEN MPI 작업이 비정상적인 성능, 응답하지 않는 동작 또는 충돌 실패로 실행될 수 있습니다. 이 문제를 해결하려면 UCX 우선 순위를 다음과 같이 설정합니다.
-
다음 매개변수를 사용하여
mpirun
명령을 실행합니다.
-mca pml_ucx_priority 5
그 결과 OPEN MPI 라이브러리는 UCX를 통해 사용 가능한 대체 전송 계층을 선택할 수 있습니다.
Bugzilla:1866402[1]
메모리 핫플러그 또는 연결 해제 작업 후 vmcore 캡처가 실패합니다.
메모리 핫플러그 또는 핫 언플러그 작업을 수행한 후 이벤트는 메모리 레이아웃 정보가 포함된 장치 트리를 업데이트한 후 제공됩니다. 따라서 makedumpfile
유틸리티는 존재하지 않는 물리적 주소에 액세스하려고 합니다. 다음 조건이 모두 충족되면 문제가 나타납니다.
- IBM Power System의 little-endian 변형은 RHEL 8을 실행합니다.
-
시스템에
kdump
또는fadump
서비스가 활성화되어 있습니다.
결과적으로 메모리 핫플러그 또는 핫 언플러그 작업 후 커널 충돌이 트리거되면 캡처 커널이 vmcore
를 저장하지 못합니다.
이 문제를 해결하려면 핫 플러그 또는 핫 언플러그 후 kdump
서비스를 다시 시작하십시오.
# systemctl restart kdump.service
결과적으로 vmcore
가 설명된 시나리오에 성공적으로 저장됩니다.
Bugzilla:1793389[1]
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
서비스에 사용할 수 있는 메모리가 충분한지 확인합니다.
이 알려진 문제에 대한 관련 정보는 irqpoll 커널 명령줄 매개변수로 인해 vmcore 생성 실패 문서를 참조하십시오.
Bugzilla:1654962[1]
코어가 큰 시스템에서 실시간 커널의 하드웨어 인증으로 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
을 활성화하면 전력 소비가 크게 증가하므로 대기 시간에 민감한 실시간 워크로드를 실행하는 경우에만 활성화해야 합니다.
Jira:RHEL-9318[1]
디버그 커널이 RHEL 8에서 크래시 캡처 환경에서 부팅되지 않음
디버그 커널의 메모리 집약적 특성으로 인해 디버그 커널이 사용 중이고 커널 패닉이 발생하면 문제가 발생합니다. 결과적으로 디버그 커널은 캡처 커널로 부팅할 수 없으며 대신 스택 추적이 생성됩니다. 이 문제를 해결하려면 필요에 따라 크래시 커널 메모리를 늘리십시오. 결과적으로 디버그 커널은 크래시 캡처 환경에서 성공적으로 부팅됩니다.
Bugzilla:1659609[1]
부팅 시 크래시 커널 메모리 할당 실패
일부 Ampere Altra 시스템에서 BIOS 설정에서 32비트 영역이 비활성화되면 부팅 중에 크래시 커널 메모리를 할당하지 못합니다. 결과적으로 kdump
서비스가 시작되지 않습니다. 이는 4GB 미만의 리전의 메모리 조각화로 인해 발생하며 충돌 커널 메모리를 포함할 수 있을 만큼 조각화되지 않습니다.
이 문제를 해결하려면 다음과 같이 BIOS에서 32비트 메모리 영역을 활성화합니다.
- 시스템에서 BIOS 설정을 엽니다.
- Chipset 메뉴를 엽니다.
-
메모리 구성에서
Slave 32비트
옵션을 활성화합니다.
결과적으로 32비트 리전 내의 크래시 커널 메모리 할당이 성공하고 kdump
서비스가 예상대로 작동합니다.
Bugzilla:1940674[1]
QAT 관리자는 LKCF에 대한 예비 장치를 남기지 않습니다.
Intel® QuickAssist Technology(QAT) 관리자(qatmgr
)는 기본적으로 시스템의 모든 QAT 장치를 사용하는 사용자 공간 프로세스입니다. 그 결과 Linux LKCF(커널 암호화 프레임워크)용으로 QAT 장치가 남아 있지 않습니다. 이 동작이 예상되고 대부분의 사용자가 사용자 공간의 가속을 사용하므로 이 상황을 해결할 필요가 없습니다.
Bugzilla:1920086[1]
Solarflare가 최대 VF(가상 기능) 수를 생성하지 못합니다.
Solarflare NIC는 리소스가 부족하여 최대 VF 수를 생성하지 못합니다. PCIe 장치가 /sys/bus/pci/devices/PCI_ID/sriov_totalvfs
파일에서 생성할 수 있는 최대 VF 수를 확인할 수 있습니다. 이 문제를 해결하려면 VF 수 또는 VF Cryostat 인터럽트 값을 시작 시 Solarflare Boot Manager
에서 더 낮은 값으로 조정하거나 Solarflare sfboot
유틸리티를 사용할 수 있습니다. 기본 VF Cryostat 인터럽트 값은 8
입니다.
-
sfboot
를 사용하여 VF Cryostat 인터럽트 값을 조정하려면 다음을 수행합니다.
# sfboot vf-msix-limit=2
VF Cryostat 인터럽트 값을 조정하면 VF 성능에 영향을 미칩니다.
적절하게 조정할 매개변수에 대한 자세한 내용은 solarflare 서버 어댑터 사용자 가이드를
참조하십시오.
Bugzilla:1971506[1]
page_poison=1
을 사용하면 커널이 충돌할 수 있습니다.
page_poison=1
을 결함이 있는 EFI 구현에서 커널 매개변수로 사용하는 경우 운영 체제에서 커널이 충돌할 수 있습니다. 기본적으로 이 옵션은 비활성화되어 있으며 특히 프로덕션 시스템에서 활성화하지 않는 것이 좋습니다.
Bugzilla:2050411[1]
iwl7260-firmware
는 Intel Wi-Fi 6 AX200, AX210 및 CryostatPad P1 Cryostat 4에서 Wi-Fi를 분리합니다.
iwl7260-firmware
또는 iwl7260-wifi
드라이버를 RHEL 8.7 이상에서 제공하는 버전으로 업데이트한 후 하드웨어가 잘못된 내부 상태가 됩니다. 상태를 잘못 보고합니다. 결과적으로 Intel Wifi 6 카드가 작동하지 않고 오류 메시지를 표시할 수 있습니다.
kernel: iwlwifi 0000:09:00.0: Failed to start RT ucode: -110 kernel: iwlwifi 0000:09:00.0: WRT: Collecting data: ini trigger 13 fired (delay=0ms) kernel: iwlwifi 0000:09:00.0: Failed to run INIT ucode: -110
확인되지 않은 작업은 시스템의 전원을 끄고 다시 켜는 것입니다. 재부팅하지 마십시오.
Bugzilla:2106341[1]
IBM Power Systems에서 보안 부팅은 마이그레이션을 지원하지 않습니다.
현재 IBM Power Systems에서 PV(물리 볼륨) 마이그레이션 후 논리 파티션(LPAR)이 부팅되지 않습니다. 결과적으로 파티션에서 보안 부팅이 활성화된 모든 유형의 자동화된 마이그레이션이 실패합니다.
Bugzilla:2126777[1]
kmod
의 약한 모듈이 모듈
상호 의존과 함께 작동하지 않음
kmod
패키지에서 제공하는 weak-modules
스크립트는 설치된 커널과 kABI와 호환되는 모듈을 결정합니다. 그러나 모듈의 커널 호환성을 확인하는 동안 약한 모듈은
빌드된 커널의 상위 릴리스에서 더 낮은 릴리스까지 종속성을 기호화합니다. 결과적으로 다른 커널 릴리스에 빌드된 상호 종속 관계가 있는 모듈은 호환되지 않는 것으로 해석될 수 있으므로 이 시나리오에서는 weak-modules
스크립트가 작동하지 않을 수 있습니다.
이 문제를 해결하려면 새 커널을 설치하기 전에 최신 커널에 대해 추가 모듈을 빌드하거나 배치하십시오.
Bugzilla:2103605[1]
Ampere Altra 서버의 kdump
가 OOM 상태가 됨
Ampere Altra 및 Altra Max 서버의 펌웨어로 인해 현재 커널이 너무 많은 이벤트, 인터럽트 및 명령 대기열을 할당하여 메모리를 많이 사용합니다. 그 결과 kdump
커널은 OOM(Out of memory) 상태가 됩니다.
이 문제를 해결하려면 crashkernel=
커널 옵션의 값을 640M 으로 늘려 kdump
에 대한 추가 메모리를 예약합니다.
Bugzilla:2111855[1]
9.10. 파일 시스템 및 스토리지
LUKS 볼륨을 저장하는 LVM 미러
장치가 응답하지 않는 경우가 있음
LUKS 볼륨을 저장하는 미러 세그먼트 유형이 있는 미러링
된 LVM 장치는 특정 조건에서 응답하지 않을 수 있습니다. 응답하지 않는 장치는 모든 I/O 작업을 거부합니다.
이 문제를 해결하기 위해 LUKS 볼륨을 탄력적 소프트웨어 정의 스토리지 위에 스택해야 하는 경우 미러
대신 세그먼트 유형의 raid1
과 함께 LVM RAID 1 장치를 사용하는 것이 좋습니다.
raid1
세그먼트 유형은 기본 RAID 구성 유형이며 권장되는 솔루션으로 미러
를 대체합니다.
미러
장치를 raid1
로 변환하려면 미러링된 LVM 장치를 RAID1 장치로 변환을 참조하십시오.
Bugzilla:1730502[1]
/boot
파일 시스템을 LVM에 배치할 수 없습니다
/boot
파일 시스템을 LVM 논리 볼륨에 배치할 수 없습니다. 이 제한은 다음과 같은 이유로 존재합니다.
-
EFI 시스템에서 EFI 시스템 파티션 은 일반적으로
/boot
파일 시스템 역할을 합니다. uEFI 표준을 사용하려면 이 파티션에 특정 GPT 파티션 유형과 특정 파일 시스템 유형이 필요합니다. -
RHEL 8에서는 시스템 부팅 항목에 BLS( Boot Loader Specification )를 사용합니다. 이 사양을 사용하려면 플랫폼 펌웨어에서
/boot
파일 시스템을 읽을 수 있어야 합니다. EFI 시스템에서 플랫폼 펌웨어는 uEFI 표준에 정의된/boot
구성만 읽을 수 있습니다. - GRUB 2 부트 로더에서 LVM 논리 볼륨을 지원하는 것은 불완전합니다. Red Hat은 uEFI 및 BLS와 같은 표준으로 인해 기능의 사용 사례 수가 줄어들기 때문에 지원을 개선할 계획이 없습니다.
Red Hat은 LVM에서 /boot
를 지원하지 않습니다. 대신 Red Hat은 /boot
파일 시스템을 LVM 논리 볼륨에 배치할 필요가 없는 시스템 스냅샷 및 롤백을 관리하는 툴을 제공합니다.
Bugzilla:1496229[1]
LVM에서 더 이상 혼합 블록 크기의 볼륨 그룹을 생성할 수 없음
Cryostat create
또는 Cryostatextend와 같은 LVM 유틸리티를 사용하면 더 이상 물리 볼륨(PV)의 논리 블록 크기가 다른 볼륨 그룹(VG)을 생성할 수 없습니다. LVM에서는 기본 논리 볼륨(LV)을 다른 블록 크기의 PV로 확장하면 파일 시스템을 마운트하지 못하기 때문에 이러한 변경 사항을 채택했습니다.
혼합된 블록 크기로 VG를 다시 활성화하려면 lvm.conf
파일에서 allow_mixed_block_sizes=1
옵션을 설정합니다.
LVM writecache
의 제한 사항
writecache
LVM 캐싱 방법에는 캐시
방법에 없는 다음과 같은 제한 사항이 있습니다.
-
pvmove
명령을 사용할 때는writecache
논리 볼륨의 이름을 지정할 수 없습니다. -
씬 풀 또는 VDO와 함께
writecache
와 함께 논리 볼륨을 사용할 수 없습니다.
다음 제한 사항은 캐시
방법에도 적용됩니다.
-
캐시 또는
가 연결된 상태에서 논리 볼륨의 크기를 조정할 수 없습니다.쓰기 캐시
Jira:RHELPLAN-27987[1], Bugzilla:1798631, Bugzilla:1808012
IOMMU 활성화 후 시스템 패닉
intel_iommu
매개변수를 on
으로 설정하여 커널 명령줄에서 IMMU(Input-Output Memory Management Unit)를 활성화하면 0x6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6b6
이 문제를 해결하려면 intel_iommu
가 off
로 설정되어 있는지 확인합니다.
Jira:RHEL-1765[1]
NVMe/TCP 드라이버를 사용하는 경우 장치 매퍼 멀티패스는 지원되지 않습니다.
NVMe/TCP 장치에서 장치 매퍼 멀티패스를 사용하면 성능 및 오류 처리가 저하될 수 있습니다. 이 문제를 방지하려면 DM 다중 경로 도구 대신 기본 NVMe 다중 경로를 사용합니다. RHEL 8의 경우 nvme_core.multipath=Y
옵션을 커널 명령줄에 추가할 수 있습니다.
Bugzilla:2022359[1]
blk-availability
systemd 서비스는 복잡한 장치 스택을 비활성화합니다.
systemd
에서 기본 블록 비활성화 코드는 항상 복잡한 가상 블록 장치 스택을 올바르게 처리하지는 않습니다. 일부 구성에서는 종료 중에 가상 장치가 제거되지 않을 수 있으므로 오류 메시지가 기록됩니다. 이 문제를 해결하려면 다음 명령을 실행하여 복잡한 블록 장치 스택을 비활성화합니다.
# systemctl enable --now blk-availability.service
결과적으로 종료 중에 복잡한 가상 장치 스택이 올바르게 비활성화되고 오류 메시지가 생성되지 않습니다.
Bugzilla:2011699[1]
XFS 할당량 경고가 너무 자주 트리거됩니다.
할당량 타이머를 사용하면 할당량 경고가 너무 자주 트리거되어 소프트 할당량이 적용되어야 하는 속도가 빨라집니다. 이 문제를 해결하려면 소프트 할당량을 사용하지 마십시오. 그러면 경고가 트리거되지 않습니다. 결과적으로 경고 메시지의 양은 구성된 타임아웃을 고려하여 소프트 할당량 제한을 더 이상 적용하지 않습니다.
Bugzilla:2059262[1]
9.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
Git
에서 잠재적으로 안전하지 않은 소유권이 있는 리포지토리에서 복제하거나 가져오지 못했습니다.
원격 코드 실행을 방지하고 CVE-2024-32004 를 완화하기 위해 로컬 리포지토리 복제를 위해 Git
에 더 엄격한 소유권 검사가 도입되었습니다. RHSA-2024:4084 권고에 도입된 업데이트 이후 Git
은 안전하지 않은 소유권을 모호하게 사용하여 로컬 리포지토리를 처리합니다.
결과적으로 git-daemon
을 통해 로컬로 호스팅되는 리포지토리에서 복제하려고 하면 리포지토리 소유자가 아닌 경우 Git
은 모호한 소유권에 대한 보안 경고를 반환하고 리포지토리에서 복제하거나 가져오지 못합니다.
이 문제를 해결하려면 다음 명령을 실행하여 리포지토리를 안전한 것으로 명시적으로 표시합니다.
git config --global --add safe.directory /path/to/repository
Jira:RHELDOCS-18435[1]
virtualenv
유틸리티를 사용하는 경우 가상 Python 3.11 환경 생성 실패
python3-
패키지에서 제공하는 RHEL 8의 virtualenv 유틸리티는 Python 3.11과 호환되지 않습니다. virtualenv
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
라이브러리가 모두 로드되어 단일 프로세스 내에서 사용되는 경우 이러한 라이브러리 간의 기호 충돌이 발생할 수 있습니다. 결과적으로 PHP ldap
확장을 사용하는 Apache httpd
하위 프로세스는 httpd
구성으로 mod_security
또는 mod_auth_openidc
모듈도 로드하면 예기치 않게 종료될 수 있습니다.
RHEL 8.3이 APR( Apache Portable Runtime) 라이브러리로 업데이트되므로 httpd
모듈을 로드할 때 RTLD_DEEPBIND
동적 링커 옵션을 사용할 수 있는 APR_DEEPBIND
환경 변수를 설정하여 문제를 해결할 수 있습니다. APR_DEEPBIND
환경 변수가 활성화되면 라이브러리 충돌을 로드하는 httpd
구성에서 크래시가 더 이상 발생하지 않습니다.
Bugzilla:1819607[1]
32비트 애플리케이션에서 호출하면 getpwnam()
이 실패할 수 있습니다.
NIS 사용자가 getpwnam()
함수를 호출하는 32비트 애플리케이션을 사용하는 경우 nss_nis.i686
패키지가 누락된 경우 호출이 실패합니다. 이 문제를 해결하려면 yum install nss_nis.i686
명령을 사용하여 누락된 패키지를 수동으로 설치합니다.
9.12. IdM (Identity Management)
인쇄 서버로 Samba를 실행하고 RHEL 8.4 및 이전 버전에서 업데이트할 때 필요한 작업
이번 업데이트를 통해 samba
패키지에서 더 이상 /var/spool/samba/
디렉터리를 생성하지 않습니다. Samba를 출력 서버로 사용하고 [ shares]
공유에서 /var/spool/samba/
를 spool 출력 작업에 사용하는 경우 SELinux는 Samba 사용자가 이 디렉터리에 파일을 생성하지 못하도록 합니다. 결과적으로 출력 작업이 실패하고 auditd
서비스가 /var/log/audit/audit.log
에 거부
된 메시지를 기록합니다. 8.4 및 이전 버전에서 시스템을 업데이트한 후 이 문제를 방지하려면 다음을 수행합니다.
-
/etc/samba/smb.conf
파일에서[ Cryostats]
공유를 검색합니다. -
공유 정의에
path = /var/spool/samba/
가 포함된 경우 설정을 업데이트하고path
매개변수를/var/tmp/
로 설정합니다. smbd
서비스를 다시 시작합니다.# systemctl restart smbd
RHEL 8.5 이상에 Samba를 새로 설치한 경우 작업이 필요하지 않습니다. 이 경우 samba-common
패키지에서 제공하는 기본 /etc/samba/smb.conf
파일은 이미 /var/tmp/
디렉터리를 사용하여 출력 작업을 spool로 사용합니다.
Bugzilla:2009213[1]
cert-fix
유틸리티를 --agent-uid pkidbuser
옵션과 함께 사용하면 인증서 시스템이 중단됩니다.
cert-fix
유틸리티를 --agent-uid pkidbuser
옵션과 함께 사용하면 인증서 시스템의 LDAP 구성이 손상되었습니다. 결과적으로 인증서 시스템이 불안정해질 수 있으며 시스템을 복구하려면 수동 단계가 필요합니다.
FIPS 모드는 공유 보안을 사용하여 교차 포리스트 신뢰 설정을 지원하지 않습니다.
NTLMSSP 인증이 FIPS와 호환되지 않기 때문에 공유 보안을 사용하여 교차 포리스트 신뢰 설정은 FIPS 모드에서 실패합니다. 이 문제를 해결하려면 FIPS 모드가 활성화된 IdM 도메인과 AD 도메인 간의 신뢰를 설정할 때 AD(Active Directory) 관리 계정으로 인증합니다.
버전 1.2.2로 리베이스 후 authselect
다운그레이드
authselect
패키지는 최신 업스트림 버전 1.2.2
로 변경되었습니다. 다운그레이드 authselect
는 지원되지 않으며 root
를 포함하여 모든 사용자에 대한 시스템 인증을 중단합니다.
authselect
패키지를 1.2.1
이하로 다운그레이드한 경우 다음 단계를 수행하여 이 문제를 해결합니다.
-
GRUB 부팅 화면에서 부팅하려는 커널 버전이 있는
Red Hat Enterprise Linux
를 선택하고e
를 눌러 항목을 편집합니다. -
linux
로 시작하는 행 끝에single
을 별도의 단어로 입력하고Ctrl+X
를 눌러 부팅 프로세스를 시작합니다. - 단일 사용자 모드에서 부팅할 때 root 암호를 입력합니다.
다음 명령을 사용하여 authselect 구성을 복원합니다.
# authselect select sssd --force
IdM to AD cross-realm TGS 요청 실패
IdM Kerberos 티켓의 권한 속성 인증서(PAC) 정보는 이제 AD(Active Directory)에서 지원하지 않는 AES SHA-2 HMAC 암호화로 서명됩니다.
결과적으로 IdM에서 AD 간 TGS 요청(즉, 양방향 신뢰 설정)이 실패하고 다음 오류가 발생합니다.
Generic error (see e-text) while getting credentials for <service principal>
ldap_id_use_start_tls
옵션에 기본값을 사용할 때 발생할 위험이 있습니다.
ID 조회에 TLS 없이 ldap://
를 사용하는 경우 공격 벡터가 발생할 수 있습니다. 특히 MITTM(man-in-the-middle) 공격으로 공격자가 LDAP 검색에서 반환된 오브젝트의 UID 또는 GID를 변경하여 사용자를 가장할 수 있습니다.
현재 TLS, ldap_id_use_start_tls
를 적용하는 SSSD 구성 옵션은 기본값은 false
입니다. 설정이 신뢰할 수 있는 환경에서 작동하고 id_provider = ldap
용으로 암호화되지 않은 통신을 사용하는 것이 안전한지 확인합니다. 참고 id_provider = ad
및 id_provider = ipa
는 SASL 및 GSSAPI로 보호되는 암호화된 연결을 사용하므로 영향을 받지 않습니다.
암호화되지 않은 통신을 사용하지 않는 경우 /etc/sssd/sssd.conf
파일에서 ldap_id_use_start_tls
옵션을 true
로 설정하여 TLS를 적용합니다. 기본 동작은 향후 RHEL 릴리스에서 변경될 예정입니다.
Jira:RHELPLAN-155168[1]
RHEL 8.6에서 RHEL 8.7 이상으로의 PKI -core-debuginfo
업데이트가 실패했습니다.
RHEL 8.6에서 RHEL 8.7 이상으로 pki-core-debuginfo
패키지를 업데이트할 수 없습니다. 이 문제를 해결하려면 다음 명령을 실행합니다.
-
yum remove pki-core-debuginfo
-
yum update -y
-
yum install pki-core-debuginfo
-
yum install idm-pki-symkey-debuginfo idm-pki-tools-debuginfo
Jira:RHEL-13125[1]
마이그레이션된 IdM 사용자는 일치하지 않는 도메인 SID로 인해 로그인할 수 없을 수 있습니다.
ipa migrate-ds
스크립트를 사용하여 IdM 배포에서 사용자를 다른 IdM 배포로 마이그레이션한 경우 이전 SID(보안 식별자)에 현재 IdM 환경의 도메인 SID가 없기 때문에 IdM 서비스를 사용하는 데 문제가 있을 수 있습니다. 예를 들어 해당 사용자는 kinit
유틸리티를 사용하여 Kerberos 티켓을 검색할 수 있지만 로그인할 수 없습니다. 이 문제를 해결하려면 다음 지식 베이스 문서를 참조하십시오. 마이그레이션된 IdM 사용자는 일치하지 않는 도메인 SID로 인해 로그인할 수 없습니다.
Jira:RHELPLAN-109613[1]
FIPS 모드에서 IdM은 NTLMSSP 프로토콜 사용을 지원하지 않습니다.
NTLMSSP(New Technology LAN Manager Security Support Provider) 인증이 FIPS와 호환되지 않기 때문에 FIPS(Active Directory)와 FIPS 모드가 활성화된 IdM(Identity Management) 간 양방향 교차 포리스트 트러스트를 설정할 수 없습니다. FIPS 모드의 IdM은 AD 도메인 컨트롤러에서 인증을 시도할 때 사용하는 RC4 NTLM 해시를 허용하지 않습니다.
Kerberos 주체의 만료 날짜를 설정할 때 잘못된 경고
Kerberos 주체에 대한 암호 만료 날짜를 설정하면 현재 타임스탬프가 32비트 부호 있는 정수 변수를 사용하여 만료 타임스탬프와 비교됩니다. 만료 날짜가 향후 68년 이상이면 정수 변수 오버플로로 다음과 같은 경고 메시지가 표시됩니다.
Warning: Your password will expire in less than one hour on [expiration date]
이 메시지를 무시하면 구성된 날짜와 시간에 암호가 올바르게 만료됩니다.
RHEL 8의 NIS 맵에서 많은 수의 항목 열거 속도 저하
RHEL 8에 nis_nss
패키지를 설치할 때 glibc-common
패키지에서 더 이상 파일이 제공되지 않기 때문에 /etc/default/NSS
구성 파일이 누락됩니다. 결과적으로 RHEL 8의 NIS 맵에서 많은 수의 항목을 나열하면 기본적으로 모든 요청이 일괄 처리되지 않고 개별적으로 처리되므로 RHEL 7보다 훨씬 오래 걸립니다.
이 문제를 해결하려면 다음 콘텐츠를 사용하여 /etc/default/nss
파일을 생성하고 SETENT_BATCH_READ
변수를 TRUE
로 설정해야 합니다.
# /etc/default/nss # This file can theoretically contain a bunch of customization variables # for Name Service Switch in the GNU C library. For now there are only # four variables: # # NETID_AUTHORITATIVE # If set to TRUE, the initgroups() function will accept the information # from the netid.byname NIS map as authoritative. This can speed up the # function significantly if the group.byname map is large. The content # of the netid.byname map is used AS IS. The system administrator has # to make sure it is correctly generated. #NETID_AUTHORITATIVE=TRUE # # SERVICES_AUTHORITATIVE # If set to TRUE, the getservbyname{,_r}() function will assume # services.byservicename NIS map exists and is authoritative, particularly # that it contains both keys with /proto and without /proto for both # primary service names and service aliases. The system administrator # has to make sure it is correctly generated. #SERVICES_AUTHORITATIVE=TRUE # # SETENT_BATCH_READ # If set to TRUE, various setXXent() functions will read the entire # database at once and then hand out the requests one by one from # memory with every getXXent() call. Otherwise each getXXent() call # might result into a network communication with the server to get # the next entry. SETENT_BATCH_READ=TRUE # # ADJUNCT_AS_SHADOW # If set to TRUE, the passwd routines in the NIS NSS module will not # use the passwd.adjunct.byname tables to fill in the password data # in the passwd structure. This is a security problem if the NIS # server cannot be trusted to send the passwd.adjuct table only to # privileged clients. Instead the passwd.adjunct.byname table is # used to synthesize the shadow.byname table if it does not exist. #ADJUNCT_AS_SHADOW=TRUE
Jira:RHEL-34075[1]
스마트 카드 인증에 새 옵션 local_auth_policy
를 도입한 후 구성 업데이트가 필요할 수 있습니다.
RHEL 8.10으로 업데이트한 후 local_auth_policy
옵션에 도입된 변경으로 인해 스마트 카드 인증이 실패할 수 있습니다. local_auth_policy
가 기본값으로 설정된 경우와일치하면
SSSD는 오프라인 인증 방법을 온라인에서 사용할 수 있는 인증 방법으로 제한합니다. 결과적으로 구성된 백엔드에서 스마트 카드 인증을 제공하지 않는 경우(예: auth_provider = ldap
)를 사용할 때 사용자가 사용할 수 없습니다. 이 문제를 해결하려면 sssd.conf
파일의 domain 섹션에 local_auth_policy = enable:smartcard
를 추가하여 스마트 카드 인증 방법을 명시적으로 활성화한 다음 SSSD를 다시 시작합니다.
9.13. 데스크탑
소프트웨어 리포지토리에서 flatpak
리포지토리를 비활성화할 수 없습니다.
현재는 GNOME 소프트웨어 유틸리티의 소프트웨어 리포지토리 툴에서 flatpak
리포지토리를 비활성화하거나 제거할 수 없습니다.
2세대 RHEL 8 가상 머신이 Hyper-V Server 2016 호스트에서 부팅되지 않는 경우가 있습니다.
Microsoft Hyper-V Server 2016 호스트에서 실행되는 VM(가상 머신)의 게스트 운영 체제로 RHEL 8을 사용하는 경우 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[1]
드래그 앤 드롭이 데스크탑과 애플리케이션 간에 작동하지 않음
gnome-shell-extensions
패키지의 버그로 인해 현재 드래그 앤 드롭 기능이 데스크탑과 애플리케이션 간에 작동하지 않습니다. 이 기능에 대한 지원은 향후 릴리스에서 다시 추가됩니다.
WebKitGTK가 IBM Z에 웹 페이지를 표시하지 못했습니다
IBM Z 아키텍처에 웹 페이지를 표시하려고 할 때 WebKitGTK 웹 브라우저 엔진이 실패합니다. 웹 페이지는 비워 두고 WebKitGTK 프로세스는 예기치 않게 중지됩니다.
결과적으로 WebKitGTK를 사용하여 다음과 같은 웹 페이지를 표시하는 애플리케이션의 특정 기능을 사용할 수 없습니다.
- Evolution 메일 클라이언트
- GNOME 온라인 계정 설정
- GNOME Help 애플리케이션
9.14. 그래픽 인프라
radeon
드라이버가 하드웨어를 올바르게 재설정하지 못했습니다
radeon
커널 드라이버는 현재 kexec
컨텍스트에서 하드웨어를 올바르게 재설정하지 않습니다. 대신 radeon
이 대체되어 kdump
서비스의 나머지 부분이 실패합니다.
이 문제를 해결하려면 /etc/
파일에 다음 행을 추가하여 kdump에서 kdump
.confradeon
을 비활성화합니다.
dracut_args --omit-drivers "radeon" force_rebuild 1
시스템 및 kdump
를 다시 시작합니다. kdump
를 시작한 후 force_rebuild 1
행이 구성 파일에서 제거될 수 있습니다.
이 시나리오에서는 덤프 프로세스 중에 그래픽을 사용할 수 없지만 kdump
는 올바르게 작동합니다.
Bugzilla:1694705[1]
단일 MST 토폴로지에 여러 HDR 디스플레이가 켜지지 않을 수 있습니다.
nouveau
드라이버와 함께 NVIDIA Turing GPU를 사용하는 시스템에서 HDR 플러그를 지원하는 여러 모니터가 있는 DisplayPort
허브(예: 랩탑 도크)를 사용하면 문제가 발생할 수 있습니다. 이는 시스템이 모든 디스플레이를 지원하기에 충분한 대역폭이 없다고 잘못 생각하고 있기 때문입니다.
Bugzilla:1812577[1]
낮은 비디오 메모리로 인해 ESXi의 GUI가 충돌할 수 있습니다.
vCenter Server 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[1]
VNC 뷰어는 IBM Z에서 16비트 색상 깊이를 사용하여 잘못된 색상 표시
IBM Z 서버에서 16비트 색상 깊이를 사용하여 VNC 세션에 연결할 때 VNC 뷰어 애플리케이션에 잘못된 색상이 표시됩니다.
문제를 해결하려면 VNC 서버에서 24비트 색상 깊이를 설정합니다. Xvnc
서버를 사용하여 -depth 16
옵션을 Xvnc
구성에서 -depth 24
로 바꿉니다.
결과적으로 VNC 클라이언트는 올바른 색상을 표시하지만 서버에서 더 많은 네트워크 대역폭을 사용합니다.
sudo
명령을 사용하여 그래픽 애플리케이션을 실행할 수 없음
승격된 권한이 있는 사용자로 그래픽 애플리케이션을 실행하려고 하면 오류 메시지와 함께 애플리케이션을 열지 못합니다. Xwayland
는 인증을 위해 일반 사용자 자격 증명을 사용하도록 Xauthority
파일에 의해 제한되기 때문에 오류가 발생합니다.
이 문제를 해결하려면 sudo -E
명령을 사용하여 그래픽 애플리케이션을 root
사용자로 실행합니다.
ARM에서 하드웨어 가속이 지원되지 않습니다.
내장된 그래픽 드라이버는 64비트 ARM 아키텍처에서 하드웨어 가속 또는 Vulkan API를 지원하지 않습니다.
ARM에서 하드웨어 가속 또는 Vulkan을 활성화하려면 전용 Nvidia 드라이버를 설치합니다.
Jira:RHELPLAN-57914[1]
9.15. Red Hat Enterprise Linux 시스템 역할
Ansible 2.9와 함께 RHEL 시스템 역할을 사용하면 command
모듈에서 dnf
사용에 대한 경고가 표시될 수 있습니다.
RHEL 8.8 이후 RHEL 시스템 역할은 이 매개변수가 Ansible Core 2.14에서 제거되었기 때문에 dnf
모듈과 함께 에서 더 이상 warn
매개 변수를 사용하지 않습니다. 그러나 Ansible 2.9에서 최신 rhel-system-roles
패키지를 사용하고 역할이 패키지를 설치하는 경우 다음 경고 중 하나를 표시할 수 있습니다.
[WARNING]: Consider using the dnf module rather than running 'dnf'. If you need to use command because dnf is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
[WARNING]: Consider using the yum, dnf or zypper module rather than running 'rpm'. If you need to use command because yum, dnf or zypper is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message.
이러한 경고를 숨기려면 ansible.cfg
파일의 [Defaults]
섹션에 command_warnings = False
설정을 추가합니다. 그러나 이 설정은 Ansible의 모든 경고를 비활성화합니다.
플레이북 또는 인벤토리에서 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 시스템 역할 플레이북이 실패하는 문서를 참조하십시오.
에 활성화 키가 포함된 경우 rhc 시스템 역할이 이미 등록된 시스템에서 실패합니다.rhc
_auth
rhc_auth
매개 변수에 대해 활성화 키가 지정된 경우 이미 등록된 시스템에서 플레이북 파일을 실행할 수 없습니다. 이 문제를 해결하려면 이미 등록된 시스템에서 플레이북 파일을 실행할 때 활성화 키를 지정하지 마십시오.
imuxsock 입력 기본 유형을 구성하면 문제가 발생합니다.
로깅
RHEL 시스템 역할을 통해 "imuxsock" 입력 기본 유형을 구성하고 use_imuxsock
옵션을 사용하면 관리 노드에서 결과 구성에 문제가 발생합니다. 그러나 이 역할은 name
매개변수를 설정하지만 "imuxsock" 입력 유형은 name
매개변수를 지원하지 않습니다. 결과적으로 rsyslog
로깅 유틸리티는 config file? 오류에 'name' 매개 변수
를 출력합니다.
RHEL 9 UEFI 관리형 노드의 경우 부트로더 RHEL 시스템 역할의
변수가 작동하지 않습니다.bootloader
_password
이전에는 bootloader_password
변수가 /boot/efi/EFI/redhat/user.cfg
파일에 암호 정보를 잘못 배치했습니다. 적절한 위치는 /boot/grub2/user.cfg
파일이었습니다. 결과적으로 관리형 노드를 재부팅하여 부트 로더 항목을 수정할 때 GRUB2에서 암호를 입력하라는 메시지를 표시하지 않았습니다. 이 문제를 해결하려면 잘못된 /boot/efi/EFI/redhat/
디렉터리에서 올바른 /boot/grub2/
디렉터리로 user.cfg
파일을 수동으로 이동하여 예상되는 동작을 수행할 수 있습니다.
9.16. 가상화
많은 수의 큐를 사용하면 Windows 가상 머신이 실패할 수 있습니다.
vTPM(가상 신뢰할 수 있는 플랫폼 모듈) 장치가 활성화되고 다중 대기열 virtio-net 기능이 250개 이상의 큐를 사용하도록 구성된 경우 Windows 가상 머신(VM)이 실패할 수 있습니다.
이 문제는 vTPM 장치의 제한으로 인해 발생합니다. vTPM 장치에는 열린 파일 설명자의 최대 수에 하드 코딩된 제한이 있습니다. 모든 새 큐에 대해 여러 파일 설명자가 열리기 때문에 내부 vTPM 제한을 초과하여 VM이 실패할 수 있습니다.
이 문제를 해결하려면 다음 두 가지 옵션 중 하나를 선택합니다.
- vTPM 장치를 계속 활성화하되 250개 미만의 대기열을 사용합니다.
- 250개 이상의 대기열을 사용하도록 vTPM 장치를 비활성화합니다.
Jira:RHEL-13336[1]
AMD Milan
시스템에서 Milan VM CPU 유형을 사용할 수 없는 경우가 있습니다.
특정 AMD Milan 시스템에서는 Enhanced REP MOVSB(erms
) 및 Fast Short REP MOVSB(fsrm
) 기능 플래그가 기본적으로 BIOS에서 비활성화되어 있습니다. 결과적으로 Milan
CPU 유형을 이러한 시스템에서 사용할 수 없습니다. 또한 다른 기능 플래그 설정이 있는 Milan 호스트 간에 VM 실시간 마이그레이션이 실패할 수 있습니다. 이러한 문제를 해결하려면 호스트의 BIOS에서 수동으로 erms
및 fsrm
을 켭니다.
Bugzilla:2077770[1]
AMD EPYC에서 호스트 패스스루 모드를 사용할 때 VM에서 SMT CPU 토폴로지가 탐지되지 않음
가상 머신(VM)이 AMD EPYC 호스트에서 CPU 호스트 패스스루 모드로 부팅되는 경우 Django OEXT
CPU 기능 플래그가 존재하지 않습니다. 결과적으로 VM은 코어당 여러 스레드가 있는 가상 CPU 토폴로지를 감지할 수 없습니다. 이 문제를 해결하려면 호스트 패스스루 대신 EPYC CPU 모델로 VM을 부팅합니다.
virtio-blk를 사용하여 가상 머신에 LUN 장치를 연결하면 작동하지 않음
q35 시스템 유형은 전환 virtio 1.0 장치를 지원하지 않으므로 RHEL 8에서는 virtio 1.0에서 더 이상 사용되지 않는 기능을 지원하지 않습니다. 특히 RHEL 8 호스트에서 virtio-blk 장치에서 SCSI 명령을 보낼 수 없습니다. 결과적으로 virtio-blk 컨트롤러를 사용하는 경우 물리적 디스크를 가상 머신에 LUN 장치로 연결합니다.
물리적 디스크는 여전히 게스트 운영 체제로 전달할 수 있지만 device='lun'
이 아닌 device='disk'
옵션으로 구성해야 합니다.
Bugzilla:1777138[1]
많은 virtio-blk 디스크를 사용할 때 가상 머신이 시작되지 않는 경우가 있습니다.
다수의 virtio-blk 장치를 가상 시스템(VM)에 추가하면 플랫폼에서 사용 가능한 인터럽트 벡터 수가 소모될 수 있습니다. 이 경우 VM의 게스트 OS가 부팅되지 않고 dracut-initqueue[392]: Warning: Could not boot
오류가 표시됩니다.
IBM POWER에서 iommu_platform=on
이 있는 가상 머신이 시작되지 않음
RHEL 8은 현재 IBM POWER 시스템에서 VM(가상 머신)의 iommu_platform=on
매개변수를 지원하지 않습니다. 결과적으로 IBM POWER 하드웨어에서 이 매개변수를 사용하여 VM을 시작하면 부팅 프로세스 중에 VM이 응답하지 않습니다.
ibmvfc
드라이버를 사용할 때 IBM POWER 호스트가 올바르게 작동함
PowerVM 논리 파티션(LPAR)에서 RHEL 8을 실행하는 경우 이전에는 ibmvfc
드라이버의 문제로 인해 다양한 오류가 발생할 수 있었습니다. 결과적으로 다음과 같이 특정 상황에서 호스트에서 커널 패닉이 트리거됩니다.
- LPM(Live Partition Cryostat) 기능 사용
- 호스트 어댑터 재설정
- SCSI 오류 처리(SCSI EH) 함수 사용
이번 업데이트를 통해 ibmvfc
처리가 수정되었으며 설명된 커널 패닉이 더 이상 발생하지 않습니다.
Bugzilla:1961722[1]
IBM POWER Systems에서 perf kvm 레코드를
사용하면 VM이 충돌할 수 있습니다.
IBM POWER 하드웨어의 little-endian 변형에 RHEL 8 호스트를 사용하는 경우 perf kvm record
명령을 사용하여 KVM 가상 머신(VM)의 추적 이벤트 샘플을 수집하는 경우 VM이 응답하지 않습니다. 이 문제는 다음과 같은 경우에 발생합니다.
-
perf
유틸리티는 권한이 없는 사용자가 사용하고-p
옵션은 VM(예:perf kvm 레코드 -e trace_cycles -p 12345
)을 식별하는 데 사용됩니다. -
VM은
virsh
쉘을 사용하여 시작되었습니다.
이 문제를 해결하려면 perf kvm
유틸리티를 -i
옵션과 함께 사용하여 virsh
쉘을 사용하여 만든 VM을 모니터링합니다. 예를 들면 다음과 같습니다.
# perf kvm record -e trace_imc/trace_cycles/ -p <guest pid> -i
i
옵션을 사용하면 하위 작업이 카운터를 상속하지 않으므로 스레드가 모니터링되지 않습니다.
Bugzilla:1924016[1]
특정 CPU 모델을 사용할 때 Hyper-V가 활성화된 Windows Server 2016 가상 머신이 부팅되지 않음
현재 Windows Server 2016을 게스트 운영 체제로 사용하는 VM(가상 머신)을 부팅할 수 없으며 Hyper-V 역할이 활성화되어 있으며 다음 CPU 모델 중 하나를 사용합니다.
- EPYC-IBPB
- EPYC
이 문제를 해결하려면 EPYC-v3 CPU 모델을 사용하거나 VM에 대해 xsaves CPU 플래그를 수동으로 활성화합니다.
Bugzilla:1942888[1]
POWER9 게스트를 RHEL 7-ALT 호스트에서 RHEL 8로 마이그레이션 실패
현재 POWER9 가상 머신을 RHEL 7-ALT 호스트 시스템에서 RHEL 8로 마이그레이션하면 마이그레이션 상태: active
상태로 응답하지 않습니다.
이 문제를 해결하려면 RHEL 7-ALT 호스트에서 THP(Transparent Huge Pages)를 비활성화하여 마이그레이션이 성공적으로 완료될 수 있습니다.
Bugzilla:1741436[1]
virt-customize
를 사용하면 guestfs-firstboot
가 실패하는 경우가 있습니다.
virt-customize
유틸리티를 사용하여 VM(가상 머신) 디스크 이미지를 수정한 후 일부 경우 guestfs-firstboot
서비스가 잘못된 SELinux 권한으로 인해 실패합니다. 이로 인해 사용자 생성 또는 시스템 등록 실패와 같은 VM을 시작하는 동안 다양한 문제가 발생합니다.
이 문제를 방지하려면 --selinux-relabel
옵션과 함께 virt-customize
명령을 사용하십시오.
macvtap 가상 네트워크에서 전달 인터페이스를 삭제하면 이 네트워크의 모든 연결 수가 재설정됩니다.
현재 여러 전달 인터페이스가 있는 macvtap
가상 네트워크에서 전달 인터페이스를 삭제하면 네트워크의 다른 전달 인터페이스의 연결 상태도 재설정됩니다. 결과적으로 라이브 네트워크 XML의 연결 정보가 올바르지 않습니다. 그러나 가상 네트워크의 기능에는 영향을 미치지 않습니다. 이 문제를 해결하려면 호스트에서 libvirtd
서비스를 다시 시작하십시오.
SLOF가 있는 가상 머신은 netcat 인터페이스에서 부팅되지 않음
netcat(nc
) 인터페이스를 사용하여 현재 Slimline Open Firmware(SLOF) 프롬프트에서 대기 중인 VM(가상 머신) 콘솔에 액세스하는 경우 사용자 입력이 무시되고 VM은 응답하지 않습니다. 이 문제를 해결하려면 VM에 연결할 때 nc -C
옵션을 사용하거나 대신 telnet 인터페이스를 사용합니다.
Bugzilla:1974622[1]
경우에 따라 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[1]
호스트에서 OVS 서비스를 다시 시작하면 실행 중인 VM에서 네트워크 연결이 차단될 수 있습니다.
OVS(Open vSwitch) 서비스가 호스트에서 다시 시작되거나 중단되면 이 호스트에서 실행 중인 VM(가상 머신)은 네트워킹 장치의 상태를 복구할 수 없습니다. 결과적으로 VM이 패킷을 수신하지 못할 수 있습니다.
이 문제는 virtio
네트워킹 스택에서 패키징된 virtqueue 형식을 사용하는 시스템에만 영향을 미칩니다.
이 문제를 해결하려면 virtio
네트워킹 장치 정의에서 packed=off
매개 변수를 사용하여 패키징된 virtqueue를 비활성화합니다. 패키징된 virtqueue가 비활성화된 상태에서 네트워킹 장치의 상태는 RAM에서 복구할 수 있습니다.
nodedev-dumpxml
이 특정 중재된 장치에 대해 속성을 올바르게 나열하지 않음
현재 nodedev-dumpxml
은 nodedev-create
명령을 사용하여 생성된 중재된 장치에 대해 속성을 올바르게 나열하지 않습니다. 이 문제를 해결하려면 nodedev-define
및 nodedev-start
명령을 대신 사용하십시오.
NVIDIA A16 GPU로 VM을 시작하면 호스트 GPU가 작동하지 않는 경우가 있습니다.
현재 NVIDIA A16 GPU 패스스루 장치를 사용하는 VM을 시작하면 경우에 따라 호스트 시스템의 NVIDIA A16 GPU 물리적 장치가 작동하지 않습니다.
이 문제를 해결하려면 하이퍼바이저를 재부팅하고 GPU 장치의 reset_method
를 버스로
설정합니다.
# echo bus > /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method # cat /sys/bus/pci/devices/<DEVICE-PCI-ADDRESS>/reset_method bus
자세한 내용은 Red Hat 지식베이스를 참조하십시오.
Jira:RHEL-2451[1]
9.17. 클라우드 환경의 RHEL
VMware 호스트의 RHEL 가상 머신에서 고정 IP 설정이 작동하지 않음
현재 RHEL을 VMware 호스트에서 VM(가상 머신)의 게스트 운영 체제로 사용하는 경우 DatasourceOVF 기능이 올바르게 작동하지 않습니다. 결과적으로 cloud-init
유틸리티를 사용하여 VM의 네트워크를 고정 IP로 설정한 다음 VM을 재부팅하면 VM 네트워크가 DHCP로 변경됩니다.
이 문제를 해결하려면 VMware 기술 자료 를 참조하십시오.
kdump는 Azure 및 Hyper-V에서 시작되지 않는 경우가 있습니다.
Microsoft Azure 또는 Hyper-V 하이퍼바이저에서 호스팅되는 RHEL 8 게스트 운영 체제에서는 실행 후 알림기를 활성화하면 kdump
커널을 시작할 수 없습니다.
이 문제를 해결하려면 크래시 kexec post notifiers를 비활성화합니다.
# echo N > /sys/module/kernel/parameters/crash_kexec_post_notifiers
Bugzilla:1865745[1]
여러 게스트 디스크로 Hyper-V VM을 부팅할 때 SCSI 호스트 주소가 변경되는 경우가 있습니다.
현재 Hyper-V 하이퍼바이저에서 RHEL 8 가상 머신(VM)을 부팅할 때 Host, Bus, Target, 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[1]
cloud-init
에서 프로비저닝하고 NFSv3 마운트 항목으로 구성된 경우 Azure의 RHEL 인스턴스가 부팅되지 않음
현재 Microsoft Azure 클라우드 플랫폼에서 RHEL VM(가상 머신)을 부팅하면 VM이 cloud-init
툴에 의해 프로비저닝되고 VM의 게스트 운영 체제에 /etc/fstab
파일에 NFSv3 마운트 항목이 있는 경우 실패합니다.
Bugzilla:2081114[1]
9.18. 지원 관련 기능
getattachment
명령이 한 번에 여러 첨부 파일을 다운로드하지 못합니다.
redhat-support-tool
명령은 첨부 파일을 다운로드할 수 있는 getattachment
하위 명령을 제공합니다. 그러나 getattachment
는 현재 단일 첨부 파일을 다운로드할 수 있으며 여러 첨부 파일을 다운로드하지 못합니다.
이 문제를 해결하려면 getattachment
하위 명령에 있는 각 첨부 파일의 케이스 번호와 UUID를 전달하여 하나씩 여러 첨부 파일을 다운로드할 수 있습니다.
redhat-support-tool
은 FUTURE
암호화 정책에서 작동하지 않음
고객 포털 API의 인증서에서 사용하는 암호화 키가 FUTURE
시스템 전체 암호화 정책의 요구 사항을 충족하지 않으므로 redhat-support-tool
유틸리티는 현재 이 정책 수준에서 작동하지 않습니다.
이 문제를 해결하려면 고객 포털 API에 연결하는 동안 DEFAULT
암호화 정책을 사용하십시오.
IBM Power Systems, Little Endian에 대한 보고서
실행 시간 초과
IBM Power Systems, Little Endian with hundreds or thousands of CPUs에서 sos report
명령을 실행할 때 /sys/devices/system/cpu
디렉터리의 대규모 콘텐츠를 수집할 때 프로세서 플러그인은 기본 시간 초과 300초에 도달합니다. 이 문제를 해결하려면 그에 따라 플러그인의 시간 초과를 늘립니다.
- 일회성 설정의 경우 다음을 실행합니다.
# sos report -k processor.timeout=1800
-
영구적으로 변경하려면
/etc/sos/sos.conf
파일의[plugin_options]
섹션을 편집합니다.
[plugin_options] # Specify any plugin options and their values here. These options take the form # plugin_name.option_name = value #rpm.rpmva = off processor.timeout = 1800
예제 값은 1800으로 설정됩니다. 특정 시간 제한 값은 특정 시스템에 따라 크게 달라집니다. 플러그인의 시간 제한을 적절하게 설정하려면 다음 명령을 실행하여 시간 초과 없이 하나의 플러그인을 수집하는 데 필요한 시간을 먼저 추정할 수 있습니다.
# time sos report -o processor -k processor.timeout=0 --batch --build
Bugzilla:2011413[1]
9.19. 컨테이너
이전 컨테이너 이미지 내에서 systemd 실행이 작동하지 않음
이전 컨테이너 이미지(예: centos:7
)에서 systemd를 실행하면 작동하지 않습니다.
$ podman run --rm -ti centos:7 /usr/lib/systemd/systemd Storing signatures Failed to mount cgroup at /sys/fs/cgroup/systemd: Operation not permitted [!!!!!!] Failed to mount API filesystems, freezing.
이 문제를 해결하려면 다음 명령을 사용하십시오.
# mkdir /sys/fs/cgroup/systemd # mount none -t cgroup -o none,name=systemd /sys/fs/cgroup/systemd # podman run --runtime /usr/bin/crun --annotation=run.oci.systemd.force_cgroup_v1=/sys/fs/cgroup --rm -ti centos:7 /usr/lib/systemd/systemd
Jira:RHELPLAN-96940[1]
10장. 국제화
10.1. Red Hat Enterprise Linux 8 국제 언어
Red Hat Enterprise Linux 8은 여러 언어를 설치하고 요구 사항에 따라 언어 변경을 지원합니다.
- 동시아어 - 일본어, 한국어, 중국어 간체, 중국어 번체.
- 유럽 언어 - 영어, 독일어, 스페인어, 프랑스어, 이탈리아어, 포르투갈어 및 러시아어.
다음 표에는 다양한 주요 언어에 대해 제공되는 글꼴 및 입력 방법이 나열되어 있습니다.
언어 | 기본 글꼴 (Font Package) | 입력 방법 |
---|---|---|
영어 | 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 |
10.2. RHEL 8의 국제화에 대한 주요 변경 사항
RHEL 8에서는 RHEL 7에 비해 국제화에 대한 다음과 같은 변경 사항이 추가되었습니다.
- 유니코드 11 컴퓨팅 업계 표준에 대한 지원이 추가되었습니다.
- 국제화는 여러 패키지로 분산되어 있으므로 설치 공간을 더 적게 설치할 수 있습니다. 자세한 내용은 langpacks 사용을 참조하십시오.
-
여러
glibc
로케일이 Unicode Common Locale Data Repository (CLDR)와 동기화되었습니다.
부록 A. 구성 요소별 티켓 목록
이 문서에는 Bugzilla 및 JIRA 티켓이 기재되어 있습니다. 링크는 티켓을 설명하는 이 문서의 릴리스 노트로 이어집니다.
부록 B. 버전 내역
0.0-17
2024년 10월 23일 Gabriela Fialová (gfialova@redhat.com)
- 알려진 문제 RHELDOCS-18777 (Identity Management) 추가
0.0-16
2024년 10월 17일 브라이언스카 (bangelic@redhat.com)
- 더 이상 사용되지 않는 기능 RHELDOCS-19027 (파일 시스템 및 스토리지) 추가
0.0-15
Wed Oct 09 2024, 브라이언시는카 (bangelic@redhat.com)
- 더 이상 사용되지 않는 기능 RHEL-18958 (컨테이너) 추가
0.0-14
Wed Oct 09 2024, 브라이언시는카 (bangelic@redhat.com)
- 버그 수정 RHEL-45908 (Identity Management) 추가
0.0-13
2024년 9월 24일 Lenka Cryostatková (lspackova@redhat.com)
- 기능 개선 RHEL-49614 (Dynamic 프로그래밍 언어, 웹 및 데이터베이스 서버) 추가
0.0-12
2024년 8월 27일 Lenka Cryostatková (lspackova@redhat.com)
- 버그 수정 RHEL-39994 추가 (컴파일 및 개발 도구)
0.0-11
2024년 8월 14일 브라이언스카 (bangelic@redhat.com)
- 알려진 문제 RHELDOCS-18748 (네트워크) 추가
0.0-10
2024년 8월 14일 브라이언스카 (bangelic@redhat.com)
- 기능 개선 RHEL-47595 (네트워크) 추가
0.0-9
Fri August 09 2024, Brian Cryostatica (bangelic@redhat.com)
- 알려진 문제 RHEL-11397 추가(설치 및 이미지 생성)
0.0-8
2024년 7월 18일 Gabriela Fialová (gfialova@redhat.com)
- Jira에서 더 이상 사용되지 않는 기능 업데이트:RHELDOCS-17573 (Identity Management)
0.0-7
Thu 11 2024, Lenka Cryostatková (lspackova@redhat.com)
- 알려진 문제 RHEL-45711 (시스템 역할) 추가
0.0-6
Mon Jul 08 2024, Lenka Cryostatková (lspackova@redhat.com)
- RHEL-25405 에서 고정 형식 및 참조 (컴파일러 및 개발 툴)
0.0-5
Wed Jul 03 2024, Lenka Cryostatková (lspackova@redhat.com)
- 알려진 문제 RHEL-34075 (Identity Management) 추가
0.0-4
2024년 6월 25일 Lenka Cryostatková (lspackova@redhat.com)
- 알려진 문제 RHELDOCS-18435 (Dynamic 프로그래밍 언어, 웹 및 데이터베이스 서버) 추가
0.0-3
2024년 6월 12일 브라이언스카 (bangelic@redhat.com)
- Jira의 개선 사항 업데이트:RHELPLAN-123140 (Identity Management)
0.0-2
2024년 6월 7일 브라이언스카 (bangelic@redhat.com)
- Jira에서 알려진 문제 업데이트:RHELDOCS-18326 (Red Hat Enterprise Linux 시스템 역할)
0.0-1
Thu 2024년 5월 23일 브라이언스카 (bangelic@redhat.com)
- Red Hat Enterprise Linux 8.10 릴리스 노트 릴리스 정보.
0.0-0
2024년 3월 27일 Lucie Vaová (lvarakova@redhat.com)
- Red Hat Enterprise Linux 8.10 베타 릴리스 노트 릴리스입니다.