6.13. 동적 프로그래밍 언어, 웹 서버 및 데이터베이스 서버


RHEL 10의 Python 3.12

Python 3.12는 RHEL 10의 기본 Python 구현입니다. Python 3.12는 BaseOS 리포지토리에 없는 python3 RPM 패키지로 배포되며 일반적으로 기본적으로 설치됩니다. RHEL 10의 전체 라이프 사이클에서 Python 3.12가 지원됩니다.

추가 버전의 Python 3은 AppStream 리포지토리를 통해 라이프 사이클이 더 짧은 RPM 패키지로 배포되며 병렬로 설치할 수 있습니다. python 명령(/usr/bin/python) 및 pip 와 같은 기타 Python 관련 명령은 버전이 지정되지 않은 형식으로 사용할 수 있으며 기본 Python 3.12 버전을 가리킵니다.

이전에 릴리스된 Python 3.11과 비교하여 주요 개선 사항은 다음과 같습니다.

  • Python은 일반 클래스 및 함수에 대한 새로운 type 문 및 새로운 type 매개 변수 구문을 도입합니다.
  • 포맷된 문자열 리터럴(f-문자열)은 문법으로 공식화되어 이제 구문 분석기에 직접 통합될 수 있습니다.
  • Python은 이제 GIL(글로벌 인터프리터 잠금)을 통해 고유한 해석별 인터프리터 잠금을 제공합니다.
  • 이제 Python 코드의 버퍼 프로토콜을 사용할 수 있습니다.
  • CPython 의 사전, 목록 및 설정 이해는 이제 인라인으로 표시됩니다. 이로 인해 이해력 실행 속도가 크게 증가합니다.
  • CPython 은 이제 Linux perf profiler를 지원합니다.
  • CPython 은 이제 지원되는 플랫폼에서 스택 오버플로 보호 기능을 제공합니다.
  • Python 3.12는 기본적으로 업스트림에서 사용되는 GCC -O3 최적화 플래그로 컴파일됩니다. 결과적으로 Python 애플리케이션 및 인터프리터의 성능 향상을 확인할 수 있습니다.

Python 3.12 스택에서 패키지를 설치하려면 예를 들어 다음 명령을 사용합니다.

# dnf install python3
# dnf install python3-pip
Copy to Clipboard Toggle word wrap

인터프리터를 실행하려면 다음 명령을 사용합니다.

$ python
$ python3
$ python3 -m pip --help
Copy to Clipboard Toggle word wrap

Jira:RHELDOCS-18402[1], Jira:RHEL-45315

RHEL 10, Perl 5.40 도입

RHEL 10에는 이전에 사용 가능한 버전 5.32에 비해 다양한 개선 사항을 제공하는 Perl 5.40이 포함되어 있습니다.

  • 핵심 개선 사항:

    • Perl은 이제 유니코드 15.0을 지원합니다.
    • 이제 새로운 -g 명령줄 옵션을 사용할 수 있습니다. 이 옵션은 -0777 의 별칭입니다.
    • 이제 -M 명령줄 옵션에는 공백을 사용할 수 있습니다.
    • 새로운 내장 모듈은 이제 새로운 always-present 함수에 대한 문서를 제공합니다.
    • 새로운 try/catch 기능이 추가되었습니다.
    • 더 이상 사용되지 않는 경고에는 이제 세분화된 제어를 제공하는 특정 하위 항목이 있습니다. 단일 문에서 모든 사용 중단 경고를 비활성화할 수 있습니다.
    • $INC 변수 및 새 INCDIR 메서드를 포함하여 @INC 후크가 개선되었습니다.
    • 지연 기에서 금지된 제어 흐름이 이제 컴파일 시간에 감지됩니다.
    • 패턴에서 (?{ …​ })(??{ …​ }) 를 사용하면 해당 패턴에서 전역적으로 다양한 최적화가 비활성화됩니다.
    • REG_INF regex 엔진 정량기의 제한이 65,536에서 2,147,483,647로 증가했습니다.
    • 새 regexp 변수 ${^LAST_SUCCESSFUL_PATTERN} 을(를) 사용하여 현재 범위에서 일치하는 마지막 성공한 패턴에 액세스할 수 있습니다.
    • 새로운 __CLASS__ 키워드가 도입되었습니다.
    • Perl은 이제 새로운 Cryostat 논리 XOR 연산자를 지원합니다.
  • 호환되지 않는 변경 사항:

    • 이제 물리적으로 빈 정렬 함수가 컴파일 시간 오류를 트리거합니다.
    • readline() 함수는 더 이상 스트림 오류와 EOF 플래그를 지우지 않습니다.
    • INIT 블록은 BEGIN 블록 내의 exit() 함수 후에 더 이상 실행되지 않습니다.
    • 알 수 없는 패키지에서 가져오기 메서드를 호출하면 경고가 생성됩니다.
    • 반환 함수는 더 이상 간접 개체를 허용하지 않습니다.
    • 오류 및 경고로 인해 테스트 실패가 발생할 수 있습니다.
  • 사용 중단:

    • ' 문자를 패키지 이름 구분 기호로 사용하는 것은 더 이상 사용되지 않습니다.
    • switch 기능 및 smartmatch operator ~~ 은 더 이상 사용되지 않습니다.
    • goto 함수를 사용하여 외부 범위에서 내부 범위로 이동하는 것은 더 이상 사용되지 않습니다.
  • 내부 변경 사항:

    • 더 이상 사용되지 않는 여러 C 기능이 제거되었습니다.
    • 이제 내부 C API 기능이 이를 지원하는 플랫폼의 __attribute__(hidden) 속성으로 숨겨집니다. 즉, 해당 플랫폼의 XS 모듈에서 더 이상 호출할 수 없습니다.
  • 모듈:

    • Term::TableTest2::Suite 모듈이 Perl Core에 추가되었습니다.
    • 대부분의 모듈이 업데이트되었습니다.

자세한 내용은 perl5340delta,perl5360delta,perl5380delta, perldelta 매뉴얼 페이지를 참조하십시오.

Jira:RHELDOCS-18869[1]

RHEL 10, Ruby 3.3 도입

RHEL 10에는 Ruby 3.3.7이 포함되어 있습니다. 이 버전에서는 몇 가지 성능 개선, 버그 및 보안 수정, 새로운 기능을 제공합니다.

주요 개선 사항은 다음과 같습니다.

  • Ripper 대신 새로운 Prism parser를 사용할 수 있습니다. Prism 은 Ruby 언어의 이식 가능하고 오류 허용 및 유지 관리할 수 있는 재귀 descent 구문 분석기입니다.
  • Ruby just-in-time (JIT) 컴파일러 구현인 YJIT는 더 이상 실험적이지 않으며 주요 성능 향상을 제공합니다.
  • potential Regular Expression Denial of Service (ReDoS) 취약점의 영향을 줄이기 위해 clevis p 일치 알고리즘이 개선되었습니다.
  • 새로운 실험 RJIT( pure-Ruby Cryostat) 컴파일러는 MJIT를 대체합니다. YJIT를 생산에서 사용하십시오.
  • 이제 새로운 M:N 스레드 스케줄러를 사용할 수 있습니다.

기타 주요 변경 사항:

  • 이제 Bison.NET 대신 Lrama LALR 구문 분석기 생성기를 사용해야 합니다.
  • 더 이상 사용되지 않는 몇 가지 메서드 및 상수가 제거되었습니다.
  • Racc gem은 기본 gem에서 번들 gem으로 승격되었습니다.

Ruby 3.3을 설치하려면 다음을 입력합니다.

# dnf install ruby
Copy to Clipboard Toggle word wrap

Ruby 3.3 지원 기간에 대한 자세한 내용은 Red Hat Enterprise Linux Application Streams 라이프 사이클 을 참조하십시오.

Jira:RHELDOCS-19658[1]

RHEL 10에서는 Node.js 22를 제공합니다.

RHEL 10은 Node.js 22 와 함께 배포됩니다. 이 버전은 이전에 사용 가능한 Node.js 20 에 비해 새로운 기능, 버그 수정, 보안 수정 및 성능 향상을 제공합니다.

주요 변경 사항은 다음과 같습니다.

  • V8 JavaScript 엔진이 버전 12.4로 업그레이드되었습니다.
  • V8 Cryostat lev 컴파일러는 이제 사용 가능한 아키텍처(AMD 및 Intel 64비트 아키텍처 및 64비트 ARM 아키텍처)에서 기본적으로 활성화됩니다.
  • im v는 수명이 짧은 CLI 프로그램의 성능을 향상시킵니다.
  • npm 패키지 관리자가 버전 10.8.1로 업그레이드되었습니다.
  • 이제 node --watch 모드가 stable로 간주됩니다. 감시 모드에서 감시 된 파일의 변경으로 Node.js 프로세스가 다시 시작됩니다.
  • WebSocket 의 브라우저 호환 구현은 안정적인 것으로 간주되며 기본적으로 활성화됩니다. 결과적으로 외부 종속 항목 없이 Node.js로의 WebSocket 클라이언트를 사용할 수 있습니다.
  • Node.js 에는 이제 package.json 에서 스크립트 실행을 위한 실험적인 기능이 포함되어 있습니다. 이 기능을 사용하려면 node --run <script-in-package.json> 명령을 실행합니다.

Node.js 22를 설치하려면 다음을 입력합니다.

# dnf install nodejs
Copy to Clipboard Toggle word wrap

Jira:RHEL-35992

RHEL 10 introduces PostgreSQL 16

RHEL 10은 PostgreSQL 버전 16과 함께 배포됩니다.

주요 개선 사항은 다음과 같습니다.

  • 향상된 대규모 로드는 성능을 향상시킵니다.
  • libpq 라이브러리의 새로운 load_balance_hosts 옵션은 보다 효율적인 로드 밸런싱을 지원합니다.
  • 사용자 지정 pg_hba.confpg_ident.conf 파일을 포함하여 /var/lib/pgsql/data/ 디렉터리의 구성 파일.
  • /var/lib/pgsql/data/pg_hba.conf 파일은 데이터베이스 및 역할 항목에서 일치하는 정규식을 지원합니다.

기타 변경 사항은 다음과 같습니다.

  • postmaster 바이너리가 없습니다. 대신 postgres 바이너리를 사용합니다. 이 변경 사항은 postmaster 를 사용하여 서비스를 시작하는 사용자에게만 영향을 미칩니다.
  • 패키지 내에 PDF 문서가 없습니다. 대신 업스트림 문서를 사용합니다.

자세한 내용은 PostgreSQL 사용을 참조하십시오.

PostgreSQL 16을 설치하려면 다음을 입력합니다.

# dnf install postgresql16
Copy to Clipboard Toggle word wrap

Jira:RHEL-62694

RHEL 10, MySQL 8.4 도입

RHEL 10은 MySQL 8.4와 함께 배포됩니다. 이전에 사용 가능한 버전 8.0에 대한 주요 변경 사항은 다음과 같습니다.

  • 더 이상 사용되지 않는 mysql_native_password 인증 플러그인은 더 이상 기본적으로 활성화되어 있지 않습니다.
  • MySQL 8.4로 업그레이드할 때 사용자 계정 또는 BINLOG_ADMIN 권한이 있는 역할에는 자동으로 TRANSACTION_GTID_TAG 권한이 부여됩니다.
  • MySQL 8.4를 설치하면 서버의 데이터 디렉터리에서 mysql_upgrade_history 파일이 생성되거나 업데이트됩니다. 이 파일은 JSON 형식으로 되어 있으며 설치된 버전, 설치 날짜 및 시간, 릴리스가 LTS 시리즈(Long-Term Support) 시리즈의 일부인지에 대한 정보를 포함합니다.
  • 데이터베이스 권한 부여에서 와일드카드로 %_ 문자를 사용하는 것은 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 와일드카드 기능이 제거됩니다. 이러한 문자는 리터럴로 취급됩니다. partial_revokes 서버 시스템 변수가 ON 으로 설정된 경우 이미 리터럴로 취급됩니다.
  • 권한을 확인할 때 서버가 % 문자를 localhost에 대한 처리는 더 이상 사용되지 않습니다.
  • 더 이상 사용되지 않는 --ssl--admin-ssl 서버 옵션 및 have_sslhave_openssl 서버 시스템 변수가 제거되었습니다. 대신 --tls-version--admin-tls-version 서버 시스템 변수를 사용합니다.
  • 더 이상 사용되지 않는 default_authentication_plugin 시스템 변수가 제거되었습니다. 대신 authentication_policy 서버 시스템 변수를 사용합니다.
  • 더 이상 사용되지 않는 SET_USER_ID 권한이 제거되었습니다. 대신 definer 오브젝트 생성에 SET_ANY_DEFINER 권한과 고립된 오브젝트 보호를 위해 ALLOW_NONEXISTENT_DEFINER 권한을 사용할 수 있습니다.
  • 더 이상 사용되지 않는 mysql_upgrade 유틸리티가 제거되었습니다.

자세한 내용은 업스트림 MySQL 설명서 를 참조하십시오.

Jira:RHEL-36050

RHEL 10에서는 PostgreSQL 16에 pgvector 확장을 제공합니다.

RHEL 10은 PostgreSQL 16과 함께 배포됩니다. pgaudit,pg_repack디코더bufs 확장 외에도 Postgresql 스택은 pgvector 확장을 제공합니다. pgvector 확장을 사용하면 PostgreSQL 데이터베이스 내에서 직접 포함 된 고차원 벡터를 저장 및 쿼리하고 벡터 유사성 검색을 수행할 수 있습니다. 벡터 포함은 텍스트, 이미지 또는 기타 데이터 유형의 의미 체계를 캡처하기 위해 머신러닝 및 AI 애플리케이션에 자주 사용되는 데이터의 숫자 표현입니다.

Jira:RHEL-35993[1]

RHEL 10, MariaDB 10.11 도입

RHEL 10은 MariaDB 10.11과 함께 배포됩니다. 주요 변경 사항은 다음과 같습니다.

  • 새로운 sys_schema 기능
  • Atomic Data Definition Language (DDL) 구문
  • 새로운 GRANT …​ TO PUBLIC 권한.
  • ADMIN 권한만 별도로 SUPER 및 READ만 읽습니다.
  • 새 UUID 데이터베이스 데이터 유형입니다.
  • SSL(Secure Socket Layer) 프로토콜 버전 3을 지원하려면 MariaDB 서버에 SSL을 올바르게 구성해야 합니다.
  • natural_sort_key() 함수를 통해 자연 정렬 순서를 지원합니다.
  • 임의의 텍스트 형식을 위한 새로운 SFORMAT 함수입니다.
  • UTF-8 문자 집합 및 UCA-14 데이터 정렬을 변경합니다.
  • systemd 소켓 활성화 파일은 /usr/share/ 디렉토리에서 사용할 수 있습니다. 이는 업스트림과 달리 RHEL의 기본 구성의 일부가 아닙니다.
  • MySQL 대신 MariaDB 문자열이 포함된 오류 메시지입니다.
  • 중국어로 사용할 수 있는 오류 메시지입니다.
  • 기본 logrotate 파일을 변경합니다.
  • MariaDB 및 MySQL 클라이언트의 경우 명령줄에 지정된 연결 속성(예: --port=3306)은 이제 tcp, socket, pipe 또는 memory와 같은 클라이언트와 서버 간의 프로토콜 통신 유형을 강제 적용합니다.

Jira:RHELDOCS-19550[1]

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat