Package Space Applications: lpm command


lpm     avail [unc|thl]  | load <package> … | unload <package> … | query | bin <package> | lib <package> | env |

            refresh | list unc|thl  | info <package> | install <package> | erase <package> | sysload <package> … | sysunload <package> … | verify


The lpm command is available on Linux systems to setup and run externally-provided software from a Local Software Package environment. It allows users to execute an application or a newer version of system software which is present in alternative locations called repositories. Two repositories are supported: unc, for general ITS supplied packages; and thl, for Tar Heel Linux supplied packages.

lpm allows a user to run commands using a specific version of a package. Enabled packages persist over logins. There are options to list available packages, download packages, and load packages into a user’s environment. If a package’s default version is given, lpm will load the highest numbered version of the package it finds in the repository.

Users can list the names of packages which have been added to their environment, get the names of a package’s binaries, and get general information about a package.

lpm’s software packages are stored on the Red Hat Satellite Server, referred to below as the Global Repository.  lpm lets an administrator download packages from the Global Repository into a machine’s Local Repository.  From there, users can load specific packages into their personal environments.

system-administrator-specified packages constitute a default set of packages users will get on login. It consists of packages listed in repository .pkgrc files (e.g. /opt/unc/.pkgrc, /opt/rh/.pkgrc)If a .pkgrc file does not exist, no packages found in the repository are included.

user-specified packages are specific to individual users. Packages listed in a file named “~/.pkgrc” are included in the user-specified package set.

User-specified packages take precedence over system-administrator-specified packages; both types take precedence over system packages.


User Level:

avail – list packages available for loading into the user’s environment

load – load a package into the user’s environment

unload – unload a package from the user’s environment

query – list packages loaded into the user’s environment

bin – print the names of a package’s binaries

lib – print the names of a package’s libraries

env – print information about the local package space environment


System Level:

refresh – refresh the user’s local package space environment

list – print the names of packages available for downloading from a global repository

info – print information about a package

install – install a package from the global repository*

erase – delete a previously installed package from the local machine*

sysload – load a package into all user environments*

sysunload – a package from all user environments*

verify – verify that package environment is correct*

* You must be root to run this command


lpm avail

list all installed packages on the local system

lpm query

list packages enabled in the user’s environment

lpm load  ne-3.0.1

add the ne 3.0.1 software package to the user’s environment

lpm load ne gcc

add the default versions of the ne and packages to the user’s environment

lpm unload  ne 

remove the default version of the ne software package from the user’s environment

lpm refresh

re-reads the system and user .pkgrc files. Useful if a package was added in one window, and you want it reflected in anther window’s environment.

lpm –version

print the lpm version number


If you have not already done so, install the its-release package that grants access to ITS’s yum repository.

Then install as follows:

        % sudo yum install lpm-unc

Logout and back in. Then you can begin using the local package management system.


1. The latest version available is lpm 2.20. Vendor release date:  December 12, 2017.

Useful Links