Este conteúdo não está disponível no idioma selecionado.
Chapter 9. Dynamic programming languages, web servers, database servers
The following chapter contains the most notable changes to dynamic programming languages, web servers, and database servers between RHEL 8 and RHEL 9.
9.1. Notable changes to dynamic programming languages, web and database servers
Initial Application Streams versions in RHEL 9
RHEL 9 improves the Application Streams experience by providing initial Application Stream versions that can be installed as RPM packages using the traditional dnf install
command.
RHEL 9.0 provides the following dynamic programming languages:
- Node.js 16
- Perl 5.32
- PHP 8.0
- Python 3.9
- Ruby 3.0
RHEL 9.0 includes the following version control systems:
- Git 2.31
- Subversion 1.14
The following web servers are distributed with RHEL 9.0:
- Apache HTTP Server 2.4
- nginx 1.20
The following proxy caching servers are available:
- Varnish Cache 6.6
- Squid 5.2
RHEL 9.0 offers the following database servers:
- MariaDB 10.5
- MySQL 8.0
- PostgreSQL 13
- Redis 6.2
Some additional Application Stream versions will be distributed as modules with a shorter life cycle in future minor RHEL 9 releases.
Major differences in the Python ecosystem since RHEL 8
The unversioned python
command
The unversioned form of the python
command (/usr/bin/python
) is available in the python-unversioned-command
package. On some systems, this package is not installed by default. To install the unversioned form of the python
command manually, use the dnf install /usr/bin/python
command.
In RHEL 9, the unversioned form of the python
command points to the default Python 3.9 version and it is an equivalent to the python3
and python3.9
commands. In RHEL 9, you cannot configure the unversioned command to point to a different version than Python 3.9.
The python
command is intended for interactive sessions. In production, it is recommended to use python3
, python3.9
, or python3.11
explicitly.
You can uninstall the unversioned python
command by using the dnf remove /usr/bin/python
command.
If you need a different python
or python3
command, you can create custom symlinks in /usr/local/bin
or ~/.local/bin
, or use a Python virtual environment.
Several other unversioned commands are available, such as /usr/bin/pip
in the python3-pip
package. In RHEL 9, all unversioned commands point to the default Python 3.9 version.
Architecture-specific Python wheels
Architecture-specific Python wheels
built on RHEL 9 newly adhere to the upstream architecture naming, which allows customers to build their Python wheels
on RHEL 9 and install them on non-RHEL systems. Python wheels
built on previous releases of RHEL are forward compatible and can be installed on RHEL 9. Note that this affects only wheels
containing Python extensions, which are built for each architecture, not Python wheels
with pure Python code, which is not architecture-specific.
Differences between the perl
and perl-interpreter
packages
RHEL 9 provides both the perl
and perl-interpreter
packages. The perl
package is suitable for development because it contains the full Perl upstream distribution in dependencies, including GCC. On production systems, use the perl-interpreter
package, which contains the main /usr/bin/perl
interpreter.
Notable changes to libdb
RHEL 8 and RHEL 9 currently provide Berkeley DB (libdb
) version 5.3.28, which is distributed under the LGPLv2 license. The upstream Berkeley DB version 6 is available under the AGPLv3 license, which is more restrictive.
The libdb
package is deprecated as of RHEL 9 and might not be available in future major RHEL releases. Cryptographic algorithms have been removed from libdb
in RHEL 9. Multiple libdb
dependencies have been removed from RHEL 9.
Users of libdb
are advised to migrate to a different key-value database. For more information, see the Knowledgebase article Available replacements for the deprecated Berkeley DB (libdb) in RHEL.
Tomcat available since RHEL 9.2
RHEL 9.2 introduces the Apache Tomcat server version 9. Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and JavaServer Pages technologies. The Java Servlet and JavaServer Pages specifications are developed by Sun under the Java Community Process. Tomcat is developed in an open and participatory environment and released under the Apache Software License version 2.0.