Red Hat Training

A Red Hat training course is available for RHEL 8

Chapter 14. Shells and command-line tools

14.1. Localization is distributed in multiple packages

In RHEL 8, locales and translations are no longer provided by the single glibc-common package. Instead, every locale and language is available in a glibc-langpack-CODE package. Additionally, not all locales are installed by default, only these selected in the installer. Users must install all further locale packages that they need separately.

The meta-packages which install extra add-on packages containing translations, dictionaries and locales for every package installed on the system are called langpacks.

For more information see Using langpacks.

14.2. Removed support for all-numeric user and group names

In Red Hat Enterprise Linux (RHEL) 8, the useradd and groupadd commands does not allow you to use user and group names consisting purely of numeric characters. The reason for not allowing such names is that this can confuse tools that work with user and group names and user and group ids, which are numbers.

See more information about Adding a new user from the command line.

14.3. The nobody user replaces nfsnobody

Red Hat Enterprise Linux (RHEL) 7 used the nobody user and group pair with the ID of 99 and the nfsnobody user and group pair with the ID of 65534, which is also the default kernel overflow ID.

In RHEL 8, both of these pair have been merged into the nobody user and group pair, which uses the ID of 65534. The nfsnobody pair is not created in RHEL 8.

This change reduces the confusion about files that are owned by nobody but are not related to NFS.

14.4. Version control systems

RHEL 8 provides the following version control systems:

  • Git 2.18, a distributed revision control system with a decentralized architecture.
  • Mercurial 4.8, a lightweight distributed version control system, designed for efficient handling of large projects.
  • Subversion 1.10, a centralized version control system.

Note that the Concurrent Versions System (CVS) and Revision Control System (RCS), available in RHEL 7, are not distributed with RHEL 8.

14.4.1. Notable changes in Subversion 1.10

Subversion 1.10 introduces a number of new features since the version 1.7 distributed in RHEL 7, as well as the following compatibility changes:

  • Due to incompatibilities in the Subversion libraries used for supporting language bindings, Python 3 bindings for Subversion 1.10 are unavailable. As a consequence, applications that require Python bindings for Subversion are unsupported.
  • Repositories based on Berkeley DB are no longer supported. Before upgrading, back up repositories created with Subversion 1.7 by using the svnadmin dump command. After installing RHEL 8, restore the repositories using the svnadmin load command.
  • Existing working copies checked out by the Subversion 1.7 client in RHEL 7 must be upgraded to the new format before they can be used from Subversion 1.10. After installing RHEL 8, run the svn upgrade command in each working copy.
  • Smartcard authentication for accessing repositories using https:// is no longer supported.

14.5. Packages moved from crontab entries to systemd timer

The packages used in crontab entries now use systemd timers. Run the following commands to find packages with systemd timer entries:

$ repoquery --qf %{name} -f '/usr/lib/systemd/system/*.timer'
$ repoquery --qf %{name} -f '/etc/cron./'