4.11. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버
nodejs:16
모듈 스트림이 완전히 지원됨
이전에 기술 프리뷰로 사용 가능한 nodejs:16
모듈 스트림은 RHSA-2021:5171 권고 릴리스로 완전 지원됩니다. nodejs:16
모듈 스트림은 이제 LTS(Long Term Support) 버전인 Node.js 16.13.1
을 제공합니다.
RHEL 8.5에 포함된 Node.js 16
은 RHEL 8.3 이후 사용할 수 있는 Node.js 14
에 비해 여러 가지 새로운 기능 및 버그 및 보안 수정 사항을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
V8
엔진이 버전 9.4로 업그레이드되었습니다. -
npm
패키지 관리자가 버전 8.1.2로 업그레이드되었습니다. -
새로운
타이머 Promises
API는Promise
오브젝트를 반환하는 다른 타이머 기능 세트를 제공합니다. -
Node.js
에서 실험적웹 스트림
API를 제공합니다. -
Node.js
에는 이제 수동으로 설치할 필요 없이 제공된 프로젝트에 구성된 패키지 관리자를 사용할 수 있는 실험적 도구인Corepack
이 포함되어 있습니다. -
Node.js
에서는 ESM 로더 후크를 통합하는 실험적 ECMAScript 모듈(ESM) 로더 후크 API를 제공합니다.
nodejs:16
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install nodejs:16
nodejs:14 스트림에서 업그레이드하려면 Switching
을 이후 스트림으로 참조하십시오.
(BZ#1953991, BZ#2027610)
새 모듈 스트림: ruby:3.0
RHEL 8.5에는 새로운 ruby:3.0
모듈 스트림에 Ruby 3.0.2
가 도입되었습니다. 이 버전은 RHEL 8.3과 함께 배포되는 Ruby 2.7
에 비해 다양한 성능 개선, 버그 및 보안 수정, 새 기능을 제공합니다.
주요 개선 사항은 다음과 같습니다.
동시성 및 병렬 처리 기능:
-
스레드 보안 병렬 실행을 제공하는 행위자 모델 추상화인
Ractor
가 실험적 기능으로 제공됩니다. -
광 스케줄러
는 실험적 기능으로 도입되었습니다.Fiber Scheduler
는 기존 코드를 변경하지 않고도 경량 동시성을 지원하는 차단 작업을 가로챕니다.
-
스레드 보안 병렬 실행을 제공하는 행위자 모델 추상화인
정적 분석 기능:
-
RBS
언어는Ruby
프로그램의 구조를 설명하는 도입되었습니다.RBS
로 작성된 구문 분석 유형 정의에rbs
gem이 추가되었습니다. -
Ruby
코드의유형 분석 툴인 TypeProf
유틸리티가 도입되었습니다.
-
-
사례/인식과의 패턴 일치는 더
이상 실험적이지 않습니다. - 실험적 기능인 한 줄 패턴 일치가 다시 설계되었습니다.
- 검색 패턴은 실험적 기능으로 추가되었습니다.
다음과 같은 성능 개선이 구현되었습니다.
-
긴 코드를
IRB(상사 Ruby Shell)
에 붙여넣는 속도가 훨씬 빨라졌습니다. -
측정
명령이 시간 측정을 위해IRB
에 추가되었습니다.
기타 주요 변경 사항은 다음과 같습니다.
- 키워드 인수는 다른 인수와 분리되었습니다.
-
사용자가 설치한 gems의 기본 디렉터리는
$HOME/.local/share/gem/
디렉터리가 이미 있는 경우를 제외하고 이제$HOME/.local/share/gem/
입니다.
ruby:3.0
모듈 스트림을 설치하려면 다음을 사용합니다.
# yum module install ruby:3.0
이전 ruby
모듈 스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
Python urllib
구문 분석 함수의 기본 구분 기호 변경
Python urllib 라이브러리에서 CVE-2021-23336에 대한 웹 캐시를 완화하려면 urllib
.parse.parse_qsl 및
기본 구분 기호가 앰퍼샌드(urllib.parse
.parse_qs 함수의&) 및 세미콜론(;
)에서 앰퍼샌드(;
)로만 변경됩니다.
이러한 변경 사항은 RHEL 8.4 릴리스와 함께 Python 3.6에서 구현되었으며 이제 Python 3.8 및 Python 2.7으로 백포트되고 있습니다.
기본 구분 기호의 변경은 이전 버전과 호환되지 않을 수 있으므로 Red Hat에서는 기본 구분 기호가 변경된 Python 패키지에서 동작을 구성하는 방법을 제공합니다. 또한 영향을 받는 urllib
구문 분석 기능은 고객의 애플리케이션이 변경의 영향을 받았음을 감지하면 경고 메시지가 표시됩니다.
자세한 내용은 Python urllib 라이브러리의 Web Cache Poisoning(CVE-2021-23336) 지식 베이스 문서를 참조하십시오.
Python 3.9는 영향을 받지 않으며 Python 코드에서 urllib.parse.parse _qsl 및
함수를 호출할 때 구분 기호 매개 변수를 전달하여 변경할 수 있는 새로운 기본 구분 기호(urllib.parse.parse_q
s&
)가 이미 포함되어 있습니다.
(BZ#1935686, BZ#1931555, BZ#1969517)
Python ipaddress
모듈에서 더 이상 IPv4 주소에서 제로를 허용하지 않음
CVE-2021-29921 을 완화하기 위해 Python ipaddress
모듈에서 AddressValueError가 있는 선행 0이 있는 IPv4 주소를 거부합니다. 선행 0은 허용되지 않습니다
오류.
이러한 변경은 python38 및 python
39
모듈에서 도입되었습니다. RHEL에 배포된 이전 Python 버전은 CVE-2021-29921의 영향을 받지 않습니다.
이전 동작을 사용하는 고객은 IPv4 주소 입력을 사전 처리하여 선행 제로를 제거할 수 있습니다. 예를 들면 다음과 같습니다.
>>> def reformat_ip(address): return '.'.join(part.lstrip('0') if part != '0' else part for part in address.split('.')) >>> reformat_ip('0127.0.0.1') '127.0.0.1'
가독성을 위해 명시적 루프로 선행 0을 제거하려면 다음을 사용합니다.
def reformat_ip(address): parts = [] for part in address.split('.'): if part != "0": part = part.lstrip('0') parts.append(part) return '.'.join(parts)
(BZ#1986007, BZ#1970504, BZ#1970505)
php:7.4
모듈 스트림이 버전 7.4.19로 업데이트
php:7.4
모듈 스트림에서 제공하는 PHP 스크립팅 언어가 버전 7.4.6에서 버전 7.4.19로 업그레이드되었습니다. 이번 업데이트에서는 여러 보안 및 버그 수정을 제공합니다.
(BZ#1944110)
새 패키지: pg_repack
새 pg_repack
패키지가 postgresql:12 및 postgresql
:13
모듈 스트림에 추가되었습니다. pg_repack
패키지는 테이블 및 인덱스에서 혼합을 제거하고 선택적으로 클러스터형 인덱스의 물리적 순서를 복원할 수 있는 PostgreSQL
확장 기능을 제공합니다.
(BZ#1967193, BZ#1935889)
새 모듈 스트림: nginx:1.20
nginx 1.20
웹 및 프록시 서버를 이제 nginx:1.20
모듈 스트림으로 사용할 수 있습니다. 이번 업데이트에서는 이전에 출시된 버전 1.18에 비해 많은 버그 수정, 보안 수정, 새 기능 및 개선사항을 제공합니다.
새로운 기능 :
-
Nginx
는 OCSP(Online Certificate Status Protocol)를 사용하여 클라이언트 SSL 인증서 유효성 검사를 지원합니다. -
Nginx
는 최소 사용 가능한 공간에 따라 캐시 지우기를 지원합니다. 이 지원은 proxy_cache
매개 변수로 구현됩니다._path 지시문의 min_
free -
변수 값을 설정할 수 있는 new
ngx_stream_set_module
모듈이 추가되었습니다.
향상된 지시문 :
-
ssl_conf_command 및
와 같은 새로운 지시문을 여러 개 사용할 수 있습니다.ssl_reject_
handshake -
proxy_cookie_flags
지시문은 이제 변수를 지원합니다.
HTTP/2 지원 개선:
-
Then
gx_http_v2
모듈에 이제 lingering_close, lingering
_time
, lingering_timeout
지시문이 포함됩니다. -
HTTP/2의 연결 처리가 HTTP/1.x에 맞게 조정되었습니다. Nginx
1.20
에서http2_recv
지시문을 사용합니다._timeout, http2_
및 keepalive_requestsidle
_timeout_timeout
및http2_max_
requests 지시문이 제거된 대신 keepalive
nginx:1.20
스트림을 설치하려면 다음을 사용합니다.
# yum module install nginx:1.20
nginx:1.20
스트림에서 업그레이드하려면 이후 스트림으로 전환을 참조하십시오.
(BZ#1945671)
squid:4
모듈 스트림이 버전 4.15로 다시 기반합니다.
squid:4
모듈 스트림에서 사용할 수 있는 Squid
프록시 서버가 버전 4.11에서 버전 4.15로 업그레이드되었습니다. 이번 업데이트에서는 다양한 버그 및 보안 수정을 제공합니다.
(BZ#1964384)
RHEL 8에서 LVM system.devices
파일 기능 사용 가능
RHEL 8.5에서는 LVM system.devices
파일 기능이 도입되었습니다. /etc/lvm/devices/system.devices
파일에 장치 목록을 생성하면 LVM을 인식하고 사용할 특정 장치를 선택하고 LVM이 원하지 않는 장치를 사용하지 못하도록 할 수 있습니다.
system.devices
파일 기능을 활성화하려면 lvm.conf
구성 파일에서 use_devicesfile=1
을 설정하고 장치를 system.devices
파일에 추가합니다. LVM은 system.devices
파일 기능이 활성화된 동안 장치 필터 설정을 무시합니다. 경고 메시지를 방지하려면 lvm.conf
파일에서 필터 설정을 제거합니다.
자세한 내용은 lvmdevices(8)
매뉴얼 페이지를 참조하십시오.
(BZ#1922312)
쿼터
에서 HPE XFS 지원
할당량
유틸리티에서 이제 HPE XFS 파일 시스템을 지원합니다. 결과적으로 HPE XFS 사용자는 할당량
유틸리티를 통해 사용자 및 그룹 디스크 사용량을 모니터링하고 관리할 수 있습니다.
(BZ#1945408)
mutt
는 2.0.7 버전으로 업데이트
Mutt
이메일 클라이언트는 버전 2.0.7로 업데이트되어 여러 개선 사항 및 버그 수정을 제공합니다.
주요 변경 사항은 다음과 같습니다.
-
mutt
는 이제XOAUTH2
메커니즘을 사용하여OAuth 2.0
인증 프로토콜을 지원합니다. mutt는 이제 IMAP, POP 및 SMTP 프로토콜에 대한OAUTHBEARER
인증 메커니즘도 지원합니다. OAuth 기반 기능은 외부 스크립트를 통해 제공됩니다. 따라서인증
토큰을 사용하여Mutt
와 같은 다양한 클라우드 이메일 프로바이더와 연결할 수 있습니다. OAuth 지원으로Mutt
를 설정하는 방법에 대한 자세한 내용은 OAuth2 인증을 사용하여 Mutt를 설정하는 방법을 참조하십시오. -
mutt
는 도메인 리터럴 이메일 주소에 대한 지원을 추가합니다(예:user@[IPv6:fcXX:…]
. -
새로운
$ssl_use_tlsv1_3
구성 변수는 이메일 서버에서 지원하는 경우 TLS 1.3 연결을 허용합니다. 이 변수는 기본적으로 활성화되어 있습니다. -
새로운
$imap_deflate
변수는COMPRESS=DEFLATE 압축을
지원합니다. 변수는 기본적으로 비활성화되어 있습니다. -
$ssl_starttls
변수는 더 이상 암호화되지 않은 IMAPPREAUTH
연결을 중단하는 작업을 제어하지 않습니다.STARTTLS
프로세스에 의존하는 경우$ssl_force_tls
변수를 대신 사용합니다.
새 Mutt
버전을 업데이트한 후에도 ssl_force_tls
구성 변수는 여전히 기본값이 no
로 설정되어 RHEL 사용자가 기존 환경에서 문제가 발생하지 않도록 합니다. Mutt
의 업스트림 버전에서ssl_force_tls
는 기본적으로 활성화되어 있습니다.