Configuration of Rocky Linux 9 Operating System

Configuration of Rocky Linux 9 Operating System


Introduction

Icareus Playout 6.1 runs on the Enterprise Linux 9 operating systems, e.g. Rocky Linux 9. To install the OS (operating system), see installation of the Rocky Linux 9 operating system. Official Rocky Linux 9 installation instructions are here. To run Icareus Playout, some further configuration of the operating system is necessary. This includes changing some system configuration files, configuring network interfaces and installing additional software.
Notes
The following instructions have been updated for Icareus Playout version 6.1.0.1.
Info
This page assumes you have obtained the Playout software in a directory 6-1-0-1-el9 (a.k.a. distribution folder) from Icareus.

It is very much recommended that the server has an Internet connection at this point, because updating the system with the dnf or yum command requires it. Make sure the server is in a secure local network behind a well configured firewall.

Commands you need to type as a Rocky Linux root or sudo user are shown below as numbered lines of code. In some cases contents of files are shown as code. When editing configuration files you can use for example the text editor nano.

Check MD5 digests of files

To install Icareus Playout, Icareus will provide you with a directory which contains Playout, Playout Web Console and some other useful software. Icareus usually puts this directory in the /root/Downloads directory, i.e. /root/Downloads/6-1-0-1-el9, on the server where Icareus Playout is going to be installed.

In addition to other files there is an MD5 sum text file. Using a command line terminal check the MD5 digests:
  1. cd /root/Downloads/6-1-0-1-el9
  2. md5sum -c md5sum-6.1.0.1-el9.txt
The command should output OK for all files, for example:

api-6.1.0.1-el9.zip: OK
...

If the output says FAILED instead of OK, that indicates that the files have not been copied successfully to the server. Make sure you obtain valid files before proceeding.

The contents of the 6-1-0-1-el9 folder is:
  1. api-6.1.0.1-el9.zip: Contains Playout API which provides a backend API for Playout Webconsole. Requires Node.js to be installed first (see below).
  2. dektec-6.1.0.1-el9.zip: A folder containing drivers for Dektec cards. This is needed for example when your server uses ASI output.
  3. md5sum-6.1.0.1-el9.txt: MD5 checksums for provided files. These are used to verify that all files have been copied fully and without data corruption.
  4. nodejs-6.1.0.1.zip: This folder contains a Node.js versions for Playout Webconsole and for Playout API, and some scripts to install (or uninstall) Node.js.
  5. operating-system-configuration-6.1.0.1-el9.zip: This contains shell scripts that contain some of the commands used on this page.
  6. playout-6.1.0.1-el9.zip: This folder contains the Playout server back end. These are Linux services that are responsible for creating DVB tables and outputting them to transport streams.
  7. pmc-6.1.0.1.zip: Contains PMC (Icareus Playout Management Console) which is legacy software for configuring Playout. It contains files a playout-management-console RPM for installing on a Linux desktop, e.g. on the server where Playout is installed and pmc-6.1.0.1.exe is a PMC installer for Microsoft Windows. In addition there are 2 shell scripts for installing/updating the RPM and running PMC on Linux.
  8. redundancy-6.1.0.1-el9.zip: Software needed to replicate databases in a 1+1 or other redundant Playout installation.
  9. rpms-6.1.0.1-el9: RPMS for the specific Java version used by Playout API.
  10. unzip-all.sh: A script you can run to to unzip all zip files in the folder.
  11. webconsole-6.1.0.1-el9: This folder contains Playout Web Console which is a web front end for configuring Playout. The folder includes scripts to install it. It requires Node.js to be installed first.

After checking the md5sum of the files you can unzip all the zip files using one powerful command:
  1. bash unzip-all.sh
Idea
You can use the provided shell scripts (*.sh files) during configuration, or optionally view the contents of the files and run the commands manually if you prefer that.

Configure and update the Operating System

Info
During the initial configuration and updating of the operating system, access to the external Internet is needed, in order to download software packages.

Configure networking

Often Icareus Playout runs on rack servers that have e.g. 4 or 6 network interfaces.
Icareus Playout requires networking to work. To see the network interfaces present on the system use the command:
  1. ip a
Info
Icareus expects that networking is configured by a local networking administrator, as connecting to a network is always site specific.

Info
Icareus recommends that the Icareus Playout servers are located within a trusted network environment and that the servers are not directly accessible from the public Internet.

Info
For remote support, providing a remote connection for Icareus is highly recommended. This can be for example TeamViewer access, AnyDesk or a VPN connection to the internal network.

The recommended use of network interfaces with Icareus Playout is the following. Here eth0 represents the name of the first network interface and so on.
Nowadays the interfaces have names like enp0s3 etc.:

eth0 - data output
eth1 - data output (if needed)
eth2 - redundancy
eth3 - management (Internet connection)

Please refer to Network Configuration - Rocky Linux 9 or other documentation to configure the network.

Reboot and check interfaces

Reboot the system for the changes to take effect
  1. reboot
After rebooting, make sure that the network configuration is correct.

Update packages, disable SELinux and reboot

 In the distribution folder there is a folder operating-system-configuration-6.1.0.1-el9 which contains scripts (*.sh files).
To change to the distribution folder do
  1. cd /root/Downloads/6-1-0-1-el9
NotesFor all the change directory (cd) commands below it is assumed you have changed first to the distribution folder.
In the distribution folder do:
  1. cd operating-system-configuration-6.1.0.1-el9
In the folder run the update packages script:
  1. bash update-packages.sh
Wait for software packages to be downloaded and installed. The time required depends on your system and networking, but it will take at least a few minutes.

SELINUX must be disabled. In the files /etc/sysconfig/selinux and /etc/selinux/config, change enforcing to disabled. This can be done by running the command:
  1. bash disable-selinux.sh
Reboot the system after this using the reboot command. After the reboot SELinux is disabled.
  1. reboot

Check that SELinux is disabled

After the system starts again, login as root and check the SELinux status:
  1. sestatus
which should show

SELinux status:                 disabled

Disable automatic Rocky Updates

The reason to disable the updates is that we don't want any unpredictable changes in the system which might stop or restart it or cause an incompatibility with Icareus Playout software.
Change to the OS configuration folder: 
  1. cd operating-system-configuration-6.1.0.1-el9
and do:
  1. bash disable-automatic-updates.sh
  2. systemctl disable --now dnf-makecache.timer
  3. systemctl list-timers | grep dnf
  4. # if above shows dnf timers:
  5. systemctl disable --now dnf-automatic.timer
  6. systemctl disable --now dnf-automatic-install.timer

Enable EPEL (Extra Packages for Enterprise Linux) repository configuration

  1. bash install-epel-release.sh

Enable useful services for logging, NTP and SNMP

Info
When you run these, if the terminal says something like lines 1-22/22 (END), press the q button on your keyboard to proceed.
  1. bash enable-logging.sh
  2. bash enable-ntp.sh
  3. bash enable-snmp.sh

Install development tools

  1. bash install-development-tools.sh

Install postgresql database

  1. bash install-postgresql.sh
  2. # The below ones are for slony, see below.
  3. # Enable code ready builder.
  4. dnf config-manager --set-enabled crb
  5. # If the above does not work do:
  6. subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms
  7. dnf install postgresql-server-devel --allowerasing -y

Install Xerces XML parser

  1. bash install-xerces-c.sh

Install needed packages and useful tools

  1. bash install-needed-packages-and-useful-tools.sh

Install some compatibility packages

Notes
We need some legacy packages for now, this requirement will be removed in a future version.
  1. dnf install chkconfig initscripts

Optionally install libreoffice

If your Icareus Playout server will be used for EPG and input files are in MS Excel format, install libreoffice.
  1. bash install-libreoffice.sh

Remove tracker-miners

  1. bash remove-tracker-miners.sh

Set correct server time zone

The Time zone can be selected during OS installation with GUI. If it is incorrect it's possible to correct it.
Check current time configuration.
  1. timedatectl
Find available time zones.
  1. timedatectl list-timezones
For example if you're based in Finland, use the time zone Europe/Helsinki.
  1. timedatectl set-timezone Europe/Helsinki
The command date shows the current server date and time and the time zone abbreviation.
  1. date

Optionally set host name

Its useful to set a host name, unless you already did that during installation. For example if you want to name your server playout-main:
  1. hostnamectl set-hostname playout-main
Opening a new terminal window will display the prompt with the new hostname, in this case:
  1. [root@playout-main ~]#

Install packages provided by Icareus

This section assumes you have the software distribution folder and have unzipped the zip files, see above.

    Install Node.js

    Install Node.js using the following commands:
    1. cd nodejs-6.1.0.1
    2. bash install-node.sh
    This installs node-v12, needed by Playout Webconsole and node-v22, needed by Playout API.
    The script outputs some filenames followed by Please login again to activate Node.js.
    You can just start a new bash shell in the same terminal and check the node version.
    1. bash
    2. node -v
    The output should be
    1. v12.22.12
    Node will be in our bash command PATH for all new terminals you open.

    Install Slony

    Slony is used to replicate the Playout database from one server to another. Install Slony using the following commands:
    1. cd redundancy-6.1.0.1-el9/slony1-2.2.6
    2. # Works if postgresql-server-devel is installed, see above.
    3. ./configure && make && make install

    Optionally install DekTec drivers

    DekTec drivers are needed if Playout is going to use a DekTec ASI or IP card for transport stream (TS) output.

    Idea
    If only UDP / IP data output is going to be used over standard interfaces it is not necessary to install DekTec drivers.
    Warning
    The dektec drivers do not compile on Rocky Linux 9, when we run install-dektec-drivers.sh we get the error: make: *** [Makefile:285: install] Error 1

    One way to check for the presence of Dektec cards is the command lspci:
    1. lspci | grep -i dektec
    Output might be e.g.
    1. 02:00.0 Multimedia video controller: DekTec Digital Video B.V. Device 0861 (rev 01)
    To compile and install the Dektec drivers do:
    1. cd dektec-6.1.0.1-el9
    2. bash install-dektec-drivers.sh
    After the compilation finishes use the lsmod command to check that the Dektec drivers have been loaded into the kernel:
    1. lsmod | grep Dt
    Output should be something like:
    1. DtPcie               2428928  0
    2. DtaNw                  53248  0
    3. Dta                  1331200  1 DtaNw
    4. Dtu                  8830976  0

    At this point your system is ready for the next step which is to install Icareus Playout itself.



      • Related Articles

      • Rocky 8 Operating System Configuration

        Introduction Icareus Playout 6.1 runs on the Enterprise Linux 8 or 9 operating systems, e.g. Rocky Linux 8. To install the Operating System, see installation of the Rocky Linux 8 operating system. Official installation instructions are here. To run ...
      • Installation of Rocky Linux 8 Operating System

        Installation of Rocky Linux 8 Operating System This document outlines a graphical installation of Rocky Linux 8 Operating System on x86-64 server hardware. Icareus Playout will be installed as a set of programs running on this operating system. The ...
      • Installation of Rocky Linux 9 Operating System

        Installation of Rocky Linux 9 Operating System This document outlines a graphical installation of Rocky Linux 9 Operating System on x86-64 server hardware. Icareus Playout will be installed as a set of programs running on this operating system. The ...
      • Installation of Icareus Playout on Rocky Linux 9

        Installation of Icareus Playout on Rocky Linux 9 Introduction This page assumes you have obtained the Playout software in a folder from Icareus. You should also have changed to that directory and unzipped all zip files as described on the page ...
      • Migration of older Playout versions to Playout 6

        Introduction Icareus Playout 4 runs on the CentOS 6 operating system, which reached end of life on November 30th, 2020. Because of this, Icareus developed Playout 5 which runs on CentOS 7 and Playout 6 which runs on CentOS 7 and on Rocky 8. It's ...