LDM Preinstallation Steps

The platform on which the LDM package is to be installed must be prepared in advance prior to the installation. If your platform already has an LDM installation, then, in all likelihood, the preinstallation steps have already been completed. If you are installing the first LDM package on your platform, however, then the steps described here should be done before the LDM distribution is unpacked.

Contents


Steps to Perform as root

  1. Create the LDM user-account
  2. Create directories for data-files and LDM logfiles, if appropriate
  3. Edit file /etc/services
  4. Edit file /etc/rpc
  5. Edit file /etc/syslog.conf

  1. Create the LDM user-account
  2. This is, necessarily, a system-dependent operation. Consult with your system's administrator, if necessary.

    Keep the following in mind when creating the account:

    Workshop-specific instructions.

  3. Create directories for data-files and LDM logfiles, if appropriate
  4. The LDM's product-queue must be on a locally-mounted disk, and it is highly recommended that locally-decoded and stored data also be written to locally-mounted disk(s). Also, because data-files and LDM logfiles are extremely volatile, they should probably not be automatically backed-up on a regular basis. For these reasons, we strongly recommend that the directories containing the LDM logfiles and decoded data-files be on locally-mounted but not automatically backed-up disk(s).

    If you routinely back-up users' home-directories, then the LDM's log and data directories should not reside under the LDM user's home-directory but should, instead, be on other local, but not backed-up disk(s) (e.g., /var/data). In this case, you must create the data and log directories as root and ensure that they can be managed by the LDM user and the LDM user's group. For example:

    mkdir /var/data/ldm
    mkdir /var/data/ldm/logs
    chmod -R g+w /var/data/ldm
    chown -R ldm:groupId /var/data/ldm

    If you don't routinely back-up users' home-directories, then you can postpone this step until here, when you are the LDM user.

    Workshop-specific instructions.

  5. Edit file /etc/services
  6. Add the following lines:
    ldm 388/tcp ldm  # UCAR Unidata LDM
    This allows programs such as netstat(1) to associate IP port 388 with the LDM.

  7. Edit file /etc/rpc
  8. Add the following line:
    ldmd 300029 ldm
    This allows programs such as rpcinfo(1) to identify RPC program number 300029 as the LDM.

  9. Edit file /etc/syslog.conf
  10. The LDM uses the system logging daemon, syslogd(8), to write error messages using the local0 logging facility Such messages should end up in the LDM logfile.

    Workshop-specific instructions.


Steps to Perform as the LDM User

  1. Become the LDM user in the user's home-directory
  2. Edit the LDM user's profile-file
  3. Create directories for data-files and log-files, if necessary
  4. Create the Subdirectory Structure

  1. Become the LDM user in the user's home-directory
  2. For example:
    su - ldm
    The "-" option guarantees that the current working directory is the LDM user's home-directory. Alternatively, just log-out and log back in as the LDM user.

  3. Edit the LDM user's profile-file
  4. Add the following lines to the appropriate profile-file of the LDM user's user-shell. If more than one person might manage the LDM, then it's a good idea to add both of the following snippets in case the other person prefers a different user-shell. SysManPath is the pathname for the manual-pages of the operating system (e.g., /usr/man or /usr/share/man). The MANPATH environment variable might already contain this path.

    If necessary, modify the setting of the PATH environment variable above to ensure that the necessary build utilities can be found.

    Workshop-specific instructions.

  5. Create directories for data-files and log-files, if necessary
  6. If you didn't create directories for data-files and log-files as root (this step), then you must create them now. Assuming that the LDM user's home-directory is local and not backed-up, then do the following:

    mkdir data
    mkdir logs

  7. Create the Subdirectory Structure
  8. The LDM installation procedure allows you to upgrade an existing LDM system while it is still running and to revert to prior version if something goes wrong. Because of this, the subdirectory structure of the LDM user is slightly more complex than usual.

    Do the following:

    1. Create the following symbolic-links in the LDM user's home-directory:
      ln -s runtime/bin bin
      ln -s runtime/doc doc
      ln -s runtime/man man
      ln -s runtime/src src
      ln -s runtime/lib lib
      ln -s runtime/include include
      These links reference directories that will be specific to a particular LDM version.

    2. Create symbolic links to the previously-created data-directory and log-directory if they don't already exist in the LDM user's home directory. For example:

      ln -s /var/data/ldm data
      ln -s /var/data/ldm/logs logs

    3. Create a directory for programs that decode incoming data products (i.e. LDM decoders). LDM decoders are not included with the LDM release, but are run by the LDM:

      mkdir decoders

    4. Create a directory for other, miscellaneous programs that you might create for use with the LDM:

      mkdir util

    The directory structure should now look something like this (your data and logs directories might vary):

    ls -lF
    ... bin -> runtime/bin/
    ... doc -> runtime/doc/
    ... data -> /var/data/ldm
    ... decoders/
    ... src -> runtime/src/
    ... include -> runtime/include/
    ... lib -> runtime/lib/
    ... logs -> data/logs/
    ... man -> runtime/man/
    ... util/
    You will create the runtime symbolic link later when you install the package.

    The logical meaning of the subdirectories is the following:

    bin/
    LDM executables
    doc/
    LDM HTML documentation
    data/
    LDM product-queue and locally-created data files
    logs/
    LDM logfiles and statistics
    src/
    Source code for this releasse
    etc/
    Runtime configuration files (might not exist, yet)
    include/
    C header files
    lib/
    LDM library files
    man/
    Manual pages
    decoders/
    LDM decoders
    util/
    Miscellaneous utility programs