Use systemd instead of xinetd on SLES 15

Idea ID 1764390

Use systemd instead of xinetd on SLES 15

Part of the new features of SLES 15 is that xinetd is removed and only used systemd.

9.3.5 xinetd and yast2-inetd Have Been Removed REPORT BUG#
In SLE 15, xinetd and yast2-inetd have been removed, in favor of systemd sockets. All software provided in SLE is already adapted to use systemd sockets and YaST modules activate socket instead of xinetd. If you are working with third-party software, it might have to be updated.

When we try to install DP 10.30, this error appears:

./ line 5925: netstat: command not found
Installing Core (omnicf)...

./ line 537: netstat: command not found
The required xinetd or inetd daemon is not installed on the client system...
Setup cannot continue. Installation of the Data Protector CORE component failed. 

Even SLES 15 is added to Support Matrix, the systemd is not supported, and xinetd have to be installed. 

Micro Focus Contributor
Micro Focus Contributor
Status changed to: Under Consideration

There are some SLE15 compatibility problems:

  1. DP scripts require ifconfig (net-tools-deprecated), which might get removed soon. It should alternatively use ip (from iproute2)
  2. it requires ifconfig at /sbin/ifconfig while net-tools-deprecated installs it at /usr/bin/ifconfig (use symlink to workaround)
  3. DP scripts require netstat (net-tools-deprecated), which might get removed soon. It should alternatively use ss (from iproute2). ss seems to accept the args DP uses and DP seems to be happy with its output. So, a symlink /usr/bin/netstat -> ss can deal with it.
  4.  DP expects that there is a running (x)inetd at some steps. You can fool DP creating a fake service symlink xinetd to sleep (/usr/sbin/xinetd -> ../bin/sleep) and run it as a service (data-protector-xinetd.service)
  5. DP expects that DP port (5555 or 5565) to be available before installation. It conflicts with systemd socket activation. You can workaround it by waiting and requiring for /opt/omni/lbin/inet before starting the socket.

Systemd files:

# /usr/lib/systemd/system/data-protector-xinetd.service
Description=Data Protector xinetd stub service

ExecStart=/usr/sbin/xinetd infinity


# /usr/lib/systemd/system/data-protector.path
Description=Monitor Data Protector installation



# /usr/lib/systemd/system/data-protector.socket
Description=Data Protector Socket



# /usr/lib/systemd/system/data-protector@.service
Description=Data Protector Server

ExecStart=/opt/omni/lbin/inet -log /var/opt/omni/log/inet.log

I would be nice if DP stops depending on /etc/services entries. It generates conflicts with system updates/upgrades that touch that file.

Micro Focus Expert
Micro Focus Expert
Status changed to: Accepted

We are going to support system (not only for SLES) with one of the upcoming releases.

Micro Focus Expert
Micro Focus Expert
Status changed to: Delivered


Delivered in DP 10.70 (DP 2020.05)

The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.