Updated:
If you have been looking for a software management system which:
supports multiple versions of software
allows different users to manage their own collection of installed software (root access is not required, and in fact discouraged)
works on multiple platforms (Linux, IRIX, AIX, and extensible to others)
lets users dynamically reconfigure their environment to use different collections of software
uses the filesystem to manage configuration instead of a database (means easy recovery, if necessary)
installs software from a local, web, or ftp repository
does not use special tools for creating packages
is simple (reasonably so!) and logical
then SSM may be right for you.
Note: SSM is not a replacement for RPM, dpkg, lpp, and other native package managers. Their purpose and that of SSM are different but compatible. But, SSM does things that these products do not.
SSM is built around the following simple concepts:
domain – a directory into which packages are loaded
installed package – a software package that has been loaded into an SSM domain but is not automatically accessible for use
published package – an installed package that is automatically accessbile for use
domain hierarchy/tree – a collection of one or more domains containing installed and published packages to allow for domain management/organization/structure
domain owner – every domain is owned by a specific user and group which is (almost) never root
explicit platform specification – every package is tied to a particular platform (e.g., Linux+i386, IRIX65+mips+n32, AIX51+ppc+64, all platforms)
The following 8 step procedure will let you test out SSM in your own account in just a few minutes1:
Step |
Explanation |
|
---|---|---|
1 |
Download the latest2
ssm installer (in the “simpleswmgr”
section): |
The easy-to-use, one-step installer. |
2 |
Download the latest SSM (in the “simpleswmgr”
section): |
The SSM package itself. |
3 |
Download the sample package (in the “extras”
section): |
A sample package which provides a shell script
called
|
4 |
Install ssm:
|
Using the installer, we install the SSM package
which is in the current directory by pointing the installer to it
(using the The installer expects to install the SSM package of the same version. |
5 |
Update your current shell session by either 1) logging out and logging back in or 2) by source'ing your shell profile. For sh-type shells:
For csh-type shells:
A full logout and login is best. |
The files containing configuration information for your environment (e.g., to know where programs are located on the disk) have been updated but your current session has not. |
6 |
Install the sample package (assuming the sample package is in the current directory):
|
Install the sample package. |
7 |
Publish the sample package:
|
Make the package automatically available. |
8 |
Run the sample program:
|
If you were able to run the |
9 |
List the packages installed under SSM that you created:
|
The SSM package and the helloworld packages should be listed. |
Refer to the documentation for more information on using SSM and how to build packages for use under SSM.
As well, the Simple Software Manager Notes document is worth reading if you are interested in why certain design decisions were made for SSM and some HOWTOs which may help in using SSM.
To clean out the SSM installation performed by the above procedure:
Remove the lines added by ssm-installer
to the $HOME/.profile
and $HOME/.login
scripts. There is no adverse behavior if this is not done.
Remove the $HOME/ssm
directory.
1Python 2.3 or later is required. See the documentation for details on using SSM to install and use Python.
2If the latest versions of the required packages are not yet available on the Sourceforge machines, try again later.