5.2. 버그 수정
이 부분에서는 사용자에게 큰 영향을 미치는 Red Hat Enterprise Linux 8.0에서 수정된 버그에 대해 설명합니다.
5.2.1. 데스크탑
PackageKit 에서 rpm 패키지에서 작동할 수 있음
이번 업데이트를 통해 rpm
패키지에서 작동하는 지원이 PackageKit 에 추가되었습니다.
(BZ#1559414)
5.2.2. 그래픽 인프라
QEMU에서 8바이트 ggtt
항목을 올바르게 처리하지 않음
QEMU는 때때로 8바이트 ggtt
항목을 연속된 4바이트 쓰기에 씁니다. 이러한 각 부분 쓰기는 별도의 호스트 ggtt
쓰기를 트리거할 수 있습니다. 두 개의 ggtt
쓰기가 잘못 결합되는 경우가 있습니다. 결과적으로 머신 주소로 변환이 실패하고 오류 로그가 발생했습니다.
(BZ#1598776)
5.2.3. IdM (Identity Management)
Enterprise Security Client는 토큰 탐지를 위해 opensc
라이브러리를 사용합니다.
Red Hat Enterprise Linux 8.0은 스마트 카드용 opensc
라이브러리만 지원합니다. 이번 업데이트를 통해 ESC(Enterprise Security Client)는 제거된 cold key
라이브러리 대신 opensc
를 토큰 탐지에 사용합니다. 결과적으로 애플리케이션에서 지원되는 토큰을 올바르게 탐지합니다.
(BZ#1538645)
인증서 시스템에서 순환 디버그 로그 지원
이전에는 인증서 시스템이 로그 회전을 지원하지 않는 사용자 지정 로깅 프레임워크를 사용했습니다. 그 결과 /var/log/pki/instance_name/ca/debug
grew와 같은 디버그 로그가 무기한으로 제한됩니다. 이번 업데이트를 통해 인증서 시스템은 로그 회전을 지원하는 java.logging.util
프레임워크를 사용합니다. 결과적으로 /var/lib/pki/instance_name/conf/logging.properties
파일에서 로그 회전을 구성할 수 있습니다.
로그 순환에 대한 자세한 내용은 java.util.logging
패키지에 대한 설명서를 참조하십시오.
(BZ#1565073)
인증서 시스템은 서비스가 시작될 때 SetAllPropertiesRule
작업 경고를 더 이상 기록하지 않습니다.
이전에는 서비스가 시작될 때 /var/log/
ipv 로그 파일의 SetAllPropertiesRule
작업에 대한 인증서 시스템이 기록되어 있었습니다. 문제가 해결되었으며 언급된 경고는 더 이상 기록되지 않습니다.
(BZ#1424966)
Certificate System KRA 클라이언트는 키 요청
응답을 올바르게 구문 분석합니다.
이전에는 인증서 시스템이 새 JSON 라이브러리로 전환했습니다. 그 결과 특정 개체의 직렬화가 다르고 Python 키 복구 기관(KRA) 클라이언트가 키 요청
응답을 구문 분석하지 못했습니다. 클라이언트는 이전 JSON 라이브러리와 새 JSON 라이브러리를 모두 사용하여 응답을 지원하도록 수정되었습니다. 결과적으로 Python KRA 클라이언트는 키 요청
응답을 올바르게 구문 분석합니다.
(BZ#1623444)
5.2.4. 컴파일러 및 개발 도구
GCC는 아웃 바운드 액세스에 대해 더 이상 false positive 경고를 생성하지 않습니다.
이전 버전에서는 -O3
최적화 수준 옵션으로 컴파일할 때 GNU 컴파일러 컬렉션 (GCC)은 컴파일된 코드에 포함되지 않은 경우에도 아웃 바운드 액세스에 대한 false positive 경고를 반환했습니다. 최적화가 수정되어 GCC는 더 이상 false positive 경고를 표시하지 않습니다.
(BZ#1246444)
ltrace
가 대규모 구조를 올바르게 표시합니다.
이전에는 ltrace
툴에서 함수에서 반환된 대규모 구조를 올바르게 출력할 수 없었습니다. ltrace
의 대규모 구조 처리가 개선되어 이제 올바르게 출력됩니다.
(BZ#1584322)
GCC 내장 함수 __builtin_clz
는 IBM Z에서 올바른 값을 반환합니다.
이전에는 IBM Z 아키텍처의 FLOGR
명령이 GCC 컴파일러에 의해 잘못 접어졌습니다. 결과적으로 이 명령을 사용하는 __builtin_clz
함수는 -funroll-loops
GCC 옵션으로 코드를 컴파일할 때 잘못된 결과를 반환할 수 있습니다. 이 버그가 수정되어 이제 기능이 올바른 결과를 제공합니다.
(BZ#1652016)
GDB는 배치 모드에서 마지막 명령이 실패하면 종료 상태가 0이 아닌 상태 제공
이전 버전에서는 GDB는 명령의 오류에 관계없이 항상 일괄 모드에서 실행할 때 status 0
으로 종료됩니다. 그 결과 명령이 성공했는지 여부를 확인할 수 없었습니다. 이 동작이 변경되었으며 GDB는 이제 마지막 명령에서 오류가 발생하면 status 1
로 종료됩니다. 이렇게 하면 모든 명령이 실행되는 이전 동작과 호환성이 유지됩니다. 그 결과 GDB 일괄 처리 모드 실행이 성공했는지 확인할 수 있습니다.
(BZ#1491128)
5.2.5. 파일 시스템 및 스토리지
출력 수준이 높을수록 더 이상 iscsiadm
이 예기치 않게 종료되지 않습니다.
이전 버전에서는 사용자가 --print
또는 -P
옵션으로 0보다 높은 출력 수준을 지정하면 iscsiadm
유틸리티가 예기치 않게 종료되었습니다. 이 문제가 해결되어 이제 모든 인쇄 수준이 예상대로 작동합니다.
(BZ#1582099)
경로의 WWID를 가져오지 못하면 multipathd
가 더 이상 경로를 비활성화하지 않습니다.
이전에는 multipathd
서비스에서 경로가 비어 있는 WWID를 가져오는 것처럼 실패한 시도를 처리했습니다. multipathd
가 경로의 WWID를 가져오지 못하는 경우 해당 경로가 비활성화된 경우가 있습니다.
이번 업데이트를 통해 경로가 변경되었는지 확인할 때 WWID를 가져오지 못하는 경우 이전 WWID를 계속 사용합니다.
결과적으로 WWID가 변경되었는지 확인할 때 multipathd
가 WWID를 가져오지 못할 때 경로를 더 이상 비활성화하지 않습니다.
5.2.6. 고가용성 및 클러스터
클라이언트 시작 SSL/TLS 재협상을 거부하는 새로운 /etc/sysconfig/pcsd
옵션
서버에서 TLS 재협상이 활성화되면 클라이언트에서 재협상 요청을 보내 새 핸드셰이크를 시작할 수 있습니다. 핸드셰이크의 컴퓨터 요구 사항은 클라이언트보다 서버에서 높습니다. 이렇게 하면 서버가 DoS 공격에 취약합니다. 이번 수정으로 /etc/sysconfig/pcsd
설정 파일의 PCSD_SSL_OPTIONS
설정은 재협상을 거부하도록 OP_NO_RENEGOTIATION
옵션을 허용합니다. 클라이언트는 모든 환경에서 수행되는 핸드셰이크를 사용하여 서버에 대한 여러 연결을 계속 열 수 있습니다.
(BZ#1566430)
삭제된 클러스터 노드가 더 이상 클러스터 상태에 표시되지 않습니다.
이전 버전에서는 pcs cluster node remove
명령을 사용하여 노드를 제거할 때 제거된 노드는 pcs status
디스플레이 출력에 표시되었습니다. 이번 수정으로 삭제된 노드가 더 이상 클러스터 상태에 표시되지 않습니다.
(BZ#1595829)
이제 최신, 기본 매개변수 이름 또는 더 이상 사용되지 않는 매개 변수 이름을 사용하여 펜싱 에이전트를 구성할 수 있습니다.
이전 매개변수 이름은 더 이상 사용되지 않는 동안 많은 수의 펜싱 에이전트 매개변수의 이름이 변경되었습니다. 이전에는 --force
옵션과 함께 사용하지 않는 한 pcs
가 새 매개변수를 설정할 수 없었습니다. 이번 수정으로 pcs
는 이제 더 이상 사용되지 않는 매개변수에 대한 지원을 유지하면서 이름이 변경된 펜싱 에이전트 매개 변수를 지원합니다.
(BZ#1436217)
pcs
명령으로 표시할 클러스터의 XML 상태를 올바르게 읽습니다.
pcs
명령은 crm_mon
유틸리티를 실행하여 클러스터의 상태를 XML 형식으로 가져옵니다. crm_mon
유틸리티는 표준 출력 및 경고에 XML을 표준 오류 출력에 출력합니다. 이전에는 pcs
mixed XML과 warnings를 하나의 스트림에 포함시키고 XML로 구문 분석할 수 없었습니다. 이번 수정을 통해 표준 및 오류 출력이 pcs
로 분리되어 클러스터의 XML 상태를 읽을 수 있습니다.
(BZ#1578955)
기존 클러스터에서 노드를 사용하여 새 클러스터를 생성할 때 사용자가 더 이상 클러스터를 제거하는 것을 권장하지 않습니다.
이전 버전에서는 pcs cluster setup
명령을 실행하거나 pcsd Web UI를 사용하여 클러스터를 생성할 때 사용자가 기존 클러스터에서 노드를 지정한 경우 pcsd
Web UI를 사용하여 오류를 보고하여 사용자가 노드에서 클러스터를 삭제하도록 제안했습니다. 결과적으로 사용자는 노드에서 클러스터를 삭제하고, 클러스터를 손상시키고 나머지 노드에서는 삭제된 노드가 클러스터의 일부로 간주되므로 노드가 손상되었습니다. 이번 수정으로 사용자는 대신 클러스터에서 노드를 제거하여 클러스터를 손상시키지 않고 문제를 해결하는 방법을 더 잘 알려주는 것이 좋습니다.
(BZ#1596050)
pcs
명령에서 더 이상 대화식으로 인증 정보를 요청하지 않습니다.
루트가 아닌 사용자가 root 권한이 필요한 pcs
명령을 실행하는 경우 pcs
는 로컬로 실행되는 pcsd
데몬에 연결하고 명령을 전달합니다. pcsd
데몬은 root 권한으로 실행되고 명령을 실행할 수 있기 때문입니다. 이전에는 사용자가 로컬 pcsd
데몬에 인증되지 않은 경우 pcs
는 사용자 이름과 암호를 대화식으로 요청했습니다. 이는 사용자에게 혼란스럽고 pcs
를 실행하는 스크립트에서 특수 처리가 필요했습니다. 이번 수정을 통해 사용자가 인증되지 않은 경우 pcs
는 수행할 작업을 설명하는 오류로 종료됩니다. 즉, pcs
를 root로 실행하거나 새로운 pcs client local-auth
명령을 사용하여 인증합니다. 결과적으로 pcs
명령은 대화식으로 인증 정보를 요청하지 않고 사용자 환경을 개선합니다.
(BZ#1554310)
이제 crypto-policies
가 FUTURE
로 설정된 경우 pcsd
데몬이 기본 자체 생성된 SSL 인증서로 시작됩니다.
FUTURE
의 crypto-policies
설정은 SSL 인증서의 RSA 키가 3072b 이상이어야 합니다. 이전 버전에서는 2048b 키가 있는 SSL 인증서를 생성하기 때문에 이 정책이 설정된 경우 pcsd
데몬이 시작되지 않았습니다. 이번 업데이트를 통해 pcsd
자체 생성 SSL 인증서의 키 크기가 3072b로 증가했으며, pcsd
가 기본 자체 생성된 SSL 인증서로 시작됩니다.
(BZ#1638852)
네트워크가 준비되면 pcsd
서비스가 시작됩니다.
이전 버전에서는 사용자가 특정 IP 주소에 바인딩하도록 pcsd
를 구성했는데 pcsd
를 시작하려고 할 때 부팅 중에 주소가 준비되지 않은 경우 pcsd
를 시작할 수 없어 pcsd
를 시작하는 데 수동 개입이 필요했습니다. 이번 수정으로 pcsd.service
는 network-online.target
에 따라 다릅니다. 결과적으로 pcsd
는 네트워크가 준비될 때 시작되고 IP 주소에 바인딩할 수 있습니다.
(BZ#1640477)
5.2.7. 네트워킹
약한 TLS 알고리즘은 더 이상 glib-networking
에서 허용되지 않습니다.
이전 버전에서는 glib-networking
패키지가 RHEL 8 시스템 전체 Crypto 정책과 호환되지 않았습니다. 그 결과, glib
라이브러리를 네트워킹에 사용하는 애플리케이션에서는 관리자가 의도한 것보다 약한 알고리즘을 사용하여 TLS(Transport Layer Security) 연결을 허용할 수 있습니다. 이번 업데이트를 통해 시스템 전체 암호화 정책이 적용되고 이제 glib
를 네트워킹에 사용하는 애플리케이션은 정책에 따라 허용되는 TLS 연결만 허용합니다.
(BZ#1640534)
5.2.8. 보안
SELinux 정책에서 iscsiuio
프로세스가 검색 포털에 연결 가능
이전에는 iscsiuio
프로세스에 대해 SELinux 정책이 너무 제한적이며 이러한 프로세스는 mmap
시스템 호출을 사용하여 /dev/uio*
장치에 액세스할 수 없었습니다. 그 결과 검색 포털에 대한 연결이 실패했습니다. 이번 업데이트에서는 SELinux 정책 및 iscsiuio
프로세스에 누락된 규칙이 설명된 시나리오에서 예상대로 작동합니다.
(BZ#1626446)
5.2.9. 서브스크립션 관리
이제
DNF 및 yum
이 subscription-manager
값에 관계없이 저장소에 액세스할 수 있습니다.
이전에는 dnf
또는 yum
명령에서 subscription-manager 서비스에서 추가한 URL의 https://
접두사를 무시했습니다. 업데이트된 dnf
또는 yum
명령은 유효하지 않은 https://
URL을 무시하지 않습니다. 그 결과 dnf
및 yum
이 리포지토리에 액세스하지 못했습니다. 문제를 해결하기 위해 새 구성 변수 proxy_scheme
가 /etc/rhsm/rhsm.conf
파일에 추가되어 값을 http
또는 https
로 설정할 수 있습니다. 값을 지정하지 않으면 subscription-manager 가 기본적으로 http
를 더 일반적으로 사용합니다.
프록시가 http
를 사용하는 경우 대부분의 사용자는 /etc/rhsm/rhsm.conf
의 구성에서 아무것도 변경하지 않아야 합니다. 프록시에서 https
를 사용하는 경우 사용자는 proxy_scheme
값을 https
로 업데이트해야 합니다. 두 경우 모두 사용자는 subscription-manager repos --list
명령을 실행하거나 rhsmcertd
데몬 프로세스가 /etc/yum.repos.d/redhat.repo
를 올바르게 재생성할 때까지 기다립니다.
5.2.10. 가상화
Azure에서 임시 디스크 마운트가 보다 안정적으로 작동합니다.
이전 버전에서는 VM이 "Stopped(deallocated)"된 다음 VM이 시작된 경우 Microsoft Azure 플랫폼에서 실행 중인 VM(가상 머신)에 임시 디스크를 마운트하지 못했습니다. 이번 업데이트를 통해 설명된 상황에서 디스크를 다시 연결하여 문제가 발생하지 않도록 합니다.
(BZ#1615599)