Description:
The Installation of the new linux agent might not have changed on the front-end but we have made some major changes on how the agent works on the back-end. The below doc describes the nixconfig.sh which is now used for installation of the agent with some new features. The change occurred to make the agent less bulky and consistency with other agents like Windows and Mac. These include agent settings, conf files and new switches for our components. We will be covering the installation, prerequisites and new OS support.
New Items:
- Raspbian version 7 is supported with 2017.3 release with version 8 and 9 coming with SU1.
- Changed agent to use conf files and No longer using .db files for inventory and switched to json.
- Solaris HPux and AIX are still under legacy agent- the nixconfig.sh will install the agent as before but the changes have not been. Theses are on the roadmap to be updated.
Installation Guide
Nixconfig.sh is updated to remove legacy packages, install new component architecture packages on Linux hosts and support legacy agent on Unix (AIX, HP-UX and Solaris) hosts.
Notes:
- The inventory package is installed with privilege escalation disabled so the inventory scan will not have system cache, memory bank information, etc.
- Software distribution and Vulnerability remediation require privilege escalation which is turned on by default.
- To allow privilege escalation, ensure sudo is setup with password-less access for the landesk user and set privilegeEscalationAllowed flag to true in all application specific configuration files (hardware.conf, inventory.conf, software_distribution.conf and vulnerability.conf) located in
/opt/landesk/etc.
- The Core “push” installation will drop the Configuration shell script, Configuration INI file, Agent archives and nixconfig.sh scripts on the Linux hosts (Unix hosts will also get wget executables). The INI file will drive the installation so package selection, Core address, certificates, etc. will be based on the INI file contents. For “pull” installations, the administrator only needs nixconfig.sh, access to either cURL or wget, and the relavent command line options to perform the request action (install, upgrade or removal).
Push Install:
- Create a new agent
asd
- Name and check the boxes needed ( UBuntu and Raspbian will not run vulscan but will download the files for when it's available- future release)
- schedule the agent and add the machines from a UDD scan. All the files needed are moved to the client for install. Prerequisites are not on the core and the client requests them from their respective version repo- redhat goes out to redhat servers.
Manual Install
Script Features:
- Run in minimum shell – Bourne shell
- Supports for running from no-exec mounted partitions
- Support for non-root installations (sudo or RBAC)
- Previous installation detection and upgrade support
- Prerequisite reporting and installation
- User defined repositories (yum and zypper only)
- Handle agent install, removal and upgrade (remove/install combined)
- Support same guid across upgrades (breadcrumb remains in /opt/landesk/etc/guid file)
- Pull files from Core by cURL or wget (wget provided for AIX, HP-UX and Solaris)
- 1st attempt is for individual RPM packages (future)
- 2nd attempt is archive package (existing tarballs)
Script Usage:
Usage: ./nixconfig.sh [OPTION]...
LDMS Agent installation, upgrade and removal processing.
-a core FQDN of LDMS core.
-c INI_file Uses INI configuration file for installation preferences.
-d Add debug lines to output.
-h Prints help message.
-i pkg Installs specified agent packages [all, cba8, ldiscan, sdclient or vulscan].
-l log_file Log file for logging output [default: stdout].
-k cert_file Certificate file.
-p Install prerequisites - pulled from distribution repositories or Core.
-r pkg Remove specified agent packages [all, cba8, ldiscan, sdclient or vulscan].
-R With option -r, ensures the /opt/landesk directory is gone including the GUID file.
-u repo_url Custom repository definition (Linux Only).
-D Install assuming no network connection except to core. (Overrides -p and -u options).
Script Examples:
- Installation from no-exec /tmp partition (very important to include the path to script):
./bin/sh /tmp/nixconfig.sh -a win-pt2tta27i1n.ivanti.com -i all -p
- Installation from standard /tmp partition:
./nixconfig.sh -a win-pt2tta27i1n.ivanti.com -i all -p
- Remove installation leaving breadcrumb (add -R to remove breadcrumb):
./nixconfig.sh -r allNotes:
- -D allows the customer to install the Agent packages without access to a known repository but does require access to the Core.
- - The “-u” (custom repo) option - you need to specify the URL to a proper repository definition file hosted on the RPM repository (http://www.example.com/example.repo).
- - Custom repositories and prerequisite installations can be defined in the INI file but the Core UI does not support them at this point.
- PRQ=YES under Products in the INI file will install Prerequisites.
- A section with the following format adds a custom repository (secondary repos can be added by separating the strings with a space):
[Custom Repository]Repository=”http://www.example1.com/example1.repo”
- - To remove an agent from the Core via push the user can modify the INI file and set all of the products to NO (same as “-r all” on the CLI).
- - Upgrades are handled by removing individual existing components and then reinstalling them.
- - Prerequisites for Linux distributions will be pulled from the distribution repository.
- - Prerequisites for Unix systems are pulled from the Core so the LDMS user would just need to put the proper packages under the proper OS directory on the Core.
Prerequisites
CentOS/Red Hat Enterprise Linux 6 Packages:
glibc, pam, xinetd, libgcc, libxml2, zlib, openssl, libtool-ltdl
CentOS/Red Hat Enterprise Linux 7 Packages:
glibc, pam, xinetd, libgcc, libxml2, zlib, openssl, libtool-ltdl
SuSE Linux Enterprise Server 11 Packages:
glibc, pam, xinetd, libgcc46, libxml2, zlib, util-linux, libtool
SuSE Linux Enterprise Server 12 Packages:
glibc, pam, xinetd, libgcc_s1, libxml2-2, libz1, openssl, util-linux, libtool
Ubuntu 14.04 and 16.04 Packages:
libpam-runtime, xinetd, libxml2, zlib1g, openssl, libltdl7
- Raspbian version 8 (Jessie)
- uuid-runtime, libpam-runtime, xinetd, libxml2, zlib1g, openssl, libltdl7
Configuration Files:
This info is fairly extensive and have created a separate doc to over the full details. Please see doc: 2017.3+ Linux Agent Conf Files
Script Tools:
Executable | Requires Escalated Privileges | AIX | HPUX | Solaris | CentOS | RHEL | SLES | Ubuntu |
apt-get | X |
|
|
|
|
|
| X |
basename |
| X | X | X | X | X | X | X |
chmod | X | X | X | X | X | X | X | X |
chown | X | X | X | X | X | X | X | X |
crontab | X | X | X | X | X | X | X | X |
wget (or curl) |
| X | X | X | X | X | X | X |
cut |
| X | X | X | X | X | X | X |
date |
| X | X | X | X | X | X | X |
dpkg | X |
|
|
|
|
|
| X |
dpkg-query |
|
|
|
|
|
|
| X |
ed | X | X | X | X | X | X | X | X |
echo |
| X | X | X | X | X | X | X |
expr |
| X | X | X | X | X | X | X |
grep |
| X | X | X | X | X | X | X |
groupadd | X | X | X | X | X | X | X | X |
groupdel | X | X | X | X | X | X | X | X |
gzip |
| X | X | X | X | X | X | X |
id |
| X | X | X | X | X | X | X |
kill | X | X | X | X | X | X | X | X |
ls |
| X | X | X | X | X | X | X |
mkdir | X | X | X | X | X | X | X | X |
mv | X | X | X | X | X | X | X | X |
paste |
| X | X | X | X | X | X | X |
pkgadd | X |
|
| X |
|
|
|
|
pkginfo |
|
|
| X |
|
|
|
|
pkgrm | X |
|
| X |
|
|
|
|
profiles |
|
|
| X |
|
|
|
|
ps |
| X | X | X | X | X | X | X |
pwd |
| X | X | X | X | X | X | X |
rm | X | X | X | X | X | X | X | X |
rmgroup | X | X |
|
|
|
|
|
|
rpm | X | X |
|
| X | X | X |
|
sed |
| X | X | X | X | X | X | X |
sleep |
| X | X | X | X | X | X | X |
sort |
| X | X | X | X | X | X | X |
swinstall | X |
| X |
|
|
|
|
|
swlist | X |
| X |
|
|
|
|
|
swremove | X |
| X |
|
|
|
|
|
sudo | X |
|
|
|
|
|
|
|
tar |
| X | X | X | X | X | X | X |
tr |
| X | X | X | X | X | X | X |
uname |
| X | X | X | X | X | X | X |
yes |
| X | X | X | X | X | X | X |
yum | X |
|
|
| X | X |
|
|
yum-config-manager | X |
|
|
| X | X |
|
|
useradd | X | X | X | X | X | X | X | X |
userdel | X | X | X | X | X | X | X | X |
wget (or curl) |
| X | X | X | X | X | X | X |
zonename |
|
|
| X |
|
|
|
|
zypper | X |
|
|
|
|
| X |
|
Questions:
- Regarding pre-req packages does the core now ship with these files?
- For AIX, HP-UX and Solaris, if the customer puts the prerequisite packages on their core in ldlogon/unix/(aix|hpux|solaris)/ directory, they can use the -p option and the script will pull the prerequisites from the Core (if wget or curl is available). Linux customers need to have an accessible RPM repository. The prerequisites are not shipped with the Core at this point because we have some legal work to go through to ensure we can redistribute the packages without issue.
- Does the installer look automatically for a .0 (public key) cert file in its “run” directory?
- Yes – they can be specified on the command line, INI file or just placed in the run directory – all should work
- Is there currently failover logic around the pre-req repositories?
- We assume Linux distros will have access to a repository and yum/zypper setup properly to work (no “failover”). Unix variants will only contact the Core for prerequisites. If the Linux package manager doesn’t work, the prerequisite install will fail at this point.
- Does the installer support offline installation?
- Yes, if needed you can copy the nixconfig script, the INI, the .0, as well as the tar.gz files to the machine. Then once you have set execution rights run these as root.