NetWorker: Running the linux_pkgcore.sh Script Does Not Detect NetWorker Binaries Properly
Summary: NetWorker issue with /usr/sbin/nsrd version 19.12.0.1, identified as a shared object, not an executable, by linux_pkgcore.sh script, due to position independent code settings, upgrading file to version 5.39 or newer resolves the issue. ...
Symptoms
Script Execution Failure
The linux_pkgcore.sh script fails to perform properly.
The script returns a message indicating that it cannot determine if /usr/sbin/nsrd is a link or start script.
Message Details
The message displayed is: "Is /usr/sbin/nsrd a link or start script? Please check! Binary Executable needed as argument"
file /usr/sbin/nsrd-19.12.0.1 | grep 'ELF' /usr/sbin/nsrd-19.12.0.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=500dfce10db947d45391e7eb5e7eb8f850815f10, stripped
Cause
Root Cause of the Issue
The root cause of the issue is the misidentification of the nsrd executable as a shared object by the file command.
This misidentification is due to the use of certain settings related to position independent code, which can sometimes be considered an extra security feature.
Specific Conditions
The specific conditions that led to this issue include the use of the file command, which can cause the file command to incorrectly identify the nsrd executable as a shared object.
- The version of the file command being used is older than 5.39, which does not correctly identify the
nsrdexecutable. - The
nsrdexecutable is being built with position-independent code, which can cause the misidentification.
Error Messages
file /usr/sbin/nsrd-19.12.0.1 | grep 'ELF' /usr/sbin/nsrd-19.12.0.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=500dfce10db947d45391e7eb5e7eb8f850815f10, stripped
nsrd executable itself, but with the file command's inability to correctly identify it.
Resolution
Upgrading the File Command
To resolve the issue, upgrade the `file` command to version 5.39, or newer. This should provide the expected results to the pkgcore script.
Steps to Upgrade
Follow these steps to upgrade the `file` command:
- Check the current version of the `
file` command. - Download and install the latest version of the `
file` command (version 5.39 or newer).
Verifying the Resolution
After upgrading the `file` command, verify that the issue has been resolved by running the `linux_pkgcore.sh` script again.
# Run the linux_pkgcore.sh script to verify the resolution $ ./linux_pkgcore.sh