Table of Contents * Previous Chapter * Next Chapter

FLEXlm End User Manual: Chapter 7 License Administration Tools

Chapter 7 License Administration Tools

FLEXlm provides utilities for the license administrator to help manage the licensing activities on the network. These utilities are:

Beginning in FLEXlm v2.4, all FLEXlm utility programs (except lmgrd) are packaged as a single executable called lmutil. lmutil can either be installed as the individual commands (either by creating links to the individual command names, or making copies of lmutil as the individual command names), or the commands can be run as `lmutil command', e.g. `lmutil lmstat', or `lmutil lmdown'. On Windows or Windows/NT systems, the `lmutil command_name' form of the commands are available. There is also a Windows version of these commands - see Section 7.12, `License Administration Tools - LMUTIL for Windows,' on page 46.

7.1 lmcksum

The lmcksum program (FLEXlm v2.4 or later) will perform a checksum of a license file. This is useful to verify data entry errors at your customer's location. lmcksum will print a line-by-line checksum for the file as well as an overall file checksum. lmcksum takes the `-k' switch to force the encryption key checksum to be case-sensitive.

lmcksum will ignore all fields that do not enter into the encryption key computation; thus the server node name and port number, as well as the daemon pathname and options file names are not checksummed. In addition, lmcksum will treat non-case sensitive fields correctly (in general, lmcksum is not case-sensitive).

lmcksum takes an optional daemon name; if specified, only license file lines for the selected daemon are used to compute the checksums.

By default, lmcksum operates on `license.dat' in the current directory. Specify -c license_file if you want to checksum another license file. Example output is:

lmcksum - Copyright (C) 1989, 1993 Globetrotter Software, Inc.
lmcksum: using license file `/usr/local/flexlm/licenses/license.dat'
189: SERVER speedy 08002b32b161 2837
166: DAEMON demo C:\flexlm\demo.exe 
8: FEATURE f1 demo 1.000 01-jan-99 0 3B2BC33CE4E1B8F3A0BF `` 08002b32b161
109: (overall file checksum)

7.2 lmdiag

lmdiag (FLEXlm v4.0 or later) allows you to diagnose problems when you cannot check out a license.

Usage is:

lmdiag [-c license_file] [-n] [feature]

-c license_file
path to the file to diagnose.
-n
run in non-interactive mode; lmdiag will not prompt for any input in this mode. In this mode, extended connection diagnostics are not available.
feature
diagnose this feature only.

If no feature is specified, lmdiag will operate on all features in the license file(s) in your path. lmdiag will first print information about the license, then attempt to check out each license. If the checkout succeeds, lmdiag will indicate this. If the checkout fails, lmdiag will give you the reason for the failure. If the checkout fails because lmdiag cannot connect to the license server, then you have the option of running `extended connection diagnostics'.

These extended diagnostics attempt to connect to each port on the license server node, and can detect if the port number in the license file is incorrect. lmdiag will indicate each port number that is listening, and if it is an lmgrd process, lmdiag will indicate this as well. If lmdiag finds the vendor daemon for the feature being tested, then it will indicate the correct port number for the license file to correct the problem.

7.3 lmdown

The lmdown utility allows for the graceful shutdown of all license daemons (both lmgrd and all vendor daemons) on all nodes.

Usage is:

lmdown [-c license_file]

-c license_file
Use the specified license file. If this switch is not used, lmgrd looks for the environment variable LM_LICENSE_FILE. If that environment variable is not set, lmgrd looks for the file C:\flexlm\license.dat on Windows/NT, or on Unix, /usr/local/flexlm/licenses/license.dat.

You should protect the execution of lmdown, since shutting down the servers causes users to lose their licenses. See the `-p' or the `-x' options in Section 7.4, `lmgrd,' on page 41 for details about securing access to lmdown.

When shutting down redundant servers, there is a 1 minute delay before the servers shut down. Do not use `kill -9' to shut down the license servers.

7.4 lmgrd

lmgrd is the main daemon program for FLEXlm. When you invoke lmgrd, it looks for the license file which contains the information about vendors and features. On Unix systems, it is strongly recommended that lmgrd be run as a non-privileged user (not root).

Usage is:

lmgrd [ -app ] [ -c license_file ] [ -t timeout_interval ] [ -l logfile ]
[ -s timestamp_interval ] [ -2 -p ] [ -v ] [ -x lmdown ] [ -x lmremove ]

-app
Required for Windows/NT systems.
-c license_file
Use the license file named. If this switch is not specified, lmgrd looks for the environment variable LM_LICENSE_FILE. If that environment variable is not set, lmgrd looks for the file C:\flexlm\license.dat on Windows or Windows/NT systems or /usr/local/flexlm/licenses/license.dat on Unix systems.
-t timeout _interval
Sets a timeout interval, in seconds, during which redundant daemons must complete their connections to each other. The default value is 10 seconds. A larger value may be desirable if the daemons are being run on busy systems or a very heavily loaded network.
-l logfile
Write the debug log to logfile.
-s timestamp_interval
Specifies the logfile timestamp interval, in minutes. The default is 360 minutes.
-2 -p
Restricts usage of lmdown, lmreread, and lmremove to a FLEXlm administrator who is by default root. If there a Unix group called `lmadmin' then use is restricted to only members of that group. If root is not a member of this group, then root does not have permission to use any of the above utilities.
-v
Prints lmgrd's version number and copyright and exits.
-x lmdown
Disallow the lmdown command (no user can run lmdown)
-x lmremove
Disallow the lmremove command (no user can run lmremove)

The -x lmdown and -x lmremove options are available in FLEXlm v4.0 and later.

The `-p' option is available in FLEXlm v2.4 and later.

7.5 lmhostid

The lmhostid utility reports the hostid of a system.

Usage is:

lmhostid

The output of this command looks as follows:

lmhostid - Copyright (c) 1989, 1990 Globetrotter Software, Inc.
The FLEXlm hostid of this machine is `69021c89'

See Appendix A, `'.

For HP users only in FLEXlm v3.0 and above the default for lmhostid is `uname -i'. The v2.4 default was the ethernet address. To obtain the Ethernet hostid with FLEXlm v3.0 administration tools, use the command lmhostid ether.

7.6 lmremove

The lmremove utility allows you to remove a single user's license for a specified feature. For instance, when a user is running the software on a node that crashes, the user's license sometimes remains checked out and unavailable to anyone. lmremove returns the license to the pool of available licenses.

lmremove will allow the license to return to the pool of available licenses.

Usage is:

lmremove [ -c file ] feature user host display

-c license_file
Use the license file named. If this switch is not specified, lmgrd looks for the environment variable LM_LICENSE_FILE. If the environment variable is not set, lmgrd looks for the default license file.
feature
The name of the feature checked out by the user.
user
The name of the user whose license you are removing.
host
The name of the host the user is logged in to.
display
The name of the display where the user is working.

The user host display information must be obtained from the output of lmstat -a.

lmremove removes all instances of user on host on display from usage of feature. If the optional `-c file' is specified, the indicated file is used as the license file.You should protect the execution of lmremove, since removing a user's license can be disruptive. See the `-p' or the `-x' options in Section 7.4, `lmgrd,' on page 41 for details about securing access to lmremove.

An alternate usage, which makes use of the license handle in the vendor daemon, is:

lmremove [-c file] -h feature serverhost port handle

This variation uses the serverhost, port, and license handle, as reported by lmstat -a. Consider this example lmstat -a output:

joe cloud7 /dev/ttyp5 (v1.000) (cloud9/7654 102), start Fri 10/29 18:40

In this example, the serverhost is `cloud9', the port is `7654' and the license handle is 102. To remove this license, issue the following command:

lmremove -h f1 cloud9 7654 102

or

lmremove f1 joe cloud7 /dev/ttyp5

When removing by handle, if licenses are grouped as duplicates, all duplicate licenses will also be removed.

If you use lmremove to reclaim a license but that user is in fact still using the application the license will usually be rechecked out within a couple of minutes.

7.7 lmreread

The lmreread utility causes the license daemon to reread the license file and start any new vendor daemons that have been added. In addition, all pre-existing daemons will be signaled to reread the license file for changes in feature licensing information.

Usage is:

lmreread [-c license_file]

-c license_file
Use the license file named. If this switch is not specified, lmgrd looks for the environment variable LM_LICENSE_FILE. If that environment variable is not set, lmgrd looks for the file /usr/local/flexlm/licenses/license.dat.

The license administrator may want to protect the execution of lmreread, since removing a user's license can be disruptive. See the `-p' and `-x' options in Section 7.4, `lmgrd,' on page 41 for details about securing access to lmreread.

If you use the `-c' option, the license file specified will be read by lmreread, not by lmgrd; lmgrd rereads the file it read originally. Also, lmreread cannot be used to change server node names or port numbers. Vendor daemons will not reread their option files as a result of lmreread.

7.8 lmstat

The lmstat utility helps you monitor the status of all network licensing activities, including:

Usage is:

lmstat 	[-a] [-S [daemon]] [-f [ feature]] [-i feature] 
	[-s [server]] [-t value] [-c license_file] [ -A ] 

-a
Display all information
-A
List all active licenses
-c license_file
Use the license file named. If this switch is not specified, lmgrd looks for the environment variable LM_LICENSE_FILE. If that environment variable is not set, lmgrd looks for the file /usr/local/flexlm/licenses/license.dat.
-f [feature_name]
List users of feature(s).
-i [feature_name]
Prints information about the named feature, or all features if no feature name is given.
-s [server_name]
Display status of server node(s).
-S [DAEMON]
List all users of DAEMON's features.
-t value
Set lmstat timeout to `value'.

7.9 lmswitch

The lmswitch command is available on VMS only.

The lmswitch utility switches the debug log file for the daemon serving the specified feature while the daemon is running.

Usage is:

lmswitch feature new-file

feature
any feature this daemon supports.
new-file
the new file path.

Of course, for this syntax to work, lmswitch needs to be installed as a foreign command.

The new logfile will be opened for write, rather than append, so it is possible to `switch' to the same filename in order to be able to view the old log file.

7.10 lmswitchr

The lmswitchr utility switches the report writer (REPORTLOG) log file for the specified feature. It will also start a new REPORTLOG file if one does not already exist.

Usage is:

lmswitchr feature new-file

feature
any feature this daemon supports.
new-file
the new file path.

lmswitchr does not work with FLEXlm v3.0 vendor daemons. As your vendor for a later version of their vendor daemon.

7.11 lmver

The lmver utility reports the FLEXlm version of a library or binary file.

Usage is:

lmver [filename]

filename
name of the executable of the product.

For example if you have an application called `spell' type:

	% lmver spell

Alternatively, on Unix systems, you can use the following commands to get the FLEXlm version of a binary:

	strings file | grep Copy

7.12 License Administration Tools - LMUTIL for Windows

For the Windows Platforms, an LMUTIL.EXE Windows program is provided. It has the same functionality as listed in the previous sections but is graphically-oriented. Simply run the program and choose a button for the functionality required. Refer to the previous sections for information about the options of each feature.

Table of Contents * Previous Chapter * Next Chapter