Red Hat Training

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

25장. 컴파일러 및 도구

이제 PCRE 라이브러리가 유니코드에 필요한 대로 ASCII가 아닌 문자를 올바르게 인식합니다.

이전에는 Perl compatibleible Regular Expressions (PCRE) 라이브러리를 사용하여 ASCII가 아닌 문자와 유니코드 문자열을 일치시킬 때 라이브러리에서 출력 가능한 ASCII가 아닌 문자를 올바르게 인식할 수 없었습니다. 패치가 적용되었으며 PCRE 라이브러리는 이제 UTF-8 모드에서 출력 가능한 ASCII가 아닌 문자를 인식합니다. (BZ#1400267)

Bundler 를 사용하여 종속성을 관리하는 애플리케이션에서 JSON 라이브러리를 올바르게 로드할 수 있습니다.

이전에는 Bundler 를 사용하여 Ruby 애플리케이션 종속성을 관리할 때 JSON 라이브러리를 로드하지 못하는 경우가 있었습니다. 결과적으로 LoadError 를 사용하여 애플리케이션이 실패했습니다. 이로 인해 Ruby on Rails 가 더 이상 JSON 라이브러리에 대한 종속성을 명시적으로 지정하지 않기 때문에 특히 문제가 발생했습니다. 이번 업데이트를 통해 JSON 은 항상 로드 경로에서 사용할 수 있으며 설명된 문제가 더 이상 발생하지 않습니다. (BZ#1308992)

이제 HTTP 또는 HTTPS 및 SSO와 함께 Git 을 사용할 수 있습니다.

libcurl 버전 7.21.7이므로 CVE-2011-2192으로 인해 Kerberos 티켓을 위임하기 위한 새로운 매개 변수가 필요합니다. 이전에는 Git 에서 이러한 매개 변수를 설정하는 방법을 제공하지 않았습니다. 결과적으로 HTTP 또는 HTTPS 연결에 Single Sign-On을 사용하는 데 실패했습니다. 이번 업데이트를 통해 Git 은 cURL --delegation 매개변수에 해당하는 새로운 http.delegation 구성 변수를 제공합니다. 사용자는 Kerberos 티켓을 위임해야 하는 경우 이 매개 변수를 설정해야 합니다. (BZ#1369173)

이제 rescan-scsi-bus.sh --luns=1 을 다시 스캔합니다. 이제 1로 번호가 지정된 LUN만 스캔합니다.

sg3_utils 패키지에는 SCSI 명령을 장치로 보내는 유틸리티가 포함되어 있습니다. 버전 1.28-5 및 이전 버전의 sg3_utils 에서 rescan-scsi-bus.sh --luns=1 명령은 1로 번호가 지정된 논리 단위 번호(LUN)만 다시 스캔했습니다. 버전 1.28-6으로 업데이트한 후 모든 LUN 을 잘못 다시 스캔한 후 --luns=1 을 다시 스캔합니다. 이번 업데이트를 통해 기본 소스 코드가 수정되었으며 재scan -scsi-bus.sh --luns=1 은 1로 번호가 지정된 LUN만 스캔합니다. (BZ#1380744)

ps 는 더 이상 대기 채널 이름에서 접두사를 제거하지 않습니다.

ps 유틸리티는 이전에 sys_do_ 접두사를 대기 채널(WCHAN) 데이터에서 제거했습니다. 이로 인해 사용자가 ps 출력에 이러한 접두사를 의도적으로 포함하는 이름의 함수를 구분하지 못했습니다. 접두사를 제거하는 코드가 제거되었으며 ps 는 이제 전체 대기 채널 이름이 표시됩니다. (BZ#1373246)

.history 파일이 네트워크 파일 시스템에 있으면 tcsh 가 더 이상 응답하지 않습니다.

이전에는 .history 파일이 NFS 또는 Samba와 같은 네트워크 파일 시스템에 있는 경우 tcsh 명령 언어 인터프리터가 로그인 프로세스 중에 응답하지 않는 경우가 있었습니다. .history 파일 잠금이 네트워크 파일 시스템에 있는 경우 .history 파일 잠금을 방지하기 위해 패치가 적용되었으며 tcsh 는 더 이상 설명된 상황에서 응답하지 않습니다.
tcsh를 여러 개 실행하는 경우 . history가 손상될 수 있습니다. 이 문제를 해결하려면 lock 매개변수를 savehist 옵션에 추가하여 명시적 파일 잠금 메커니즘을 활성화합니다. 예:
$ cat /etc/csh.cshrc
# csh configuration for all shell invocations.
set savehist = (1024 merge lock)
lock 옵션은 .history 가 네트워크 파일 시스템에 있을 때 tcsh 를 파일 잠금을 사용하도록 강제 적용하려면 savehist 옵션의 세 번째 매개 변수여야 합니다. Red Hat은 lock 매개변수를 사용할 것을 보장하지 않으므로 로그인 프로세스 중에 tcsh 가 응답하지 않게 됩니다. (BZ#1388426)

fcoeadm --target 이 더 이상 fcoeadm 이 충돌하지 않음

이전 버전에서는 fcoeadm --target 명령을 실행하면 fcoeadm 유틸리티가 세그먼트화 오류로 예기치 않게 종료되는 경우가 있었습니다. 이번 업데이트를 통해 fcoeadm 이 비FCoE 대상의 sysfs 경로를 무시하도록 수정되었으며 fcoeadm --target 은 더 이상 fcoeadm 이 충돌하지 않습니다. (BZ#1384707)

tar 옵션 --directory 가 더 이상 무시되지 않음

이전에는 --remove-files 옵션과 함께 사용할 때 tar 명령의 --directory 옵션이 무시되었습니다. 그 결과 현재 작업 디렉터리의 파일은 --directory 옵션으로 지정된 디렉터리에 있는 파일 대신 제거되었습니다. 이 버그를 해결하기 위해 --directory 옵션을 검색, 저장 및 수행하는 새로운 함수 및 속성이 추가되었습니다. 결과적으로 --directory 옵션으로 지정된 디렉터리에서 파일이 올바르게 제거됩니다. (BZ#1319820)

tar 옵션 --xattrs-exclude--xattrs-include 는 더 이상 무시되지 않음

이전에는 tar 명령에서 --xattrs-exclude--xattrs-include 옵션을 무시했습니다. 이 버그를 해결하기 위해 tar 은 확장 특성을 가져올 때 포함 및 마스크를 제외하도록 수정되었습니다. 결과적으로 --xattrs-exclude--xattrs-include 옵션이 더 이상 무시되지 않습니다. (BZ#1341786)

tar 에서 증분 백업을 올바르게 복원합니다.

이전에는 tar 명령이 증분 백업을 올바르게 복원하지 않았습니다. 그 결과 증분 백업에서 삭제된 파일이 복원 시 제거되지 않았습니다. 버그가 수정되었으며 tar 은 이제 증분 백업을 올바르게 복원합니다. (BZ#1184697)

perl-homedir 프로필 스크립트에서 csh를 지원

이전에는 perl-homedir 프로필 스크립트에서 C 쉘 (csh) 구문을 처리할 수 없었습니다. 결과적으로 perl-homedir 패키지가 설치되고 /etc/sysconfig/perl-homedir 파일에 PERL_HOMEDIR=0 행이 포함된 경우 프로파일 스크립트를 실행하면 다음과 같은 오류가 발생했습니다.
PERL_HOMEDIR=0: Command not found.
이번 업데이트에서는 csh 구문에 대한 지원이 추가되어 설명된 문제는 더 이상 발생하지 않습니다. (BZ#1122993)

getaddrinfo 가 초기화되지 않은 데이터에 더 이상 액세스하지 않음

nscd 데몬이 활성화된 시스템에서 glibc 라이브러리의 getaddrinfo() 함수가 초기화되지 않은 데이터에 액세스할 수 있으므로 잘못된 주소 정보를 반환할 수 있습니다. 이번 업데이트에서는 초기화되지 않은 데이터 액세스를 방지하고 올바른 주소가 반환되도록 합니다. (BZ#1324568)

glibcmalloc 구현에서 수행되는 추가 보안 검사

이전에는 glibc 라이브러리가 어설션 없이 컴파일되었기 때문에 malloc 을 구현하는 함수가 힙 일관성을 확인하지 않았습니다. 이로 인해 힙 기반 버퍼 오버플로가 악용될 위험이 높아졌습니다. 힙 일관성 검사가 어설션에서 명시적 확인으로 변환되었습니다. 결과적으로 glibc 에서 malloc 구현에 대한 호출 보안이 향상되었습니다. (BZ#1326739)

chrpath 버전 0.16으로 다시 시작

chrpath 패키지가 업스트림 버전 0.16으로 업그레이드되어 이전 버전에 비해 여러 버그 수정이 제공됩니다. 특히 chrpath 툴은 64비트 시스템에서 64비트 바이너리의 실행 경로 속성만 수정하고 32비트 시스템에서 32비트 바이너리를 수정할 수 있었습니다. 이 버그가 수정되었으며 64비트 시스템의 chrpath 는 이제 64비트 시스템에서 32비트 시스템에 대한 32비트 시스템 및 바이너리의 실행 경로를 수정할 수 있습니다. (BZ#1271380)

system-config- language 패키지에 대한 업데이트된 번역

system-config- language 에 대한 누락된 번역을 해결하기 위해 다음 10개 언어가 추가되었습니다. de, es, fr, it, ja, ko, pt_BR, ru, zh_CN, zh_TW. (BZ#1304223)

호스트 이름에 도메인 부분이 없을 때 redfish 헤더가 불완전한 이메일을 발송하지 않습니다.

이전에는 호스트 이름에 도메인 이름이 포함되지 않은 경우 Mutt 이메일 클라이언트에서 호스트 이름이 누락된 From 헤더가 있는 이메일을 전송했습니다. 결과적으로 이러한 이메일에 응답하는 것은 불가능했습니다. 이 버그가 수정되었으며 이제 Mutt 은 도메인 부분을 포함하지 않는 호스트 이름을 올바르게 처리합니다. (BZ#1388512)

straceopen() 함수의 경우 O_TMPFILE 플래그 및 모드를 올바르게 표시합니다.

이전에는 strace 유틸리티에서 시스템 함수 open() 에 대한 O_TMPFILE 플래그의 존재를 인식하지 못했으며 모드 옵션이 있는지 여부가 확인되었습니다. 그 결과 strace 출력에 각 플래그의 이름이 표시되지 않았으며 mode 옵션 값이 없었습니다. strace 유틸리티가 이 상황을 인식하도록 확장되었습니다. 결과적으로 O_TMPFILE 플래그 및 모드가 올바르게 표시됩니다. (BZ#1377847)

대규모 프로그램을 연결할 때 더 이상 LD가 무한 루프에 들어가지 않습니다.

IBM Power Systems 아키텍처의 대규모 프로그램에서는 . text 세그먼트 가 두 개의 스텁 섹션으로 서비스됩니다. 이전에는 섹션 중 하나가 항상 증가했기 때문에 이러한 세그먼트를 스케일링할 때 ld 링커 크기 조정 조건이 충족되지 않았습니다. 결과적으로 ld 는 무한 루프를 입력했으며 종료되어야 했습니다. LD는 이러한 상황을 인식하고 크기 조정 종료 조건을 변경하기 위해 확장되었습니다. 결과적으로 ld 가 올바르게 종료됩니다. (BZ#1406498)

숨겨진 기호에 대한 개체 간 참조에 대한 골드 경고 메시지

gold 링커는 하나의 라이브러리의 코드가 두 번째 라이브러리 또는 개체 파일의 숨겨진 기호를 참조하는 공유 라이브러리를 연결할 때 경고 메시지를 생성합니다. 이전에는 gold 에서 다른 라이브러리 또는 오브젝트 파일에 동일한 기호에 대한 표시 정의를 제공한 경우에도 이 경고 메시지가 생성되었습니다. 이 버그를 해결하기 위해 gold 은 이 특정 케이스에 대한 확인으로 연장되었으며 기호의 표시 정의가 없는 경우에만 경고 메시지를 생성합니다. 결과적으로 gold 에 더 이상 잘못된 경고 메시지가 표시되지 않습니다. (BZ#1326710)

Intel Xeon® C3xxx 프로세서의 OProfile 기본 이벤트(Digitively) 고정

이전 버전에서는 Intel Xeon® C3xxx 프로세서의 OProfile 에 대한 기본 사이클 카운트 이벤트에 Denvertondatabind가 포함된 잘못된 값이 사용되었습니다. 결과적으로 OProfile 샘플링 및 기본 이벤트 사용 계산이 작동하지 않았습니다. 관련 OProfile 설정이 수정되었습니다. 결과적으로 기본 이벤트는 이제 Denverton 6443이 있는 Intel Xeon® C3xxx 프로세서에서 작동합니다. (BZ#1380809)