• Antelope Release 5.10 Linux CentOS release 7.6.1810 (Core) 3.10.0 2020-05-12

 

NAME

notes_linux_setup - some recommendations for setting up Linux for running Antelope

SUPPORT

BRTT does not provide IT support. We include the notes in this man-page to provide some Antelope-specific guidelines for IT personnel setting up systems to run Antelope. We make no claims that these notes are comprehensive, especially in regards to setting up IT systems in general. Note that large, enterprise-class systems REQUIRE an expert IT team to set up and administer their IT capabilities. While BRTT does not provide such services, if you contact us via support@brtt.com we may be able to direct you to other service providers for assistance.

DESCRIPTION

This man page describes several issues specific to running Antelope on Linux, focused on system administration needs. Antelope is currently supported on Red Hat Enterprise Linux (RHEL) version 7.6. Because CentOS 7.6 is released with the promise of full binary compatibility with RHEL, we consider Antelope supported on CentOS 7.6 as well until this assumption is proven wrong.

Environment Group

We recommend installing the most complete Environment Group of rpm packages possible (often named something like Development and Creative Workstation) when you run the RHEL Linux installer. If you choose something like Server with GUI, Basic Web Server, or worst of all Minimal Install, you will likely encounter multiple errors about missing shared libraries. To find the available Environment Groups on your machine, use the command

% yum grouplist

If you need to upgrade to a more complete group of installed rpm's, you may do so with the yum groupinstall command and the name of the chosen group from yum grouplist, e.g.:

% yum groupinstall "Development and Creative Workstation"

If you have not installed a complete-enough Environment Group but nevertheless need to resolve a problem with a missing shared library, you may need to correct your installation with commands such as the following. For example, if you are receiving complaints about a missing shared-object library named libXss.so.1, try the following:

% yum whatprovides libXss.so.1
 ....
libXScrnSaver-1.2.2-6.1.el7.i686
 ....
% yum install libXScrnSaver

Fonts

In order to get dbpick to work, the following font distributions are required. If they are not installed already, you may need to run the following commands:

% yum install xorg-x11-fonts-ISO8859-1-75dpi.noarch
% yum install xorg-x11-fonts-misc.noarch

As an aside, programs such as rtcache(1) won't start without libXfont installed.

Additional user packages

Following the advice of required_unix_programs(1), it is useful to install

% yum install xterm
% yum install gnuplot
% yum install telnet

For xwininfo, you need

% yum install xorg-x11-utils

If you have trouble with Xvfb launching due to keyboard-configuration issues, you may need

% yum install xorg-x11-server-common

which includes

% yum install xkeyboard-config
% yum install xorg-x11-xkb-utils

If you have trouble with Qt-based applications failing immediately with memory corruption errors, you may need to update to the latest version of libXi:

% yum update libXi

In order to run the getgif(1) command, which admittedly is a bit dated, you need to have the ImageMagick package

% yum install ImageMagick

In the event of problems, it is very helpful to have the gdb debugger installed

% yum install gdb

File Descriptors

The default per-user limit for file descriptors on RHEL6.2 is 1024. This is too small for some programs such as orb2wf(1). You can modify this limit for the system by editing the file

/etc/security/limits.conf

to include two new lines

*                soft    nofile          8192
*                hard    nofile          65535

Where nofile refers to number of files.

Process limits

The default per-user limit for number of processes in RHEL6.2 may also be too low for your Antelope systems. Note that on Linux this process limit actually counts the number of running threads. You can modify this limit for the system by editing the file

/etc/security/limits.conf

to include two new lines

*                soft    nproc          8192
*                hard    nproc          65535

Where nproc refers to the number of processes. If the above step is not sufficient to provide enough processes, you may wish to look for another obscure file that overrides the above, named something like

/etc/security/limits.d/90-nproc.conf

A similar soft limit with exactly the same format as above may be necessary in this file. Note that many system administrators limit the number of processes intentionally to prevent accidental fork bombs, so the settings appropriate for your machine may be a trade-off between these two competing objectives (allowing Antelope to run vs preventing fork bombs).

Swap Space / Virtual Memory

In order to create a swap file on RHEL, do the following as root:

% dd if=/dev/zero of=/swapfile bs=1024 count=4194304

% mkswap /swapfile

% cat >> /etc/fstab
/swapfile   swap   swap   defaults   0 0

Then reboot. This makes a 4GB Swap file (block-size 1024 bytes with a count of 2^22 i.e. 4194304 blocks). To make sure the swap file is mounted, type the command free or cat /proc/swaps which should reference the created swap file.

Out-of-memory (OOM) Killer

Linux comes with a mechanism called the Out-of-memory (OOM) Killer which detects when the machine is dangerously low on memory and selects one or more processes to kill based on a set of heuristics. When Linux chooses to kill real-time system processes such as orbserver(1)s, this can have negative effects on a running real-time system. The OOM Killer may be tamed a bit by disabling it on a per-process basis. This can be done by putting the OOM_DISABLE value of -17 into the proc diretory for the running process (this value is inherited by child processes, so if you do this for the running rtexec(1) instance, at least newly created children will inherit the same value). To disable OOM for a process, find its process-ID (pid) and as root execute

echo -- -17 > /proc/<pid>/oom_score_adj

To shut off the OOM Killer system-wide, execute

sysctl vm.overcommit_memory=2

And then add the following line to /etc/sysctl.conf:

vm.overcommit_memory=2

For more information, see

http://lwn.net/Articles/317814/
http://backdrift.org/oom-killer-how-to-create-oom-exclusions-in-linux
http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html

Locale settings for sort order

Sort order for file-globbing on Linux platforms may differ from that on Mac. This can affect the order of files fed into programs, which may be significant in some cases (e.g. with miniseed2days(1)). The file-globbing sort order is governed by locale settings. Specifically, one can set the environment variable LC_COLLATE to a common value such as C:

LC_COLLATE=C; export LC_COLLATE

or (csh/tcsh):

setenv LC_COLLATE C

For more information, see http://compgroups.net/comp.unix.solaris/ordering-in-linux-ls-la/508654 .

Display Power Management Signaling

If you have dual monitors, one of them may occasionally turn completely off after a period of disuse. This is managed by the Linux Display Power Management Signaling (DPMS) system. To turn this behavior off, execute

xset -dpms

To query its status, execute

xset q

This may need to be repeated after each reboot.

Perl Homedir problems

On many modern linux machines the perl-homedir module is automatically installed and enabled, which configures the system to automatically create a ~/perl5 directory in each users' $HOME on user login. The module also automatically sets the PERL5LIB environment variable. Because such directory and environment extensions have the potential to clash with the Antelope perl on enterprise systems, Antelope duly warns about them, usually with a message such as this:

Warning: The environment variable PERL5LIB is set to
    /home/user/perl5/lib/perl5:
This could cause Antelope to fail.

While often harmless, these messages can be annoying, and they do indicate the potential for problems. A minimally invasive way to disable this feature is to edit the files

/etc/profile.d/perl-homedir.sh
/etc/profile.d/perl-homedir.csh

to set the PERL_HOMEDIR variable to 0. (How to do so should hopefully be self-evident in these short script files). A more heavy-handed and thorough way to disable perl-homedir is to remove the package from the system entirely (one may need to execute something like

rpm -qa | grep perl-homedir

to identify the exact name of the package). For example:

% rpm -e --nodeps perl-homedir-1.008010-4.el7.noarch

Other Linux Variants

There are multiple variants of the Linux Operating System available, many of them viable alternatives and with their own strengths. In order to conserve limited resources, BRTT has been forced to choose one variant to support. After a survey of users, RHEL was chosen, as noted above. BRTT provides support for Antelope running on RHEL 6.2. The Linux releases for which BRTT will not provide any support at all include, but are not limited to:

This list is very far from complete. At the time of writing there are 258 known Linux variants listed in the Wikipedia article referenced in the SEE ALSO section below.

SEE ALSO

notes_mac_setup(5)

http://en.wikipedia.org/wiki/List_of_Linux_distributions

AUTHOR

Kent Lindquist and Danny Harvey
Printer icon