Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

5장. 컴파일러 및 툴

tail --follow는 이제 Veritas Clustered 파일 시스템(VXFS)의 파일에서 올바르게 작동합니다.

VXFS(Veritas Clustered File System)는 원격 파일 시스템이며 원격 파일 시스템의 경우 tail--follow 모드에 inotify 기능을 사용할 수 없습니다. 이제 Veritas Clustered 파일 시스템이 원격 파일 시스템 목록에 추가되어 inotify 대신 폴링 모드가 사용됩니다. 이제 VXFS의 파일에 사용되는 경우에도 tail --follow 가 제대로 작동할 수 있습니다.

이제 전송 진행 상황을 표시할 수 있는 dd 명령

파일을 바이트 단위로 복사하는 데 사용되는 dd 명령은 이제 전송 진행 상황을 보여주는 status=progress 옵션을 제공합니다. 이는 사용자가 남은 시간을 추정하고 전송과 관련된 잠재적인 문제를 감지할 수 있기 때문에 대용량 파일을 전송하는 데 특히 유용합니다.

libcurl에서 대기 시간 개선

libcurl 라이브러리는 짧은 작업을 위해 활성 파일 설명자가 없는 작업에 대한 불필요한 차단 지연을 사용했습니다. 이는 /etc/hosts 를 사용하여 호스트 이름을 확인하는 것과 같은 일부 작업이 완료되는 데 오랜 시간이 걸렸습니다. 이제 libcurl 의 차단 코드가 수정되어 초기 지연이 짧고 이벤트가 발생할 때까지 점진적으로 증가합니다. 이제 빠른 libcurl 작업이 더 빨리 완료됩니다.

libcurl 라이브러리에서 차단되지 않는 SSL 핸드셰이크 구현

이전에는 libcurl 라이브러리에서 비차단 SSL 핸드셰이크를 구현하지 않아 libcurl multi API를 기반으로 하는 애플리케이션의 성능에 부정적인 영향을 미쳤습니다. 이 문제를 해결하기 위해 비차단 SSL 핸드셰이크는 libcurl 에서 구현되었으며, libcurl multi API는 이제 데이터를 읽거나 기본 네트워크 소켓에 쓸 수 없을 때마다 다시 애플리케이션으로 제어를 반환합니다.

IBM Power Systems의 GDB가 기호 테이블에 액세스할 때 더 이상 실패하지 않음

이전에는 64비트 IBM Power Systems의 GDB에서 디버깅되는 바이너리에 대한 기호 테이블을 보유한 중요한 변수를 잘못 할당했기 때문에 GDB가 해당 기호 테이블에 액세스하려고 할 때 세그먼트 오류가 발생했습니다. 이 문제를 해결하기 위해 이 특정 변수가 영구적으로 수행되었으며 GDB는 이제 잘못된 메모리 영역을 읽지 않고도 디버깅 세션 중에 나중에 필요한 정보에 액세스할 수 있습니다.

구성 데이터를 자동으로 다시 로드하도록 nscd 업데이트

이번 이름 서버 캐싱 데몬(nscd) 업데이트에서는 nscd 구성 파일에 대한 inotify-based monitoring 및 stat-based backup monitoring 시스템을 추가하여 nscd 구성 파일에 대한 변경 사항을 올바르게 탐지하고 데이터를 다시 로드합니다. 이렇게 하면 nscd가 오래된 데이터를 반환하지 않습니다.

dlopen 라이브러리 함수가 더 이상 재귀 호출에서 충돌하지 않음

이전에는 라이브러리 함수 dlopen 의 결함으로 인해 이 함수에 대한 재귀적 호출이 중단되거나 라이브러리 어설션으로 중단될 수 있었습니다. 사용자 제공 malloc 구현에서 dlopen 을 호출하는 경우 재귀 호출이 가능합니다.
이제 구현이 다시 시작되어 재귀 호출이 더 이상 중단되거나 어설션으로 중단되지 않습니다.

operf 툴에서 정적 대규모 페이지 식별자를 인식

이전 버전에서는 정적 대규모 페이지가 활성화된 Java just-in-time(JIT) 컴파일 코드의 성능을 프로파일링할 때 OProfile의 operf 명령은 적절한 Java 메서드 대신 익명 메모리(aon_hugepage)에 많은 수의 이벤트 샘플을 기록했습니다. 이번 업데이트를 통해 operf는 정적 대규모 페이지 식별자를 인식하고 정적으로 할당된 대규모 페이지를 사용할 때 Java 메서드에 샘플을 올바르게 매핑합니다.

rsync -X 가 올바르게 작동합니다.

이전에는 rsync 툴에서 보안 속성을 설정하는 것이 아니라 이전 후 파일 소유권을 변경했습니다. 그 결과 대상의 보안 속성이 누락되어 rsync -X 명령을 실행하면 특정 상황에서 제대로 작동하지 않았습니다. 이번 업데이트를 통해 작업 순서가 전환되고 rsync 가 보안 특성을 설정하기 전에 소유권을 변경합니다. 그 결과 설명된 상황에서 보안 속성이 예상대로 표시됩니다.

Subversion 실행 파일은 전체 RELRO 데이터로 빌드

subversion 패키지와 함께 제공되는 실행 파일은 이제 완전히 읽기 전용 재배치 데이터(RELRO)로 구축되어 일부 유형의 메모리 손상 공격에 대한 보호 기능을 제공합니다. 따라서 향후 취약점이 발견되면 Subversion을 악용하는 것이 더 어려워집니다.

이제 TCL의 스레드 확장이 올바르게 작동합니다.

이전에는 TCL ( Tool Command Language)의 스레딩 지원이 최적으로 구현되지 않았습니다. fork() 호출이 TCL 인터프리터에서 활성화된 스레드 확장과 함께 사용된 경우 프로세스가 응답하지 않을 수 있습니다. 이로 인해 TCL 인터프리터 및 TK 애플리케이션은 이전에 스레드 확장을 사용하지 않도록 설정했습니다. 그 결과 스레드 TCL 또는 TK에 따라 타사 애플리케이션이 제대로 작동하지 않았습니다. 이 버그를 해결하기 위해 패치가 구현되었으며 이제 TCL과 TK에는 기본적으로 스레드 확장을 사용하도록 설정되어 있습니다.

AES 암호화 제품군은 TLS에 대해 명시적으로 활성화 또는 비활성화할 수 있습니다.

업데이트된 curl 패키지를 사용하면 TLS 프로토콜에 사용할 새 AES(Advanced Encryption Standard) 암호화 제품군을 명시적으로 활성화하거나 비활성화할 수 있습니다.

OpenJDK 7에서 ECC 지원

이번 업데이트를 통해 OpenJDK 7은 ECC(Elliptic Curve Cryptography) 및 TLS 연결에 대한 관련 암호를 지원합니다. ECC는 대부분의 경우 안전한 네트워크 연결을 위해 이전 암호화 솔루션보다 우선합니다.

ABRT는 이제 전체 코어dump 대신 core_backtrace 파일을 저장할 수 있습니다.

ABRT는 이제 디스크에 코어dump 파일을 작성하지 않고 백트레이스를 생성하도록 구성할 수 있습니다. 이렇게 하면 대규모 메모리 블록이 할당된 프로세스 작업 시 시간을 절약할 수 있습니다. 이 기능은 CreateCoreBacktrace 옵션을 yes 로 설정하고 SaveFullCore 옵션을 /etc/abrt/plugins/CCpp.conf 파일에 없음 으로 설정하여 이 기능을 활성화할 수 있습니다.

Python 표준 라이브러리에 추가된 보안 기능

466 Python Enhancent Proposal (http://legacy.python.org/dev/peps/pep-0466/)에 설명된 여러 보안 개선 사항이 Python 표준 라이브러리로 백포트되었습니다. 보안 개선 사항에는 예를 들어 SNI(Server Name Indication) 지원뿐만 아니라 새로운 TLSv1.x 프로토콜 지원, hashlib 모듈의 새로운 해시 알고리즘과 같은 ssl 모듈 의 새로운 기능이 포함됩니다.

Python 표준 라이브러리의 SSL/TLS 인증서 확인에 대한 새로운 글로벌 설정

사용자가 Python 표준 라이브러리의 HTTP 클라이언트(예: urllib, httplib 또는 xmlrpclib)에서 SSL/TLS 인증서 검증을 전역적으로 활성화하거나 비활성화할 수 있는 새로운 옵션이 추가되었습니다. 옵션은 493 Python 기능 개선 제안 (https://www.python.org/dev/peps/pep-0493/)에 설명되어있습니다. 기본값은 인증서를 확인하지 않는 것입니다. 자세한 내용은 https://access.redhat.com/articles/2039753 에서 참조하십시오.