25장. 컴파일러 및 툴


OpenMP 4.5 for libgomp in GCC 지원

이번 업데이트에서는 GCC의 새로운 버전의 OpenMP를 지원하여 개발자 도구 세트의 프로그램이 올바르게 링크 및 실행될 수 있도록 지원합니다. (BZ#1357060)

GCC에서 스택 보호 개선

이번 업데이트 이전에는 변수 길이 배열만 포함하고 다른 배열(또는 매우 작은 배열)이 없는 함수에서는 GCC 스택 보호가 작동하지 않았습니다. 결과적으로 버퍼 오버플로 오류가 탐지되지 않을 수 있었습니다. 이 버그가 수정되었으며 컴파일러는 이제 이러한 기능을 조정할 수 있습니다. (BZ#1289022)

gdbserver 에서 컨테이너의 프로세스를 원활하게 디버깅할 수 있습니다.

이번 업데이트 이전에는 GDB 가 Super-Privileged Container(SPC) 내에서 실행되고 Red Hat Enterprise Linux Atomic Host의 다른 컨테이너에서 실행 중인 프로세스에 연결된 경우 GDB 는 기본 실행 파일의 바이너리 이미지 또는 디버깅할 프로세스에서 로드한 공유 라이브러리를 찾지 못했습니다.
결과적으로 GDB 파일이 존재하지 않거나 존재하지만 일치하지 않는 오류 메시지가 표시될 수 있습니다. 또한 GDB 를 올바르게 연결하는 것처럼 보였지만 후속 명령이 실패하거나 손상된 정보가 표시될 수 있습니다.
Red Hat Enterprise Linux 7.3에서 gdbserver 는 컨테이너의 디버깅 프로세스를 원활하게 지원하도록 확장되었습니다. Red Hat Enterprise Linux 7.3 버전 gdbserver 새로는 qXfer:exec-file:readvFile:setfs 패킷을 지원합니다. 그러나 Red Hat Enterprise Linux 7.3 버전의 gdb 에서는 이러한 패킷을 사용할 수 없습니다. gdb 의 Red Hat Developer Toolset 4.1 이상 버전은 컨테이너 및 Red Hat Enterprise Linux 7.3 gdbserver 와 함께 사용하는 것이 좋습니다. gdbserver 의 Red Hat Developer Toolset 버전도 사용할 수 있습니다.
Red Hat Enterprise Linux 7.3 gdb-p 매개변수(또는 attach 명령)를 사용하여 실행할 때 gdbserver 를 사용할 것을 제안하고, 동시에 연결된 프로세스가 컨테이너로부터 있음을 탐지합니다. Red Hat Enterprise Linux 7.3 gdb 에서는 이제 명시적으로 file 명령을 사용하여 디버그 중인 컨테이너에서 실행 가능한 프로세스 위치를 지정하는 것을 제안합니다. 대신 Red Hat Developer Toolset 버전을 사용하는 경우 file 명령을 입력할 필요가 없습니다.
이번 업데이트를 통해 Red Hat Enterprise Linux 7.3 gdbserver 는 Red Hat Developer Toolset 4.1 이상과 함께 컨테이너의 프로세스를 원활하게 디버깅할 수 있습니다. gdb. 또한 Red Hat Enterprise Linux 7.3 gdb 는 Red Hat Developer Toolset gdb 를 사용할 수 없는 경우 컨테이너의 프로세스 디버깅을 안내합니다. (BZ#1186918)

GDB 는 삭제된 실행 파일을 사용하여 실행 중인 프로세스를 더 이상 종료하지 않음

이번 업데이트 이전에는 GDB 에서 삭제된 실행 파일을 사용하여 실행 중인 프로세스에 연결하려고 하면 실수로 프로세스가 종료됩니다. 이 버그는 수정되었으며 GDB 는 삭제된 실행 파일을 사용하여 프로세스를 잘못 종료하지 않습니다. (BZ#1326476)

GDB 에서 더 작은 코어 파일을 생성하고 코어 덤프 필터링을 준수합니다.

GDB 를 자체 코어 덤프 기능을 제공하는 gcore 명령은 Linux 커널 코어 덤프 코드의 기능을 보다 면밀히 시뮬레이션하여 작은 core-dump 파일을 생성하도록 업데이트되었습니다. GDB 는 이제 core-dump 파일에 작성된 메모리 세그먼트를 제어하는 /proc/PID/coredump_filter 파일도 고려합니다. (BZ#1265351)

AArch64에 대한 오류 메시지 개선

AArch64 대상의 경우 프로그램이 전역 변수를 정수보다 작은 형식으로 선언했지만 다른 파일에서 정수인 것처럼 참조하면 링커에서 혼동 오류 메시지를 생성할 수 있습니다. 이번 업데이트에서는 오류 메시지를 수정하여 원인을 명확하게 파악하고 사용자에게 오류 발생 이유를 제안합니다. (BZ#1300543)

이제 AArch64에서 Large 및/또는 high-address 프로그램이 링크 및 실행

이전에는 링커의 잘못된 코드로 인해 잘못된 분기 스텁이 생성될 수 있었습니다. 결과적으로, 매우 큰 프로그램 또는 코드화된 부분이 매우 높은 주소에 존재할 경우 링크에 실패했습니다. 버그가 수정되었으며 이제 올바른 종류의 분기 스텁이 선택됩니다. (BZ#1243559)

이제 opreportopannote 유틸리티에서 아카이브 데이터를 올바르게 분석합니다.

이전에는 oparchive 를 사용하여 데이터를 저장할 때 연결된 샘플이 아카이브에 포함되지 않았습니다. 또한 oprofile 유틸리티가 아카이브가 아닌 현재 작업 중인 oprofile_data 디렉토리에서 데이터를 선택했습니다. 그 결과 opreportopannote 유틸리티에서 oparchive 에 의해 생성된 아카이브의 데이터를 올바르게 분석할 수 없었습니다. 이번 업데이트에서는 아카이브에 프로파일링 샘플을 저장하고 아카이브와 함께 사용할 수 있도록 선택하는 수정 사항을 제공합니다. 이제 opreportopannote 가 예상대로 작동합니다. (BZ#1264443)

동일한 숫자 단위 마스크가 있는 이벤트는 이제 이름으로 처리됩니다.

5세대 Core i3, i5, i7 Intel 프로세서에는 동일한 숫자 값을 가진 여러 단위 마스크가 있는 일부 이벤트가 있습니다. 그 결과 일부 이벤트의 기본 단위 마스크를 찾을 수 없으며 선택되었습니다. 이번 업데이트에서는 기본 단위 마스크의 숫자 값이 아닌 이름을 사용하도록 이벤트를 변경하여 이 버그를 수정합니다. (BZ#1272136)

새로운 MACRO_INSTS_FUSED 이벤트 식별자

이전에는 MACRO_INSTS 식별자가 1세대 Core i3, i5, i7 Intel 프로세서의 두 가지 다른 이벤트에 사용되었습니다. 그 결과 MACRO_INSTS 를 사용하여 이벤트 중 하나를 명확하게 선택할 수 없었습니다. 이번 업데이트에서는 이벤트 중 하나가 MACRO_INSTS_FUSED 로 변경되어 이 버그가 해결됩니다. (BZ#1335145)

애플리케이션이 더 이상 여러 libpfm 초기화 시 충돌하지 않음

이전 버전에서는 libpfm 초기화 코드를 여러 번 호출하면 (예: PAPI fmultiplex1 테스트) root로 실행될 때 libpfm 내부 데이터 구조가 손상되어 예기치 않은 종료가 발생했습니다. 이번 업데이트에서는 libpfm 을 다시 초기화할 때 사용 가능한 이벤트의 카운터가 올바르게 재설정되고 root로 libpfm 을 사용하는 애플리케이션이 더 이상 충돌하지 않습니다. (BZ#1276702)

물리적으로 존재하지 않는 노드에 대한 목적 없는 경고 메시지 제거

이전 버전에서는 sysfs 디렉터리에 항목이 없는 노드에서 numa_node_to_cpus() 함수를 호출하면 libnuma 라이브러리에서 잘못된 sysfs에 대한 경고 메시지를 항상 출력합니다. 결과적으로 libnuma는 물리적으로 존재하지 않는 노드(예: 비동적 노드 번호)에 대해 혼동되는 경고 메시지를 출력하고, dlsym 인터페이스를 사용하여 함수를 호출할 때 이 경고를 재정의할 수 없었습니다. 이번 업데이트를 통해 초기 검사 중에 발견된 NUMA 노드에 대해서만 언급된 경고 메시지가 출력되지만 sysfs에는 표시되지 않았습니다. 결과적으로 libnuma 사용자는 일치하지 않는 노드 번호에 대한 경고 메시지를 더 이상 수신하지 않습니다. (BZ#1270734)

업데이트 시 OpenJDK 버전 제품군 선택

이번 업데이트 이전에는 사용자가 여러 JDK를 설치한 경우 사용자가 이전에 낮은 JDK를 선택한 경우에도 yum update 가 최신 JDK로 항상 업데이트됩니다. 이번 업데이트에서는 chkconfig 에 대한 --family 스위치를 도입하여 시스템 업데이트 후 선택한 JDK가 버전 제품군에 남아 있는지 확인합니다. (BZ#1296413)

OpenJDK 6 및 OpenJDK 7에서는 RC4가 기본적으로 비활성화됨

이전 OpenJDK 패키지에서는 TLS(Transport Layer Security)를 사용하여 보안 연결을 수행할 때 RC4 암호화 알고리즘을 사용할 수 있었습니다. 이 알고리즘은 더 이상 안전하지 않으며 이번 릴리스에서는 비활성화되어 있습니다. 사용을 유지하려면 SSLv3, DH keySize < 768 . 768의 jdk.tls.disabledAlgorithms 의 이전 설정으로 복원 해야합니다. 이 작업은 < java.home>/jre/lib/security/java.security 파일에서 또는 다음 행을 추가하여 영구적으로 수행할 수 있습니다.
jdk.tls.disabledAlgorithms=SSLv3, DH keySize < 768
Copy to Clipboard Toggle word wrap
새 텍스트 파일에 -Djava.security.properties=<path를 file> 인수에 사용하여 명령줄에서 해당 파일의 위치를 Java에 전달합니다. (BZ#1302385)

zsh 는 더 이상 malloc() 실행에 교착되지 않음

이전 버전에서는 zsh 프로세스가 메모리 할당 함수를 실행하는 동안 신호를 수신하고 신호 처리기가 메모리를 할당하거나 사용하려고 시도한 경우 zsh 는 교착 상태를 입력하고 응답하지 않습니다. 이번 업데이트를 통해 zsh 의 글로벌 상태를 처리하는 동안 또는 힙 메모리 할당자를 사용하는 동안 신호 처리기가 더 이상 활성화되지 않습니다. 이렇게 하면 설명된 교착 상태가 더 이상 발생하지 않습니다. (BZ#1267912)

여러 단어로 설명된 SCSI 장치 유형이 올바르게 처리되었습니다.

이번 업데이트 이전에는 두 개 이상의 단어(예: Medium Changer 또는 Optical Device )를 사용하여 설명한 rescan-scsi-bus.sh 툴이 잘못 해석된 SCSI 장치 유형을 잘못 해석합니다. 결과적으로 이러한 장치 유형이 연결된 시스템에서 스크립트를 실행하면 스크립트가 여러 가지 잘못된 오류 메시지를 출력했습니다. 이번 업데이트를 통해 여러 단어로 설명된 장치 유형이 올바르게 처리되고 적절한 장치 유형 설명이 오류 없이 사용자에게 반환됩니다. (BZ#1298739)

Sphinx는 FIPS 모드에서 HTML 문서를 올바르게 빌드합니다.

이전에는 Python Sphinx 생성기가 FIPS 모드가 활성화된 시스템에서 HTML 형식으로 문서를 빌드할 수 없었습니다. 이번 업데이트에서는 used_for_security 매개변수를 false 로 설정하여 md5() 함수의 사용이 수정되었습니다. 그 결과 Sphinx는 이제 예상대로 HTML 문서를 빌드합니다. (BZ#966954)

Perl 인터프리터는 PerlIO 로케일 pragma를 사용한 후 더 이상 충돌하지 않습니다.

PerlIO 로케일 pragma를 사용한 후 스레드가 생성되었을 때 Perl 인터프리터는 세그먼트 오류로 예기치 않게 종료되었습니다. 업스트림 패치가 적용되어 PerlIO::encoding 오브젝트 복제가 수정되었습니다. 결과적으로 파일 처리 인코딩을 설정한 후 스레드가 올바르게 생성됩니다. (BZ#1344749)

줄 끝은 텍스트 모드에서 Net::ECDHE Perl 모듈로 업로드된 파일에 보존됩니다.

이전 버전에서는 텍스트 모드에서 Net::ECDHE Perl 모듈을 사용하여 파일을 업로드할 때 업로드된 파일의 행이 잘못 변환되었습니다. 이번 업데이트에서는 데이터를 FTP 서버에 업로드할 때 로컬에서 NVT(Network Virtual Terminal) 인코딩으로 종료 정규화를 수정했으며 설명된 문제는 더 이상 발생하지 않습니다. (BZ#1263734)

스레드 프로그램과 함께 glob()를 사용할 때 Perl 인터프리터가 더 이상 충돌하지 않음

이전에는 스레드를 생성한 후 Perl glob() 함수를 호출할 때 Perl 인터프리터가 세그먼트 결함이 있는 예기치 않게 종료되었습니다. 업스트림 패치는 glob() 인터프리터 전체 데이터에 적용되며, 스레드 프로그램과 함께 Perl glob()를 사용하면 이제 예상대로 작동합니다. (BZ#1223045)

ps -o thcgr을 사용하여 상위 프로세스 아래의 스레드에 대해 cgroup 값을 올바르게 표시할 수 있습니다.

이전에는 ps 명령으로 상위 프로세스의cgroup(컨트롤 그룹)만 표시되었습니다. 그 결과 상위 프로세스에 있는 스레드의 cgroup 값이 상위 프로세스의 cgroup 값과 동일했습니다. 이번 업데이트에서는 현재 cgroup 목록과의 호환성을 유지하기 위해 새로운 옵션인 thcgr 를 도입했습니다. thcgr 옵션을 사용하면 상위 프로세스 아래의 스레드에 대해 올바른 개별 cgroup 값이 표시됩니다. (BZ#1284087)

pmap 이 더 이상 잘못된 합계를 보고하지 않음

커널 인터페이스의 Vm >-< s 가 도입되면서 pmap 툴은 Vm >-<s 항목의 형식 차이로 인해 더 이상 안정적으로 콘텐츠를 처리할 수 없었습니다. 그 결과 pmap 은 잘못된 합계를 보고했습니다. 기본 소스 코드가 패치되어 이제 pmap 이 예상대로 작동합니다. (BZ#1262864)

vmstat -d 가 더 긴 이름으로 장치를 표시할 수 있음

디스크 통계 보고서가 필요한 경우 이전에 /proc/diskstats 파일에서 장치 이름의 처음 15자만 읽었습니다. 결과적으로 이름이 15자 이상인 장치는 vmstat -d 명령의 출력에 표시되지 않았습니다. 이번 업데이트를 통해 포맷 문자열이 최대 31자까지 읽도록 변경되어 vmstat -d 에서 더 긴 이름의 장치가 올바르게 표시됩니다. (BZ#1169349)

새로운 perl-Perl4-CoreLibs 하위 패키지에 이전에 제거된 파일이 포함되어 있습니다.

이전에 perl 패키지에 포함되지 않은 이전에 더 이상 사용되지 않는 파일에 대해 provided 태그가 잘못 설정되었습니다. 이 버그를 수정하기 위해 이러한 파일은 이전 버전의 Perl에서 백포트되어 이제 새로 생성된 perl-Perl4-CoreLibs 하위 패키지를 통해 제공됩니다. (BZ#1365991)

GSS-Proxy는 파일 설명자를 덜 자주 캐시합니다.

이전에는 프로세스의 수명 동안 GSS-Proxy 캐시된 파일 설명자의 mechglue 계층이 있었습니다. 그 결과 CloudEvent와 같이 UID 또는 GID를 자주 변경하는 데몬은 예기치 않게 작동할 수 있었습니다. ID가 변경되면 패치가 적용되어 GSS-Proxy에 대한 연결을 닫고 다시 엽니다. 그 결과 GSS-Proxy는 파일 설명자를 덜 자주 캐시하고 UID 또는 GID를 변경하는 데몬이 이제 예상대로 작동합니다. (BZ#1340259)

PAPI_L1_ CortexM 이벤트 계산 수정

이전에는 L1 총 캐시 누락(PAPI_L1_knativeM)의 PAPI 사전 설정이 4세대 Core i3, i5, i7 Intel 프로세서에서 잘못 계산되었습니다. 이번 업데이트에서는 이러한 프로세서에서 PAPI_L1_ knativeM 이벤트 및 프로그램에 대한 계산이 더 정확해졌습니다. (BZ#1277931)

IBM Power7 및 IBM Power8 플랫폼의 PAPI_L1_DC* 이벤트

이전에는 캐시 이벤트의 PAPI 이벤트 사전 설정에서 다양한 IBM Power7 및 Power8 프로세서의 파생 값을 잘못 계산했습니다. 그 결과 PAPI_L1_DCR,PAPI_L1_DCWPAPI_L1_DCA 이벤트 값이 잘못되었습니다. 사전 설정 계산이 수정되었으며 언급된 이벤트가 이제 더 정확합니다. (BZ#1263666)

journalctl 표현식 구문 분석기 개선

이전 버전에서는 papi_events.csv 파일의 표현식에서 파생된 지표를 계산하는 데 사용된 10.0.0.1 표현식 구문 분석기에서 잘못된 오류 검사를 수행하지 않았으며 일부 표현식을 잘못 구문 분석했습니다. 그 결과, 구문 분석기는 파생된 메트릭의 값을 계산하기 위해 사용되는 버퍼 외부에 쓸 수 있고 일부 표현식에 대한 스택이 발생할 수 있었습니다. 구문 분석기에서 잘못된 표현식으로 메모리를 덮어쓰지 못하도록 수정이 제공되었습니다. 이제 구문 분석기에서 papi_events.csv 에서 journalctl 표현식을 적절히 구문 분석하고 메모리의 임의 영역을 덮어쓰는 대신 부적절한 표현에 대한 오류를 보고합니다. (BZ#1357587)

python-dns 툴킷의 udp() 함수에서 정의되지 않은 변수 설정

이전에는 python-dns 툴킷에서 udp() 함수의 finally 섹션에서 정의되지 않은 response_time 변수를 사용했습니다. 그 결과 사용자에게 잘못된 예외가 표시되었습니다. 이 버그가 수정되었으며 올바른 예외가 반환됩니다. (BZ#1312770)

zsh 는 이스케이프되지 않은 느낌표를 올바르게 구문 분석합니다.

이전에는 zsh 구문 분석기 상태가 불충분하게 초기화되었습니다. 결과적으로 zsh 는 텍스트 문자열에서 이스케이프되지 않은 느낌표로 구문 분석하지 못했습니다. 이번 업데이트를 통해 zsh 가 구문 분석기 상태를 올바르게 초기화합니다. 결과적으로 zsh 는 이스케이프되지 않은 느낌표를 올바르게 구문 분석합니다. (BZ#1338689)

작업 종료를 처리하는 동안 신호를 수신할 때 zsh 가 더 이상 중단되지 않음

이전에는 zsh 로 작업을 처리하는 동안 신호 처리기가 활성화되었습니다. 결과적으로 메모리 할당기를 사용하는 동안 신호가 수신되고 해당 처리기가 메모리를 할당하거나 해제하려고 하면 zsh 프로세스가 교착 상태로 종료되고 응답하지 않습니다. 이번 업데이트를 통해 작업을 처리하는 동안 신호 처리기가 더 이상 활성화되지 않습니다. 대신 신호 처리기 지연 실행을 위해 신호가 큐에 추가됩니다. 결과적으로 교착 상태가 더 이상 발생하지 않고 zsh 가 더 이상 중단되지 않습니다. (BZ#1291782)

zsh메모리 부족 을 정상적으로 처리합니다.

zsh 쉘은 메모리 부족 오류 메시지를 출력하는 동안 메모리 를 할당합니다. 이전 버전에서는 인쇄 루틴이 메모리를 할당하지 못하면 무한 재귀를 트리거했습니다. 결과적으로 스택 오버플로로 인해 zsh 프로세스가 예기치 않게 종료되었습니다. 이번 업데이트를 통해 이 시나리오에 더 이상 무한 재귀가 표시되지 않습니다. 결과적으로 치명적인 오류 메시지를 출력하면 zsh 가 메모리가 부족한 경우 정상적으로 종료됩니다. (BZ#1302229)

ksh 호환성 모드의 구문 검사 기능이 zsh에서 예상대로 작동합니다.

이전에는 ksh 호환성 모드에서 쉘 스크립트의 구문을 확인하는 동안 zsh$HOME 내부 변수를 잘못 초기화했습니다. 결과적으로 zsh 프로세스는 NULL 포인터를 역참조하려고 시도한 후 예기치 않게 종료되었습니다. 이번 업데이트를 통해 $HOME 내부 변수가 올바르게 초기화됩니다. 결과적으로 ksh 호환성 모드의 구문 검사 기능이 zsh 에서 예상대로 작동합니다. (BZ#1267251)

명령 대체 구문 분석 더 이상 명령 기록이 손상되지 않음

이전에는 $() 명령 대체 구성이 있는 명령이 명령 기록에 잘못 기록되었습니다. 이 버그가 수정되었으며 명령 대체를 구문 분석해도 더 이상 명령 기록이 손상되지 않습니다. (BZ#1321303)

HAProxy 구성 파일에서 32자 이상의 호스트 이름을 올바르게 사용할 수 있습니다.

이전 버전에서는 haproxy 가 피어 호스트 이름을 사용하도록 구성할 때 버그로 인해 호스트 이름이 32자보다 길어졌습니다. 그 결과 haproxy 구성 파일이 유효하지 않게 되었습니다. 이 버그가 수정되었으며 피어로 지정된 호스트 이름은 이제 32자를 안전하게 초과할 수 있습니다. (BZ#1300392)

설치 후 RPM 확인 실패가 더 이상 발생하지 않음 psacct

psacct 패키지를 설치할 때 /var/account/pacct 파일의 모드가 psacct 에 대한ECDHE 규칙에 일관되게 설정되지 않았습니다. 그 결과 설치 후 /var/account/pacct 모드가 이러한 규칙과 다른 상태로 유지되어 RPM 확인 실패가 발생했습니다. 이번 업데이트를 통해 psacct 를 설치하는 동안 /var/account/pacct 모드를 0600으로 설정하여 file rules에 맞게 설정되어 있습니다. 이로 인해 RPM 검증 실패가 더 이상 발생하지 않습니다. (BZ#1249665)

gr c에서 통과한 SIGINT로 인해 시스템이 더 이상 예기치 않게 재부팅되지않음

경쟁 조건으로 인해 sadc 명령은 SIGINT 신호를 init 프로세스에 전달했습니다. 그 결과 시스템이 예기치 않게 재부팅될 수 있었습니다. 이번 업데이트에서는 SIGINT 신호가 init 프로세스로 전송되지 않음을 확인합니다. 따라서 시스템이 더 이상 예기치 않게 재부팅되지 않습니다. (BZ#1328490)

pidstat 는 특정 필드에 대해 더 이상 100 % 이상의 값을 출력하지 않습니다.

이전에는 pidstat 명령이 드물지만 수명이 많은 프로세스가 있는 시스템에서 PID에 대해 미리 할당된 공간이 부족할 수 있었습니다. 그 결과, pidstat 출력에는 %CPU,%user, %sys 필드에 100%보다 큰 비정적 값이 포함되었습니다. 이번 업데이트를 통해 pidstat 는 PID에 대한 공간을 자동으로 다시 할당하고 모든 필드에 대해 올바른 값을 출력합니다. (BZ#1224882)

sysstat 에서 제공하는 /usr/bin/nfsiostat 는 더 이상 사용되지 않고, /sbin/nfsiostat에서 제공하는 /sbin/nfsiostat 를 사용합니다. nfs-utils

이전 버전에서는 sysstat 패키지에서 /usr/bin/nfsiostat 를 제공하고 /sbin/nfsiostat 를 제공하는 nfs-utils 패키지로 동일한 이름의 실행 파일을 제공했습니다. 그 결과 전체 경로를 지정하지 않는 한 어떤 바이너리가 실행되었는지 명확하지 않았습니다. sysstat 에서 제공하는 nfsiostat 유틸리티는 nfs-utils 에서 제공하는 유틸리티를 더 이상 사용하지 않습니다. 전환 기간에 sysstat 패키지의 nfsiostat 바이너리의 이름이 nfsiostat-sysstat 로 변경됩니다. (BZ#846699)

이제 iostat 에서 72자를 초과하는 장치 이름을 출력할 수 있습니다.

이전에는 장치 이름 필드가 너무 짧기 때문에 iostat 명령 출력에서 72자를 초과하는 장치 이름이 잘립니다. 장치 이름에 할당된 공간이 128자로 증가했으며 iostat 는 이제 출력에 더 긴 장치 이름을 출력할 수 있습니다. (BZ#1267972)

cp 를 사용하여 후행 확장 영역으로 스파스 파일을 복사해도 더 이상 데이터가 손상되지 않음

스파스 파일을 생성할 때 fallocate 유틸리티는 FALLOC_FL_KEEP_SIZE 를 사용하여 EOF 이상으로 확장 영역을 할당할 수 있었습니다. 그 결과, 확장 영역 사이에 간격(잘못)이 있고 EOF가 이 간격 내에 있을 때 최종 홀은 재현되지 않아 크기가 너무 작기 때문에 복사된 파일에서 자동 데이터 손상이 발생했습니다. 이번 업데이트를 통해 cp 명령을 사용하면 현재 처리 및 할당이 지원되지 않으므로 확인된 파일 크기를 벗어나는 확장 영역이 처리되지 않습니다. 결과적으로 특정 유형의 스파스 파일에서 자동 데이터 손상이 발생하지 않습니다. (BZ#1284906)

df를 사용하여 로컬 마운트를 나열할 때 iPXE에서 마운트한 NFS 공유가 더 이상 시간 초과를 유발하지 않음

df 의 버그로 인해 이전에 CloudEvent에 의해 NFS 공유를 로컬 마운트로 탐지할 수 있었습니다. df 가 잘못 감지된 공유를 나열하려고 시도했기 때문에 -l 옵션을 사용하여 로컬 마운트만 나열하려고 시도한 후 시간 초과되었습니다. 이 버그가 수정되었으며 로컬 마운트를 나열하면 이제 예상대로 작동합니다. (BZ#1309247)

KS H가 로그인 메시지를 올바르게 표시

대화형 로그인 쉘에 로그인할 때 초기 환경을 설정하기 위해 /etc/profile 스크립트의 콘텐츠가 실행됩니다. Korn 쉘(ksh)에 로그인할 때 사용자에게 표시되어야 하는 메시지는 /etc/profile 이 실행되기 전에 이미 설정된 PS1 환경 변수의 값에 의존하는 로그인 쉘인지 여부를 확인하기 위한 내부 테스트로 인해 억제되었습니다. 그러나 이러한 환경 변수는 /etc/profile 이 실행된 후에만 Korn 쉘에 설정되어 이로 인해 ksh 사용자에게 메시지가 표시되지 않았습니다. 이번 업데이트에서는 /etc/profile 실행 전에 설정되는 PS1 변수에 의존하지 않는 대체 테스트를 제공하며, 로그인 시 메시지가 Korn 쉘 사용자에게 올바르게 표시됩니다. (BZ#1321648)

새로운 POSIX 세마포 세마포 의미가

이전에는 glibc 에서 POSIX 세마포의 구현이 자체 동기화되기 위한 현재 POSIX 요구 사항을 따르지 않았습니다. 그 결과 sem_post()sem_wait() 함수가 예기치 않게 종료되거나 EINVAL 오류 코드를 반환할 수 있었습니다. 이번 업데이트에서는 웨이터를 추적하여 세마포어의 조기 손상을 방지할 수 있는 새로운 POSIX 세마포 세마포의 구조 구현을 제공합니다. glibc 에 의해 구현된 세마포어는 이제 자체 동기화되어 이 버그가 수정됩니다. (BZ#1027348)

SELinux 자동 재레이블 후 디스크가 완전히 마운트 해제됨

이전에는 SELinux의 레이블을 다시 지정한 후 systemctl --force reboot 명령을 실행하여 rhel-autorelabel 스크립트가 시스템 재부팅을 시작했습니다. 그 결과 rootfs 이미지를 완전히 마운트 해제하고 기본 Device Mapper(DM) 장치를 비활성화하려면 특정 단계가 생략되었습니다. 이 버그를 해결하기 위해 재부팅 전에 dracut-initframs-restore 스크립트를 호출하도록 rhel-autorelabel 스크립트가 수정되었습니다. 그 결과 설명된 시나리오에서 디스크를 완전히 마운트 해제합니다. (BZ#1281821)

sosreport 에서 ASCII가 아닌 문자가 있는 소스 출력을 올바르게 수집

이번 업데이트 이전에는 sosreport 유틸리티에서 ASCII가 아닌 이름이 포함된 파일 또는 명령의 출력을 수집하려고 할 때 sosreport가 완전히 생성되지 않았습니다. 이번 업데이트를 통해 이러한 파일과 명령이 유틸리티에서 올바르게 수집 및 보고됩니다. (BZ#1296813)

Kernel Dump Configuration GUI에서 kdump 를 NFS 대상 대상으로 설정할 수 있습니다.

이전에는 Kernel Dump Configuration GUI의 NFS 대상 입력 상자에 내보내기 경로를 입력해야 함을 표시하지 않았습니다. 결과적으로 이 GUI를 사용할 때 kdump 기능을 NFS 대상 대상으로 구성할 수 없었습니다. 이번 업데이트를 통해 내보내기 경로가 필요하며 사용자는 설명된 상황에서 kdump 를 구성할 수 있음을 나타내기 위해 입력 박스 레이블이 변경되었습니다. (BZ#1208191)

NFS 공유가 마운트 해제된 NFS 대상으로 kdump를 구성할 때 경고 메시지가 수정됨

이번 업데이트 이전에는 NFS 공유가 마운트되지 않은 경우 kdump를 NFS 대상 대상으로 구성하려고 할 때 혼동되는 오류 메시지가 표시되었습니다. 커널 덤프 구성 GUI를 통해 작동하는 system-config-kdump 유틸리티에서 kdump 구성을 적용하기 전에 NFS 내보내기를 마운트해야 함을 나타내지 않았습니다. 대신 혼동되는 여러 오류 메시지가 반환되었습니다. 이번 업데이트를 통해 NFS 내보내기가 현재 마운트되지 않았으며 kdump 설정시 마운트되어 있어야 함을 나타내는 경고 메시지가 변경되었습니다. 이 경고 메시지는 혼동이 줄어들며 kdump 설정을 성공적으로 완료하는 방법에 대한 적절한 정보를 사용자에게 제공합니다. (BZ#1121590)

lparstat/proc/interrupts의 긴 줄로 인해 더 이상 실패하지 않습니다.

이번 업데이트 이전에는 /proc/interrupts 파일의 SPU 행이 512자보다 길면 lparstat 명령을 사용하면 실패했습니다. 이번 업데이트를 통해 lparstat 는 인터럽트 행을 올바르게 구문 분석하므로 설명된 상황에서 올바른 결과를 반환합니다. (BZ#1366512)

lparstat 기본 출력 모드가 올바르게 보고

이전에는 lparstat 유틸리티의 기본 출력 모드를 사용할 때 lparstat 에서 특정 매개변수 값(예: 0.00 ) 을 잘못 보고했습니다. 이 문제가 해결되어 영향을 받는 값이 올바르게 표시됩니다. (BZ#1347083)

Socket::getnameinfo 모듈이 테인트된 값에서 올바르게 작동합니다.

이전에는 Perl Socket::getnameinfo 모듈이 테인트된 값을 처리하지 못했습니다. 이번 업데이트에서는 패치를 적용하여 결과적으로 모듈이 테인트된 값으로 올바르게 작동합니다. (BZ#1200167)

python-sphinx 모듈이 더 이상 문서를 빌드할 수 없음

이전에는 python-sphinx 패키지의 man-page writer 모듈에서 메타인라인 노드 게스트가 누락되었습니다. 이로 인해 문서 빌드가 실패할 수 있었습니다. 누락된 노드 게스트를 추가하기 위한 패치가 제공되었으며 결과적으로 문서가 성공적으로 빌드됩니다. (BZ#1291573)

사용 가능한 polkit 작업을 반복적으로 나열할 때 프로그램이 더 이상 메모리 부족

이전에는 사용 가능한 작업을 나열할 때 polkit 클라이언트 라이브러리에서 메모리를 올바르게 사용하지 않아 프로그램이 메모리가 부족하여 종료될 수 있었습니다. 이번 업데이트를 통해 라이브러리는 메모리를 올바르게 비우고 이 시나리오에서 프로그램이 더 이상 충돌하지 않습니다. (BZ#1310738)

unzip 에서 비latin 및 비 유니코드 인코딩 지원

이전에는 unzip 이 비-latin 및 비 유니코드 인코딩을 지원하지 않아 잘못된 이름이 있는 파일을 만들 수 있었습니다. 이번 업데이트를 통해 unzip-O-I 옵션을 사용하여 이러한 인코딩을 지원합니다. 자세한 내용은 unzip -h 명령을 실행합니다. (BZ#1276744)

zlib 에서 RFC1951 호환 파일의 압축을 풀기

이전 버전에서는 zlib 버그로 인해 RFC1951 호환 파일이 올바르게 압축 해제되지 않았습니다. 이번 업데이트를 통해 버그가 수정되었으며 zlib 는 RFC1951 준수 파일의 압축을 풉니다. (BZ#1127330)

이제 glibc times() 함수가 버퍼에 대해 NULL 을 지원

이전에는 glibctimes() 함수가 버퍼에 대해 NULL 값을 설정하는 것을 허용하지 않았습니다. 결과적으로 이 함수로 인해 애플리케이션이 예기치 않게 종료될 수 있었습니다. 이번 업데이트에서는 패치를 적용하여 버퍼에 대해 NULL 값을 설정할 수 있으며 커널 시스템 호출에서 예상 결과를 반환합니다. (BZ#1308728)

iconv 는 더 이상 중복 시프트 시퀀스를 추가하지 않습니다.

이전에는 IBM930, IBM933, IBM935, IBM935, IBM939 문자 세트의 iconv 에서 사용하는 문자 변환 루틴의 버그로 인해 도구 출력에 중복 전환 시퀀스가 포함될 수 있었습니다. 생성된 비conforming 출력은 출력 데이터를 읽을 수 없게 될 수 있습니다. 문자 변환 루틴이 수정되었으며 더 이상 중복 변경 순서가 반환되지 않습니다. (BZ#1293916)

malloc() 확장성을 높이기 위해 코어 C 라이브러리(glibc) 개선

malloc() 함수 구현의 결함으로 인해 스레드 간에 메모리 할당 요청이 불필요한 직렬화가 발생할 수 있습니다. 이번 업데이트에서는 버그가 수정되어 스레드를 자주 생성 및 제거하는 애플리케이션에 대한 할당 요청의 동시 처리량이 크게 증가합니다. (BZ#1276753)

감사 모듈에서 대체 DSO를 제공할 때 동적 링커가 더 이상 실패하지 않음

이전 버전에서는 감사 모듈에서 대체 DSO (dynamic shared object) 경로를 제공하면 ld.so 동적 링커가 세그먼트 결함이 예기치 않게 종료되었습니다. 이번 업데이트에서는 버그가 수정되어 동적 링커가 나중에 참조할 수 있도록 원래 DSO 경로를 추적하여 설명된 시나리오에서 더 이상 충돌하지 않습니다. (BZ#1211100)

selinux-policy 이제 모든 파일 시스템 유형에서 hypervkvpd 에서 attr을 얻을 수 있습니다.

이전에는 Data Exchange 옵션이 활성화된 가상 머신에 IP 삽입 후 restorecon 명령을 실행하는 동안 SELinux 거부가 발생했습니다. selinux-policy 패키지가 업데이트되었으며 이제 SELinux 허용 및 강제 모드에서 IP 삽입이 올바르게 완료됩니다. (BZ#1349356)
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat