Rechercher

4.13. Langages de programmation dynamiques, serveurs web et de base de données

download PDF

Python dans RHEL 9

Python 3.9 est l'implémentation par défaut de Python dans RHEL 9. Python 3.9 est distribué dans un paquet RPM python3 non modulaire dans le dépôt BaseOS et est généralement installé par défaut. Python 3.9 sera pris en charge pendant toute la durée de vie de RHEL 9.

Les versions supplémentaires de Python 3 seront distribuées sous forme de paquets RPM avec un cycle de vie plus court via le dépôt AppStream et pourront être installées en parallèle.

La commande python (/usr/bin/python), ainsi que d'autres commandes liées à Python, telles que pip, sont disponibles sous forme non versionnée et renvoient à la version par défaut Python 3.9.

Python 2 n'est pas distribué avec RHEL 9.

Pour plus d'informations sur Python dans RHEL 9, voir Introduction à Python.

(BZ#1941595, JIRA:RHELPLAN-80598)

Node.js 16 disponible dans RHEL 9

RHEL 9 fournit la version 16 du support à long terme (LTS) de Node.js, une plate-forme de développement logiciel pour la création d'applications réseau rapides et évolutives dans le langage de programmation JavaScript.

Les changements notables survenus sur Node.js 16 à partir de Node.js 14 sont les suivants :

  • Le moteur V8 est passé à la version 9.4.
  • Le gestionnaire de paquets npm a été mis à niveau vers la version 8.3.1.
  • Une nouvelle API Timers Promises fournit un ensemble alternatif de fonctions de minuterie qui renvoient des objets Promise.
  • Node.js est désormais compatible avec OpenSSL 3.0.
  • Node.js fournit désormais une nouvelle API expérimentale Web Streams et une API expérimentale de crochets de chargement de modules ECMAScript (ESM).

Node.js 16 est la version initiale de ce flux d'applications, que vous pouvez installer facilement en tant que paquetage RPM. Node.js 16 a un cycle de vie plus court que RHEL 9. Pour plus de détails, consultez le document Red Hat Enterprise Linux Application Streams Life Cycle (cycle de vie des flux d'applications Red Hat Enterprise Linux ). D'autres versions de Node.js seront fournies en tant que modules ayant également un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

(BZ#1953491)

RHEL 9 fournit Ruby 3.0

RHEL 9 est distribué avec Ruby 3.0.3, qui apporte un certain nombre d'améliorations de performance, de corrections de bogues et de sécurité, ainsi que de nouvelles fonctionnalités par rapport à Ruby 2.7.

Parmi les améliorations notables, citons

  • Caractéristiques de concurence et de parallélisme :

    • Ractorune abstraction de modèle d'acteur qui permet une exécution parallèle sûre pour les threads, est fournie à titre expérimental.
    • Fiber Scheduler a été introduit à titre expérimental. Fiber Scheduler intercepte les opérations bloquantes, ce qui permet une concurrence légère sans modifier le code existant.
  • Caractéristiques de l'analyse statique :

    • Le langage RBS, qui décrit la structure des programmes Ruby, a été introduit. La gemme rbs a été ajoutée pour analyser les définitions de type écrites en RBS.
    • L'utilitaire TypeProf a été introduit. Il s'agit d'un outil d'analyse de type pour le code Ruby.
  • La recherche de motifs avec l'expression case/in n'est plus expérimentale.
  • La recherche de motifs sur une ligne, qui est une fonctionnalité expérimentale, a été repensée.
  • La fonction de recherche de motifs a été ajoutée à titre expérimental.

Les améliorations suivantes ont été apportées aux performances :

  • Le collage d'un long code sur le site Interactive Ruby Shell (IRB) est désormais beaucoup plus rapide.
  • La commande measure a été ajoutée à IRB pour la mesure du temps.

D'autres changements notables sont à signaler :

  • Les arguments de type mot-clé sont désormais séparés des autres arguments.
  • Le répertoire par défaut pour les gemmes installées par l'utilisateur est désormais $HOME/.local/share/gem/, sauf si le répertoire $HOME/.gem/ est déjà présent.

Ruby 3.0 est la version initiale de ce flux d'applications que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de Ruby seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

(JIRA:RHELPLAN-80758)

RHEL 9 présente Perl 5.32

RHEL 9 inclut Perl 5.32, qui apporte un certain nombre de corrections de bogues et d'améliorations par rapport à la version 5.30.

Parmi les améliorations notables, on peut citer

  • Perl supporte désormais la version 13.0 d'Unicode.
  • L'opérateur de citation qr a été amélioré.
  • Les fonctions POSIX::mblen(), mbtowc, et wctomb fonctionnent désormais sur les locales shift state et sont thread-safe sur les compilateurs C99 et supérieurs lorsqu'elles sont exécutées sur une plateforme qui dispose de la thread-safety locale ; les paramètres length sont désormais optionnels.
  • Le nouvel opérateur infixe expérimental isa vérifie si un objet donné est une instance d'une classe donnée ou une classe dérivée.
  • Les assertions alpha ne sont plus expérimentales.
  • Les exécutions de scripts ne sont plus expérimentales.
  • Les vérifications des caractéristiques sont désormais plus rapides.
  • Perl peut désormais extraire les motifs compilés avant l'optimisation.

Perl 5.32 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de Perl seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

(JIRA:RHELPLAN-80759)

RHEL 9 comprend PHP 8.0

RHEL 9 est distribué avec PHP 8.0, qui apporte un certain nombre de corrections de bogues et d'améliorations par rapport à la version 7.4.

Parmi les améliorations notables, citons

  • Les nouveaux arguments nommés sont indépendants de l'ordre et auto-documentés, et vous permettent de ne spécifier que les paramètres requis.
  • De nouveaux attributs permettent d'utiliser des métadonnées structurées avec la syntaxe native de PHP.
  • Les nouveaux types d'union vous permettent d'utiliser des déclarations de type d'union natives qui sont validées au moment de l'exécution au lieu des annotations PHPDoc pour une combinaison de types.
  • Les fonctions internes lèvent désormais plus systématiquement une exception d'erreur au lieu d'un avertissement en cas d'échec de la validation des paramètres.
  • Les nouveaux moteurs de compilation Just-In-Time améliorent considérablement les performances des applications.
  • L'extension de débogage et de productivité Xdebug pour PHP a été mise à jour à la version 3. Cette version introduit des changements majeurs dans les fonctionnalités et la configuration par rapport à Xdebug 2.

PHP 8.0 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de PHP seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

Pour plus d'informations, voir Utilisation du langage de script PHP.

(BZ#1949319)

RHEL 9 fournit Git 2.31 et Git LFS 2.13

RHEL 9 est distribué avec Git 2.31 qui fournit un certain nombre d'améliorations et de performances par rapport à la version 2.27 disponible dans RHEL 8. Les changements les plus importants sont les suivants :

  • La commande git status indique désormais l'état de la vérification des données éparses (sparse checkout).
  • Vous pouvez désormais utiliser l'option --add-file avec la commande git archive pour inclure des fichiers non suivis dans un instantané à partir d'un identifiant de type arbre.
  • Vous pouvez utiliser la variable de configuration clone.defaultremotename pour personnaliser le surnom du référentiel distant source.
  • Vous pouvez configurer la longueur maximale des noms de fichiers de sortie créés par la commande git format-patch. Auparavant, la limite de longueur était de 64 octets.
  • La prise en charge de la bibliothèque PCRE1, obsolète, a été supprimée.

En outre, la version 2.13 de l'extension Git Large File Storage (LFS) est désormais disponible. Les améliorations par rapport à la version 2.11 distribuée dans RHEL 8 sont les suivantes :

  • Git LFS supporte désormais les dépôts SHA-256.
  • Git LFS prend désormais en charge le protocole socks5h.
  • Une nouvelle option --worktree est disponible pour les commandes git lfs install et git lfs uninstall.
  • Un nouveau paramètre --above est disponible pour la commande git lfs migrate import.

(BZ#1956345, BZ#1952517)

Subversion 1.14 dans RHEL 9

RHEL 9 est distribué avec Subversion 1.14. Subversion 1.14 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de Subversion seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

(JIRA:RHELPLAN-82578)

Changements notables dans le serveur HTTP Apache

RHEL 9.0 fournit la version 2.4.51 du serveur HTTP Apache. Les changements notables par rapport à la version 2.4.37 sont les suivants :

  • Interface de contrôle du serveur HTTP Apache (apachectl) :

    • Le pager systemctl est maintenant désactivé pour la sortie apachectl status.
    • La commande apachectl échoue maintenant au lieu de donner un avertissement si vous passez des arguments supplémentaires.
    • La commande apachectl graceful-stop revient maintenant immédiatement.
    • La commande apachectl configtest exécute désormais la commande httpd -t sans modifier le contexte SELinux.
    • La page de manuel apachectl(8) de RHEL documente désormais pleinement les différences avec la version amont apachectl.
  • Outil Apache eXtenSion (apxs) :

    • La commande /usr/bin/apxs n'utilise ni n'expose plus les drapeaux d'optimisation du compilateur tels qu'ils sont appliqués lors de la construction du paquet httpd. Vous pouvez maintenant utiliser la commande /usr/lib64/httpd/build/vendor-apxs pour appliquer les mêmes drapeaux de compilateur que ceux utilisés pour construire httpd. Pour utiliser la commande vendor-apxs, vous devez d'abord installer le paquetage redhat-rpm-config.
  • Modules Apache :

    • Le module mod_lua est désormais fourni dans un paquet séparé.
    • Un nouveau connecteur mod_jk pour le serveur Apache HTTP est un module qui utilise le protocole Apache JServ (AJP) pour connecter les serveurs web avec Apache Tomcat et d'autres backends.
    • Un nouveau module mod_proxy_cluster fournit un équilibreur de charge basé sur httpd qui utilise un canal de communication pour transmettre les demandes de l'équilibreur de charge à l'un des nœuds du serveur d'application. Les nœuds de serveurs d'application utilisent cette connexion pour transmettre à l'équilibreur de charge les facteurs d'équilibrage de la charge côté serveur et les événements du cycle de vie par le biais d'un ensemble personnalisé de méthodes HTTP appelé Mod-Cluster Management Protocol (MCMP). Ce canal de retour d'information supplémentaire permet à mod_proxy_cluster d'offrir un niveau d'intelligence et de granularité que l'on ne trouve pas dans d'autres solutions d'équilibrage de charge. Ce module nécessite que le client ModCluster soit installé sur le serveur dorsal pour communiquer avec succès.
  • Modifications de la syntaxe de configuration :

    • Dans la directive obsolète Allow fournie par le module mod_access_compat, un commentaire (le caractère # ) déclenche désormais une erreur de syntaxe au lieu d'être ignoré silencieusement.
  • Autres modifications :

    • Les identifiants des threads du noyau sont désormais utilisés directement dans les messages du journal des erreurs, ce qui les rend à la fois précis et plus concis.
    • Nombreuses améliorations mineures et corrections de bugs.
    • Un certain nombre de nouvelles interfaces sont à la disposition des auteurs de modules.

L'API du module httpd n'a fait l'objet d'aucune modification rétrocompatible depuis RHEL 8.

Apache HTTP Server 2.4 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM.

Pour plus d'informations, voir Configuration du serveur web Apache HTTP.

(JIRA:RHELPLAN-68364, BZ#1931976, JIRA:RHELPLAN-80725)

nginx 1.20 disponible dans RHEL 9

RHEL 9 inclut le serveur web et proxy nginx 1.20. Cette version apporte un certain nombre de corrections de bogues, de correctifs de sécurité, de nouvelles fonctionnalités et d'améliorations par rapport à la version 1.18.

Nouvelles fonctionnalités :

  • nginx prend désormais en charge la validation des certificats SSL des clients avec le protocole OCSP (Online Certificate Status Protocol).
  • nginx prend désormais en charge l'effacement du cache en fonction de la quantité minimale d'espace libre. Ce support est implémenté dans le paramètre min_free de la directive proxy_cache_path.
  • Un nouveau module ngx_stream_set_module a été ajouté, qui permet de définir une valeur pour une variable.
  • Un nouveau paquetage nginx-mod-devel a été ajouté, qui fournit tous les fichiers nécessaires, y compris les macros RPM et le code source de nginx, pour construire des modules dynamiques externes pour nginx.

Directives renforcées :

  • Plusieurs nouvelles directives sont désormais disponibles, telles que ssl_conf_command et ssl_reject_handshake.
  • La directive proxy_cookie_flags prend désormais en charge les variables.

Amélioration de la prise en charge de HTTP/2 :

  • Le module ngx_http_v2 comprend désormais les directives lingering_close, lingering_time, lingering_timeout.
  • La gestion des connexions dans HTTP/2 a été alignée sur HTTP/1.x. À partir de nginx 1.20, utilisez les directives keepalive_timeout et keepalive_requests au lieu des directives http2_recv_timeout, http2_idle_timeout et http2_max_requests qui ont été supprimées.

nginx 1.20 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de nginx seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

Pour plus d'informations, voir Installation et configuration de NGINX.

(BZ#1953639, BZ#1991720)

Varnish Cache 6.6 dans RHEL 9

RHEL 9 comprend Varnish Cache 6.6, un proxy inverse HTTP très performant.

Les changements notables depuis la version 6.0 sont les suivants :

  • Amélioration des performances des outils de traitement des journaux, tels que varnishlog
  • Amélioration de la précision des statistiques
  • Un certain nombre d'optimisations dans les consultations du cache
  • Diverses modifications de la configuration
  • Nombreuses améliorations et corrections de bugs

Varnish Cache 6 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM.

(BZ#1984185)

RHEL 9 présente Squid 5

RHEL 9 est distribué avec Squid 5.2, un serveur proxy de mise en cache haute performance pour les clients web, prenant en charge les objets de données FTP, Gopher et HTTP. Cette version propose un certain nombre de corrections de bogues, de correctifs de sécurité, de nouvelles fonctionnalités et d'améliorations par rapport à la version 4.

Nouvelles fonctionnalités :

  • Squid améliore la responsabilité en utilisant l'algorithme Happy Eyeballs (HE).

    • Squid utilise désormais une adresse IP reçue dès que la demande de transfert l'exige, au lieu d'attendre que toutes les destinations de transfert potentielles soient entièrement résolues.
    • De nouvelles directives sont désormais disponibles : happy_eyeballs_connect_gap les directives happy_eyeballs_connect_limit et happy_eyeballs_connect_timeout.
    • La directive dns_v4_first a été supprimée.
  • Squid utilise désormais l'en-tête CDN-Loop comme source de détection des boucles dans les réseaux de diffusion de contenu (CDN).
  • Squid introduit la prise en charge du peering pour le bumping SSL.
  • Une nouvelle fonctionnalité pour les remorques du protocole d'adaptation du contenu Internet (ICAP) est disponible. Elle permet aux agents ICAP d'envoyer de manière fiable les métadonnées du message après le corps du message.

Modifications des options de configuration :

  • L'option de configuration mark_client_packet a remplacé clientside_mark.
  • L'option de configuration shared_transient_entries_limit a remplacé collapsed_forwarding_shared_entries_limit.

Squid 5 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM.

Pour plus d'informations, voir Configuration du serveur proxy de mise en cache Squid.

(BZ#1990517)

MariaDB 10.5 dans RHEL 9

RHEL 9 fournit MariaDB 10.5. MariaDB 10.5 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de MariaDB seront fournies sous forme de modules ayant un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

Pour plus d'informations, voir Utilisation de MariaDB.

(BZ#1971248)

RHEL 9 comprend MySQL 8.0

RHEL 9 est distribué avec MySQL 8.0. MySQL 8.0 est la version initiale de ce flux d'applications, que vous pouvez installer facilement en tant que paquetage RPM. MySQL 8.0 a un cycle de vie plus court que RHEL 9. Pour plus de détails, consultez le document Red Hat Enterprise Linux Application Streams Life Cycle (cycle de vie des flux d'applications ).

Pour plus d'informations sur l'utilisation, voir Utilisation de MySQL.

(JIRA:RHELPLAN-78673)

RHEL 9 fournit PostgreSQL 13

PostgreSQL 13 est disponible avec RHEL 9. PostgreSQL 13 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM. D'autres versions de PostgreSQL seront fournies sous forme de modules avec un cycle de vie plus court dans les prochaines versions mineures de RHEL 9.

Pour plus d'informations, voir Utilisation de PostgreSQL.

(JIRA:RHELPLAN-78675)

Redis 6.2 dans RHEL 9

RHEL 9 est distribué avec Redis 6.2, qui apporte un certain nombre de corrections de bogues et de sécurité, ainsi que des améliorations par rapport à la version 6.0 disponible dans RHEL 8.

Notamment, les fichiers de configuration du serveur Redis sont désormais situés dans un répertoire dédié : /etc/redis/redis.conf et /etc/redis/sentinel.conf. Dans la version RHEL 8, l'emplacement de ces fichiers était respectivement /etc/redis.conf et /etc/redis-sentinel.conf.

Redis 6 est la version initiale de ce flux d'applications, que vous pouvez installer facilement sous la forme d'un paquetage RPM.

(BZ#1959756)

Nouveau paquet : perl-Module-Signature

RHEL 9 introduit le module Perl perl-Module-Signature. Avec ce nouveau module, vous pouvez activer la vérification des signatures pour cpan afin d'atténuer la CVE-2020-16156. Pour plus d'informations, voir Comment atténuer CVE-2020-16154 dans perl-App-cpanminus et CVE-2020-16156 dans perl-CPAN.

(BZ#2039361)

Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.