Multi-Byte Character Set Support

Endpoint Privilege Management for Unix and Linux uses the locale settings on the host operating systems to support UTF-8 multi-byte character sets in Endpoint Privilege Management for Unix and Linux policy files, I/O logs, and installation scripts. To correctly use Endpoint Privilege Management for Unix and Linux in a multi-byte character set environment, you must ensure the following:

  • All Endpoint Privilege Management for Unix and Linux hosts (policy server host, log host, run host, submit host, and so on) have their locale settings correctly configured to the same locale.
  • All processes that start at boot time or that are started by inetd or xinetd inherit the locale settings.

UTF-8 multi-byte character sets are not yet supported in the following Endpoint Privilege Management for Unix and Linux components:

  • shells (pbsh, pbksh)
  • utilities (pbvi, pbnvi, pbless, pbmg, pbumacs)
  • browser interface (pbgui)

If the environment variable LANG, or one of the environment variables LC_xxxx is set to an invalid value, Endpoint Privilege Management for Unix and Linux components do not error and set LANG to C. You must ensure LANG is correctly set, or if not set correctly, other components of Endpoint Privilege Management for Unix and Linux (policy server, log server, run host and submit host), are also using C or a single-byte character set.

Manage Locale Data and Virtual Memory Usage on Red Hat Enterprise Linux

On RHEL 6 and 7, all available locales are stored by default in the /usr/lib/locale/locale-archive file. This archive file, whose size could be upwards of 100MB, is provided by the glibc-common package.

When Endpoint Privilege Management for Unix and Linux binaries run on an RHEL 6/7 machine and set their locale based on the systems settings of that host, the locale-archive file is mapped into their process memory space. This increases the virtual memory usage of each EPM-UL binary by the physical size of the locale-archive file, which could be around 100MB.

If this increase in EPM-UL virtual memory usage is a concern on your system, it is possible to reduce the physical size of locale-archive. This can be done by discarding unnecessary locales from locale-archive and rebuilding it using localedef and build-locale-archive commands. However, be mindful of caveats and risks that arise when you do this, such as:

  • Your customized file could be overwritten whenever you update glibc.
  • Other users on that host who try to use a locale that was removed will encounter errors.

RHEL 8 and later versions have individual langpack packages for each language, and you can choose to install a minimal set of locales during system configuration. The issue with the increased virtual memory usage of EPM-UL binaries might still occur if the glibc-all-langpacks package is installed.

For more information about localedef and build-locale-archive commands, please refer to Red Hat Enterprise Linux product documentation.