5장. RHEL 8.0.0 릴리스
5.1. 새로운 기능 링크 복사링크가 클립보드에 복사되었습니다!
이 부분에서는 Red Hat Enterprise Linux 8에 도입된 새로운 기능및 주요 개선 사항에 대해 설명합니다.
5.1.1. 웹 콘솔 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔의 서브스크립션 페이지는 이제 새로운 subscription-manager-cockpit 패키지에서 제공합니다.
웹 콘솔에 방화벽 인터페이스가 추가
RHEL 8 웹 콘솔의 네트워킹 페이지에는 이제 방화벽 섹션이 포함되어 있습니다. 이 섹션에서는 방화벽사용 설정 또는 사용 해제는 물론 방화벽 규칙 추가, 제거, 수정할 수 있습니다.
(BZ#1647110)
웹 콘솔을 기본적으로 사용 가능
Cockpit이라고도 하는 RHEL 8 웹 콘솔용 패키지는 이제 Red Hat Enterprise Linux 기본 리포지토리의 일부이므로 등록된 RHEL 8 시스템에 즉시 설치할 수 있습니다.
또한 최소 설치가 아닌 설치에서는 RHEL 8에 웹 콘솔이 자동으로 설치되고 콘솔에 필요한 방화벽 포트가 자동으로 열립니다. 로그인하기 전에 웹 콘솔을 사용으로 설정하거나 액세스하는 방법에 관한 정보를 제공하는 시스템 메시지도 추가되었습니다.
(JIRA:RHELPLAN-10355)
웹 콘솔 용 IdM 통합 개선
시스템이 IdM(Identity Management) 도메인에 등록된 경우 이제 RHEL 8 웹 콘솔에서 기본적으로 도메인의 중앙 관리 IdM 리소스를 사용합니다. 여기에는 다음과 같은 이점이 있습니다.
- IdM 도메인 관리자가 웹 콘솔을 사용하여 로컬 시스템을 관리할 수 있습니다.
- 콘솔의 웹 서버는 IdM 인증 기관 (CA)에서 발급하여 브라우저에서 승인하는 인증서로 자동 전환합니다.
- IdM 도메인의 Kerberos 티켓이 있는 사용자는 웹 콘솔에 액세스하기 위해 로그인 인증 정보를 제공하지 않아도 됩니다.
- IdM 도메인에서 인식되는 SSH 호스트는 수동으로 SSH 연결을 추가하지 않아도 웹 콘솔에 액세스할 수 있습니다.
웹 콘솔과 IdM 통합이 제대로 작동하려면 먼저 IdM 마스터 시스템에서 enable-admins-sudo 옵션을 사용하여 ipa-advise 유틸리티를 실행해야 합니다.
(JIRA:RHELPLAN-3010)
웹 콘솔은 모바일 브라우저와 호환 가능
이번 업데이트 통해 모바일 브라우저 변형에서 웹 콘솔 메뉴 및 페이지를 탐색할 수 있습니다. 따라서 모바일 장치에서 RHEL 8 웹 콘솔을 사용하여 시스템을 관리할 수 있습니다.
(JIRA:RHELPLAN-10352)
웹 콘솔의 첫 페이지에 누락된 업데이트 및 서브스크립션 표시
RHEL 8 웹 콘솔에서 관리하는 시스템의 패키지가 오래되었거나 서브스크립션이 만료된 경우 시스템의 웹 콘솔의 첫 페이지에 경고가 표시됩니다.
(JIRA:RHELPLAN-10353)
웹 콘솔에서 PBD 등록 지원
이번 업데이트를 통해 RHEL 8 웹 콘솔 인터페이스를 사용하여 관리되는 시스템의 디스크에 PBD(Policy-Based Decryption) 규칙을 적용할 수 있습니다. Clevis 암호 해독 클라이언트를 사용하여 LUKS 암호화 디스크 파티션의 자동 잠금 해제와 같은 웹 콘솔의 다양한 보안 관리 기능을 용이하게 합니다.
(JIRA:RHELPLAN-10354)
웹 콘솔을 사용하여 가상 머신을 관리 가능
이제 가상 머신 페이지를 RHEL 8 웹 콘솔 인터페이스에 추가할 수 있으므로, 사용자가 libvirt 기반 가상 머신을 생성하고 관리할 수 있습니다.
(JIRA:RHELPLAN-2896)
5.1.2. 설치 프로그램 및 이미지 생성 링크 복사링크가 클립보드에 복사되었습니다!
IBM Z에서 SE 및 HMC를 사용하여 DVD에서 RHEL을 설치하는 기능을 완전 지원
IBM Z 하드웨어에서 SE(Support Element) 및 HMC(Hardware Management Console)를 사용하여 DVD에서 Red Hat Enterprise Linux 8을 설치하는 기능은 이제 완전하게 지원됩니다. 이와 같은 기능이 추가되어 SE와 HMC를 사용하여 IBM Z에 설치하는 프로세스가 간소화되었습니다.
바이너리 DVD에서 부팅할 때, 설치 프로그램에서 사용자에게 추가 커널 매개 변수를 입력하라는 메시지가 표시됩니다. DVD를 설치 소스로 설정하려면 inst.repo=hmc를 커널 매개 변수에 추가하십시오. 그러면 설치 프로그램을 사용하여 SE 및 HMC 파일에 액세스할 수 있고, DVD에서 stage2 이미지를 가져와서 소프트웨어 선택을 위해 DVD에서 패키지에 액세스할 수 있게 됩니다.
새 기능을 사용하면 외부 네트워크 설정 요구사항이 제거되며 설치 옵션이 확장됩니다.
(BZ#1500792)
설치 프로그램에서 LUKS2 디스크 암호화 형식을 지원
Red Hat Enterprise Linux 8 설치 프로그램에서는 기본적으로 LUKS2 형식을 사용하지만 Anaconda의 사용자 정의 파티션 설정 창 또는 Kickstart의 autopart, logvol, part 및 RAID 명령을 사용하여 LUKS 버전을 선택할 수 있습니다.
LUKS2에서는 많은 개선사항과 기능을 제공합니다.예를 들어, 디스크 형식의 기능을 확장하고 메타데이터를 저장하는 유연한 방법을 제공합니다.
(BZ#1547908)
Anaconda에서는 RHEL 8의 시스템 용도를 지원
이전에는 Anaconda에서 서브스크립션 관리자에게 시스템 용도 정보를 제공하지 않았습니다. Red Hat Enterprise Linux 8.0에서는 Anaconda의 System Purpose 창 또는 Kickstart의 syspurpose 명령을 사용하여 설치 중에 시스템의 용도를 설정할 수 있습니다. 설치가 완료되면 서브스크립션 관리자가 시스템을 등록할 때 시스템 용도 정보를 사용합니다.
(BZ#1612060)
Pykickstart에서는 RHEL 8의 시스템 용도를 지원
이전에는 pykickstart 라이브러리에서 서브스크립션 관리자에게 시스템 용도 정보를 제공할 수 없었습니다. Red Hat Enterprise Linux 8.0에서 pykickstart는 새로운 syspurpose 명령을 구문 분석하고 전체 자동화 또는 부분적으로 자동화된 설치 중에 시스템의 용도를 기록합니다. 그러면 정보가 Anaconda에 전달되고 새로 설치된 시스템에 저장되어 다음 시스템 등록 시 서브스크립션 관리자가 사용할 수 있게 됩니다.
(BZ#1612061)
Anaconda에서는 RHEL 8의 새로운 커널 부트 매개변수를 지원
이전에는 커널 부트 매개변수의 기본 리포지토리만 지정할 수 있습니다. Red Hat Enterprise Linux 8에서 새로운 커널 매개변수, inst.addrepo=<name>,<url>을 사용하면 추가 리포지토리를 지정할 수 있습니다.
이 매개변수에는 두 가지 필수 값(즉, 리포지토리의 이름과 리포지토리를 가리키는 URL)이 있습니다. 자세한 내용은 https://anaconda-installer.readthedocs.io/en/latest/boot-options.html#inst-addrepo을 참조하십시오.
(BZ#1595415)
Anaconda에서는 RHEL 8의 통합 ISO를 지원
Red Hat Enterprise Linux 8.0에서 통합 ISO를 통해 BaseOS 및 AppStream 설치 소스 리포지토리를 자동으로 로드합니다.
이 기능은 설치 중에 로드되는 첫 번째 기본 리포지토리에서 작동합니다. 예를 들어 리포지토리를 설정하지 않고 설치를 시작하고 GUI에 통합 ISO가 기본 리포지토리로 포함되어 있거나 통합 ISO를 가리키는 inst.repo= 옵션을 사용하여 설치를 시작하는 경우가 이에 해당합니다. 결과적으로 AppStream 리포지토리는 설치 소스 GUI 창의 추가 리포지토리 섹션에서 사용됩니다. AppStream 리포지토리를 제거하거나 해당 설정을 변경할 수 없지만, 설치 소스에서 이를 사용하지 않게 설정 해제할 수 있습니다. 이 기능은 다른 기본 리포지토리를 사용하여 설치를 시작한 다음 통합 ISO로 변경하면 작동하지 않습니다. 이렇게 하면 기본 리포지토리가 교체됩니다. 그러나 AppStream 리포지토리는 교체되지 않으며 원래 파일을 가리킵니다.
(BZ#1610806)
Anaconda에서는 Kickstart 스크립트에 모듈식 패키지를 설치할 수 있습니다.
Anaconda 설치 프로그램은 애플리케이션 스트림과 관련된 모든 기능(모듈, 스트림 및 프로필)을 처리하도록 확장되었습니다. 이제 Kickstart 스크립트에서 모듈 및 스트림 조합을 활성화하고 모듈 프로필을 설치하며 모듈식 패키지를 설치할 수 있습니다. 자세한 내용은 고급 RHEL 설치 수행을 참조하십시오.
(JIRA:RHELPLAN-1943)
이제 RHEL 8 설치 옵션에서 nosmt 부팅 옵션을 사용할 수 있습니다.
새로 설치된 RHEL 8 시스템에 전달되는 설치 옵션에서 nosmt 부팅 옵션을 사용할 수 있습니다.
(BZ#1677411)
RHEL 8에서는 로컬 하드 드라이브의 리포지토리에서 설치를 지원
이전에는 하드 드라이브에서 RHEL을 설치하려면 설치 소스로 ISO 이미지가 필요했습니다. 그러나 일부 파일 시스템에는 RHEL 8 ISO 이미지가 너무 클 수 있습니다. 예를 들어 FAT32 파일 시스템은 4GiB보다 큰 파일을 저장할 수 없습니다.
RHEL 8에서는 로컬 하드 드라이브의 리포지토리에서 설치를 활성화할 수 있습니다. ISO 이미지 대신 디렉터리만 지정해야 합니다. 예:'inst.repo=hd:<device>:<path to the repository>'
(BZ#1502323)
RHEL 8에서 이미지 빌더를 사용하여 사용자 정의 시스템 이미지 생성 가능
Image Builder 도구를 사용하면 사용자가 사용자 지정 RHEL 이미지를 만들 수 있습니다. 이미지 빌더는 lorax-composer 패키지의 AppStream에서 사용할 수 있습니다.
Image Builder를 사용하면 추가 패키지를 포함하는 사용자 지정 시스템 이미지를 만들 수 있습니다. 이미지 빌더 기능은 다음을 통해 액세스할 수 있습니다.
- 웹 콘솔의 그래픽 사용자 인터페이스
-
composer-cli툴의 명령줄 인터페이스입니다.
Image Builder 출력 형식은 다음과 같습니다.
- 라이브 ISO 디스크 이미지
- qcow2 파일은 가상 머신 또는 OpenStack과 직접 사용할 수 있습니다.
- 파일 시스템 이미지 파일
- Azure, VMWare 및 AWS용 클라우드 이미지
Image Builder에 대한 자세한 내용은 사용자 지정된 RHEL 시스템 이미지 비교 문서 제목을 참조하십시오.
(JIRA:RHELPLAN-7291, BZ#1628645, BZ#1628646, BZ#1628647, BZ#1628648)
새로운 Kickstart 명령 추가: authselect 및 모듈
이번 릴리스에서는 다음과 같은 kickstart 명령이 추가되었습니다.
(BZ#1972210)
5.1.3. 커널 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8.0의 커널 버전
Red Hat Enterprise Linux 8.0은 커널 버전 4.18.0-80과 함께 배포됩니다.
(BZ#1797671)
ARM 52비트 물리적 주소 지정이 가능
이번 업데이트에서는 64비트 ARM 아키텍처용 52비트 물리적 주소 지정(PA)을 사용할 수 있습니다. 따라서 이전 48비트 PA보다 큰 주소 공간을 제공합니다.
(BZ#1643522)
IOMMU 코드는 RHEL 8의 5 레벨 페이지 테이블을 지원
Linux 커널의 IOMMU(I/O Memory Management Unit)은 Red Hat Enterprise Linux 8의 5레벨 페이지 테이블을 지원하도록 업데이트되었습니다.
(BZ#1485546)
5 레벨의 페이징을 지원
Red Hat Enterprise Linux 8에서 5 레벨의 페이징을 지원하기 위해 새로운 P4d_t 소프트웨어 페이지 테이블 유형이 Linux 커널에 추가되었습니다.
(BZ#1485532)
메모리 관리에서 5 레벨 페이지 테이블 지원
Red Hat Enterprise Linux 7의 경우 기존 메모리 버스에는 48/46비트의 가상/실제 메모리 주소 지정 용량이 있으며 Linux 커널은 이러한 가상 주소를 실제 주소로 관리하기 위해 4 레벨의 페이지 테이블을 구현하고 있습니다. 물리적 버스 주소 지정 라인은 물리적 메모리 제한 용량을 64TB로 설정합니다.
이러한 제한은 128PiB의 가상 주소 공간과 4PB의 실제 메모리 용량이 있는 57/52 비트의 가상/실제 메모리 주소 지정까지 확장되었습니다.
확장된 주소 범위를 통해 Red Hat Enterprise Linux 8의 메모리 관리에서는 확장된 주소 범위를 처리할 수 있도록 5 레벨 페이지 테이블 구현을 지원합니다.
(BZ#1485525)
kernel-signing-ca.cer이 RHEL 8에서 kernel-core로 이동
Red Hat Enterprise Linux 7의 모든 버전에서 kernel-signing-ca.cer 공개 키는 kernel-doc 패키지에 있습니다. 그러나 Red Hat Enterprise Linux 8에서는 kernel-signing-ca.cer 가 모든 아키텍처의 kernel-core 패키지로 재배치되었습니다.
(BZ#1638465)
Spectre V2 완화 기본값이 IBRS에서 Retpolines로 변경되었습니다.
Spectre V2 취약점에 대한 기본 완화 (CVE-2017-5715)는 6th Generation Intel Core Processors 및 그 가리체 [1]이 IBRS (Indirect Branch Restricted Speculation)에서 Red Hat Enterprise Linux 8의 Retpolines로 변경되었습니다. Red Hat은 Intel의 권장 사항에 따라 Linux 커뮤니티에서 사용되는 기본값과 손실된 성능을 복구하기 위해 이러한 변경 사항을 구현했습니다. 그러나 경우에 따라 Retpolines를 사용하는 경우 Spectre V2를 완전히 완화하지 못할 수 있습니다. Intel의 Retpoline 문서 [2] 이 문서에서는 또한 공격의 위험이 낮음을 나타냅니다.
완전한 Spectre V2 완화가 필요한 경우 사용자는 spectre_v2=ibrs 플래그를 추가하여 커널 부팅 라인을 통해 IBRS를 선택할 수 있습니다.
Retpoline 지원을 사용하여 하나 이상의 커널 모듈이 구축되지 않은 경우 /sys/devices/system/cpu/vulnerabilities/spectre_v2 파일은 취약점을 나타내며 /var/log/ ECDHE 파일은 잘못된 모듈을 식별합니다. How to determine which modules are responsible for spectre_v2 returning "Vulnerable: Retpoline with unsafe module(s)" 을 참조하십시오.
[1] "6세대 Intel Core Processors 및 해당 근접 제품"은 Intel의 Retpolines 문서가 "Sk틸ake-generation"이라고 하는 것입니다.
[ 2] 역설: 분기별 Mitigation - White paper
(BZ#1651806)
Intel® Omni-Path Architecture (OPA) 호스트 소프트웨어
Intel Omni-Path Architecture(OPA) 호스트 소프트웨어는 Red Hat Enterprise Linux 8에서 완전 지원됩니다.
Intel OPA는 고성능 데이터 전송(high bandwidth, high message rate, low latency)과 클러스터형 환경의 I/O 노드 간에 초기화 및 설정을 지원하는 HFI(Host Fabric Interface) 하드웨어를 제공합니다.
Intel Omni-Path Architecture 설명서 설치에 대한 자세한 내용은 https://www.intel.com/content/dam/support/us/en/documents/network-and-i-o/fabric-products/Intel_OP_Software_RHEL_8_RN_K51383.pdf을 참조하십시오.
RHEL 8에서 더 많은 노드 지원
이번 업데이트를 통해 NUMA(Non-Uniform Memory Access) 노드 수가 64비트 ARM 아키텍처를 사용하는 시스템에서 Red Hat Enterprise Linux 8의 NUMA 노드 4개에서 8개의 NUMA 노드로 증가했습니다.
(BZ#1550498)
RHEL 8에서 IOMMU 패스스루가 기본적으로 활성화되어 있습니다.
IOMMU(Input/Output Memory Management Unit) 패스스루는 기본적으로 활성화되어 있습니다. 이렇게 하면 호스트에 대해 Direct Memory Access(DMA) 재mapping이 비활성화되어 있기 때문에 AMD 시스템의 성능이 향상됩니다. 이번 업데이트에서는 OpenJDK 재mapping도 기본적으로 비활성화되어 있는 Intel 시스템과의 일관성을 제공합니다. 사용자는 하이퍼바이저를 포함하여 커널 명령줄에서 iommu.passthrough=off 또는 iommu=nopt 매개변수를 지정하여 이러한 동작을 비활성화(및 활성화)할 수 있습니다.
(BZ#1658391)
RHEL8 커널에서 5 레벨 페이지 테이블 지원
Red Hat Enterprise Linux 커널은 이제 최대 5 레벨의 페이지 테이블이 있는 향후 Intel 프로세서를 완벽하게 지원합니다. 이를 통해 프로세서는 최대 4PB의 물리적 메모리와 128PB의 가상 주소 공간을 지원할 수 있습니다. 대용량 메모리를 활용하는 애플리케이션은 이제 4 레벨 페이지 테이블의 제약 조건 없이 시스템에서 제공하는 최대한 많은 메모리를 사용할 수 있습니다.
(BZ#1623590)
RHEL8 커널은 향후 Intel CPU에서 향상된 IBRS 지원
Red Hat Enterprise Linux 커널은 향상된 IBRS(Indirect Branch Restricted Speculation) 기능을 사용하여 Spectre V2 취약점을 완화할 수 있습니다. 이를 활성화하면 IBRS는 스펙터 V2를 완화하기 위해 Retpolines(기본값)보다 더 잘 수행하고 Intel Control-flow Enforcement 기술을 방해하지 않습니다. 결과적으로 향후 Intel CPU에서 Spectre V2 완화 기능을 활성화하면 성능이 저하됩니다.
(BZ#1614144)
eBPF 기반 프로그램 및 맵의 검사 및 조작을 위해 bpftool 추가
eBPF(extended Berkeley Packet Filtering)를 기반으로 프로그램과 맵의 검사 및 간단한 조작에 사용되는 bpftool 유틸리티가 Linux 커널에 추가되었습니다. bpftool 은 커널 소스 트리의 일부이며 커널 패키지의 하위 패키지로 포함된 bpftool 패키지에서 제공합니다.
(BZ#1559607)
kernel-rt 소스 업데이트
최신 RHEL 커널 소스 트리를 사용하도록 kernel-rt 소스가 업데이트되었습니다. 최신 커널 소스 트리에서는 이제 업스트림 v4.18 실시간 패치 세트를 사용하고 있으며 이전 버전에 비해 많은 버그 수정 및 개선사항이 추가되었습니다.
(BZ#1592977)
5.1.4. 소프트웨어 관리 링크 복사링크가 클립보드에 복사되었습니다!
YUM 성능 개선 및 모듈식 콘텐츠 지원
Red Hat Enterprise Linux 8에서는 DNF 기술(YUM v4)을 기반으로 하는 YUM 툴의 새 버전으로 소프트웨어를 설치합니다.
YUM v4 는 RHEL 7에서 사용된 이전 YUM v3 에 비해 다음과 같은 이점이 있습니다.
- 성능 향상
- 모듈식 콘텐츠 지원
- 툴링과의 통합을 위해 적절하게 설계된 안정된 API
새로운 YUM v4 툴과 RHEL 7의 이전 버전 YUM v3 의 차이점에 대한 자세한 내용은 YUM과 비교하여 DNF CLI의 변경 사항을 참조하십시오.
YUM v4 는 명령줄에서 사용하는 경우 YUM v3 과 호환되며 구성 파일을 편집하거나 생성합니다.
소프트웨어 설치 시, RHEL 7에서와 동일한 방식으로 yum 명령과 특정 옵션을 사용할 수 있습니다.
선택한 yum 플러그인 및 유틸리티가 새로운 DNF 백엔드에 이식되었으며 RHEL 7에서와 동일한 이름으로 설치할 수 있습니다. 또한 호환성 심볼릭 링크를 제공하므로 바이너리, 구성 파일 및 디렉터리는 일반적인 위치에서 찾을 수 있습니다.
YUM v3 에서 제공하는 레거시 Python API는 더 이상 사용할 수 없습니다. 사용자는 안정적이고 완전히 지원되는 YUM v4 (DNF Python API)에서 제공하는 새 API로 플러그인 및 스크립트를 마이그레이션하는 것이 좋습니다. DNF Python API는 DNF API 참조 에서 사용할 수 있습니다.
Libdnf 및 Hawkey API(C 및 Python 모두)는 불안정하며 Red Hat Enterprise Linux 8 라이프 사이클 기간 동안 변경될 수 있습니다.
YUM 패키지 및 툴 가용성에 대한 자세한 내용은 RHEL 8 도입 시 고려 사항을 참조하십시오.
YUM v3 기능 중 일부는 YUM v4 에서 다르게 작동할 수 있습니다. 이러한 변경이 워크플로우에 부정적인 영향을 미치는 경우 How do I open and manage a support case on the Customer Portal?에 설명된 대로 Red Hat 지원 케이스를 작성하십시오.
(BZ#1581198)
RHEL 8의 주요 RPM 기능
Red Hat Enterprise Linux 8은 RPM 4.14와 함께 배포됩니다. 이 버전에서는 RHEL 7에서 사용할 수 있는 RPM 4.11에 대한 여러 개선사항을 소개합니다. 주요 기능은 다음과 같습니다.
-
debuginfo패키지의 여러 버전을 동시에 설치 가능 - 약한 종속성 지원
- 풍부한 부울 종속성 지원
- 4GB 이상의 파일 패키지 지원
- 파일 트리거 지원
주요 변경 사항은 다음과 같습니다.
- 정확한 사양 구문 분석기
- 상세하지 않은 모드에서 출력을 확인하는 간소화된 서명
- 매크로의 추가사항 및 폐지 사항
(BZ#1581990)
RPM 이 설치를 시작하기 전에 전체 패키지 콘텐츠를 확인
Red Hat Enterprise Linux 7에서는 압축을 푸는 동안 RPM 유틸리티를 사용하여 개별 파일의 페이로드 콘텐츠를 검증했습니다. 그러나 이 방법은 다음과 같은 이유로 충분하지 않습니다.
- 페이로드가 손상된 경우 스크립트 작업을 실행한 후에만 페이로드가 발견되며 작업을 취소할 수 없습니다.
- 페이로드가 손상된 경우 이전 버전의 일부 파일을 교체한 후 패키지 업그레이드가 중단되어 작동 중인 설치가 중단됩니다.
- 개별 파일의 해시는 압축 해제된 데이터에서 수행되므로 RPM은 압축 풀기 프로그램의 취약성에 취약합니다.
Red Hat Enterprise Linux 8에서 전체 패키지는 설치 전에 별도의 단계에서 사용 가능한 최상의 해시를 사용하여 유효성을 검사합니다.
Red Hat Enterprise Linux 8에서 빌드된 패키지는 압축된 페이로드에서 새로운 SHA-256 해시를 사용합니다. 서명된 패키지에서 페이로드 해시는 서명으로 추가 보호되므로, 패키지 헤더에서 서명과 기타 해시를 손상시키지 않고 변경할 수 없습니다. 이전 패키지는 구성에 의해 비활성화되지 않는 한 헤더와 페이로드의 MD5 해시를 사용합니다.
%_pkgverify_level 매크로를 사용하여 설치 전에 추가로 서명 확인을 강제 시행하거나 페이로드 확인을 완전히 비활성화할 수 있습니다. 또한 %_pkgverify_flags 매크로를 사용하여 허용되는 해시와 서명을 제한할 수 있습니다. 예를 들어 약한 MD5 해시 사용을 비활성화할 수 있지만 이렇게 하면 이전 패키지와 호환되지 않습니다.
(JIRA:RHELPLAN-10596)
5.1.5. 인프라 서비스 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8 권장 Tuned 프로파일의 주요 변경 사항
이번 업데이트를 통해 다음 규칙에 따라 (tuned-adm recommend 명령을 통해 보고되는) 권장 Tuned 프로파일을 선택할 수 있습니다.일치하는 첫 번째 규칙이 적용됩니다.
(
syspurpose show명령을 통해 보고되는)syspurpose역할에는atomic이 포함되는 동시에 다음과 같이 선택됩니다.-
베어 메탈에서 Tuned가 실행 중이면
atomic-host프로파일이 선택됩니다. -
가상 머신에서 Tuned가 실행 중이면
atomic-guest프로파일이 선택됩니다.
-
베어 메탈에서 Tuned가 실행 중이면
-
가상 머신에서 Tuned가 실행 중이면
virtual-guest프로파일이 선택됩니다. -
syspurpose역할에desktop또는workstation이 포함되어 있으며 섀시 유형(dmidecode를 통해 보고)이Notebook,Laptop또는Portable이면balanced프로파일이 선택됩니다. -
위의 어떤 규칙에도 일치하지 않으면
throughput-performance프로파일이 선택됩니다.
(BZ#1565598)
named로 생성된 파일은 작업 디렉터리에 쓰기 가능
이전에는 named 데몬에서 일부 데이터를 Red Hat Enterprise Linux에서 읽기 전용인 작업 디렉터리에 저장했습니다. 이번 업데이트에서는 선택한 파일의 경로가 쓰기가 허용된 하위 디렉터리로 변경되었습니다. 이제 기본 디렉터리 Unix와 SELinux 권한을 사용하면 디렉터리에 쓸 수 있습니다. 디렉터리에서 배포된 파일은 여전히 named에 대해 읽기 전용입니다.
(BZ#1588592)
Geolite Database는 Geolite2 Database로 대체
Red Hat Enterprise Linux 7에 있는 Geolite Database는 Red Hat Enterprise Linux 8의 Geolite2 Database로 대체되었습니다.
Geolite Database는 GeoIP 패키지로 제공됩니다. 레거시 데이터베이스와 함께 이 패키지는 더 이상 업스트림에서 지원되지 않습니다.
Geolite2 Database는 여러 패키지에서 제공합니다. libmaxminddb 패키지에는 주소를 수동으로 검색하는 데 사용할 수 있는 mmdblookup 명령행 툴과 라이브러리가 포함되어 있습니다. libmaxminddb 패키지에는 주소를 수동으로 검색할 수 있는 library 및 mmdblookup 명령줄 도구가 포함되어 있습니다. 레거시 GeoIP 패키지의 geoipupdate 바이너리는 이제 geoipupdate 패키지에서 제공되며 레거시 데이터베이스와 새로운 Geolite2 데이터베이스를 모두 다운로드할 수 있습니다.
(JIRA:RHELPLAN-6746)
CUPS 로그는 journald에서 처리
RHEL 8에서는 RHEL 7에서 사용된 /var/log/cups 디렉터리의 특정 파일에 CUPS 로그가 더 이상 저장되지 않습니다. RHEL 8에서는 모든 유형의 CUPS 로그가 다른 프로그램의 로그와 함께 systemd journald 데몬으로 중앙에 로깅됩니다. CUPS 로그에 액세스하려면 journalctl -u cups 명령을 사용하십시오. 자세한 내용은 systemd 저널의 CUPS 로그 액세스를 참조하십시오.
(JIRA:RHELPLAN-12764)
RHEL 8의 주요 BIND 기능
RHEL 8에는 9.11 버전의 BIND(Berkeley Internet Name Domain)가 포함되어 있습니다. 이 DNS 서버 버전에서는 버전 9.10에 비해 여러 가지 새로운 기능 및 기능 변경 사항이 도입되었습니다.
새로운 기능:
- Catalog Zones 라는 보조 서버를 프로비저닝하는 새로운 방법이 추가되었습니다.
-
이제 Domain Name System 쿠키는
named서비스와dig유틸리티에 의해 전송됩니다. - 이제 응답 속도 제한 기능이 DNS 수정 공격을 완화하는 데 도움이 될 수 있습니다.
- response-policy 영역(RPZ)의 성능이 향상되었습니다.
-
map이라는 새 영역 파일 형식이 추가되었습니다. 이 형식으로 저장된 영역 데이터는 메모리에 직접 매핑할 수 있으므로 영역이 훨씬 빠르게 로드될 수 있습니다. -
delv(도메인 엔티티 조회 및 유효성 검사)라는 새로운 도구가 추가되어 DNS 데이터를 찾고 내부 DNSSEC(DNSSEC) 검증을 수행하기 위한 dig와 유사한 의미가 추가되었습니다. -
이제 새로운
mdig명령을 사용할 수 있습니다. 이 명령은 여러 파이프라인 쿼리를 보낸 후 다음 쿼리를 보내기 전에 하나의 쿼리를 보내고 응답을 기다리는 대신 응답을 대기하는' 명령의 버전입니다. -
재귀 확인자 성능을 향상시키는 새로운
prefetch옵션이 추가되었습니다. -
보기 간에 영역 데이터를 공유할 수 있는새로운 뷰 영역 옵션이 추가되었습니다. 이 옵션을 사용하면 여러 뷰가 메모리에 여러 복사본을 저장하지 않고 권한 있는 동일한 영역을 제공할 수 있습니다. -
영역의 최대 TTL을 적용하는 새로운
max-zone-ttl옵션이 추가되었습니다. 높은 TTL을 포함하는 영역이 로드되면 로드가 실패합니다. TTL이 높은 DDNS(Dynamic DNS) 업데이트는 허용되지만 TTL은 잘립니다. - 재귀 확인자가 보낸 쿼리를 제한하기 위해 새로운 할당량이 추가되어 서비스 거부 공격을 받을 수 있는 권한 있는 서버로 표시됩니다.
-
이제
nslookup유틸리티는 기본적으로 IPv6 및 IPv4 주소를 모두 조회합니다. -
이제
named서비스에서 시작하기 전에 다른 이름 서버 프로세스가 실행 중인지 확인합니다. -
서명된 영역을 로드할 때
named는 이제 리소스 레코드 서명(RSIG)의 초기 시간이 나중에 있는지 확인하고 있으면 RRSIG를 즉시 다시 생성합니다. - 이제 영역 전송에서 더 작은 메시지 크기를 사용하여 메시지 압축을 개선하여 네트워크 사용량을 줄입니다.
기능 변경 사항:
-
더 빠른 구문 분석을 위해 새로운 통계와 병합된 XML 트리를 포함한 통계 채널에 대한 버전
3 XML스키마는 HTTP 인터페이스에서 제공합니다. 레거시 버전2 XML스키마는 더 이상 지원되지 않습니다. -
이제
named서비스는 기본적으로 IPv6 및 IPv4 인터페이스에서 수신 대기합니다. -
명명된서비스는 더 이상 GeoIP를 지원하지 않습니다. 쿼리 발신자의 미리 사용된 위치에 정의된 ACL(액세스 제어 목록)을 사용할 수 없습니다.
(JIRA:RHELPLAN-1820)
5.1.6. 쉘 및 명령행 툴 링크 복사링크가 클립보드에 복사되었습니다!
nobody 사용자가 nfsnobody로 대체
Red Hat Enterprise Linux 7에는 다음이 설정되어 있습니다.
-
ID가 99인
nobody사용자 및 그룹 쌍 -
ID가 65534인
nfsnobody사용자와 그룹 쌍.이 ID는 기본 커널 오버플로 ID이기도 합니다.
둘 다 Red Hat Enterprise Linux 8에서 65534 ID를 사용하는 nobody 사용자 및 그룹 쌍으로 병합되었습니다. 새로운 설치는 더 이상 nfsnobody 쌍을 생성하지 않습니다.
이와 같이 변경하면 nobody에서 소유한 파일에 관한 혼동은 줄어들지만 NFS와는 아무 관련이 없습니다.
(BZ#1591969)
RHEL 8의 버전 관리 시스템
RHEL 8에서는 다음과 같은 버전 관리 시스템을 제공합니다.
-
Git 2.18- 분산 아키텍처를 사용하는 분산 버전 관리 시스템입니다. -
Mercurial 4.8- 대규모 프로젝트를 효율적으로 처리하도록 설계된 경량의 분산 버전 관리 시스템입니다. -
Subversion 1.10- 중앙 집중식 버전 관리 시스템입니다.
RHEL 7에서 사용 가능한 CVS(Concurrent Versions System) 및 버전 제어 시스템(RCS)은 RHEL 8에서는 배포되지 않습니다.
(BZ#1693775)
Subversion 1.10의 주요 변경 사항
Subversion 1.10에는 RHEL 7에서 배포한 버전 1.7 이후에 추가된 새로운 기능 및 다음과 같은 호환성 변경 사항이 추가되어 있습니다.
-
언어 바인딩을 지원하는 데 사용한
Subversion라이브러리의 비호환성 때문에Subversion 1.10의Python 3바인딩은 사용할 수 없습니다. 결과적으로Subversion에Python바인딩이 필요한 애플리케이션은 지원되지 않습니다. -
Berkeley DB에 기반한 리포지토리는 더 이상 지원되지 않습니다. 마이그레이션하기 전에svnadmin dump명령을 사용하여Subversion 1.7에서 생성된 리포지토리를 백업합니다. RHEL 8을 설치한 후svnadmin load명령을 사용하여 리포지토리를 복원합니다. -
RHEL 7의
Subversion 1.7클라이언트에서 확인한 기존 작업 사본은 새 형식으로 업그레이드해야Subversion 1.10에서 사용할 수 있습니다. RHEL 8을 설치한 다음 각 작업 사본에서svn upgrade명령을 실행합니다. -
https://를 사용하여 리포지토리에 액세스하는 스마트 카드 인증은 더 이상 지원되지 않습니다.
(BZ#1571415)
dstat의 주요 변경 사항
RHEL 8은 새로운 버전의 dstat 툴과 함께 배포됩니다. 이 도구는 이제 PCP(Performance Co-inspector) 툴킷의 일부입니다. /usr/bin/dstat 파일과 dstat 패키지 이름은 이제 pcp-system-tools 패키지에서 제공합니다.
새로운 버전의 dstat 는 RHEL 7에서 사용 가능한 dstat 에 대해 다음과 같은 향상된 기능을 제공합니다.
-
python3지원 - 기록 분석
- 원격 호스트 분석
- 구성 파일 플러그인
- 새로운 성능 지표
5.1.7. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버 링크 복사링크가 클립보드에 복사되었습니다!
Python 3은 RHEL 8의 기본 Python 구현
Red Hat Enterprise Linux 8은 Python 3.6과 함께 배포됩니다. 기본적으로 패키지가 설치되지 않을 수 있습니다. Python 3.6을 설치하려면 yum install python3 명령을 사용합니다.
Python 2.7은 python2 패키지에서 사용할 수 있습니다. Python 2는 라이프사이클이 더 짧기 때문에 고객이 더 원활하게 Python 3으로 전환할 수 있도록 지원됩니다.
기본 python 패키지와 버전이 지정되지 않은 /usr/bin/python 실행 파일 모두 RHEL 8과 함께 배포되지 않습니다. 고객은 python3 또는 python2를 직접 사용하는 것이 좋습니다. 또는 관리자가 alternatives 명령을 사용하여 버전이 없는 python 명령을 설정할 수 있습니다.
자세한 내용은 Python 소개를 참조하십시오.
(BZ#1580387)
Python 스크립트는 RPM 빌드 시 인터프리터 지시문에 주요 버전을 지정해야 합니다.
RHEL 8에서는 실행 가능한 Python 스크립트는 주요 Python 버전을 명시적으로 지정하는 인터프리터 지시문(hashbangs)을 사용해야 합니다.
RPM 패키지를 빌드할 때 /usr/lib/rpm/redhat/brp-mangle-shebangs BRP(Buildroot 정책) 스크립트가 자동으로 실행됩니다. 이 스크립트는 모든 실행 파일에서 인터프리터 지시문을 수정하려고 시도합니다. 스크립트에서 Python의 주요 버전을 지정하지 않는 모호한 Python 인터프리터 지시문이 발생하면 오류가 생성되고 RPM 빌드가 실패합니다. 이러한 모호한 인터프리터 지시문의 예는 다음과 같습니다.
-
#! /usr/bin/python -
#! /usr/bin/env python
RPM 빌드 시 이러한 빌드 오류를 유발하는 Python 스크립트의 인터프리터 지시문을 수정하려면 platform-python-devel 패키지에서 pathfix.py 스크립트를 사용하십시오.
pathfix.py -pn -i %{__python3} PATH ...
pathfix.py -pn -i %{__python3} PATH ...
여러 개의 PATH를 지정할 수 있습니다. PATH 가 디렉터리인 경우 pathfix.py 는 모호한 hashbang을 사용하는 것이 아니라 ^[a-zA-Z0-9_]+\.py$ 패턴과 일치하는 Python 스크립트를 반복적으로 검사합니다. pathfix.py 실행을 위한 명령을 %prep 섹션 또는 %install 섹션의 끝에 추가합니다.
자세한 내용은 Python 스크립트에서 인터프리터 지시문 처리를 참조하십시오.
(BZ#1583620)
PHP에서 주요 변경 사항
Red Hat Enterprise Linux 8은 PHP 7.2와 함께 배포됩니다. 이 버전에서는 RHEL 7에서 사용할 수 있는 PHP 5.4에 대해 다음과 같은 주요 변경 사항이 추가되었습니다.
-
PHP에서는 기본적으로 FPM(FastCGI Process Manager)을 사용합니다(스레드된httpd로 안전하게 사용 가능). -
php_value와php-flag변수는 더 이상httpd구성 파일에서 사용되지 않으며 대신 풀 구성(/etc/php-fpm.d/*.conf)에서 설정해야 합니다. -
PHP스크립트 오류 및 경고는/var/log/httpd/error.log대신/var/log/php-fpm/www-error.log파일에 기록됩니다. -
PHP
max_execution_time설정 변수를 변경할 때 변경한 값에 따라httpdProxyTimeout설정을 늘려야 합니다. -
PHP스크립트를 실행하는 사용자는 이제 FPM 풀 설정 (/etc/php-fpm.d/www.conf파일,apache사용자가 기본값)으로 구성되어 있습니다. -
설정 변경 후 또는 새로운 확장 기능을 설치한 후
php-fpm서비스를 다시 시작해야 합니다. -
zip확장 기능이php-common패키지에서 별도의 패키지인php-pecl-zip으로 이동
다음의 확장 기능이 제거되었습니다.
-
aspell -
mysql(php-mysqlnd패키지에서 제공하는mysqli및pdo_mysql확장 기능을 계속 사용 가능). -
memcache
(BZ#1580430, BZ#1691688)
Ruby에서 주요 변경 사항
RHEL 8에서는 RHEL 7에서 사용 가능한 Ruby 2.0.0의 새로운 기능과 개선사항이 추가된 Ruby 2.5를 제공합니다. 주요 변경 사항은 다음과 같습니다.
- 증분식 가비지 컬렉터 (Garbage Collector)가 추가되었습니다.
-
Refinements구문이 추가되었습니다. - 기호는 이제 가비지 수집됩니다.
-
$SAFE=2및$SAFE=3안전 레벨은 이제 폐지됩니다. -
Fixnum및Bignum클래스는Integer클래스로 통합되었습니다. -
Hash클래스를 최적화하고 인스턴스 변수에 대한 액세스를 향상시키고Mutex클래스를 더 작고 빠르게 최적화하여 성능을 향상시킬 수 있습니다. - 이전 API 중 일부는 더 이상 사용되지 않습니다.
-
RubyGems,Rake,RDoc,Psych,Minitest및test-unit과 같이 번들된 라이브러리가 업데이트되었습니다. -
Ruby를 통해 이전에 배포된mathn,DL,ext/tk및XMLRPC등의 라이브러리는 더 이상 사용되지 않거나 포함되지 않습니다. -
SemVer버전 지정 스키마는 이제Ruby버전 지정에 사용됩니다.
(BZ#1648843)
Perl에서 주요 변경 사항
RHEL 8을 통해 배포된 Perl 5.26에서는 RHEL 7에서 제공되었던 버전에 다음과 같은 변경 사항이 추가되었습니다.
-
이제
유니코드 9.0이 지원됩니다. -
새로운
op-entry,loading-file및loaded-fileSystemTap프로브가 제공됩니다. - 성능 향상을 위해 스칼라를 할당할 때 COW 메커니즘이 사용됩니다.
-
IPv4 및 IPv6 소켓을 투명하게 처리하는
IO::Socket::IP모듈이 추가되었습니다. -
구조화된 방식으로
perl -V데이터에 액세스하는Config::Perl::V모듈이 추가되었습니다. -
CPAN(Comprehensive Perl Archive Network) 리포지토리에서 모듈을 검색, 추출, 빌드 및 설치하는
cpanm유틸리티가 포함된 새로운perl-App-cpanminus패키지가 추가되었습니다. -
보안상의 이유로 현재 디렉터리
.이@INC모듈 검색 경로에서 제거되었습니다. -
위에 설명된 동작 변경을 사용하여 파일을 로드하는 데 실패했을 때
do문에서는 사용 중단 경고를 표시합니다. -
do subroutine(LIST)호출은 더 이상 지원되지 않으므로 구문 오류가 발생합니다. -
현재 해시는 기본적으로 무작위로 지정됩니다. 해시에서 반환되는 키와 값의 순서는
perl을 실행할 때마다 변경됩니다. 무작위 지정을 비활성화하려면PERL_PERTURB_KEYS환경 변수를0으로 설정합니다. -
정규 표현식 패턴에서 이스케이프되지 않은 리터럴
{문자는 더 이상 사용되지 않습니다. -
$_변수의 어휘 범위 지원은 제거되었습니다. -
배열이나 해시에서
defined연산자를 사용하면 치명적인 오류가 발생합니다. -
UNIVERSAL모듈에서 함수를 가져올 때 치명적인 오류가 발생합니다. -
find2perl,s2p,a2p,c2ph및pstruct툴이 제거되었습니다. -
${^ENCODING}기능이 제거되었습니다.encodingpragma의 기본 모드는 더 이상 지원되지 않습니다. pragma의 기본 모드인코딩은 더 이상 지원되지 않습니다.UTF-8이외의 다른 인코딩으로 소스 코드를 작성하려면 인코딩의Filter옵션을 사용합니다. -
이제
perl패키지가 업스트림에 맞게 변경되었습니다.perl패키지에서는 코어 모듈을 설치하고/usr/bin/perl인터프리터는perl-interpreter패키지로 제공됩니다.perl패키지는 코어 모듈도 설치하지만/usr/bin/perl인터프리터는perl-interpreter패키지에서 제공됩니다. 이전 릴리스에서는perl패키지에 최소한의 인터프리터만 포함되어 있었지만perl-core패키지에는 인터프리터와 코어 모듈이 모두 포함되어 있었습니다. -
IO::Socket::SSLPerl 모듈에서는 더 이상./certs/my-ca.pem파일 또는./ca디렉터리에서 인증 기관 인증서를 로드하지 않습니다./certs/server-key.pem파일의 서버 개인 키,./certs/server-cert.pem파일의 서버 인증서../certs/client-key.pem파일의 클라이언트 개인 키와./certs/client-cert.pem파일의 클라이언트 인증서입니다. 대신 파일에 대한 경로를 명시적으로 지정합니다.
(BZ#1511131)
RHEL의 Node.js 새로운 기능
JavaScript 프로그래밍 언어로 빠르고 확장 가능한 네트워크 애플리케이션을 구축하기 위한 소프트웨어 개발 플랫폼인 Node.js가 RHEL에서 처음으로 제공됩니다. 이전에는 소프트웨어 컬렉션으로만 제공되었습니다. RHEL 8에서는 Node.js 10이 제공됩니다.
(BZ#1622118)
SWIG에서 주요 변경 사항
RHEL 8에는 RHEL 7에서 배포된 버전 2.0에 비해 많은 새로운 기능, 향상된 기능 및 버그 수정사항이 추가된 SWIG(Simplified Wrapper and Interface Generator) 버전 3.0이 포함되어 있습니다. 특히 C++ 11 표준에 대한 지원이 구현됩니다. 이제 SWIG 는 Go 1.6,PHP 7,Octave 4.2 및 Python 3.5 도 지원합니다.
(BZ#1660051)
Apache httpd에서 주요 변경 사항
RHEL 8은 Apache HTTP Server 2.4.37과 함께 배포됩니다. 이 버전에서는 RHEL 7에서 사용되던 httpd에 대해 다음과 같은 변경 사항이 추가되었습니다.
-
HTTP/2 지원은 이제
httpd모듈의 일부인mod_http2패키지를 통해 제공합니다. -
ACME(Automatic Certificate Management Environment) 프로토콜을 사용하는 자동화된 TLS 인증서 프로비저닝 및 업데이트가 이제
mod_md패키지와 함께 지원됩니다(Let’s Encrypt와 같은 인증 기관을 통해 사용). -
이제 Apache HTTP Server에서는
PKCS#11모듈에서 직접 하드웨어 보안 토큰의 TLS 인증서 및 개인 키를 로드하는 기능을 지원합니다. 결과적으로 이제mod_ssl구성에서PKCS#11URL을 사용하여 TLS 개인키를 식별할 수 있으며, 선택적으로SSLCertificateKeyFile및SSLCertificateFile지시문으로 TLS 인증서를 식별할 수 있습니다. -
기본적으로 Apache HTTP Server와 함께 구성된 멀티 프로세싱 모듈(MPM)은 멀티 프로세스 분기 모델(
prefork라고도 함)에서 고성능 멀티 스레드 모델event로 변경되었습니다. 스레드로부터 안전하지 않은 타사 모듈은 교체하거나 제거해야 합니다. 설정된 MPM을 변경하려면/etc/httpd/conf.modules.d/00-mpm.conf파일을 편집합니다. 자세한 내용은httpd.conf(5)man 페이지를 참조하십시오.
httpd 및 해당 사용법에 대한 자세한 내용은 Setting up the Apache HTTP 웹 서버 을 참조하십시오.
(BZ#1632754, BZ#1527084, BZ#1581178)
RHEL에서 새로 추가된 nginx 웹 서버
RHEL 8에서는 HTTP 및 기타 프로토콜을 지원하는 웹 및 프록시 서버인 nginx 1.14 를 도입하고 높은 동시성, 성능 및 낮은 메모리 사용에 중점을 두고 있습니다. Nginx 는 이전에는 소프트웨어 컬렉션으로만 사용 가능했습니다.
이제 nginx 웹 서버에서는 PKCS#11 모듈에서 직접 하드웨어 보안 토큰의 TLS 개인 키를 로드하는 기능을 지원합니다. 결과적으로 이제 nginx 설정에서 PKCS#11 URL을 사용하여 ssl_certificate_key 지시문으로 TLS 개인 키를 지정할 수 있습니다.
(BZ#1545526)
RHEL 8의 데이터베이스 서버
RHEL 8에서는 다음과 같은 데이터베이스 서버를 제공합니다.
-
MySQL 8.0. 다중 사용자, 멀티 스레드 SQL 데이터베이스 서버입니다.이 서버는MySQL서버 데몬,mysqld및 여러 클라이언트 프로그램으로 구성됩니다. -
MariaDB 10.3. 다중 사용자, 멀티 스레드 SQL 데이터베이스 서버입니다 .실용적인 목적으로 사용하기 위해MariaDB는MySQL과 바이너리 호환됩니다. -
PostgreSQL 10및PostgreSQL 9.6.고급 오브젝트 관계형 데이터베이스 관리 시스템(DBMS)입니다. -
Redis 5. 고급 키-값 저장소입니다 . 키에 문자열, 해시, 목록, 세트 및 정렬된 세트가 포함될 수 있으므로 데이터 구조 서버라고 합니다.RHEL에서 처음으로Redis가 제공됩니다.
SSPL(Server Side Public License)을 사용하므로 RHEL 8.0에는 NoSQL MongoDB 데이터베이스 서버가 포함되어 있지 않습니다.
(BZ#1647908)
MySQL 8.0에서 주요 변경 사항
RHEL 8에 포함되는 MySQL 8.0은 다음과 같은 향상된 기능을 제공합니다.
-
MySQL은 이제 데이터베이스 객체에 관한 정보를 저장하는 트랜잭션 데이터 사전을 통합합니다. -
MySQL에서는 이제 권한 컬렉션인 역할을 지원합니다. -
기본 문자 세트가
latin1에서utf8mb4로 변경되었습니다. - 재귀 및 비재귀 CTE (Common Table Expression) 지원이 추가되었습니다.
-
MySQL에서는 이제 관련 행을 사용하여 쿼리의 각 행에 대한 계산을 수행하는 창 함수를 지원합니다. -
InnoDB에서는 이제 locking read 문과 함께NOWAIT및SKIP LOCKED옵션을 지원합니다. - GIS 관련 기능이 향상되었습니다.
- JSON 함수가 강화되었습니다.
-
새로운
mariadb-connector-c패키지에서는MySQL및MariaDB의 공통 클라이언트 라이브러리를 제공합니다. 이 라이브러리는MySQL및MariaDB데이터베이스 서버의 모든 버전에서 사용할 수 있습니다. 결과적으로 RHEL 8을 통해 배포된MySQL과MariaDB서버에 구축되는 애플리케이션 중 하나에 연결할 수 있습니다.
또한 RHEL 8의 클라이언트 툴과 라이브러리는 기본적으로 업스트림 MySQL 8.0 버전에서 사용되는 caching_sha2_password 방법과 호환되지 않으므로, RHEL 8을 통해 배포된 MySQL 8.0 서버는 mysql_native_password를 기본 인증 플러그인으로 사용하도록 구성됩니다.
기본 인증 플러그인을 caching_sha2_password로 변경하려면 /etc/my.cnf.d/mysql-default-authentication-plugin.cnf 파일을 다음과 같이 변경합니다.
[mysqld] default_authentication_plugin=caching_sha2_password
[mysqld]
default_authentication_plugin=caching_sha2_password
MySQL 사용을 참조하십시오.
(BZ#1649891, BZ#1519450, BZ#1631400)
MariaDB 10.3에서 주요 변경 사항
MariaDB 10.3 에서는 RHEL 7에서 배포된 버전 5.5에 비해 다음과 같은 새로운 기능을 제공합니다.
- CTE (Common Table Expression)
- 시스템 버전 테이블
-
FOR루프 - 표시되지 않는 열
- 순서
-
InnoDB인스턴트ADD COLUMN - 스토리지 엔진에 의존하지 않는 컬럼 압축
- 병렬 복제
- 멀티 소스 복제
또한 새로운 mariadb-connector-c 패키지에서는 MySQL 및 MariaDB의 공통 클라이언트 라이브러리를 제공합니다. 이 라이브러리는 MySQL 및 MariaDB 데이터베이스 서버의 모든 버전에서 사용할 수 있습니다. 결과적으로 RHEL 8을 통해 배포된 MySQL과 MariaDB 서버에 구축되는 애플리케이션 중 하나에 연결할 수 있습니다.
기타 주요 변경 사항은 다음과 같습니다.
-
동기식 멀티 마스터 클러스터인
MariaDB Galera Cluster는 이제MariaDB에 포함되어 있음 -
XtraDB대신InnoDB를 기본 스토리지 엔진으로 사용 - mariadb-bench 하위 패키지가 제거되었습니다.
- 플러그인 완성의 기본 허용 수준이 서버 완성도보다 한 수준 미만으로 변경되었습니다. 결과적으로 이전에 작동하던 완성 수준이 낮은 플러그인이 더 이상 로드되지 않습니다.
MariaDB 사용을 참조하십시오.
(BZ#1637034, BZ#1519450, BZ#1688374)
PostgreSQL에서 주요 변경 사항
RHEL 8.0은 postgresql 모듈의 두 가지 스트림으로 배포된 PostgreSQL 데이터베이스 서버 두 가지 버전을 제공합니다. PostgreSQL 10 (기본 스트림)과 PostgreSQL 9.6. RHEL 7에는 PostgreSQL 버전 9.2가 포함되어 있습니다.
PostgreSQL 9.6 의 주요 변경 사항은 다음과 같습니다.
-
순차적 작업의 병렬 실행:
검사,조인,집계 - 동기 복제 기능 개선
- 사용자가 문구를 검색할 수 있도록 전체 텍스트 검색 개선
-
postgres_fdw데이터 페더레이션 드라이버에서 원격조인,정렬,업데이트및DELETE작업을 지원합니다. - 멀티 CPU 소켓 서버의 확장성과 관련하여 상당한 성능 향상
PostgreSQL 10 의 주요 개선 사항은 다음과 같습니다.
-
publish및subscribe키워드를 사용한 논리 복제 -
SCRAM-SHA-256메커니즘을 기반으로 한 강력한 암호 인증 - 선언적 테이블 파티셔닝
- 쿼리 병렬 처리 개선
- 상당한 일반 성능 향상
- 향상된 모니터링 및 제어
PostgreSQL 사용을 참조하십시오.
(BZ#1660041)
Squid에서 주요 변경 사항
RHEL 8.0은 웹 클라이언트용 고성능 프록시 캐싱 서버, FTP, Gopher 및 HTTP 데이터 오브젝트를 지원하는 Squid 4.4 와 함께 배포됩니다. 이 릴리스에서는 RHEL 7에서 사용할 수 있는 버전 3.5에 대한 다양한 새로운 기능, 개선 사항 및 버그 수정을 제공합니다.
주요 변경 사항은 다음과 같습니다.
- 구성 가능한 도우미 대기열 크기
- 도우미 동시성 채널 변경
- 도우미 바이너리의 변경 사항
- ICAP(Secure Internet Content Adaptation Protocol)
- Symmetric Multi Processing (SMP)에 대한 지원 개선
- 프로세스 관리 개선
- SSL 지원 삭제
- Edge Side Includes (ESI) 사용자 정의 구문 분석
- 여러 구성 변경
RHEL의 Varnish 캐시 새로운 기능
RHEL에서 처음으로 고성능 HTTP 역방향 프록시인 Varnish 캐시 가 제공됩니다. 이전에는 소프트웨어 컬렉션으로만 제공되었습니다. Varnish Cache 는 향후 동등한 요청에 대한 응답 시간 및 네트워크 대역폭 소비를 줄이는 데 사용되는 파일 또는 파일 내용을 메모리에 저장합니다. RHEL 8.0은 Varnish Cache 6.0 과 함께 배포됩니다.
(BZ#1633338)
5.1.8. 데스크탑 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8의 GNOME 쉘 (버전 3.28)
RHEL(Red Hat Enterprise Linux) 8에서는 GNOME 쉘 버전 3.28을 사용할 수 있습니다. 주요 개선 사항은 다음과 같습니다.
- 새로운 GNOME Boxes 기능
- 새로운 온-스크린 키보드
- 장치 지원 확장 (특히 Thunderbolt 3 인터페이스의 통합)
- GNOME 소프트웨어, dconf-editor 및 GNOME 터미널 개선
(BZ#1649404)
Wayland를 기본 디스플레이 서버로 사용
Red Hat Enterprise Linux 8에서 GNOME 세션과 GDM(GNOME Display Manager)에서 기본 디스플레이 서버로 이전 RHEL 주요 버전에서 사용된 X.org 대신 Wayland를 사용합니다.
Wayland 는 X.org 에 비해 다양한 이점과 개선사항을 제공합니다. 특히:
- 보다 강력한 보안 모델
- 개선된 멀티 모니터 처리
- 향상된 사용자 인터페이스(UI) 확장
- 데스크탑에서 직접 창 처리를 제어 가능
다음 기능은 현재 사용할 수 없거나 작동하지 않는 기능입니다.
- 멀티-GPU 설정은 Wayland에서 지원되지 않습니다.
- NVIDIA 바이너리 드라이버는 Wayland에서 작동하지 않습니다.
-
xrandr유틸리티는 해상도, 회전 및 레이아웃 처리 방법이 다르기 때문에 Wayland에서 작동하지 않습니다. 화면을 조작하는 기타 X.org 유틸리티도 Wayland에서 작동하지 않습니다. - 화면 녹화, 원격 데스크탑 및 접근성은 Wayland에서 제대로 작동하지 않습니다.
- 클립보드 관리자는 사용할 수 없습니다.
- Wayland에서는 가상 머신 뷰어와 같이 X11 애플리케이션의 키보드 그랩(grab)을 무시합니다.
- 게스트 가상 머신(VM)의 Wayland에는 안정성과 성능에 문제가 있으므로 가상 환경의 경우 X11 세션을 사용하는 것이 좋습니다.
X.org GNOME 세션을 사용하는 RHEL 7 시스템에서 RHEL 8로 업그레이드하는 경우 시스템은 계속 X.org를 사용합니다. 다음 그래픽 드라이버를 사용하는 경우 시스템에서 X.org로 자동 대체합니다.
- NVIDIA 바이너리 드라이버
-
cirrus드라이버 -
mga드라이버 -
aspeed드라이버
Wayland 사용을 수동으로 비활성화할 수 있습니다.
-
GDM에서 Wayland를 비활성화하려면
/etc/gdm/custom.conf파일에WaylandEnable=false옵션을 설정합니다. - GNOME 세션에서 Wayland를 비활성화하려면 로그인 이름을 입력한 다음 로그인 화면의 설정 (톱니바퀴 모양) 메뉴에서 legacy X11 옵션을 선택합니다.
Wayland 에 대한 자세한 내용은 https://wayland.freedesktop.org/ 을 참조하십시오.
(BZ#1589678)
기본적으로 사용되지 않는 리포지토리에 있는 RPM 패키지 검색
기본적으로 데스크탑의 추가 리포지토리는 사용하도록 설정되어 있지 않습니다. 비활성화는 해당 .repo 파일의 enabled=0 행에 지정됩니다. PackageKit을 사용하여 이러한 리포지토리에서 패키지를 설치하려고 하면 PackageKit에서 애플리케이션을 사용할 수 없다는 오류 메시지가 표시됩니다. 패키지를 사용 가능하게 하려면 각각의 .repo 파일에서 이전에 사용한 enabled=0 행을 enabled=1로 변경합니다.
(JIRA:RHELPLAN-2878)
패키지 관리용 GNOME 소프트웨어
Red Hat Enterprise Linux 7의 그래픽 환경에서 패키지 관리용 툴 컬렉션을 제공한 gnome-packagekit 패키지는 더 이상 제공되지 않습니다. Red Hat Enterprise Linux 8에서는 애플리케이션과 gnome-shell 확장 기능을 설치 및 업데이트할 수 있는 GNOME 소프트웨어 유틸리티에서 유사한 기능을 제공합니다. GNOME 소프트웨어는 gnome-software 패키지로 배포됩니다.
(JIRA:RHELPLAN-3001)
Wayland에서 GNOME Shell에서 사용 가능한 부분 확장
Wayland 세션의 GNOME Shell에서 부분 확장 기능을 사용할 수 있습니다. 이 기능을 사용하면 GUI를 부분적으로 확장할 수 있으므로 특정 디스플레이에서 확장된 GUI의 모양을 개선할 수 있습니다.
이 기능은 현재 실험적인 것으로 간주되므로 기본적으로 비활성화되어 있습니다.
소수 부분 스케일링을 사용하려면 다음 명령을 실행합니다.
gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
# gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
5.1.9. 하드웨어 지원 링크 복사링크가 클립보드에 복사되었습니다!
fwupd 를 사용하여 펌웨어 업데이트 사용 가능
RHEL 8에서는 fwupd 데몬을 사용하여 UEFI Capsule, Device Firmware Upgrade(DFU) 등의 펌웨어 업데이트를 지원합니다. 데몬을 사용하면 세션 소프트웨어가 로컬 시스템에서 장치 펌웨어를 자동으로 업데이트할 수 있습니다.
업데이트를 보고 적용하려면 다음을 사용할 수 있습니다.
- GUI 소프트웨어 관리자(예: GNOME Software)
-
fwupdmgr명령줄 툴
메타데이터 파일은 Linux Vendor Firmware Service(LVFS) 보안 포털에서 자동으로 다운로드되고 D-Bus를 통해 fwupd 에 제출됩니다. 적용해야 하는 업데이트를 다운로드하면 사용자 알림 및 업데이트 세부 정보가 표시됩니다. 업데이트를 수행하기 전에 사용자가 펌웨어 업데이트 작업에 명시적으로 동의해야 합니다.
LVFS에 대한 액세스는 기본적으로 비활성화되어 있습니다.
LVFS에 대한 액세스를 활성화하려면 GNOME 소프트웨어의 소스 대화 상자에서션을 클릭하거나 fwupdmgr enable-remote lvfs 명령을 실행합니다. fwupdmgr 을 사용하여 업데이트 목록을 가져오는 경우 LVFS를 활성화할지 묻는 메시지가 표시됩니다.
LVFS에 액세스하면 하드웨어 공급 업체에서 직접 펌웨어 업데이트를 받을 수 있습니다. 이러한 업데이트는 Red Hat InfiniBand에서 확인하지 않았습니다.
(BZ#1504934)
Optane DC 영구 메모리 기술의 메모리 모드가 완전히 지원됩니다.
Intel Optane DC 영구 메모리 스토리지 장치는 데이터 센터 클래스 영구 메모리 기술을 제공하므로 트랜잭션 처리량을 크게 높일 수 있습니다.
메모리 모드 기술을 사용하려면 시스템에 특별한 드라이버 또는 특정 인증이 필요하지 않습니다. 메모리 모드는 운영 체제에 투명합니다.
(BZ#1718422)
5.1.10. IdM (Identity Management) 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server에서 새 암호 구문 검사
이번 개선된 기능에는 Directory Server에 새로운 암호 구문 검사 기능이 추가되었습니다. 예를 들어 관리자는 사전 검사를 활성화하고 문자 순서 및 회문(palindrome)을 사용하여 허용 또는 거부할 수 있습니다. 따라서 이 기능이 활성화된 경우 Directory Server의 암호 정책 구문 검사를 통해 더 안전한 암호가 적용됩니다.
(BZ#1334254)
Directory Server에서 개선된 내부 작업 로그 지원 제공
서버 및 클라이언트에서 시작한 Directory Server 작업 때문에 백그라운드에서 추가 작업이 수행됩니다. 이전에는 서버에서 내부 작업을 위해 Internal 연결 키워드만 기록했으며 작업 ID는 항상 -1로 설정되었습니다. 이번 개선된 기능을 통해 Directory Server는 실제 연결 및 작업 ID를 기록합니다. 이제 이 작업을 초래한 서버 또는 클라이언트 작업에 대한 내부 작업을 추적할 수 있습니다.
(BZ#1358706)
tomcatjss 라이브러리에서는 AIA 확장의 응답자를 사용하여 OCSP 검사를 지원
이 향상된 기능을 통해 tomcatjss 라이브러리에서는 인증서의 AIA(Authority Information Access) 확장의 응답자를 사용하여 OCSP(Online Certificate Status Protocol) 검사를 지원합니다. 결과적으로 Red Hat Certificate System 관리자는 AIA 확장의 URL을 사용하여 OCSP 검사를 설정할 수 있습니다.
(BZ#1636564)
pki subsystem-cert-find 및 pki subsystem-cert-show 명령은 인증서의 일련 번호를 표시
이 향상된 기능을 통해 인증서 시스템의 pki subsystem-cert-find 명령 및 pki subsystem-cert-show 명령에서 출력에 인증서의 일련 번호를 표시할 수 있게 되었습니다. 일련 번호는 중요한 정보이며 여러 다른 명령에 필요합니다. 결과적으로 인증서의 일련 번호를 쉽게 식별할 수 있습니다.
(BZ#1566360)
인증서 시스템에서 pki user 명령 및 pki group 명령은 더 이상 사용되지 않음
이번 업데이트를 통해 새로운 pki <subsystem>-user 및 pki <subsystem>-group 명령으로 인증서 시스템의 pki user 명령 및 pki group 명령이 교체되었습니다. 교체된 명령으로 계속 사용할 수 있지만 명령이 더 이상 사용되지 않으며 새 명령을 참조하라는 메시지를 표시합니다.
(BZ#1394069)
인증서 시스템에서 시스템 인증서의 오프라인 업데이트를 지원
이 향상된 기능을 통해 관리자는 오프라인 업데이트 기능을 사용하여 인증서 시스템에 구성된 시스템 인증서를 갱신할 수 있습니다. 시스템 인증서가 만료되면 인증서 시스템이 시작되지 않습니다. 이러한 기능 개선으로 관리자는 더 이상 만료된 시스템 인증서를 교체하기 위한 임시 해결방법이 필요하지 않습니다.
인증서 시스템에서 외부 CA 서명을 위해 SKI 확장을 사용하여 CSR을 생성 가능
이 향상된 기능을 통해 인증서 시스템에서는 외부 인증 기관(CA) 서명을 위해 SKI(Subject Key Identifier) 확장을 사용하여 인증서 서명 요청(CSR)을 생성하도록 지원합니다. 특정 CA에서는 이 확장이 특정 값을 사용하거나 CA 공용 키에서 파생되어야 합니다. 결과적으로 관리자는 이제 pkispawn 유틸리티에 전달된 설정 파일에서 pki_req_ski 매개 변수를 사용하여 SKI 확장자가 있는 CSR을 생성할 수 있습니다.
(BZ#1656856)
SSSD에서 더 이상 [nss] 섹션의 fallback_homedir 값을 AD 도메인의 폴백으로 사용하지 않습니다.
RHEL 7.7 이전에는 AD(Active Directory) 공급자의 SSSD fallback_homedir 매개변수에 기본값이 없었습니다. fallback_homedir 을 설정하지 않은 경우 SSSD는 대신 /etc/sssd/sssd.conf 파일의 [nss] 섹션과 동일한 매개변수의 값을 사용합니다. 보안을 강화하기 위해 RHEL 7.7의 SSSD는 fallback_homedir 의 기본값을 도입했습니다. 결과적으로 SSSD는 더 이상 [nss] 섹션에 설정된 값으로 되돌아가지 않습니다. AD 도메인의 fallback_homedir 매개변수에 대한 기본값과 다른 값을 사용하려면 도메인의 섹션에서 수동으로 설정해야 합니다.
(BZ#1652719)
SSSD를 사용하여 여러 스마트 카드 인증 장치 중 하나를 선택 가능
기본적으로 SSSD(System Security Services Daemon)는 스마트 카드 인증 장치를 자동으로 탐지합니다. 연결된 장치가 여러 개 있는 경우 SSSD에서 감지한 첫 번째 장치를 선택합니다. 결과적으로 특정 장치를 선택할 수 없으므로 때때로 실패로 이어집니다.
이번 업데이트를 통해 sssd.conf 설정 파일의 [pam] 섹션에 대해 새로운 p11_uri 옵션을 구성할 수 있습니다. 이 옵션을 사용하면 스마트 카드 인증에 사용되는 장치를 정의할 수 있습니다.
예를 들어 OpenSC PKCS#11 모듈에서 감지한 슬롯 ID 2 가 있는 리더를 선택하려면 다음을 추가합니다.
p11_uri = library-description=OpenSC%20smartcard%20framework;slot-id=2
p11_uri = library-description=OpenSC%20smartcard%20framework;slot-id=2
sssd.conf의 [pam] 섹션에 추가합니다.
자세한 내용은 man sssd.conf 페이지를 참조하십시오.
(BZ#1620123)
로컬 사용자는 SSSD를 통해 캐시하고 nss_sss 모듈을 통해 처리
RHEL 8에서 SSSD(System Security Services Daemon)는 기본적으로 /etc/passwd 및 /etc/groups 파일의 사용자 및 그룹을 제공합니다. sss nsswitch 모듈은 /etc/nsswitch.conf 파일의 파일 앞에 옵니다.
SSSD를 통해 로컬 사용자에게 서비스를 제공하면 memory-mapped cache가 nss_sss 모듈에 있기 때문에 디스크에 액세스하여 NSS 요청마다 파일을 여는 것과 비교하여 NSS(Name Service Switch) 검색의 속도를 높이는 이점이 있습니다. 이전에는 Name 서비스 캐시 데몬(nscd)을 통해 디스크 액세스 처리 속도를 가속화했습니다. 그러나 SSSD와 nscd 모두 자신의 고유한 독립 캐싱을 사용하므로 SSSD와 nscd를 동시에 사용하는 것이 쉽지 않을 수 있습니다. 결과적으로 SSSD에서 원격 도메인의 사용자에게도 서비스를 제공하는 설정(예:LDAP 또는 Active Directory)에서 nscd를 사용하면 예상치 못한 동작이 발생할 수 있습니다.
이번 업데이트를 사용하면 RHEL 8에서 더 빠르게 로컬 사용자와 그룹을 분석할 수 있습니다. root 사용자는 SSSD에서 처리하지 않으므로 root 분석은 SSSD에 있는 잠재적 버그의 영향을 받을 수 없습니다. 또한 SSSD가 실행되지 않으면 nss_sss 모듈에서 문제를 해결하기 위해 nss_files로 대체하여 상황을 단계적으로 적절하게 처리합니다. SSSD가 실행되고 있지 않은 경우에도 nss_sss 모듈은 문제를 방지하기 위해 nss_files 로 대체하여 상황을 정상적으로 처리합니다. 어떠한 방식으로든 SSSD를 설정할 필요가 없으며 파일 도메인이 자동으로 추가됩니다.
(JIRA:RHELPLAN-10439)
KCM은 KEYRING을 기본 인증 정보 캐시 스토리지로 대체
RHEL 8에서 기본 인증 정보 캐시 스토리지는 sssd-kcm 데몬에서 지원하는 KCM(Kerberos Credential Manager)입니다. KCM에는 이전에 사용된 KEYRING의 제한 사항(예:네임 스페이스가 없기 때문에 컨테이너 환경에서 사용하기가 어렵고 할당량을 표시 및 관리할 수 없음)이 해결되어 있습니다.
이번 업데이트를 통해 RHEL 8에는 컨테이너화된 환경에 더 적합하고 향후 릴리스에서 보다 많은 기능을 빌드할 수 있는 기반을 제공하는 인증 정보 캐시가 제공됩니다.
(JIRA:RHELPLAN-10440)
Active Directory 사용자가 Identity Management를 관리 가능
이번 업데이트를 통해 RHEL 8에서는 IdM(Identity Management) 그룹의 구성원으로 AD(Active Directory) 사용자에 대한 사용자 ID 재정의를 추가할 수 있습니다. ID 재정의는 특정 ID 보기(이 경우 기본 신뢰 보기) 내에서 특정 AD 사용자 또는 그룹 속성이 표시되는 방식을 설명하는 레코드입니다. 업데이트 결과 IdM LDAP 서버에서 IdM 그룹에 대한 액세스 제어 규칙을 AD 사용자에게 적용할 수 있습니다.
이제 AD 사용자가 IdM UI의 셀프 서비스 기능을 사용하여 SSH 키를 업로드하거나 개인 데이터를 변경하는 등의 작업을 수행할 수 있습니다. AD 관리자가 두 개의 서로 다른 계정 및 암호 없이도 IdM을 완전히 관리할 수 있습니다. 현재 AD 사용자는 IdM에서 선택된 일부 기능을 사용 할 수 없다는 점에 유의하십시오.
(JIRA:RHELPLAN-10442)
sssctl을 통해 IdM 도메인의 HBAC 규칙 보고서 출력
이번 업데이트에서 SSSD(System Security Services Daemon)의 sssctl 유틸리티를 통해 IdM(Identity Management) 도메인의 액세스 제어 보고서를 출력할 수 있습니다. 이는 특정 환경에서 규제상의 이유로 특정 클라이언트 컴퓨터에 액세스할 수 있는 사용자 및 그룹 목록을 표시하는 기능으로 사용될 수 있습니다. IdM 클라이언트에서 sssctl access-report domain_name을 실행하면 클라이언트 시스템에 적용되는 IdM 도메인의 호스트 기반 액세스 제어(HBAC) 규칙의 구문 분석된 하위 세트를 표시합니다.
IdM 이외의 모든 공급자는 이 기능을 지원하지 않습니다.
(JIRA:RHELPLAN-10443)
Identity Management 패키지는 모듈로 사용 가능
RHEL 8에서는 IdM(Identity Management) 서버 및 클라이언트를 설치하는 데 필요한 패키지가 모듈로 제공됩니다. 클라이언트 스트림은 idm 모듈의 기본 스트림이며 스트림을 활성화하지 않고 클라이언트 설치에 필요한 패키지를 다운로드할 수 있습니다.
IdM 서버 모듈 스트림은 DL1 스트림이라고 합니다. 스트림에는 다양한 유형의 IdM 서버에 해당하는 여러 프로파일이 포함되어 있습니다(서버, dns, adtrust, 클라이언트 및 기본값). DL1 스트림의 특정 프로파일에 있는 패키지를 다운로드하려면 다음을 수행합니다.
- 스트림을 활성화합니다.
- 스트림을 통해 전달되는 RPM으로 전환합니다.
-
yum module install idm:DL1/profile_name명령을 실행합니다.
특정 스트림을 이미 활성화하여 패키지를 다운로드한 후 새 모듈 스트림으로 전환하려면 다음을 수행합니다.
- 설치된 모든 콘텐츠를 제거하고 현재 모듈 스트림을 비활성화합니다.
- 새 모듈 스트림을 활성화합니다.
(JIRA:RHELPLAN-10438)
RHEL 8의 세션 레코딩 솔루션 추가
세션 레코딩 솔루션이 RHEL 8(Red Hat Enterprise Linux 8)에 추가되었습니다. 새로운 tlog 패키지와 관련 웹 콘솔 세션 플레이어를 사용하여 사용자 터미널 세션을 레코딩하고 재생할 수 있습니다. SSSD(System Security Services Daemon) 서비스를 통해 사용자 또는 사용자 그룹별로 레코딩을 구성할 수 있습니다. 모든 터미널 입력 및 출력은 캡처되어 시스템 저널에 텍스트 기반 형식으로 저장됩니다. 보안상의 이유로 원시 암호 및 기타 중요한 정보를 가로채지 않도록 입력은 기본적으로 비활성화됩니다.
이 솔루션은 보안에 민감한 시스템에서 사용자 세션을 감사하는 데 사용할 수 있습니다. 보안 위반이 발생한 경우 기록된 세션을 법의학 분석의 일부로 검토할 수 있습니다. 이제 시스템 관리자는 세션 레코딩을 로컬로 설정하고 tlog-play 유틸리티를 사용하여 명령행 인터페이스 또는 RHEL 8 웹 콘솔 인터페이스의 결과를 볼 수 있습니다.
(JIRA:RHELPLAN-1473)
authselect를 통해 사용자 인증 설정 간소화
이번 업데이트에서는 RHEL 8 호스트에서 사용자 인증 설정을 간소화하고 authconfig 유틸리티를 대신하여 authselect 유틸리티를 도입하고 있습니다. authselect에는 시스템 관리자가 PAM 설정을 보다 간단하게 변경할 수 있도록 PAM 스택을 더 안전하게 관리하는 접근 방식이 포함되어 있습니다. authselect는 암호, 인증서, 스마트 카드, 지문과 같은 인증 방법을 설정하는데 사용할 수 있습니다. authselect를 통해서는 원격 도메인에 가입하는 데 필요한 서비스를 설정하지 않습니다. Authselect는 시스템 관리자가 PAM 구성을 더 쉽게 변경할 수 있도록 하는 PAM 스택 관리에 대한 보다 안전한 접근법을 제공합니다. Authselect는 암호, 인증서, 스마트 카드 및 지문과 같은 인증 방법을 구성하는 데 사용할 수 있습니다. authselect 는 원격 도메인을 결합하는 데 필요한 서비스를 구성하지 않습니다. 이 작업은 realmd 또는 ipa-client-install 과 같은 특수 도구에서 수행됩니다.
(JIRA:RHELPLAN-10445)
SSSD가 이제 기본적으로 AD VDDK를 적용
SSSD 옵션 ad_gpo_access_control 의 기본 설정이 강제 적용되었습니다. RHEL 8에서는 SSSD가 기본적으로 Active Directory 그룹 정책 개체(GPO)에 따라 액세스 제어 규칙을 적용합니다.
RHEL 7에서 RHEL 8로 업그레이드하기 전에 Active Directory에서 VDDK를 올바르게 구성하는 것이 좋습니다. NetNamespaces를 적용하지 않으려면 /etc/sssd/sssd.conf 파일의 ad_gpo_access_control 옵션 값을 허용 으로 변경합니다.
(JIRA:RHELPLAN-51289)
5.1.11. 컴파일러 및 개발 도구 링크 복사링크가 클립보드에 복사되었습니다!
Boost가 1.66 버전으로 업데이트
Boost C++ 라이브러리가 업스트림 버전 1.66으로 업데이트되었습니다. Red Hat Enterprise Linux 7에 포함된 Boost는 1.53 버전입니다. 자세한 내용은 업스트림 변경 로그 https://www.boost.org/users/history/을 참조하십시오.
이번 업데이트에서는 이전 버전과의 호환성을 손상시키는 다음과 같은 사항이 변경되었습니다.
-
bs_set_hook()함수, splay 컨테이너의splay_set_hook()함수 및 Intrusive 라이브러리에 있는splaytree_algorithms()함수의bool splay = true추가 매개변수가 제거되었습니다. - JSON 파일의 주석 또는 문자열 연결은 Property Tree 라이브러리의 구문 분석기에서 더 이상 지원하지 않습니다.
-
Math 라이브러리의 일부 배포 및 특수 기능은 문서화된 대로 동작하며 최대 유한 값을 반환하지 않고
overflow_error를 전송하도록 수정되었습니다. -
Math 라이브러리의 일부 헤더가
libs/math/include_private디렉터리로 이동되었습니다. -
Regex 라이브러리의
basic_regex<>::mark_count()및basic_regex<>::subexpression(n)함수의 동작이 문서에 맞게 변경되었습니다. - Variant 라이브러리에서 가변성 템플릿을 사용하면 메타 프로그래밍 기능이 손상될 수 있습니다.
-
boost::python::numericAPI가 제거되었습니다. 대신boost::python::numpy를 사용할 수 있습니다. - 비오브젝트 유형의 포인터에 대한 연산은 더 이상 Atomic 라이브러리에서 제공되지 않습니다.
(BZ#1494495)
유니코드 11.0.0 지원
Red Hat Enterprise Linux 코어 C 라이브러리인 glibc는 유니코드 표준 버전 11.0.0을 지원하도록 업데이트되었습니다. 결과적으로 문자 세트 간 음역 및 변환을 포함한 모든 와이드 문자 및 멀티 바이트 문자 API는 이 표준을 준수하는정확한 정보를 제공합니다.
(BZ#1512004)
boost 패키지는 Python에서 독립
이번 업데이트에서는 boost 패키지를 설치해도 더 이상 Boost.Python 라이브러리가 종속 항목으로 설치되지 않습니다. Boost.Python을 사용하려면 boost-python3 또는 boost-python3-devel 패키지를 설치해야 합니다.
(BZ#1616244)
새로운 compat-libgfortran-48 패키지 사용 가능
Fortran 라이브러리를 사용하는 Red Hat Enterprise Linux 6 및 7 애플리케이션과의 호환성을 위해 이제 libgfortran.so.3 라이브러리를 제공하는 새로운 compat-libgfortran-48 호환성 패키지가 사용 가능합니다.
(BZ#1607227)
GCC에서 Retpoline 지원
이번 업데이트에서는 GCC에 retpolines 지원이 추가되었습니다. 재구성은 CVE-2017-5715에 설명된 Spectre Variant 2 공격을 완화하는 오버헤드를 줄이기 위해 커널에서 사용하는 소프트웨어 구조입니다.
(BZ#1535774)
툴체인 구성 요소에서 64비트 ARM 아키텍처의 지원 강화
툴체인 구성 요소인 GCC 및 binutils에서는 이제 64비트 ARM 아키텍처에 대한 확장된 지원을 제공합니다. 예를 들어 다음과 같습니다.
-
GCC와binutils에서는 이제 SVE(Scalable Vector Extension)를 지원합니다. -
ARM v8.2에서 제공하는
FP16데이터 유형에 대한 지원이GCC에 추가되었습니다.FP16데이터 유형을 사용하면 특정 알고리즘의 성능이 향상됩니다. -
binutils의 툴에서는 이제 포인터 인증을 포함하는 ARM v8.3 아키텍처 정의를 지원합니다. 포인터 인증 기능을 사용하면 악성 코드를 통해 고유 함수 포인터를 작성하여 프로그램 또는 커널의 정상 실행을 손상시키는 것을 방지할 수 있습니다. 따라서 코드에서 다른 위치로 분기할 때 신뢰할 수 있는 주소만 사용하므로 보안이 향상됩니다.
(BZ#1504980, BZ#1550501, BZ#1504995, BZ#1504993, BZ#1504994)
IBM POWER 시스템에 맞게 glibc 최적화
이번 업데이트에서는 IBM POWER 8 및 IBM POWER 9 아키텍처에 최적화된 새 버전의 glibc를 제공합니다. 결과적으로 IBM POWER 8 및 IBM POWER 9 시스템은 이제 런타임 시 최적화된 적절한 glibc 변형으로 자동 전환합니다.
(BZ#1376834)
GNU C 라이브러리 2.28 버전으로 업데이트
Red Hat Enterprise Linux 8에는 2.28 버전의 GNU C 라이브러리(glibc)가 포함되어 있습니다. 주요 개선사항은 다음과 같습니다.
보안 강화 기능:
-
AT_SECURE플래그로 표시된 보안 바이너리 파일은LD_LIBRARY_PATH환경 변수를 무시합니다. - 시스템 종료 속도를 높이고 손상된 환경에서 추가 코드를 실행하지 않도록 스택 검사 실패에 대한 역추적은 더 이상 표시되지 않습니다.
-
성능 향상:
-
스레드 로컬 캐시로
malloc()함수의 성능이 향상되었습니다. -
라이브러리 성능 특성을 변경하기 위해
GLIBC_TUNABLES환경 변수가 추가되었습니다. -
스레드 세마포어의 구현이 개선되고 확장 가능한 새로운
pthread_rwlock_xxx()함수가 추가되었습니다. - math 라이브러리의 성능이 향상되었습니다.
-
스레드 로컬 캐시로
- 유니코드 11.0.0에 대한 지원이 추가되었습니다.
- ISO/IEC/IEEE 60559:2011, IEEE 754-2008 및 ISO/IEC TS 18661-3:2015 표준에 정의된 대로 128비트 부동 소수점 지원이 추가되었습니다.
/etc/resolv.conf설정 파일과 관련하여 DNS(Domain Name Service) 스텁 해결 조치가 개선되었습니다.- 파일이 변경되면 설정이 자동으로 다시 로드됩니다.
- 모든 검색 도메인에 대한 지원이 추가되었습니다.
-
rotate옵션에 대한 적절한 무작위 선택이 추가되었습니다.
다음과 같은 개발을 위한 새로운 기능이 추가되었습니다.
-
preadv2및pwritev2커널 호출의 Linux 래퍼 함수 -
reallocarray()및explicit_bzero()등의 새로운 기능 -
POSIX_SPAWN_SETSID와 같은posix_spawnattr_setflags()함수의 새로운 플래그
-
(BZ#1512010, BZ#1504125, BZ#506398)
RHEL에서 CMake 사용 가능
CMake 빌드 시스템 버전 3.11은 Red Hat Enterprise Linux 8에서 cmake 패키지로 사용 가능합니다.
(BZ#1590139, BZ#1502802)
make 버전 4.2.1
Red Hat Enterprise Linux 8은 make 빌드 툴 버전 4.2.1과 함께 배포됩니다. 주요 변경 사항은 다음과 같습니다.
- 레시피에 실패하면 makefile의 이름과 레시피의 행 번호가 표시됩니다.
-
대상 추적을 사용하기 위해
--trace옵션이 추가되었습니다. 이 옵션을 사용하면 비활성화된 경우에도 호출 전에 모든 레시피가 출력됩니다.이때 레시피가 들어있는 파일 이름, 행 번호 및 이 기능을 호출하기 위한 전제 조건도 함께 출력됩니다. -
명시적 규칙과 암시적 규칙을 혼합해도 더 이상
make의 실행이 종료되지 않습니다. 대신 경고가 표시됩니다. 이 구문은 더 이상 사용되지 않으며 향후에 완전히 제거될 수 있습니다. -
파일에 텍스트를 쓰기 위해
$(file … )함수가 추가되었습니다.텍스트 인수 없이 호출하면 파일을 연 후 바로 닫습니다. -
새로운 옵션인
--output-sync또는-O를 사용하면 작업별로 여러 작업의 출력이 그룹화되며 병렬 빌드를 디버깅하기가 쉬워집니다. -
--debug옵션은 현재 사용된 모든 디버깅 설정을 비활성화하기 위해 이제n(none) 플래그도 허용합니다. BSD makefile과의 호환성을 높이기 위해
$(shell … )함수 대신!=쉘 대입 연산자가 추가되었습니다.연산자와 함수 사이의 차이점 및 자세한 내용은 GNU make 매뉴얼을 참조하십시오.결과적으로,
variable!=value와 같이 이름이 느낌표로 끝나고 바로 뒤에 대입 연산자가 오는 변수는 이제 새로운 구문으로 해석됩니다. 이전 동작을 복원하려면variable! =value와 같이 느낌표 뒤에 공백을 추가하십시오.-
POSIX 표준에 정의된
::=대입 연산자가 추가되었습니다. -
.POSIX변수가 지정되면make에서 백 슬래시와 개행을 처리하기 위한 POSIX 표준 요구사항을 준수합니다. 이 모드에서는 백슬래시 앞에 있는 후행 공백이 보존되고 새로운 백슬래시 뒤에 새 줄과 공백 문자가 하나의 공백 문자로 변환됩니다. -
MAKEFLAGS및MFLAGS변수의 동작이 보다 정확하게 정의되었습니다. -
make플래그의 새로운 변수인GNUMAKEFLAGS는MAKEFLAGS와 동일하게 구문 분석합니다. 결과적으로, GNUmake특정 플래그는MAKEFLAGS외부에 저장할 수 있으며 makefile의 이동성이 향상됩니다. -
호스트 아키텍처를 포함하는 새로운 변수인
MAKE_HOST가 추가되었습니다. -
새로운 변수인
MAKE_TERMOUT과MAKE_TERMERR을 통해make에서 표준 출력 및 오류를 터미널에 쓰고 있는지 여부가 표시됩니다. -
makefile의
MAKEFLAGS변수에-r및-R옵션을 설정하면 제대로 작동하고 모든 기본 규칙과 변수가 적절하게 제거되었습니다. -
이제 레시피별로
.RECIPEPREFIX설정이 기억됩니다. 또한 해당 레시피에서 확장된 변수에서도 레시피 접두사 설정을 사용합니다. -
.RECIPEPREFIX설정과 모든 대상별 변수는 주석이 아니라 makefile에 있는 것처럼-p옵션의 출력에 표시됩니다.
(BZ#1641015)
SystemTap 버전 4.0
Red Hat Enterprise Linux 8은 SystemTap 측정 툴 버전 4.0과 함께 배포됩니다. 주요 개선사항은 다음과 같습니다.
-
eBPF(extended Berkeley Packet Filter) 백엔드에서 특히 문자열과 함수가 향상되었습니다. 이 백엔드를 사용하려면 SystemTap을 시작할 때
--runtime=bpf옵션을 사용합니다. - Prometheus 모니터링 시스템과 함께 사용할 새로운 내보내기 네트워크 서비스가 추가되었습니다.
- 필요에 따라 커널 추적 포인트를 사용하도록 시스템 호출 검사 구현이 개선되었습니다.
(BZ#1641032)
binutils 버전 2.30의 개선사항
Red Hat Enterprise Linux 8에는 2.30 버전의 binutils 패키지가 포함되어 있습니다. 주요 개선사항은 다음과 같습니다.
- 새로운 IBM Z 아키텍처 확장에 대한 지원이 개선되었습니다.
링커:
- 링커는 기본적으로 코드와 읽기 전용 데이터를 별도의 세그먼트에 배치할 수 있게 되었습니다. 동적 로더는 읽기 전용 데이터가 포함된 메모리 페이지의 실행을 비활성화할 수 있으므로 결과적으로 생성된 실행 파일은 더 커지고 더 안전하게 실행할 수 있게 되었습니다.
- 바이너리 파일에 관한 동적 로더에 힌트를 제공하는 GNU Property 노트 지원이 추가되었습니다.
- 이전에는 링커에서 Intel IBT(Indirect Branch Tracking) 기술의 잘못된 실행 코드를 생성했기 때문에 생성된 실행 파일을 시작하지 못했습니다. 결과적으로 생성된 실행 파일을 시작할 수 없었습니다. 이 버그가 수정되었습니다.
-
이전에는
gold링커에서 부적절하게 속성 노트를 병합했습니다. 따라서 생성된 코드에서 잘못된 하드웨어 기능이 활성화되고 코드가 예기치 않게 종료될 수 있었습니다. 이 버그가 수정되었습니다. -
이전에는
gold링커에서 아키텍처에 따라 정렬을 수행하기 위해 끝에 패딩 바이트가 있는 노트 섹션을 생성했습니다. 동적 로더가 패딩을 예상하지 않았기 때문에 로드 중인 프로그램이 예기치 않게 종료될 수 있었습니다. 이 버그가 수정되었습니다.
기타 툴:
-
readelf및objdump툴에는 별도의 디버그 정보 파일로 연결된 링크를 따라 이동하여 해당 정보를 표시하는 옵션이 추가되었습니다. -
새로운
--inlines옵션은objdump툴의 기존--line-numbers옵션을 확장하여 인라인 함수의 중첩 정보를 표시합니다. -
nm툴에는 기호의 이름 뒤에 해당 버전 정보를 표시하는 새로운 옵션--with-version-strings가 추가되었습니다. - ARMv8-R 아키텍처 및 Cortex-R52, Cortex-M23 및 Cortex-M33 프로세서에 대한 지원이 어셈블러에 추가되었습니다.
(BZ#1641004, BZ#1637072, BZ#1501420, BZ#1504114, BZ#1614908, BZ#1614920)
Performance Co-inspector 버전 4.3.0
Red Hat Enterprise Linux 8은 PCP( Performance Co-inspector) 버전 4.3.0과 함께 배포됩니다. 주요 개선사항은 다음과 같습니다.
-
pcp-dstat툴에는 이제 기록 분석과 쉼표로 구분된 값(CSV) 형식 출력이 추가되어 있습니다. - 로그 유틸리티에서 메트릭 레이블과 도움말 텍스트 레코드를 사용할 수 있습니다.
-
pmdaperfevent툴에서는 낮은 SMT(Simultaneous Multi Threading) 수준에서 올바른 CPU 번호를 보고합니다. -
pmdapostgresql툴에서는 Postgres 시리즈 10.x를 지원합니다. -
pmdaredis툴에서는 Redis 시리즈 5.x를 지원합니다. -
pmdabcc툴은 동적 프로세스 필터링 및 프로세스별 syscalls, ucalls 및 ustat로 향상되었습니다. -
pmdammv툴에서는 메트릭 레이블을 내보내낼 수 있으며 형식 버전은 3으로 증가했습니다. -
pmdagfs2툴에서는 추가 glock과 glock 홀더 메크릭을 지원합니다. - SELinux 정책과 관련하여 몇 가지 항목이 수정되었습니다.
(BZ#1641034)
메모리 보호 키
이 업데이트를 사용하면 스레드마다 페이지 보호 플래그를 변경할 수 있는 하드웨어 기능을 사용할 수 있습니다. pkey_alloc(), pkey_free() 및 pkey_mprotect() 함수의 새로운 glibc 시스템 호출 래퍼가 추가되었습니다. pkey_alloc(), pkey_free() 및 pkey_mprotect() 함수에 대해 새로운 glibc 시스템 호출 래퍼가 추가되었습니다. 또한 스레드별 보호 플래그에 액세스할 수 있도록 pkey_set() 및 pkey_get() 함수가 추가되었습니다.
(BZ#1304448)
IBM Z의 GCC의 기본값은 z13입니다.
이번 업데이트를 통해 IBM Z 아키텍처에서 기본적으로 GCC는 z13 프로세서용 코드를 빌드하고 코드는 z14 프로세서에 맞게 조정됩니다. 이는 -march=z13 및 -mtune=z14 옵션을 사용하는 것과 동일합니다. 사용자는 대상 아키텍처 및 튜닝에 대한 옵션을 사용하여 명시적으로 이 기본값을 재정의할 수 있습니다.
(BZ#1571124)
elfutils가 버전 0.174로 업데이트
Red Hat Enterprise Linux 8에서 elfutils 패키지는 버전 0.174에서 사용 가능합니다. 주요 변경 사항은 다음과 같습니다.
-
이전에는
eu-readelf툴에서 값이 음수인 변수를 부호 없는 큰 값 처럼 표시하거나 부호 없는 큰 값을 음수 값으로 표시했습니다. 이 문제는 수정되어eu-readelf에서 값을 올바르게 표시하기 위해 상수 값 형태의 크기와 부호 특성을 확인하여 올바르게 표시할 수 있게 되었습니다. -
CU가 없는
.debug_line데이터를 읽는 데 사용하는 새로운 함수dwarf_next_lines()가 libdw 라이브러리에 추가되었습니다. 이 함수는dwarf_getsrclines()및dwarf_getsrcfiles()함수 대신 사용할 수 있습니다. -
이전에는 섹션이 65280개가 넘는 파일이 있으면 libelf 및 libdw 라이브러리와 해당 라이브러리를 사용하는 모든 툴에 오류가 발생했습니다. 이 버그가 수정되었습니다. 결과적으로 ELF 파일 헤더에서 확장된
shnum및shstrndx값이 올바르게 처리됩니다.
(BZ#1641007)
Valgrind가 3.14 버전으로 업데이트
Red Hat Enterprise Linux 8은 Valgrind 실행 코드 분석 툴 버전 3.14와 함께 배포됩니다. 주요 변경 사항은 다음과 같습니다.
-
로드되지 않은 코드에 대한 디버그 정보를 보존할 수 있도록 새로운
--keep-debuginfo옵션이 추가되었습니다. 결과적으로 저장된 스택 추적에는 더 이상 메모리에 없는 코드의 파일 및 행 정보가 포함될 수 있습니다. - 소스 파일 이름 및 행 번호를 기반으로한 비활성화가 추가되었습니다.
-
Helgrind툴은 전체 기록 스택 추적의 계산을 지정하기 위해--delta-stacktrace옵션을 사용하여 확장되었습니다. 특히 이 옵션을--history-level=full과 함께 사용하면Helgrind성능을 최대 25% 향상할 수 있습니다. -
Intel 및 AMD 64비트 아키텍처 및 ARM 64비트 아키텍처에서 최적화된 코드에 대한
Memcheck툴의 잘못된 긍정 속도가 감소되었습니다.--expensive-definedness-checks를 사용하여 정의성 검사 처리를 제어하고 성능 비용을 절감할 수 있습니다. - Valgrind에서는 IBM Power Systems의 little-endian 변형의 명령어를 더 많이 인식할 수 있습니다.
- Valgrind에서는 IBM Z 아키텍처 z13 프로세서의 정수 및 문자열 벡터 명령을 대부분 처리할 수 있습니다.
새로운 옵션과 알려진 제한사항에 관한 자세한 내용은 valgrind(1) 매뉴얼 페이지를 참조하십시오.
(BZ#1641029, BZ#1501419)
GDB 버전 8.2
Red Hat Enterprise Linux 8은 GDB 디버거 버전 8.2와 함께 배포됩니다.주요 변경 사항은 다음과 같습니다.
-
GDB 및
gdbserver에서 원격 디버깅을 수행하는 데 IPv6 프로토콜이 지원됩니다. - 디버그 정보 없이 디버깅 기능이 향상되었습니다.
- GDB 사용자 인터페이스의 기호는 ABI 태그나 네임 스페이스와 같은 구문 구조를 사용하여 더 나은 제안사항을 제공하도록 개선되었습니다.
- 이제 백그라운드에서 명령을 실행할 수 있습니다.
- Rust 프로그래밍 언어로 작성된 디버깅 프로그램을 사용할 수 있습니다.
-
_Alignof및alignof연산자, C++ rvalue 참조 및 C99 변수-길이 자동 배열을 지원하는 구문 분석기를 통해 C와 C++ 언어 디버깅이 향상되었습니다. - GDB 확장 스크립트는 이제 Guile 스크립팅 언어를 사용할 수 있습니다.
-
확장을 위한 Python 스크립팅 언어 인터페이스가 새로운 API 함수, 프레임 데코레이터, 필터 및 unwinder로 향상되었습니다. 또한 GDB 구성의
.debug_gdb_scripts섹션에 있는 스크립트가 자동으로 로드됩니다. - GDB에서는 Python 버전 3을 사용하여 프린터, 프레임 데코레이터, 필터 및 unwinder 등의 스크립트를 실행합니다.
- ARM 및 64비트 ARM 아키텍처는 Thumb 32비트 및 시스템 호출 명령어를 포함하여 프로세스 실행 레코드 및 재생이 추가되었습니다.
- GDB는 이제 64비트 ARM 아키텍처에서 확장 가능한 벡터 확장(SVE)을 지원합니다.
- Intel PKU 레지스터 및 Intel Processor Trace에 대한 지원이 추가되었습니다.
-
Intel 기반 시스템에서
rdrand및rdseed명령을 포함하도록 레코드 및 재생 기능이 확장되었습니다. -
IBM Z 아키텍처에서 GDB의 기능은 추적점과 빠른 추적점, 벡터 레지스터와 ABI,
Catch시스템 호출을 지원하도록 확장되었습니다. 또한 GDB는 아키텍처에 대한 최신 명령을 지원합니다. - GDB는 64bit ARM 아키텍처에서 SystemTap 정적 사용자 공간 프로브(SDT)를 사용할 수 있습니다.
(BZ#1641022, BZ#1497096, BZ#1505346, BZ#1592332, BZ#1550502)
RHEL의 glibc 지역화는 여러 패키지로 배포
RHEL 8에서는 glibc 로케일 및 번역은 단일 glibc-common 패키지에서 더 이상 제공되지 않습니다. 대신, 모든 로케일과 언어는 glibc-langpack-CODE 패키지에서 사용 가능합니다. 또한 대부분의 경우 모든 로케일이 기본적으로 설치되지는 않으며 설치 프로그램에서 선택한 로케일만 설치됩니다. 사용자는 별도로 필요한 추가 로케일 패키지를 설치하거나, glibc-all-langpacks 를 설치하고자 하는 경우 이전과 마찬가지로 설치된 모든 glibc 로케일이 포함된 로케일 아카이브를 가져올 수 있습니다.
자세한 내용은 langpacks 사용을 참조하십시오.
(BZ#1512009)
GCC 버전 8.2
Red Hat Enterprise Linux 8에서 GCC 툴체인은 GCC 8.2 릴리스 시리즈를 기반으로 합니다. 주요 변경 사항은 다음과 같습니다.
- 별칭 분석, 벡터저 개선, 동일한 코드 접기, 절차 간 분석, 저장소 병합 최적화 통과 등과 같은 다양한 일반적인 최적화가 추가되었습니다.
- Sanitizer 주소가 개선되었습니다. Leak Sanitizer 및 Undefined Behavior Sanitizer가 추가되었습니다.
- 이제 디버그 정보를 DWARF5 형식으로 생성할 수 있습니다. 이 기능은 실험적입니다.
- 소스 코드 적용 분석 도구 GCOV는 다양한 개선 사항으로 확장되었습니다.
- 더 많은 프로그래밍 오류를 정적 탐지하기 위해 새로운 경고 및 향상된 진단이 추가되었습니다.
- GCC는 생성된 코드를 추가로 강화할 수 있는 도구를 제공하도록 확장되었습니다. 보안과 관련된 개선 사항에는 오버플로 검사를 위한 기본 기능, 스택 충돌에 대한 추가 보호, 컨트롤 흐름 명령의 대상 주소 확인, 바인딩된 문자열 조작 기능에 대한 경고, 바인딩되지 않은 배열 인덱스를 감지하기 위한 경고가 포함됩니다.
아키텍처 및 프로세서 지원 개선 사항은 다음과 같습니다.
- Intel AVX-512 아키텍처에 대한 여러 가지 새로운 아키텍처별 옵션, 여러 마이크로 아키텍처 및 Intel SGX(Software Wide Extensions)가 추가되었습니다.
- 코드 생성은 이제 64비트 ARM 아키텍처 LSE 확장, ARMv8.2-A 16비트 부동 소수점 확장 (FPE) 및 ARMv8.2-A, ARMv8.3-A 및 ARMv8.4-A 아키텍처 버전을 대상으로 지정할 수 있습니다.
- IBM Z 아키텍처의 z13 및 z14 프로세서 지원이 추가되었습니다.
언어 및 표준과 관련된 주요 변경 사항은 다음과 같습니다.
- C 언어에서 코드를 컴파일할 때 사용되는 기본 표준은 GNU 확장과 함께 C17으로 변경되었습니다.
- C++ 언어에서 코드를 컴파일할 때 사용되는 기본 표준은 GNU 확장과 함께 C++14로 변경되었습니다.
- C++ 런타임 라이브러리는 이제 C++ 11 및 C++14 표준을 지원합니다.
- C++ 컴파일러는 이제 C++14 표준을 구현합니다.
- C 언어 표준 C11 지원이 개선되었습니다.
-
새로운
__auto_typeGNU C 확장자는 C 언어로 C ++11자동키워드 기능의 하위 집합을 제공합니다. -
ISO/IEC TS 18661-3:2015 표준에 의해 지정된
_FloatN및_FloatNx유형 이름은 이제 C 프런트 엔드에서 인식됩니다. - 이제 빈 클래스를 인수로 전달하면 플랫폼 ABI에서 필요에 따라 Intel 64 및 AMD64 아키텍처에서 공간을 차지하지 않습니다.
-
C++ 11
alignof연산자가 반환한 값은 C_Alignof연산자 및 반환 최소 정렬과 일치하도록 수정되었습니다. 선호하는 정렬을 찾으려면 GNU 확장__alignof__를 사용하십시오. -
Fortran 언어 코드의
libgfortran라이브러리의 기본 버전이 5로 변경되었습니다. - Ada (GNAT), GCC Go 및 aim C/C++ 언어에 대한 지원이 제거되었습니다. Go 코드 개발을 위해 Go 도구 세트를 사용합니다.
(JIRA:RHELPLAN-7437, BZ#1512593, BZ#1512378)
Go 암호화 라이브러리 FIPS 모드에서 시스템 설정 준수
이전 버전에서는 라이브러리를 사용하여 애플리케이션 빌드 시 명시적으로 비활성화한 경우를 제외하고 Go 표준 암호화 라이브러리는 항상 FIPS 모드를 사용했습니다. 그 결과 Go 기반 애플리케이션 사용자는 FIPS 모드 사용 여부를 제어할 수 없었습니다. 이 변경으로 인해 시스템이 FIPS 모드에서 구성되지 않은 경우 라이브러리는 기본적으로 FIPS 모드로 설정되지 않습니다. 결과적으로 RHEL 시스템의 Go 기반 애플리케이션 사용자는 Go 암호화 라이브러리의 FIPS 모드 사용을 제어할 수 있습니다.
(BZ#1633351)
strace는 버전 4.24로 업데이트
Red Hat Enterprise Linux 8은 strace 툴 버전 4.24와 함께 배포됩니다. 주요 변경 사항은 다음과 같습니다.
-
시스템 호출 변조 기능이
-e inject=옵션으로 추가되었습니다. 여기에는 오류, 반환 값, 지연 및 신호 삽입이 포함됩니다. 시스템 호출 자격 구문이 개선되었습니다.
-
정규 표현식을 사용하여 시스템 호출을 필터링하기 위해
-e trace=/regex옵션이 추가되었습니다. -
자격이 시스템 호출과 일치하지 않더라도
-e trace=옵션에서 시스템 호출 자격 앞에 물음표를 추가하면strace가 계속됩니다. -
-e trace옵션의 시스템 호출 자격에 성격 지정이 추가되었습니다.
-
정규 표현식을 사용하여 시스템 호출을 필터링하기 위해
-
kvm vcpu종료 이유의 디코딩이 추가되었습니다. 이를 위해서는-e kvm=vcpu옵션을 사용합니다. -
이제
-k옵션을 사용할 때elfutils의libdw라이브러리가 스택 풀링에 사용됩니다. 또한 기호 분리는libiberty라이브러리를 사용하여 수행됩니다. -
이전에는
-r옵션을 사용하면strace가-t옵션을 무시했습니다. 이 문제가 해결되었으며 두 옵션은 이제 독립적입니다. -
append 모드에서 출력 파일을 열기 위해
-A옵션이 추가되었습니다. -
xlat출력 형식을 구성하기 위해-X옵션이 추가되었습니다. -
-yy옵션으로 소켓 주소를 디코딩하는 기능이 향상되었습니다. 또한-yy모드에서 블록 및 문자 장치 번호 출력이 추가되었습니다. -
이제 IBM Z 아키텍처에서 단일
strace툴을 사용하여 64비트 및 32비트 바이너리를 추적할 수 있습니다. 결과적으로 RHEL 8에는 별도의strace32패키지가 더 이상 존재하지 않습니다.
또한 다음 항목에 대한 디코딩이 추가, 개선, 업데이트되었습니다.
-
netlink프로토콜, 메시지 및 속성 -
arch_prctl,bpf,getsockopt,io_pgetevent,keyctl,prctl,pkey_alloc,pkey_free,pkey_mprotect,ptrace,rseq,setsockopt,소켓,statx및 기타 시스템 호출 -
ioctl시스템 호출을 위한 여러 명령 - 다양한 유형의 상수
-
간접 인수가 있는
execveat,inotify_add_watch,inotify_init,select,symlink,symlinkat시스템 호출 및mmap시스템 호출 경로 추적 - 신호 코드 목록
(BZ#1641014)
RHEL 8의 컴파일러 툴 세트
RHEL 8.0은 다음과 같은 컴파일러 툴셋을 Application Streams로 제공합니다.
- LLVM 컴파일러 인프라 프레임워크, C 및 C++ 언어용 Clang 컴파일러, LLDB 디버거 및 코드 분석을 위한 관련 툴을 제공하는 Clang 및 LLVM Toolset 7.0.1 Using Clang and LLVM Toolset 문서를 참조하십시오.
-
rust Toolset 1.31은 Rust 프로그래밍 언어 컴파일러
rustc, loading 빌드 도구 및 종속성 관리자, stuff-vendor플러그인 및 필수 라이브러리를 제공합니다.Rust Toolset 사용 문서를 참조하십시오. -
Go Toolset 1.11.5: Go 프로그래밍 언어 도구 및 라이브러리를 제공합니다. Go는
golang라고도 합니다. Go Toolset 사용 문서를 참조하십시오.
(BZ#1695698, BZ#1613515, BZ#1613516, BZ#1613518)
RHEL 8의 Java 구현 및 Java 툴
RHEL 8 AppStream 리포지토리에는 다음이 포함됩니다.
-
OpenJDK 11 Java 런타임 환경 및 OpenJDK 11 Java 소프트웨어 개발 키트를 제공하는
java-11-openjdk패키지. -
OpenJDK 8 Java 런타임 환경 및 OpenJDK 8 Java 소프트웨어 개발 키트를 제공하는
java-1.8.0-openjdk패키지. -
Java Web Start를 구현하는 Iced
tea-web패키지입니다. -
Java 애플리케이션을 컴파일, 조립, 테스트 및 실행하는 Java 라이브러리 및 명령줄 툴을 제공하는
ant모듈입니다.ant가 버전 1.10으로 업데이트되었습니다. -
maven모듈은 소프트웨어 프로젝트 관리 및 이해 툴을 제공하는 maven 모듈입니다.Maven은 이전에는 소프트웨어 컬렉션 또는 지원되지 않는 선택적 채널에서만 사용할 수 있었습니다. -
scala모듈은 Java 플랫폼용 일반 용도의 프로그래밍 언어를 제공합니다.Scala는 이전에는 소프트웨어 컬렉션으로만 사용할 수 있었습니다.
또한 java-1.8.0-ibm 패키지는 추가 리포지토리를 통해 배포됩니다. 이 리포지토리의 패키지는 Red Hat에서 지원되지 않습니다.
(BZ#1699535)
C ++ ABI가 mac ::string 및-4.8 ::list에서 변경
libstdc++ 라이브러리의 ABI(Application Binary Interface) 및 cryptsetup ::list 클래스가 RHEL 7 (GCC 4.8)과 C++11 표준을 준수하도록 RHEL 8(GCC 8) 간에 변경되었습니다. libstdc++ 라이브러리는 이전 ABI와 새로운 ABI를 모두 지원하지만 다른 C++ 시스템 라이브러리는 지원하지 않습니다. 따라서 이러한 라이브러리에 대해 동적으로 연결되는 애플리케이션을 다시 빌드해야 합니다. 이는 C++98을 포함한 모든 C++ 표준 모드에 영향을 미칩니다. RHEL 7용 Red Hat Developer Toolset 컴파일러로 빌드된 애플리케이션에도 영향을 미치므로 시스템 라이브러리와 호환성을 유지하기 위해 이전 ABI를 유지했습니다.
(BZ#1704867)
5.1.12. 파일 시스템 및 스토리지 링크 복사링크가 클립보드에 복사되었습니다!
DIF/DIX(데이터 무결성 필드/데이터 무결성 확장) 지원
DIF/DIX는 하드웨어 벤더가 자격을 갖춘 구성에서 지원되며, RHEL에서 특정 HBA(호스트 버스 어댑터) 및 스토리지 어레이 구성에 대한 완전한 지원을 제공합니다.
DIF/DIX는 다음 구성에서 지원되지 않습니다.
- 부팅 장치에서 사용하는 것은 지원되지 않습니다.
- 가상화된 게스트에서는 지원되지 않습니다.
- DIF/DIX가 활성화된 경우 Red Hat은 자동 스토리지 관리 라이브러리(ASMLib) 사용을 지원하지 않습니다.
DIF/DIX는 스토리지 장치에서 활성화 또는 비활성화되어 있으며 애플리케이션을 포함(및 포함)할 수 있습니다. 스토리지 장치의 DIF를 활성화하는 방법은 장치에 따라 다릅니다.
DIF/DIX 기능에 대한 자세한 내용은 DIF/DIX 의 내용을 참조하십시오.
(BZ#1649493)
XFS는 공유 COW(Copy-On-Write) 데이터 Extent 기능 지원
XFS 파일 시스템은 공유 copy-on-write(COW) 데이터Extent 기능을 지원합니다. 이 기능을 사용하면 두 개 이상의 파일이 공통 데이터 블록 집합을 공유할 수 있습니다. 공통 블록을 공유하는 파일 중 하나가 변경되면 XFS는 링크를 공통 블록으로 분리하고 새 파일을 만듭니다. 이는 다른 파일 시스템에 있는 COW(Copy-On-Write) 기능과 유사합니다.
공유 COW(Copy-On-Write) 데이터 Extent 특징은 다음과 같습니다.
- 신속 (Fast)
- 공유 복사본 생성 시 디스크 I/O를 사용하지 않습니다.
- 공간 효율적 (Space-efficient)
- 공유 블록이 추가 디스크 공간을 소비하지 않습니다.
- 투명 (Transparent)
- 공통 블록을 공유하는 파일은 일반 파일과 동일하게 작동합니다.
사용자 공간 유틸리티는 다음과 같은 목적으로 공유 COW(Copy-On-Write) 데이터 Extent를 사용할 수 있습니다.
-
효율적인 파일 복제(예:
cp --reflink명령) - 파일 별 스냅샷
이 기능은 보다 더욱 효율적인 운영을 위해 Overlayfs 및 NFS와 같은 커널 하위 시스템에서도 사용됩니다.
공유 COW(Copy-On-Write) 데이터 Extent는 xfsprogs 패키지 버전 4.17.0-2.el8 이상에서 XFS 파일 시스템을 만들 때 기본적으로 활성화됩니다.
현재 Direct Access(DAX) 장치는 공유 COW(Copy-On-Write) 데이터 Extent가 있는 XFS를 지원하지 않습니다. 이 기능을 사용하지 않고 XFS 파일 시스템을 만들려면 다음 명령을 사용하십시오.
mkfs.xfs -m reflink=0 block-device
# mkfs.xfs -m reflink=0 block-device
Red Hat Enterprise Linux 7은 읽기 전용 모드에서만 공유 COW(Copy-On-Write) 데이터 Extent로 XFS 파일 시스템을 마운트할 수 있습니다.
(BZ#1494028)
XFS 파일 시스템 최대 크기는 1024TiB
XFS 파일 시스템의 최대 지원 크기가 500TiB에서 1024TiB로 증가했습니다.
500TiB 이상의 파일 시스템에는 다음이 필요합니다.
- 메타데이터 CRC 기능과 free inode btree 기능은 모두 파일 시스템 형식으로 활성화되어야 합니다.
- 할당 그룹 크기는 최소 512GiB입니다.
RHEL 8에서 mkfs.xfs 유틸리티는 기본적으로 이러한 요구 사항을 충족하는 파일 시스템을 생성합니다.
이러한 요구 사항을 충족하지 않는 소규모 파일 시스템을 500TiB 이상의 새로운 크기로 확장하는 기능은 지원되지 않습니다.
(BZ#1563617)
ext4 파일 시스템에서 메타데이터 체크섬지원
이번 업데이트를 통해 ext4 메타데이터는 체크섬 으로 보호됩니다. 이를 통해 파일 시스템이 손상된 메타데이터를 인식하여 손상을 방지하고 파일 시스템의 탄력성을 높일 수 있습니다.
모든 아키텍처를 지원하는 VDO
VDO(Virtual Data Optimizer)는 RHEL 8이 지원하는 모든 아키텍처에서 사용할 수 있습니다.
지원되는 아키텍처 목록은 2장. 아키텍처 에서 참조하십시오.
(BZ#1534087)
BOOM 부팅 관리자가 부팅 항목을 생성하는 과정을 단순화
BOOM은 부팅 항목 설정을 위해 BootLoader Specification을 지원하는 부팅 로더를 사용하는 Linux 시스템용 부팅 관리자입니다. 유연한 부팅 설정이 가능하며 LVM을 사용하여 생성된 시스템의 스냅샷 이미지를 부팅하는 것과 같이 새롭거나 수정된 부팅 항목을 간단하게 만들 수 있습니다.
BOOM은 기존 부팅 로더 구성을 변경하지 않고 추가 항목만 삽입합니다. 기존 설정이 유지되며 커널 설치 및 업데이트 스크립트와 같은 배포 통합은 이전처럼 계속 작동합니다.
BOOM에는 부팅 항목을 쉽게 생성할 수 있는 CLI(Command-Line Interface) 및 API가 있습니다.
(BZ#1649582)
LUKS2는 볼륨 암호화를 위한 기본 형식
RHEL 8에서는 LUKS 버전 2(LUKS2) 형식이 기존 LUKS(LUKS1) 형식 대신 사용됩니다. 이제 dm-crypt 하위 시스템과 cryptsetup 툴은 LUKS2를 암호화된 볼륨의 기본 형식으로 사용합니다. LUKS2는 부분적인 메타데이터 손상 이벤트가 발생했을 경우에 대비하여 메타데이터 중복 및 자동 복구 기능을 갖춘 암호화된 볼륨을 제공합니다.
LUKS2는 내부 유연한 레이아웃으로 인해 향후 기능의 활성화기이기도 합니다. libcryptsetup 에 구축된 일반 커널 키링 토큰을 통해 자동 잠금을 지원하므로 사용자가 커널 키링 보존 서비스에 저장된 암호를 사용하여 LUKS2 볼륨의 잠금을 해제할 수 있습니다.
기타 주요 기능 개선 사항:
- 랩된 키 암호화 스키마 사용하여 보안키 설정
- 정책 기반 암호 해독(Clevis)과 보다 쉽게 통합
- 최대 32개의 키 슬롯 - LUKS1은 8개의 키 슬롯만 제공
자세한 내용은 cryptsetup(8) 및 cryptsetup-reencrypt(8) 매뉴얼 페이지를 참조하십시오.
(BZ#1564540)
Broadcom Emulex 및 Marvell Qlogic Fibre Channel 어댑터에서 NVMe/FC 완전 지원
Broadcom Emulex 및 Marvell Qlogic Fibre Channel 32Gbit 어댑터와 함께 사용할 때 Initiator 모드에서 NVMe over Fibre Channel (NVMe/FC) 전송 유형이 완전히 지원됩니다.
NVMe/FC(NVMe over Fibre Channel)는 Red Hat Enterprise Linux에서 이전에 도입된 RDMA(Remote Direct Memory Access) 프로토콜 외에도 NVMe(Nonvolatile Memory Express) 프로토콜을 위한 추가적인 패브릭 전송 유형입니다.
NVMe/FC 활성화:
lpfc드라이버에서 NVMe/FC를 활성화하려면/etc/modprobe.d/lpfc.conf파일을 편집하고 다음 옵션을 추가합니다.lpfc_enable_fc4_type=3
lpfc_enable_fc4_type=3Copy to Clipboard Copied! Toggle word wrap Toggle overflow qla2xxx드라이버에서 NVMe/FC를 활성화하려면/etc/modprobe.d/qla2xxx.conf파일을 편집하고 다음 옵션을 추가합니다.qla2xxx.ql2xnvmeenable=1
qla2xxx.ql2xnvmeenable=1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 제한 사항:
- NVMe/FC에서 멀티패스가 지원되지 않습니다.
- NVMe/FC에서 NVMe 클러스터링이 지원되지 않습니다.
-
NVMe/FC에서
kdump가 지원되지 않습니다. - SAN(Storage Area Network)의 NVMe/FC에서 시스템 부팅이 지원되지 않습니다.
(BZ#1649497)
새로운 scan_lvs 구성 설정
기본적으로 새로운 lvm.conf 구성 파일 설정인 scan_lvs 가 추가되어 0으로 설정됩니다. 새 기본 동작은 LVM에서 LV 상단에 있을 수 있는 PV를 검색하지 않도록 중지합니다. 즉, 추가 PV에 대해 활성 LV를 검사하지 않습니다. 기본 설정은 LVM이 LV에서 PV를 생성하지 못하도록 합니다.
LV 상단에 있는 PV를 계층화하면 LV에 배치된 VM 이미지가 발생할 수 있습니다. 이 경우 호스트가 PV에 액세스하는 것이 안전하지 않습니다. 이 안전하지 않은 액세스를 방지하는 것이 새로운 기본 동작의 주요 이유입니다. 또한 활성 LV가 많은 환경에서 LVM에서 수행하는 장치 스캔의 양을 크게 줄일 수 있습니다.
이 설정을 1로 변경하여 이전 동작을 복원할 수 있습니다.
DM Multipath 설정 파일의 새로운 overrides 섹션 추가
/etc/multipath.conf 파일에는 모든 장치에 대한 구성 값을 설정할 수 있는 overrides 섹션이 포함되어 있습니다. DM Multipath는 장치를 포함하는 경로의 /etc/multipath.conf 파일에 있는 multipaths 섹션에서 지정한 속성으로 덮어쓰지 않는 한 모든 장치에 대해 이러한 속성을 사용합니다. 이 기능은 더 이상 지원되지 않는 구성 파일의 devices 섹션에 있는 all_devs 매개변수를 대체합니다.
(BZ#1643294)
NVDIMM 장치의 설치 및 부팅 지원
이전에는 설치 프로그램이 모든 모드에서 NVDIMM(Nonvolatile Dual Inline Memory Module) 장치를 무시했습니다.
이번 업데이트를 통해 NVDIMM 장치를 지원하도록 커널이 개선되어 향상된 시스템 성능, 데이터베이스 또는 분석 워크로드와 같은 쓰기 집약적인 애플리케이션에 대한 파일 시스템 액세스가 강화되어 CPU 오버헤드가 감소됩니다.
이번 업데이트를 통해 다음을 지원할 수 있습니다.
-
nvdimmKickstart 명령과 GUI를 사용하여 설치 시 NVDIMM 장치를 사용하면 설치 중에 섹터 모드에서 NVDIMM 장치를 설치 및 부팅하고 NVDIMM 장치를 섹터 모드로 재설정할 수 있습니다. -
NVDIMM 장치를 다루는 명령은 Anaconda에 대한
Kickstart스크립트를 확장합니다. -
grub2,efibootmgr및efivar시스템 구성 요소로 NVDIMM 장치를 처리 및 부팅할 수 있습니다.
(BZ#1499442)
DM Multipath의 경계 경로 검색 개선
multipathd 서비스의 경계 경로 검색이 개선되었습니다. 이는 멀티패스 장치가 반복적으로 실패할 가능성이 있는 경로를 피하고 성능을 향상시킬 수 있습니다. 경계 경로는 지속적이지만 일시적인 I/O 오류가 있는 경로입니다.
/etc/multipath.conf 파일의 다음 옵션은 경계 경로 동작을 제어합니다.
-
marginal_path_double_failed_time -
marginal_path_err_sample_time -
marginal_path_err_rate_threshold -
marginal_path_err_recheck_gap_time
DM Multipath는 다음과 같은 경우 경로를 비활성화하고 구성된 샘플 기간 동안 I/O를 반복 테스트합니다.
-
나열된
multipath.conf옵션으로 설정된 경우 - 구성된 기간 내에 경로가 두 번 실패한 경우
- 기타 경로를 사용할 수 있는 경우
테스트 중에 경로에 구성된 오류 비율보다 큰 오류 비율이 있는 경우 DM Multipath는 설정된 간격 시간 동안 이 비율을 무시한 다음 복원할 수 있을 정도로 제대로 작동하고 있는지 여부를 다시 확인합니다.
자세한 내용은 multipath.conf 매뉴얼 페이지를 참조하십시오.
(BZ#1643550)
블록 장치의 다중 대기열 스케줄링
Red Hat Enterprise Linux 8에서 블록 장치는 Multi-Queue 스케줄링을 사용합니다. 이를 통해 솔리드 스테이트 드라이브(SSD) 및 멀티 코어 시스템으로 블록 계층 성능을 확장할 수 있습니다.
RHEL 7 및 이전 버전에서 사용 가능한 기존 스케줄러가 제거되었습니다. RHEL 8에서는 다중 대기열 스케줄러만 지원합니다.
(BZ#1647612)
5.1.13. 고가용성 및 클러스터 링크 복사링크가 클립보드에 복사되었습니다!
새로운 pcs 명령으로 사용 가능한 워치독 장치 나열 및 테스트
Pacemaker로 SBD를 구성하려면 워치독 장치가 작동해야 합니다. 이 릴리스에서는 pcs stonith sbd watchdog list 명령을 지원하여 로컬 노드에서 사용 가능한 워치독 장치를 나열하고 pcs stonith sbd watchdog test 명령을 지원하여 워치독 장치를 테스트합니다. sbd 명령행 툴에 대한 자세한 내용은 sbd(8) 매뉴얼 페이지를 참조하십시오.
(BZ#1578891)
pcs 명령으로 작업 및 해당 간격 기준으로 리소스 오류 필터링 지원
Pacemaker는 리소스 이름과 노드 상단에서 리소스 작업별로 리소스 오류를 추적합니다. pcs resource failcount show 명령은 리소스, 노드, 작업, 간격별로 오류를 필터링할 수 있으며 리소스 및 노드별로 수집된 오류를 표시하거나 리소스, 노드, 작업, 간격별로 상세한 오류를 표시할 수 있는 옵션을 제공합니다. pcs resource failcount show 명령을 사용하면 리소스, 노드, 작업, 간격별로 오류를 필터링할 수 있습니다. 리소스 및 노드별로 집계된 오류를 표시하거나 리소스, 노드, 작업 및 간격별로 세부 정보를 표시하는 옵션을 제공합니다. 또한 pcs resource cleanup 명령을 사용하면 리소스, 노드, 작업 및 간격별로 오류를 필터링할 수 있습니다.
(BZ#1591308)
corosync 로그에서 타임스탬프 활성화
이전에는 corosync 로그에 타임스탬프가 없었으므로 다른 노드 및 데몬의 로그에 연결하기가 어려웠습니다. 이 릴리스에서는 corosync 로그에 타임스탬프가 기록됩니다.
(BZ#1615420)
pcs cluster setup, pcs cluster node add 및 pcs cluster node remove 명령의 새로운 형식
Red Hat Enterprise Linux 8에서 pcs는 Corosync 3, knet 및 노드 이름을 완벽하게 지원합니다. 노드 이름은 필수 사항이며 노드 식별자에서 노드 주소를 교체합니다. 노드 주소는 임의로 제공됩니다.
-
pcs host auth명령에서 노드 주소가 노드 이름으로 기본 설정됩니다. -
pcs cluster setup명령 및pcs cluster node add명령에서 노드 주소가pcs host auth명령에 지정된 노드 주소로 기본 설정됩니다.
이러한 변경으로 인해 클러스터 설정, 클러스터에 노드 추가, 클러스터에서 노드 제거를 위한 명령 형식이 변경되었습니다. 이러한 새로운 명령 형식에 대한 자세한 내용은 pcs cluster setup, pcs cluster node add 및 pcs cluster node remove 명령의 도움말 보기를 참조하십시오.
(BZ#1158816)
새로운 pcs 명령
Red Hat Enterprise Linux 8에는 다음과 같은 새로운 명령이 도입되었습니다.
-
RHEL 8에서는 새로운 명령
pcs cluster node add-guest | remove-guest를 도입했습니다. 이 명령은 RHEL 7에서pcs cluster remote-node add | remove명령을 대체합니다. -
RHEL 8에는 RHEL 7에서
pcs명령이 도입되었습니다.cluster 쿼럼 차단 해제명령을 대체하는 새로운 명령 pcs quorum 차단 해제 -
pcs resource failcount reset명령이pcs resource cleanup명령의 기능을 복제하므로 제거되었습니다. RHEL 8에서는 RHEL 7에서
pcs resource [show]명령을 바꾸는 새로운 명령이 도입되었습니다.-
RHEL 8의
pcs resource [status]명령은 RHEL 7의pcs resource [show]명령을 대체합니다. -
RHEL 8의
pcs resource config명령은 RHEL 7에서pcs resource [show] --full명령을 대체합니다. -
RHEL 8의
pcs resource config resource id명령은 RHEL 7의pcs resource show resource id명령을 대체합니다.
-
RHEL 8의
RHEL 8에서는 RHEL 7에서
pcs stonith [show]명령을 교체하는 새로운 명령이 도입되었습니다.-
RHEL 8의
pcs stonith [status]명령은 RHEL 7의pcs stonith [show]명령을 대체합니다. -
RHEL 8의
pcs stonith config명령은 RHEL 7의pcs stonith [show] --full명령을 대체합니다. -
RHEL 8의
pcs stonith config resource id명령은 RHEL 7의pcs stonith show resource id명령을 대체합니다.
-
RHEL 8의
(BZ#1654280)
RHEL 8에서 Pacemaker 2.0.0
pacemaker 패키지가 Pacemaker 2.0.0 업스트림 버전으로 업그레이드되었으며 이전 버전에 비해 여러 버그 수정 및 개선 사항을 제공합니다.
-
Pacemaker 세부 로그는 기본적으로
/var/log/pacemaker/pacemaker.log가 됩니다(/var/log/cluster아래에서/var/log에 직접 표시되거나corosync와 결합되지 않음). -
Pacemaker 데몬 프로세스의 이름이 로그를 더욱 직관적으로 읽을 수 있도록 변경되었습니다. 예를 들어,
pengine은pacemaker-schedulerd로 이름이 변경되었습니다. -
더 이상 사용하지 않는
default-resource-stickiness및is-managed-default클러스터 속성에 대한 지원이 중단되었습니다. 대신resource-stickiness및is-managed속성을 리소스 기본값으로 설정해야 합니다. 더 이상 사용하지 않는 구문이 있는 기존 구성(새롭게 생성된 구문이 아님)은 지원되는 구문을 사용하도록 자동 업데이트됩니다. - 자세한 변경 사항 목록은 Red Hat Enterprise Linux 8의 Pacemaker 2.0 업그레이드를 참조하십시오.
Red Hat Enterprise Linux 7 또는 이전 버전을 사용하여 기존 클러스터를 업그레이드하는 사용자는 모든 클러스터 노드에서 RHEL을 업그레이드하기 전과 후에 모든 클러스터 노드에서 pcs cluster cib-upgrade를 실행하는 것이 좋습니다.
마스터 리소스의 이름이 승격 가능한 복제 리소스로 변경
RHEL(Red Hat Enterprise Linux) 8은 Pacemaker 2.0을 지원합니다. 마스터/슬레이브 리소스는 더 이상 별도의 리소스 유형이 아니지만 promotable 메타 속성이 true로 설정된 표준 복제 리소스입니다.이번 업데이트에는 다음과 같은 변경 사항이 구현되었습니다.
-
pcs명령으로 더 이상 마스터 리소스를 생성할 수 없습니다. 대신promotable복제 리소스를 생성할 수 있습니다. 관련 키워드와 명령이master에서promotable로 변경되었습니다. - 기존의 모든 마스터 리소스가 승격 가능한 복제 리소스로 표시됩니다.
- RHEL7 클러스터는 승격 가능한 복제를 지원하지 않으므로 웹 UI에서 RHEL7 클러스터를 관리할 때 마스터 리소스를 계속 마스터라고 부릅니다.
(BZ#1542288)
클러스터에서 노드를 인증하기 위한 새로운 명령
RHEL(Red Hat Enterprise Linux) 8에서 클러스터 노드 인증에 사용되는 명령에 다음과 같은 변경 사항이 적용됩니다.
-
인증을 위한 새로운 명령은
pcs host auth입니다. 이 명령으로 사용자는 호스트 이름, 주소 및pcsd포트를 지정할 수 있습니다. -
pcs cluster auth명령은 로컬 클러스터의 노드만 인증하고 노드 목록을 허용하지 않습니다. -
각 노드에 대해 주소를 지정할 수 있습니다.
pcs/pcsd는 지정된 주소를 사용하여 각 노드와 통신합니다. 그런 다음pcs/pcsd는 지정된 주소를 사용하여 각 노드와 통신합니다. 이러한 주소는 내부적으로corosync가 사용하는 주소와 다를 수 있습니다. -
pcs pcsd clear-auth명령은pcs pcsd deauth명령과pcs host deauth명령으로 교체되었습니다. 사용자는 새 명령으로 단일 호스트뿐 아니라 모든 호스트의 인증을 해제할 수 있습니다. -
이전에는 노드 인증이 양방향이었으며
pcs cluster auth명령을 실행하면 지정된 모든 노드가 서로 인증되었습니다. 그러나pcs host auth명령은 지정된 노드에 대해 로컬 호스트만 인증됩니다. 따라서 이 명령을 실행할 때 다른 노드에 대해 인증되는 노드를 보다 효과적으로 제어할 수 있습니다. 클러스터를 설정하거나 노드 추가 시pcs가 클러스터의 토큰을 자동으로 동기화하므로 클러스터의 모든 노드는 이전과 마찬가지로 자동으로 인증되고 클러스터 노드는 서로 통신할 수 있습니다.
이러한 변경 사항은 이전 버전과 호환되지 않습니다. RHEL 7 시스템에서 인증된 노드는 다시 인증해야 합니다.
(BZ#1549535)
pcs 명령으로 펜싱 기록의 표시, 정리 및 동기화 지원
Pacemaker의 fence 데몬은 실행한 모든 fence 작업 내역(보류 중, 성공 및 실패)을 추적합니다. 이번 릴리스에서는 pcs 명령을 사용하여 사용자가 다음과 같은 방법으로 펜싱 기록에 액세스할 수 있습니다.
-
pcs status명령으로 실패한 펜싱 작업과 보류 중인 펜싱 작업 표시 -
pcs status --full명령으로 전체 펜싱 작업 표시 -
pcs stonith history명령으로 펜싱 기록을 표시 및 정리할 수 있는 옵션 제공 -
펜싱 기록이 자동으로 동기화되지만
pcs stonith history명령은 필요에 따라 사용자가 펜싱 기록을 수동으로 동기화할 수 있는update옵션 지원
(BZ#1620190, BZ#1615891)
5.1.14. 네트워킹 링크 복사링크가 클립보드에 복사되었습니다!
nftables가 기본 네트워크 패킷 필터링 프레임워크로 iptables 대체
nftables 프레임워크는 패킷 분류 기능을 제공하며 iptables, ip6tables, arptables, ebtables 툴을 대체합니다. 이전의 패킷 필터링 툴에 비해 편의성, 기능 및 성능이 크게 향상되었으며 주요 개선 사항은 다음과 같습니다.
- 선형 처리를 대신하는 룩업 테이블
-
IPv4및IPv6프로토콜 모두를 위한 단일 프레임워크 - 전체 규칙 세트를 가져오기, 업데이트 및 저장하는 대신 모두 정밀하게 적용되는 규칙
-
규칙 세트(
nftrace) 및 모니터링 추적 이벤트(nft툴 내부)에서 디버깅 및 추적 지원 - 프로토콜별 확장 없이 보다 일관되고 컴팩트한 구문
- 타사 애플리케이션용 Netlink API
iptables과 마찬가지로 nftables는 체인을 저장하기 위해 테이블을 사용합니다. 체인에는 작업을 수행하기 위한 개별 규칙이 포함되어 있습니다. nft 툴은 이전 패킷 필터링 프레임워크의 모든 툴을 대체합니다. libnftables 라이브러리는 libmnl 라이브러리를 통해 nftables Netlink API와 낮은 수준의 상호 작용에 사용할 수 있습니다.
iptables, ip6tables, ebtables 및 arptables 툴은 같은 이름을 가진 nftables 기반 드롭인 툴로 교체됩니다. 외부 동작은 기존 대응 동작과 일치하지만, 내부적으로는 필요에 따라 호환성 인터페이스를 통해 기존 netfilter 커널 모듈과 함께 nftables를 사용합니다.
nftables 규칙 세트에서 모듈의 영향은 nft list ruleset 명령을 사용하여 확인할 수 있습니다. 이러한 툴은 테이블, 체인 및 규칙을 nftables 규칙 세트에 추가하기 때문에 nft flush ruleset 명령과 같은 nftables 규칙 세트 작업이 이전의 별도 기존 명령을 사용하여 설치된 규칙 세트에 영향을 줄 수 있습니다.
어떤 종류의 툴이 존재하는지 신속하게 확인하기 위해 백엔드 이름을 포함하도록 버전 정보가 업데이트되었습니다. RHEL 8에서는 nftables 기반의 iptables 툴로 다음 버전 문자열이 출력됩니다.
iptables --version
$ iptables --version
iptables v1.8.0 (nf_tables)
기존 iptables 툴이 있는 경우 다음 버전 정보가 출력됩니다.
iptables --version
$ iptables --version
iptables v1.8.0 (legacy)
(BZ#1644030)
RHEL 8에서 주요 TCP 기능
Red Hat Enterprise Linux 8은 더 높은 성능, 향상된 확장성 및 안정성을 제공하는 TCP 네트워킹 스택 버전 4.18과 함께 배포됩니다. 특히 접속률이 높고 사용량이 많은 TCP 서버의 경우 성능이 향상됩니다.
또한 새로운 TCP 혼잡 알고리즘인 BBR 및 NV 두 가지를 사용할 수 있으므로 대부분 시나리오에서 Cubic보다 대기 시간이 짧아지고 처리량이 향상됩니다.
(BZ#1562998)
firewalld는 기본적으로 nftables를 사용
이번 업데이트를 통해 nftables 필터링 하위 시스템이 firewalld 데몬의 기본 방화벽 백엔드가 됩니다. 백엔드를 변경하려면 /etc/firewalld/firewalld.conf 파일에서 FirewallBackend 옵션을 사용하십시오.
이 변경으로 nftables를 사용할 때 동작에서 다음과 같은 차이가 발생합니다.
iptables규칙 실행이 항상firewalld규칙 이전에 발생-
iptables의DROP은 패킷이firewalld에 절대 표시되지 않음을 의미함 -
iptables의ACCEPT는 패킷이firewalld규칙에 여전히 종속된다는 것을 의미함
-
-
firewalld직접 규칙은 여전히iptables를 통해 구현되지만 다른firewalld기능은nftables를 사용함 -
firewalld가 설정된 연결을 일반적으로 수락하기 전에 직접 규칙 실행이 이루어짐
(BZ#1509026)
RHEL 8 wpa_supplicant에서 주요 변경 사항
RHEL(Red Hat Enterprise Linux) 8에서는 CONFIG_DEBUG_SYSLOG가 활성화된 상태에서 wpa_supplicant 패키지가 구축됩니다. 이렇게 하면 /var/log/wpa_supplicant.log 파일의 콘텐츠를 검사하는 대신 journalctl 유틸리티를 사용하여 wpa_supplicant 로그를 읽을 수 있습니다.
(BZ#1582538)
NetworkManager가 SR-IOV 가상 함수 지원
Red Hat Enterprise Linux 8.0에서는 NetworkManager를 사용하여 SR-IOV (Single Root I / O virtualization)를 지원하는 인터페이스에 대해 가상 함수(VF)를 설정할 수 있습니다. 또한 NetworkManager는 MAC 주소, VLAN, spoof checking 설정 및 허용된 비트레이트와 같은 VF의 일부 속성을 설정할 수 있습니다. SR-IOV와 관련된 모든 속성은 sriov 연결 설정에서 사용할 수 있습니다. 자세한 내용은 nm-settings(5) 매뉴얼 페이지를 참조하십시오.
(BZ#1555013)
IPVLAN 가상 네트워크 드라이버 지원
Red Hat Enterprise Linux 8.0에서 커널은 IPVLAN 가상 네트워크 드라이버를 지원합니다. 이번 업데이트를 통해 IPVLAN 가상 NIC(네트워크 인터페이스 카드)는 단일 MAC 주소를 로컬 네트워크에 노출하는 여러 컨테이너에 대한 네트워크 연결을 가능하게 합니다. 이제 단일 호스트는 피어 네트워킹 장비가 지원하는 MAC 주소 개수 제한을 개선하기 위해 다수의 컨테이너를 보유할 수 있게 됩니다.
(BZ#1261167)
NetworkManager가 연결에 대한 와일드카드 인터페이스 이름 일치 지원
이전에는 인터페이스 이름의 정확한 일치만 사용하여 주어진 인터페이스에 대한 연결을 제한할 수 있었습니다. 이번 업데이트에서는 연결에 와일드카드를 지원하는 새로운 match.interface-name 속성이 포함되어 있습니다. 이제 사용자는 와일드카드 패턴을 사용하여 보다 유연한 방식으로 연결에 대한 인터페이스를 선택할 수 있습니다.
(BZ#1555012)
네트워킹 스택 4.18 개선 사항
Red Hat Enterprise Linux 8.0에는 업스트림 버전 4.18로 업그레이드된 네트워킹 스택이 포함되어 있으며, 일부 버그 수정 및 개선사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
UDP_GSO와 같은 새로운 오프로드 기능이 도입되었으며 일부 장치 드라이버의 경우GRO_HW를 도입 - UDP(User Datagram Protocol) 확장성이 크게 개선
- 일반적으로 사용하는 폴링 코드 개선
- IPv6 프로토콜 확장성 개선
- 라우팅 코드 확장성 개선
-
새로운 기본 전송 큐 스케줄링 알고리즘인
fq_codel을 추가하여 전송 지연 개선 -
일부 전송 큐 스케줄링 알고리즘의 확장성 개선 예를 들어
pfifo_fast는 이제 잠금이 없습니다. - 가비지 컬렉션 커널 스레드를 제거하여 IP 리셀러 장치의 확장성 개선과 ip fragments는 시간 초과 시에만 만료됩니다. 그 결과 DoS의 CPU 사용량이 훨씬 낮고 지속 가능한 최대 조각울은 IP 리싱 단위에 대해 구성된 메모리 양으로 제한됩니다.
(BZ#1562987)
iptables를 nftables로 변환하는 새로운 툴
이번 업데이트에서는 iptables-translate 및 ip6tables-translate 툴을 추가하여 기존의 iptables 또는 ip6tables 규칙을 nftables에 해당하는 규칙으로 변환했습니다. 일부 확장 기능에는 해당 지원이 누락되어 있는 경우도 있습니다. 이러한 해당 기능이 누락된 확장 기능이 있는 경우 툴은 # 기호가 앞에 있는 미변환 규칙을 출력합니다. 예를 들어 다음과 같습니다.
| % iptables-translate -A INPUT -j CHECKSUM --checksum-fill | nft # -A INPUT -j CHECKSUM --checksum-fill
| % iptables-translate -A INPUT -j CHECKSUM --checksum-fill
| nft # -A INPUT -j CHECKSUM --checksum-fill
또한 사용자는 규칙 덤프를 변환하기 위해 iptables-restore-translate 및 ip6tables-restore-translate 툴을 사용할 수 있습니다. 이전에는 iptables-save 또는 ip6tables-save 명령을 사용하여 현재 규칙 덤프를 출력할 수 있습니다. 예를 들어 다음과 같습니다.
| % sudo iptables-save >/tmp/iptables.dump | % iptables-restore-translate -f /tmp/iptables.dump | # Translated by iptables-restore-translate v1.8.0 on Wed Oct 17 17:00:13 2018 | add table ip nat | ...
| % sudo iptables-save >/tmp/iptables.dump
| % iptables-restore-translate -f /tmp/iptables.dump
| # Translated by iptables-restore-translate v1.8.0 on Wed Oct 17 17:00:13 2018
| add table ip nat
| ...
(BZ#1564596)
NetworkManager를 사용하여 VPN에 새 기능 추가
Red Hat Enterprise Linux 8.0의 NetworkManager는 VPN에 다음과 같은 새로운 기능을 제공합니다.
- IKEv2(Internet Key Exchange version 2) 프로토콜 지원
-
rightid,leftcert,narrowing,rekey,fragmentation옵션과 같은 다양한 Libreswan 옵션이 추가되었습니다. 지원되는 옵션에 대한 자세한 내용은nm-settings-libreswan매뉴얼 페이지를 참조하십시오. -
기본 암호가 업데이트되었습니다. 즉, 사용자가 암호를 지정하지 않으면 NetworkManager-libreswan 플러그인은 NetworkManager-libreswan 애플리케이션에서 시스템 기본 암호를 선택합니다. 유일한 예외는 사용자가 IKEv1 공격적인 모드(aggressive mode) 설정을 선택할 때입니다. 이 경우
ike = aes256-sha1;modp1536andeps = aes256-sha1값이 Libreswan에 전달됩니다.
(BZ#1557035)
새로운 데이터 청크 유형 I-DATA가 SCTP에 추가
이번 업데이트에는 SCTP(Stream Control Transmission Protocol)에 새로운 데이터 청크 유형, I-DATA 및 스트림 스케줄러를 추가되었습니다. 이전에는 SCTP가 사용자가 보낸 것과 동일한 순서로 사용자 메시지를 전송했습니다. 그 결과, 용량이 큰 SCTP 사용자 메시지는 완전히 전송될 때까지 스트림의 다른 모든 메시지를 차단했습니다. I-DATA 청크를 사용하면 TSN(Transmission Sequence Number) 필드가 오버로드되지 않으므로 SCTP는 스트림을 다른 방식으로 스케줄링할 수 있고, I-DATA는 사용자의 메시지 인터리브를 허용합니다(RFC 8260). 결과적으로 SCTP는 이제 다양한 방식으로 스트림을 예약할 수 있으며 I-DATA 는 사용자 메시지를 인터리빙(RFC 8260)할 수 있습니다. 두 피어 모두 I-DATA 청크 유형을 지원해야 합니다.
(BZ#1273139)
NetworkManager 가 ethtool 오프로드 기능 구성을 지원
이 향상된 기능을 통해 NetworkManager 는 ethtool 오프로드 기능 구성을 지원하며 사용자는 더 이상 init 스크립트 또는 NetworkManager 디스패처 스크립트를 사용할 필요가 없습니다. 결과적으로 사용자는 다음 방법 중 하나를 사용하여 오프로드 기능을 연결 프로필의 일부로 구성할 수 있습니다.
-
nmcli유틸리티 사용 -
/etc/NetworkManager/system-connections/디렉터리에서 키 파일을 편집 -
/etc/sysconfig/network-scripts/ifcfg-*파일을 편집하여
이 기능은 현재 그래픽 인터페이스 및 nmtui 유틸리티에서 지원되지 않습니다.
(BZ#1335409)
RHEL 8의 TCP BBR 지원
새로운 TCP 정체 제어 알고리즘, Bottleneck Bandwidth 및 BBR(BBR)이 이제 Red Hat Enterprise Linux (RHEL) 8에서 지원됩니다. BBR은 성능 장애 링크의 대역폭과 round-trip 시간 (RTT)을 확인하려고 시도합니다. 대부분의 혼잡 알고리즘은 패킷 손실(기본 Linux TCP 혼잡 제어 알고리즘 포함)을 기반으로 하는데, 이는 높은 처리량 링크에 문제가 있습니다. BBR은 손실 이벤트에 직접 반응하지 않으며, 사용 가능한 대역폭과 일치하도록 TCP pacing 속도를 조정합니다. TCP BBR 사용자는 모든 관련 인터페이스에서 fq 큐링 설정으로 전환해야 합니다.
사용자는 fq_codel 대신 을 명시적으로 사용해야 합니다.
fq _codel
자세한 내용은 tc-fq 매뉴얼 페이지를 참조하십시오.
(BZ#1515987)
RHEL 8의 lksctp-tools, 버전 1.0.18
lksctp-tools 패키지인 3.28 버전은 RHEL(Red Hat Enterprise Linux) 8에서 사용할 수 있습니다. 주요 개선 사항 및 버그 수정 사항은 다음과 같습니다.
- Travis CI 및 Coverity Scan과의 통합
-
sctp_peeloff_flags함수에 대한 지원 - 사용 가능한 커널 기능 표시
- Coverity Scan 문제 해결
(BZ#1568622)
RHEL 8에서 기본적으로 SCTP 모듈 블랙리스트 지정
보안을 강화하기 위해 커널 모듈 세트가 kernel-modules-extra 패키지로 변경되었습니다. 이는 기본적으로 설치되지 않습니다. 따라서 루트가 아닌 사용자는 기본적으로 블랙리스트에 올 때 이러한 구성 요소를 로드할 수 없습니다. 이러한 커널 모듈 중 하나를 사용하려면 시스템 관리자가 kernel-modules-extra 를 설치하고 모듈 블랙리스트를 명시적으로 제거해야 합니다. 따라서 루트가 아닌 사용자는 소프트웨어 구성 요소를 자동으로 로드할 수 있습니다.
(BZ#1642795)
driverctl 0.101에서 주요 변경 사항
Red Hat Enterprise Linux 8.0은 driverctl 0.101과 함께 배포됩니다. 이 버전에는 다음과 같은 버그 수정이 포함되어 있습니다.
-
shellcheck경고가 수정되었습니다. -
bash-completion은
driverctl-bash-completion.sh 대신 driverctl으로 설치됩니다. -
PCI 버스에 대한
load_override기능이 수정되었습니다. -
driverctl서비스는basic.targetsystemd 대상에 도달하기 전에 모든 재정의를 로드합니다.
(BZ#1648411)
firewalld에 리치 규칙 우선순위 추가
우선 순위 옵션이 리치 규칙에 추가되었습니다. 이를 통해 사용자는 규칙 실행 중에 바람직한 우선 순위 순서를 정의할 수 있으며 리치 규칙에 대한 고급 제어를 제공합니다.
(BZ#1648497)
RHEL 8에서 RDMA를 통한 NVMe 지원
RHEL(Red Hat Enterprise Linux) 8에서는 RDMA(Remote Direct Memory Access)를 통한 NVMe(Nonvolatile Memory Express)는 Infiniband, RoCEv2 및 iWARP만 이니시에이터 모드에서 지원합니다.
Multipath는 장애 조치 모드에서만 지원됩니다.
추가 제한 사항:
- NVMe/RDMA에서는 kdump가 지원되지 않습니다.
- RDMA를 통해 NVMe 장치에서 부팅하는 것은 지원되지 않습니다.
nf_tables 백엔드는 dmesg를 사용한 디버깅을 지원하지 않습니다.
Red Hat Enterprise Linux 8.0은 dmesg 유틸리티의 출력을 사용하여 방화벽 디버깅을 지원하지 않는 방화벽에 nf_tables 백엔드를 사용합니다. 방화벽 규칙을 디버깅하려면 xtables-monitor -t 또는 nft monitor 추적 명령을 사용하여 규칙 평가 이벤트를 디코딩합니다.
(BZ#1645744)
Red Hat Enterprise Linux에서 VRF 지원
RHEL 8.0의 커널은 가상 라우팅 및 전달(VRF)을 지원합니다. ip 유틸리티를 사용하여 규칙 세트와 결합된 VRF 장치를 사용하면 관리자가 Linux 네트워크 스택에서 VRF 도메인을 생성할 수 있습니다. 이러한 도메인은 트래픽을 계층 3에서 분리하므로 관리자는 다른 라우팅 테이블을 생성하고 한 호스트에서 다른 VRF 도메인 내에서 동일한 IP 주소를 재사용할 수 있습니다.
(BZ#1440031)
iproute, RHEL 8의 4.18 버전
iproute 패키지는 RHEL(Red Hat Enterprise Linux) 8의 버전 4.18과 함께 배포됩니다. 가장 주목할 만한 변경 사항은 ethX:Y로 표시된 인터페이스 별칭(예: eth0:1)이 더 이상 지원되지 않는다는 것입니다. 이 문제를 해결하려면 ip link show 를 입력하기 전에 콜론과 다음 번호인 별칭 접미사를 제거해야 합니다.
(BZ#1589317)
5.1.15. 보안 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8.0 릴리스의 SWID 태그
ISO/IEC 19770-2:2015 메커니즘을 사용하여 RHEL 8.0 설치를 식별할 수 있도록 SWID(소프트웨어 식별) 태그가 /usr/lib/swidtag/redhat.com/com.redhat.RHEL-8-<architecture>.swidtag 및 /usr/lib/swidtag/redhat.com/com.redhat.RHEL-8.0-<architecture>.swidtag에 설치됩니다. 또한 이러한 태그의 상위 디렉터리는 /etc/swid/swidtags.d/redhat.com 심볼릭 링크를 통해 찾을 수 있습니다.
SWID 태그 파일의 XML 서명은 xmlsec1 verify 명령을 사용하여 확인할 수 있습니다.예:
xmlsec1 verify --trusted-pem /etc/pki/swid/CA/redhat.com/redhatcodesignca.cert /usr/share/redhat.com/com.redhat.RHEL-8-x86_64.swidtag
xmlsec1 verify --trusted-pem /etc/pki/swid/CA/redhat.com/redhatcodesignca.cert /usr/share/redhat.com/com.redhat.RHEL-8-x86_64.swidtag
코드 서명 인증 기관의 인증서는 고객 포털의 제품 서명 키 페이지에서 가져올 수도 있습니다.
(BZ#1636338)
전체 시스템의 암호화 정책이 기본적으로 적용
암호화 정책은 TLS, IPsec, DNSSEC, Kerberos 및 SSH 프로토콜을 다루는 코어 암호화 하위 시스템을 구성하는 Red Hat Enterprise Linux 8의 구성 요소입니다. 이는 관리자가 update-crypto-policies 명령을 사용하여 선택할 수 있는 소규모 정책 세트를 제공합니다.
DEFAULT 전체 시스템의 암호화 정책은 현재의 위협 모델에 대한 보안 설정을 제공합니다. 이 보안 설정은 TLS 1.2 및 1.3 프로토콜과 IKEv2 및 SSH2 프로토콜을 허용합니다. RSA 키와 Diffie-Hellman 매개변수는 2047bit보다 큰 경우 허용됩니다.
자세한 내용은 Red Hat 블로그의 Consistent security by crypto policies in Red Hat Enterprise Linux 8 문서 및 update-crypto-policies(8) 매뉴얼 페이지를 참조하십시오.
(BZ#1591620)
OpenSSH가 버전 7.8p1로 업데이트
openssh 패키지가 업스트림 버전 7.8p1로 업그레이드되었습니다. 주요 변경 사항은 다음과 같습니다.
-
SSH version 1프로토콜에 대한 지원 삭제 -
hmac-ripemd160메시지 인증 코드에 대한 지원 삭제 -
RC4(
arcfour) 암호화 지원 삭제 -
Blowfish암호화 지원 삭제 -
CAST암호화 지원 삭제 -
UseDNS옵션의 기본값을no로 변경 -
DSA공개 키 알고리즘이 기본적으로 비활성화됨 -
Diffie-Hellman매개변수의 최소 모듈러스 크기가 2048bit로 변경됨 -
ExposeAuthInfo설정 옵션의 의미가 변경됨 -
UsePrivilegeSeparation=sandbox옵션은 필수 사항이며 비활성화할 수 없음 -
허용되는 최소의
RSA> 키 크기를 1024bit로 설정
(BZ#1622511)
자동 OpenSSH 서버 키 생성을 sshd-keygen@.service에서 처리
OpenSSH는 RSA, ECDSA 및 ED25519 서버 호스트 키가 누락된 경우 자동으로 생성합니다. RHEL 8에서 호스트 키 생성을 구성하려면 sshd-keygen@.service 인스턴스화 서비스를 사용하십시오.
예를 들어, RSA 키 유형의 자동 생성을 비활성화하려면 다음을 실행합니다.
systemctl mask sshd-keygen@rsa.service
# systemctl mask sshd-keygen@rsa.service
자세한 내용은 /etc/sysconfig/sshd 파일을 참조하십시오.
(BZ#1228088)
SSH 인증에 대해 ECDSA 키 지원
이번 OpenSSH 제품군에서는 PKCS #11 스마트 카드에 저장된 ECDSA 키를 지원합니다. 따라서 사용자는 이제 SSH 인증에 RSA 및 ECDSA 키를 모두 사용할 수 있습니다.
(BZ#1645038)
libssh는 코어 암호화 구성 요소로서 SSH를 구현
이러한 변경으로 인해 Red Hat Enterprise Linux 8의 코어 암호화 구성 요소인 libssh 가 도입되었습니다. libssh 라이브러리는 SSH(Secure Shell) 프로토콜을 구현합니다.
libssh 클라이언트 측은 시스템 전체 암호화 정책을 통해 OpenSSH 에 설정된 구성을 따르지만, 시스템 차원의 암호화 정책을 통해 서버 측의 구성은 변경할 수 없습니다.
(BZ#1485241)
암호화 라이브러리에서 TLS 1.3 지원
이번 업데이트에는 모든 주요 백엔드 암호화 라이브러리에서 기본적으로 TLS(Transport Layer Security) 1.3을 사용하도록 설정되어 있습니다. 이를 통해 운영 체제 통신 계층 전반에서 낮은 대기 시간을 단축하고 RSA-PSS 또는 X25519와 같은 새로운 알고리즘을 사용하여 애플리케이션의 개인정보 보호 및 보안을 강화합니다.
(BZ#1516728)
NSS는 기본적으로 SQL 사용
이제 NSS(Network Security Services) 라이브러리는 기본적으로 신뢰 데이터베이스에 SQL 파일 형식을 사용합니다. 이전 릴리스에서 기본 데이터베이스 형식으로 사용된 DBM 파일 형식은 여러 프로세스에서 동일한 데이터베이스에 대한 동시 액세스를 지원하지 않으며 업스트림에서 더 이상 사용되지 않습니다. 결과적으로 NSS 신뢰 데이터베이스를 사용하여 키, 인증서 및 취소 정보를 저장하는 애플리케이션에서는 기본적으로 SQL 형식으로 데이터베이스를 생성합니다. 레거시 DBM 형식으로 데이터베이스를 생성하려고 하면 실패합니다. 기존 DBM 데이터베이스는 읽기 전용 모드로 열리고 자동으로 SQL 형식으로 변환됩니다. NSS는 Red Hat Enterprise Linux 6 이후의 SQL 파일 형식을 지원합니다.
(BZ#1489094)
스마트 카드 및 HSM에 대한 PKCS #11 지원이 시스템 전반에서 일관성 유지
이번 업데이트를 통해 PKCS #11 암호화 토큰 인터페이스와 함께 스마트 카드 및 HSM(Hardware Security Module) 사용 방법이 시스템 전반에서 일관성을 유지합니다. 즉, 사용자와 관리자는 시스템의 모든 관련 툴에 대해 동일한 구문을 사용할 수 있습니다. 주요 개선 사항은 다음과 같습니다.
- 관리자와 애플리케이션 작성자 모두를 위해 RHEL 서버에서 토큰 활성화를 단순화하는 PKCS #11 URI(Uniform Resource Identifier) 체계 지원
-
전체 시스템에서 시스템 카드 및 HSM 등록에
pkcs11.conf를 사용 -
NSS, GnuTLS 및 OpenSSL(
openssl-pkcs11엔진을 통해) 애플리케이션에서 HSM 및 스마트 카드에 대한 일관된 지원 가능 -
Apache HTTP 서버(
httpd)가 HSM을 완벽하게 지원
자세한 내용은 pkcs11.conf(5) 매뉴얼 페이지를 참조하십시오.
(BZ#1516741)
Firefox는 이제 시스템 전체에서 등록된 PKCS #11 드라이버와 함께 작동합니다.
Firefox 웹 브라우저는 모듈을 자동으로 로드하고 p11-kit에 시스템 전체에서 등록된 모든 스마트 카드는 p11-kit -proxypkcs11.conf 파일을 통해 자동으로 감지됩니다. TLS 클라이언트 인증을 사용하려면 추가 설정이 필요하지 않으며 서버가 요청할 때 스마트 카드의 키가 자동으로 사용됩니다.
(BZ#1595638)
RSA-PSS가 OpenSC에서 지원
이번 업데이트에서 RSA-PSS 암호화 서명 체계에 대한 지원이 OpenSC 스마트 카드 드라이버에 추가되었습니다. 이러한 새로운 체계는 클라이언트 소프트웨어에서 TLS 1.3 지원에 필요한 보안 암호화 알고리즘을 사용 가능하게 합니다.
(BZ#1595626)
RHEL 8 Libreswan 에서 주요 변경 사항
libreswan 패키지가 업스트림 버전 3.27로 업그레이드되어 이전 버전에 비해 많은 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
-
authby=rsa-sha2, ECDSA (RFC 7427)를 통한 RSA-PSS(RFC 7427) 지원,authby=ecdsa-sha2를 통해 RFC 7427(RFC 7427)에 대한 지원은dh31키워드를 사용하는 CURVE25519 및 IKE20-POLY1305를 통해 IKE20-POLY1305를 통해 암호화를 추가했습니다. -
업스트림에서 KLIPS를 완전히 사용하지 않으므로 KLIPS 대체 커널 모듈에 대한 지원이
Libreswan에서 제거되었습니다. - Diffie-Hellman 그룹은 DH22, DH23 및 DH24는 더 이상 지원되지 않습니다(RFC 8247 참조).
authby=rsasig 는 항상 RSA v1.5 방법을 사용하도록 변경되었으며 authby=rsa-sha2 옵션은 RSASSA-PSS 방법을 사용합니다. authby=rsa-sha1 옵션은 RFC 8247에 따라 유효하지 않습니다. 이는 Libreswan 이 더 이상 디지털 서명으로 SHA-1을 지원하지 않는 이유입니다.
(BZ#1566574)
시스템 전체 암호화 정책은 Libreswan의 기본 IKE 버전을 IKEv2로 변경합니다.
Libreswan IPsec 구현의 기본 IKE 버전이 IKEv1(RFC tunnel9)에서 IKEv2(RFC 7296)로 변경되었습니다. IPsec과 함께 사용할 기본 IKE 및 ESP/AH 알고리즘이 시스템 전체 암호화 정책, RFC 8221 및 RFC 8247을 준수하도록 업데이트되었습니다. 이제 256비트의 암호화 키 크기가 128비트의 키 크기보다 우선합니다.
기본 IKE 및 ESP/AH 암호에는 이제 AES-GCM, CHACHA20POLY1305 및 AES-CBC가 포함되어 있습니다. 무결성 검사를 위해 AEAD 및 SHA-2를 제공합니다. 이제 Diffie-Hellman 그룹에 DH19, DH20, DH21, DH14, DH15, DH16, DH18이 포함됩니다.
다음 알고리즘은 기본 IKE 및 ESP/AH 정책(AES_CTR, 3DES, SHA1, DH5, DH2, DH23 및 DH24)에서 제거되었습니다. DH22, DH23 및 DH24의 예외로, IPsec 구성 파일의 ike= 또는 phase2alg=/esp=/ah= 옵션으로 이러한 알고리즘을 활성화할 수 있습니다.
IKEv1 프로토콜이 필요한 IPsec VPN 연결을 구성하려면 연결 구성 파일에 ikev2=no 옵션을 추가합니다. 자세한 내용은 ipsec.conf(5) 도움말 페이지를 참조하십시오.
(BZ#1645606)
Libreswan의 버전 관련 변경 사항
이번 개선된 기능을 통해 Libreswan은 인터넷 키 교환(IKE) 설정을 다르게 처리합니다.
- 기본 인터넷 키 교환(IKE) 버전이 1에서 2로 변경되었습니다.
- 이제 연결은 IKEv1 또는 IKEv2 프로토콜을 사용할 수 있지만 둘 다 사용할 수는 없습니다.
ikev2옵션의 해석이 변경되었습니다.-
sist
의값은 IKEv2-only로 해석됩니다. -
no값은 IKEv1-only로 해석되지않습니다. -
값이
,yes,allow는 더 이상 유효하지 않으며 오류가 발생합니다. IKE 버전이 이러한 값으로 인해 발생한 버전이 명확하지 않기 때문에 오류가 발생합니다.
-
sist
(BZ#1648776)
RHEL 8 OpenSCAP의 새로운 기능
OpenSCAP 제품군이 업스트림 버전 1.3.0으로 업그레이드되어 이전 버전에 비해 다양한 개선 사항을 제공합니다. 주요 기능은 다음과 같습니다.
- API 및 ABI가 통합 및 업데이트되었으며, 더 이상 사용하지 않는 기호가 삭제됨
-
프로브가 별도의 프로세스로 실행되지 않고
oscap프로세스 내에서 스레드로 실행됨 - 명령줄 인터페이스가 업데이트됨
-
Python 2바인딩이Python 3바인딩으로 교체됨
(BZ#1614273)
SCAP Security Guide 가 시스템 전체의 암호화 정책 지원
scap-security-guide 패키지는 코어 암호화 하위 시스템을 구성하기 위해 사전 정의된 시스템 전체 암호화 정책을 사용하도록 업데이트되었습니다. 시스템 전체 암호화 정책과 충돌하거나 과도하게 충돌하는 보안 콘텐츠가 제거되었습니다.
이 변경 사항은 scap-security-guide 의 보안 콘텐츠에만 적용되며 OpenSCAP 스캐너 또는 기타 SCAP 구성 요소를 업데이트할 필요가 없습니다.
(BZ#1618505)
OpenSCAP 명령줄 인터페이스 개선
상세 모드를 모든 oscap 모듈과 하위 모듈에서 사용할 수 있습니다. 툴 출력의 포맷이 개선되었습니다.
명령줄 인터페이스의 유용성이 개선되어 더 이상 사용되지 않는 옵션이 제거되었습니다.
다음 옵션은 더 이상 사용할 수 없습니다.
-
oscap xccdf generate report의--show가 완전히 삭제됨 -
oscap oval eval의--probe-root가 완전히 삭제됨. 환경 변수인OSCAP_PROBE_ROOT를 설정하여 교체 가능. -
oscap xccdf eval의--sce-results가--check-engine-results로 교체됨 -
CPE, OVAL 및 XCCDF 모듈에서
validate-xml하위 모듈이 삭제됨. 대신validate하위 모듈을 사용하여 XML 스키마 및 XSD schematron에 대해 SCAP 콘텐츠의 유효성을 검증할 수 있음 -
oscap oval list-probes명령이 제거되었으므로 대신oscap --version을 사용하여 사용 가능한 프로브 목록을 표시할 수 있음
OpenSCAP은 --profile '(all)'을 사용하여 프로파일과 관계없이 주어진 XCCDF 벤치마크의 모든 규칙을 평가할 수 있습니다.
(BZ#1618484)
SCAP Security Guide PCI-DSS 프로파일이 버전 3.2.1과 일치
scap-security-guide 패키지는 Red Hat Enterprise Linux 8의 PCI-DSS(Payment Card Industry Data Security Standard) 프로필을 제공하며 최신 PCI-DSS 버전 - 3.2.1과 일치하도록 이 프로필이 업데이트되었습니다.
(BZ#1618528)
SCAP Security Guide가 OSPP 4.2 지원
scap-security-guide 패키지는 Red Hat Enterprise Linux 8용 OSPP(Protection Profile for General Purpose Operating Systems) 프로파일 버전 4.2 초안을 제공합니다. 이 프로파일은 NIAP Configuration Annex에 포함되어 있는 필수 구성 제어를 범용 운영 체제(Protection Profile Version 4.2)용 보호 프로파일에 반영합니다. SCAP Security Guide는 사용자가 OSPP에 정의된 요구 사항을 충족할 수 있도록 자동 검사 및 스크립트를 제공합니다.
(BZ#1618518)
RHEL 8 rsyslog에서 주요 변경 사항
rsyslog 패키지가 업스트림 버전 8.37.0으로 업그레이드되었으며 이전 버전에 대해 여러 버그 수정 및 개선 사항을 제공합니다. 주요 변경 사항은 다음과 같습니다.
- rsyslog 내부 메시지의 처리 기능 강화; 속도 제한 가능; 가능한 교착 상태 수정
- 일반적인 속도 제한 개선; 실제 스펨 출처 가 기록됨
- 크기를 초과한 메시지 처리 개선 - 사용자가 별도의 작업으로 코어 및 특정 모듈에서 메시지를 처리하는 방법을 설정할 수 있음
-
mmnormalize규칙 기반에 대해 별도의 파일을 생성하는 대신config파일에 내장 가능 -
JSON의 변수를 포함한 모든
config변수가 대소문자를 구분하지 않음 - PostgreSQL 출력에 다양한 개선 사항 추가
-
쉘 변수를 사용하여 추가 구성 파일의 조건부 로딩, 명령 실행 또는
config에 텍스트 포함 등과 같은config처리를 제어할 수 있는 기능을 추가했습니다. 이 기능을 과도하게 사용하면 rsyslog가 있는 문제를 디버그하는 데 어려움을 겪을 수 있습니다. -
4자리 파일 생성 모드를
config에 지정할 수 있음 - RELP(Reliable Event Logging Protocol) 입력을 지정된 주소에서만 바인딩할 수 있음
-
이메일 출력의
enable.body옵션 기본값이 설명서에 맞게 변경됨 - 사용자가 MongoDB 출력에서 무시해야 하는 삽입 오류 코드를 지정할 수 있음
- 병렬 TCP(pTCP) 입력이 더욱 효과적인 로드 밸런싱에 설정 가능한 백로그를 보유함
-
journald가 파일을 순환할 때 나타날 수 있는 중복 레코드를 피하기 위해imjournal옵션이 추가되었습니다. 이 옵션을 사용하면 성능에 영향을 줄 수 있습니다.
rsyslog 를 사용한 시스템은 journald 없이 시스템 로깅 구성 또는 최소 journald 사용 지식 베이스 문서에 설명된 대로 더 나은 성능을 제공하도록 구성할 수 있습니다.
(BZ#1613880)
새로운 rsyslog 모듈: omkafka
kafka 중앙 데이터 스토리지 시나리오를 활성화하기 위해 새로운 omkafka 모듈을 사용하여 로그를 kafka 인프라로 전송할 수 있습니다.
(BZ#1542497)
rsyslog imfile이 symlinks 지원
이번 업데이트에서는 더 나은 성능과 구성 옵션을 갖춘 rsyslog imfile 모듈이 제공됩니다. 이제 더 복잡한 파일 모니터링 사용 사례에 모듈을 사용할 수 있습니다. 예를 들어, 구성된 경로를 따라 어디에서나 Glob 패턴이 있는 파일 모니터를 사용할 수 있으며 데이터 처리량이 증가하는 경우 symlink 대상을 순환시킬 수 있습니다.
(BZ#1614179)
기본 rsyslog 설정 파일은 비-레거시 형식 사용
rsyslog 패키지에 있는 설정 파일은 기본적으로 비-레거시 형식을 사용합니다. 레거시 형식은 계속 사용할 수 있지만, 현재 및 기존 설정 문을 혼합하는 데 몇 가지 제약이 있습니다. 이전 RHEL 릴리스에서 적용된 설정을 수정해야 합니다. 자세한 내용은 rsyslog.conf(5) 매뉴얼 페이지를 참조하십시오.
(BZ#1619645)
Audit 3.0에서 audispd를 auditd로 교체
이번 업데이트에서 audispd 기능이 auditd로 변경되었습니다. 결과적으로 audispd 설정 옵션이 이제 auditd.conf의 일부가 되었습니다. 또한 plugins.d 디렉터리가 /etc/audit 에서 이동되었습니다. 이제 service 명령을 실행하여 auditd 및 해당 플러그인을 확인할 수 있습니다.
auditd state
(BZ#1616428)
tangd_port_t 를 사용하면 Tang의 기본 포트를 변경할 수 있습니다.
이번 업데이트에서는 tangd_port_t SELinux 유형이 있어 tangd 서비스가 SELinux 강제 모드로 제한됨으로 실행될 수 있습니다. 이러한 변경으로 인해 사용자 정의 포트에서 수신 대기하도록 Tang 서버 구성이 간소화되고 SELinux가 강제 모드에서 제공하는 보안 수준도 유지하는 데 도움이 됩니다.
자세한 내용은 정책 기반 암호 해독 섹션을 사용하여 암호화된 볼륨의 자동 잠금 해제 구성 섹션을 참조하십시오.
새로운 SELinux 부울값
이번 SELinux 시스템 정책 업데이트로 다음과 같은 부울 값이 도입되었습니다.
- colord_use_nfs
- mysql_connect_http
- pdns_can_network_connect_db
- ssh_use_tcpd
- sslh_can_bind_any_port
- sslh_can_connect_any_port
- virt_use_pcscd
의미를 포함한 부울 목록을 가져오고 활성화되어 있는지 확인하려면 selinux-policy-devel 패키지를 설치하고 다음을 사용합니다.
semanage boolean -l
# semanage boolean -l
(JIRA:RHELPLAN-10347)
SELinux가 systemd No New Privileges 지원
이번 업데이트에서는 이전 컨텍스트와 신규 컨텍스트 간에 nnp_nosuid_transition이 허용된 경우 nnp_nosuid_transition 정책 기능을 도입하여 No New Privileges (NNP) 또는 nosuid에서 SELinux 도메인 전환을 가능하게 합니다. 이제 selinux-policy 패키지에는 NNP 보안 기능을 사용하는 systemd 서비스를 위한 정책이 포함되어 있습니다.
다음 규칙은 이 기능을 서비스에 허용하는 방법에 대해 설명합니다.
allow source_domain target_type:process2 { nnp_transition nosuid_transition };
allow source_domain target_type:process2 { nnp_transition nosuid_transition };
예를 들어 다음과 같습니다.
allow init_t fprintd_t:process2 { nnp_transition nosuid_transition };
allow init_t fprintd_t:process2 { nnp_transition nosuid_transition };
배포 정책에는 init_nnp_daemon_domain() 함수를 사용하는 서비스의 SELinux 보안 정책에서 사용할 수 있는 m4 매크로 인터페이스가 포함되어 있습니다.
(BZ#1594111)
mmap syscall에서 새로운 맵 권한 검사 지원
SELinux map 권한이 추가되어 파일, 디렉터리, 소켓 등에 대한 메모리 매핑 액세스를 제어할 수 있습니다. 이를 통해 SELinux 정책은 다양한 파일 시스템 개체에 대한 직접 메모리 액세스를 방지하고 이러한 모든 액세스를 재검증합니다.
(BZ#1592244)
SELinux가 process 클래스에서 getrlimit 권한 지원
이번 업데이트에는 새로운 SELinux 액세스 제어 검사인 process:getrlimit를 도입하여 prlimit() 함수에 추가되었습니다. 이것은 SELinux 정책 개발자가 어떤 프로세스가 process:setrlimit 권한을 사용하여 다른 프로세스의 리소스 제한을 읽고 수정하려고 할 때 제어할 수 있게 합니다. SELinux는 프로세스에서 prlimit()를 통해 자체 리소스 제한을 처리하는 작업을 제한하지 않습니다. 자세한 내용은 prlimit(2) 및 getrlimit(2) 매뉴얼 페이지를 참조하십시오.
(BZ#1549772)
SELinux-policy 에서 VxFS 라벨 지원
이번 업데이트에서는 Veritas File System (VxFS) 보안 확장 속성(xattrs)을 지원합니다. 이를 통해 일반 vxfs_t 유형 대신 파일 시스템에 오브젝트를 사용하여 적절한 SELinux 레이블을 저장할 수 있습니다. 따라서 SELinux를 완전히 지원하는 VxFS 시스템을 더 안전하게 사용할 수 있습니다.
(BZ#1483904)
컴파일 타임 보안 강화 플래그가 더 일관되게 적용됨
컴파일 타임 보안 강화 플래그는 RHEL 8 배포판의 RPM 패키지에 더 일관되게 적용되며 redhat-rpm-config 패키지에서 보안 강화 플래그를 자동으로 제공합니다. 적용된 컴파일 타임 플래그도 CCC(Common Criteria) 요구 사항을 충족하는 데 도움이 됩니다. 다음과 같은 보안 강화 플래그가 적용됩니다.
-
버퍼-overflow 오류 탐지:
D_FORTIFY_SOURCE=2 -
C++ 배열, 벡터 및 문자열을 확인하는 표준 라이브러리 강화:
D_GLIBCXX_ASSERTIONS -
Stack Smashing Protector (SSP):
fstack-protector-strong -
예외 강화의 경우:
fexceptions -
CFI(Control-Flow Integrity):
fcf-protection=full( AMD 및 Intel 64비트 아키텍처에서만) -
주소 공간 레이아웃 복원(ASLR)의 경우:
fPIE(플레이북용) 또는fPIC( 라이브러리용) -
Stack Clash 취약점을 보호하기 위해:
fstack-clash-protection( ARM 제외) -
시작 시 모든 기호를 해결하기 위한 링크 플래그:
-Wl,-z,now
자세한 내용은 gcc(1) 매뉴얼 페이지를 참조하십시오.
(JIRA:RHELPLAN-2306)
5.1.16. 가상화 링크 복사링크가 클립보드에 복사되었습니다!
RHEL 8의 qemu-kvm 2.12
Red Hat Enterprise Linux 8은 qemu-kvm 2.12와 함께 배포됩니다. 이 버전은 Red Hat Enterprise Linux 7에서 사용할 수 있는 버전 1.5.3에 비해 여러 버그가 수정되고 개선 사항이 추가되었습니다.
특히 다음과 같은 기능이 도입되었습니다.
- Q35 게스트 시스템 유형
- UEFI 게스트 부팅
- NUMA 게스트 튜닝 및 고정
- vCPU 핫 플러그 및 핫 언플러그
- 게스트 I/O 스레딩
qemu-kvm 2.12에서 사용할 수 있는 기능 중 일부는 Red Hat Enterprise Linux 8에서 지원되지 않습니다. 자세한 내용은 Red Hat 고객 포털의 "Feature support and limitations in RHEL 8 virtualization"을 참조하십시오.
(BZ#1559240)
가상화에서 Q35 시스템 유형 지원
Red hat Enterprise Linux 8은 최신 PCI Express 기반 시스템 유형인 Q35에 대한 지원을 도입했습니다. 이를 통해 가상 장치의 기능 및 성능이 다양하게 개선되고 광범위한 최신 장치가 가상화와 호환될 수 있습니다. 또한 Red Hat Enterprise Linux 8에서 생성된 가상 머신은 기본적으로 Q35를 사용하도록 설정되어 있습니다.
이전의 기본 PC 시스템 유형은 더 이상 사용되지 않으며 Q35를 지원하지 않는 이전 운영 체제를 가상화할 때만 사용해야 합니다.
(BZ#1599777)
Post-copy 가상 머신 마이그레이션
RHEL 8에서는 KVM 가상 머신(VM)의 사후 복사 마이그레이션을 수행할 수 있습니다. 사용하는 경우 post-copy 마이그레이션은 소스 호스트에서 VM의 vCPU를 일시 중지하고, 최소 메모리 페이지만 전송하고, 대상 호스트에서 VM의 vCPU를 활성화한 다음, VM이 대상에서 실행되는 동안 나머지 메모리 페이지를 전송합니다.
이렇게 하면 마이그레이션된 VM의 다운타임이 크게 감소하고 소스 VM의 메모리 페이지가 얼마나 빠르게 변경되는지에 관계없이 마이그레이션이 완료됩니다. 따라서 표준 사전 복사 마이그레이션으로 마이그레이션할 수 없는 지속적인 사용으로 VM을 마이그레이션하는 것이 좋습니다.
(JIRA:RHELPLAN-14323)
KVM 가상화에서 virtio-gpu 지원
KVM(VM)에 virtio-gpu 디스플레이 장치가 도입되었습니다. virtio-gpu 는 VM 그래픽 성능을 개선하고 가상 GPU 장치가 향후 구현될 수 있도록 다양한 개선사항을 지원합니다.
(JIRA:RHELPLAN-14329)
KVM이 RHEL 8에서 UMIP 지원
이제 KVM 가상화가 UMIP(User-Mode Instruction Prevention) 기능을 지원하므로 사용자 공간 애플리케이션이 시스템 차원 설정에 액세스하는 것을 방지할 수 있습니다. 이렇게 하면 권한 확대 공격의 잠재적인 요소가 줄어들기 때문에 KVM 하이퍼바이저와 게스트 시스템을 보다 안전하게 보호할 수 있습니다.
(BZ#1494651)
KVM 게스트 충돌 보고서의 추가 정보
게스트가 예기치 않게 종료되거나 응답하지 않는 경우 KVM 하이퍼바이저가 생성하는 충돌 정보가 상세하게 제공됩니다. 따라서 KVM 가상화 배포에서 문제를 간편하게 진단하고 수정할 수 있습니다.
(BZ#1508139)
NVIDIA vGPU가 VNC 콘솔과 호환
NVIDIA vGPU(virtual GPU) 기능을 사용할 때 VNC 콘솔을 사용하여 게스트의 시각적 출력을 표시할 수 있습니다.
(BZ#1497911)
가상화에서 Ceph 지원
이번 업데이트를 통해 KVM 가상화가 Red Hat에서 지원하는 모든 CPU 아키텍처에서 Ceph 스토리지를 지원합니다.
(BZ#1578855)
IBM Z의 KVM 가상 머신용 대화형 부트 로더
IBM Z 호스트에서 KVM 가상 머신을 부팅할 때 QEMU 부팅 로더 펌웨어가 게스트 OS의 대화형 콘솔 인터페이스를 제공할 수 있습니다. 이렇게 하면 호스트 환경에 액세스하지 않고도 게스트 OS 부팅 문제를 해결할 수 있습니다.
(BZ#1508137)
가상 머신에서 IBM z14 ZR1 지원
이제 KVM 하이퍼바이저가 IBM z14 ZR1 서버의 CPU 모델을 지원합니다. 이를 통해 IBM Z 시스템에서 실행되는 KVM 가상 머신에서 이 CPU의 기능을 사용할 수 있습니다.
(BZ#1592337)
KVM이 IBM Z에서 Telnet 3270 지원
RHEL 8을 IBM Z 시스템에서 호스트로 사용하는 경우 Telnet 3270 클라이언트를 사용하여 호스트의 가상 머신에 연결할 수 있습니다.
(BZ#1570029)
QEMU 샌드박스 추가
Red Hat Enterprise Linux 8에서 QEMU 에뮬레이터(Emulator)는 샌드박스 기능을 도입하고 있습니다. QEMU 샌드박스 기능은 QEMU를 호출하는 시스템에 설정 가능한 제한을 제공하므로 가상 머신의 보안을 더욱 강화합니다. 이 기능은 기본적으로 활성화되어 있습니다.
(JIRA:RHELPLAN-10628)
PV TLB 플러시 Hyper-V 시행
RHEL 8에서는 PV TLB flush Hyper-V Enlightenment 기능이 추가되었습니다. 이를 통해 KVM 하이퍼바이저에서 오버 커밋된 환경에서 실행되는 Windows VM(가상 머신)의 성능이 향상됩니다.
(JIRA:RHELPLAN-14330)
IBM POWER의 KVM 가상 머신 새 머신 유형
IBM POWER 8 및 IBM POWER 9 시스템에서 실행되는 KVM 하이퍼바이저에 대해 새로운 rhel-p 시리즈 머신 유형이 여러 개 활성화되어 있습니다. 이를 통해 IBM POWER 시스템의 RHEL 8에서 호스팅되는 가상 머신(VM)이 이러한 머신 유형의 CPU 기능을 올바르게 사용할 수 있습니다. 또한 IBM POWER의 VM을 KVM 하이퍼바이저의 최신 버전으로 마이그레이션할 수 있습니다.
(BZ#1585651, BZ#1595501)
Intel Xeon SnowRidge에서 GFNI 및 CLDEMOT 명령 집합 활성화
Intel Xeon SnowRidge 시스템의 RHEL 8 호스트에서 실행 중인 가상 머신(VM)은 이제 GFNI 및 CLDEMOT 명령 집합을 사용할 수 있습니다. 이제 특정 시나리오에서 VM 등의 성능을 크게 향상시킬 수 있습니다.
(BZ#1494705)
OVMF에 대해 IPv6 활성화
이제 IPv6 프로토콜이 OVMF(Open Virtual Machine Firmware)에서 활성화됩니다. 이를 통해 OVMF를 사용하는 가상 머신은 IPv6에서 제공하는 다양한 네트워크 부팅 개선 사항을 활용할 수 있습니다.
(BZ#1536627)
NVMe 장치용 VFIO 기반 블록 드라이버 추가
QEMU 에뮬레이터에서는 NVMe(Non-volatile Memory Express) 장치의 VFIO(가상 기능 I/O) 기반의 드라이버를 도입합니다. 이 드라이버는 가상 머신에 연결된 NVMe 장치와 직접 통신하고 커널 시스템 계층과 해당 NVMe 드라이버를 사용하지 않습니다. 결과적으로 가상 머신에서 NVMe 장치의 성능이 향상됩니다.
(BZ#1519004)
Hyper-V 일반 UIO 드라이버에 대한 다중 채널 지원
RHEL 8에서는 이제 Hyper-V 일반 사용자 공간 I/O(UIO) 드라이버의 다중 채널 기능을 지원합니다. 따라서 Hyper-V 하이퍼바이저에서 실행되는 RHEL 8 VM이 DPDK(Data Plane Development Kit) Netvsc Poll Mode 드라이버(PMD)를 사용하여 이러한 VM의 네트워킹 기능을 개선할 수 있습니다.
그러나 Netvsc 인터페이스 상태는 실행 중이고 사용 가능한 경우에도 현재 Down으로 표시됩니다.
(BZ#1650149)
대규모 페이지 지원 개선
RHEL 8을 가상화 호스트로 사용하는 경우 사용자는 가상 머신(VM) 메모리를 지원하는 페이지 크기를 CPU에서 지원하는 크기로 수정할 수 있습니다. 이렇게 하면 VM의 성능을 크게 향상시킬 수 있습니다.
VM 메모리 페이지의 크기를 설정하려면 VM의 XML 구성을 편집하고 <hugepages> 요소를 <memoryBacking> 섹션에 추가합니다.
(JIRA:RHELPLAN-14607)
POWER 9 호스트의 VM은 THP를 사용할 수 있습니다.
IBM POWER 9 아키텍처에서 실행되는 RHEL 8 호스트에서 VM(가상 머신)은 THP(투명한 대규모 페이지) 기능을 활용할 수 있습니다. THP를 사용하면 호스트 커널이 프로세스에 대규모 메모리 페이지를 동적으로 할당할 수 있으므로 메모리 양이 많은 VM의 성능이 향상됩니다.
(JIRA:RHELPLAN-13440)
5.1.17. 지원 관련 기능 링크 복사링크가 클립보드에 복사되었습니다!
sosreport가 eBPF 기반 프로그램 및 맵 보고
Red Hat Enterprise Linux 8에서 로드된 eBPF(extended Berkeley Packet Filtering) 프로그램과 맵을 보고하도록 sosreport 툴이 향상되었습니다.
(BZ#1559836)