FlexNet Inventory Scanner: Operation on UNIX-Like Platforms

FlexNet Manager Suite 2020 R1 (On-Premises)

This description assumes that you have deployed ndtrack.sh, optionally its customized configuration file ndtrack.ini, and the current and unedited InventorySettings.xml (required when Oracle inventory is in play). These processes are described in FlexNet Inventory Scanner: Implementation on UNIX-like Platforms.

For normal operation, do either of the following:
  • To run ndtrack.sh from the command line, it's convenient to change directory to the location of these files (all in the same folder), and invoke the executable together with any further command-line parameters (documented in FlexNet Inventory Scanner Command Line).
  • To run the lightweight scanner regularly, configure your preferred scheduling tool (such as cron) on the target device to regularly invoke ndtrack.sh, either using the options available in FlexNet Inventory Scanner Command Line or using a customized copy of ndtrack.ini (see Configuring ndtrack.ini for UNIX-like Platforms). To execute the scanner, you can either use the chmod command to set the execute permissions on ndtrack.sh; or you can start ndtrack.sh using a shell (such as /bin/sh /path/ndtrack.sh [options].
    Tip: Experienced administrators can also combine use of ndtrack.ini (for common defaults) with matching command-line parameters (for local overrides on specific devices).
You may execute ndtrack.sh either as root (recommended), or as a different user. Running as a non-root user limits the effectiveness of inventory gathering, as described in FlexNet Inventory Scanner: Accounts and Privileges.

At each invocation, ndtrack.sh:

  1. First determines the current operating system, and extracts the binaries appropriate to that platform to a unique folder under the home directory of the current user, provided that this has sufficient space and is not the root directory (/). If that is unsuccessful, it uses the /var/tmp folder.
    If there is insufficient space in /var/tmp, ndtrack.sh writes an error to stderr, and the process stops.
  2. Checks in its installed folder for a customized ndtrack.ini configuration file.
    If found, this file in its entirety replaces all the default values for operating preferences and data providers (see Configuring ndtrack.ini for UNIX-like Platforms). Take care that the configuration file is complete, in case missing parameters are effectively 'turned off'.
  3. Uses any command-line parameters to override matching values (whether built-in defaults, or values from ndtrack.ini).
  4. Executes the inventory collection according to the resulting set of preferences.
When neither command-line options nor preferences in ndtrack.ini are specified, ndtrack.sh does the following:
  • Conducts a machine inventory on the local computer on which it is currently running. (Only machine inventory is supported for UNIX-like platforms: there has never been any equivalent of the "user"-based inventory available on Microsoft Windows for backward compatibility.)
  • Creates an inventory file named $(UserName) on $(MachineId).ndi, where these variables are replaced as follows:
    • $(UserName) is replaced by the name of the account running the executable. When ndtrack is run as root, this value is returned as system, for consistency with inventory reported from Windows platforms.
    • $(MachineId) is replaced by the computer name of the inventory device, as returned from the operating system.
  • Saves this inventory file (both uncompressed for inspection and compressed for upload) in either of the following paths:
    • When the executable has run as the root account, in /var/tmp/flexera/uploads/inventories
    • When the executable has been run by any other user account (represented as UserName), in /var/tmp/flexera.UserName/uploads/inventories.
  • Returns an exit code of 0 for success. For any other exit code, check the log file.
  • Where InventorySettings.xml is supplied and ndtrack is running as root and can connect to an instance of Oracle Database, creates a separate Oracle inventory file (such as $(MachineId) at DateTimeInISO8601 (Oracle).ndi.gz) in the same inventories folder.
  • Where the Oracle listener is found and can be queried (by ndtrack running as root), creates a .disco discovery file containing details of the local Oracle Net Listener (such as $(MachineId) at DateTimeInISO8601.disco), saved in /var/tmp/flexera/uploads/Discovery.
  • Records the log for these activities in tracker.log in either of the following locations:
    • When the executable has run as the root account, in /var/tmp/flexera/log
    • When the executable has been run by any other user account (represented as UserName), in /var/tmp/flexera.UserName/log.
Tip: Discovery of Oracle Net Listener and collection of inventory from Oracle database instances are both blocked unless the tracker component (ndtrack executable) invoked by the FlexNet Inventory Scanner is running as root.

These behaviors can be changed with command-line parameters described in FlexNet Inventory Scanner Command Line, or preferences saved in ndtrack.ini (see Configuring ndtrack.ini for UNIX-like Platforms). As a customization example, you can configure ndtrack.sh to upload the resulting inventory file immediately to an inventory beacon of your choice for integration into the standard inventory processes.

FlexNet Manager Suite (On-Premises)

2020 R1