NetBackup commands fail on RHEL servers with PERL2EXE_STORAGE errors

Article: 100031479
Last Published: 2022-11-29
Ratings: 3 1
Product(s): NetBackup & Alta Data Protection

Problem

NetBackup nbdeployutil, nbcplogs, NBSU utility commands fail on RHEL (Red Hat Enterprise Linux) servers.

Error Message

Output from the "nbdeployutil -gather" command:

 Can't load '/tmp/p2xtmp-23515/POSIX.so' for module POSIX: /tmp/p2xtmp-23515/POSIX.so: failed to map segment from shared object: Operation not permitted at PERL2EXE_STORAGE/DynaLoader.pm line 230.
 at PERL2EXE_STORAGE/util.pm line 369
 Compilation failed in require at PERL2EXE_STORAGE/util.pm line 369.
 BEGIN failed--compilation aborted at PERL2EXE_STORAGE/util.pm line 369.
 Compilation failed in require at PERL2EXE_STORAGE/Utils.pm line 9.
 BEGIN failed--compilation aborted at PERL2EXE_STORAGE/Utils.pm line 9.
 Compilation failed in require at /usr/openv/netbackup/bin/admincmd/nbdeployutil line 7.
 BEGIN failed--compilation aborted at /usr/openv/netbackup/bin/admincmd/nbdeployutil line 7.

Similar errors may be seen when the "NBSU" command is ran:

Can't load '/tmp/p2xtmp-37690/auto/Socket/Socket.so' for module Socket: /tmp/p2x tmp-37690/auto/Socket/Socket.so: failed to map segment from shared object: 
Operation not permitted at PERL2EXE_STORAGE/DynaLoader.pm line 190. at PERL2EXE_STORAGE/Net/FTP.pm line 17 
Compilation failed in require at PERL2EXE_STORAGE/Net/FTP.pm line 17. 
BEGIN failed--compilation aborted at PERL2EXE_STORAGE/Net/FTP.pm line 17. 
Compilation failed in require at /apps/nb/openv/netbackup/bin/support/nbsu line 138. 
BEGIN failed--compilation aborted at /apps/nb/openv/netbackup/bin/support/nbsu line 138.

And, the "nbcomponentupdate " command:

/usr/openv/netbackup/bin/goodies/nbcomponentupdate -product netbackup -component jre -path /usr/openv/tmp/jre1.8.0_311 -force -logpath /usr/openv/tmp/
Can't load '/tmp/p2xtmp-7413/auto/Fcntl/Fcntl.so' for module Fcntl: /tmp/p2xtmp-7413/auto/Fcntl/Fcntl.so: failed to map segment from shared object at PERL2EXE_STORAGE/DynaLoader.pm line 190.

Cause

/tmp was mounted with "noexec" option.

Temporary storage directories such as /tmp, /var/tmp and /dev/shm provide storage space for malicious executables. Malicious users often try to store executables in /tmp and execute them. The "noexec" option can be used to try and prevent this, but also prevents nbdeployutil from running.

Check whether this mount option has been applied via the command 'mount'. Search for the /tmp mount point and observe the mount options used. Typically these are modified in /etc/fstab to persist across reboots.

Solution

In order for utilities to run, /tmp needs to be remounted without the "noexec" option.

  1. View setting:
    • mount | grep tmp
  2. To temporarily remove 'noexec' on /tmp
    • mount -o remount,exec /tmp
  3. To set it back
    • mount -o remount,noexec /tmp

Was this content helpful?