versions(1M) versions(1M) NAME versions - software versions tool SYNOPSIS versions [ -abndvIMV ] [ -r root ] [ display ] [ name ... ] versions [ -ckmstuvxBMSUV ] [ -r root ] [ listtype ] [ user ] [ name ... ] versions [ -vFV ] [ -r root ] remove name ... versions [ -vFV ] [ -r root ] removehist patch name ... DESCRIPTION versions calls the programs showprods, showfiles, and (in the case of removing software with versions remove|removehist), inst. Users may wish to use these programs directly, instead of versions, since these programs provide a more complete and consistent set of capabilities. To find out what underlying command versions would execute with a given set of arguments, use the -V option ahead of other options, for example, versions -V remove ftn.sw pas.sw. The versions command has three functions: - (showprods): It displays information about the software that is currently installed on your system and the software that has been available for installation, but is not presently installed. This information is presented at the product, image, and subsystem levels (see the Definitions section). - (showfiles): It displays lists of files on your system and information about those files. - (inst): It removes installed software from your system. The synopsis for each of these three uses of the versions command is shown above and the functions are discussed in detail in the sections that follow. In addition, the Definitions section defines some terms that are key to understanding and using versions. The section called Updating Configuration Files explains how to use versions to identify and modify files that require site-specific modifications after new software is installed. Definitions The name argument to versions is a product, image, or subsystem. A product is a collection of files that inst installs on your system. This collection of files is typically a Silicon Graphics software option such as the Network Filesystem (NFS). Products have short names that are used for installation purposes (for example, nfs). The files in a product are organized into a three-level hierarchy for ease of installation. The highest level is the product level, the next level is the image level, and the third level is the subsystem level. Thus, the files that make up a product such as NFS are grouped into subsystems. The names of these subsystems reflect the hierarchy: product.image.subsystem. Some examples for NFS are nfs.sw.nis and nfs.man.relnotes. When you enter a name argument to versions, you can enter a product name (for example, nfs), an image name (for example, nfs.sw) or a subsystem name (for example, nfs.sw.nis), depending on what parts of a product you are interested in. You can also use * as a wildcard in name, but it must be escaped with double quotes (") if you are using versions from the shell. For example, if you are at the shell and you want to list information about all of the installed subsystems that have an image name of man, you would enter the command: versions "*.man.*" Note that the wildcard (*) character does not match the . character so the following command will only list subsystems that have man in the top-level product name: versions "*man*" An example of using wildcards from within inst is this command to list the sw images in eoe: versions eoe.sw.* All of the files on a workstation can be divided into two categories: installed files and user files. The files in a product are called installed files and are put on your system by inst. All other files on your system, no matter how they got there, are called user files. There are two types of installed files, system files, and configuration files. System files are modified by the user of the system only in unusual circumstances. Configuration files, on the other hand, are very likely to need modification because they contain information that is often machine-specific or site-specific. On diskless systems, installed files are also shared or unshared as well as being system files or configuration files. Because configuration files often contain modifications, inst treats them specially during the installation process. If they have not been modified, inst removes the old file and installs the new version during software updates. For configuration files that have been modified, one of three things occurs: - The new version is not installed at all. - The new version is installed and the old version is renamed by adding the suffix .O (for older) to the name. - The new version is put in a file whose name is created by adding .N (for newer) to the original name. The section, Updating Configuration Files, discusses .O and .N files in more detail. Using versions to List Products, Images, and Subsystems With no command line options or arguments, versions displays one installed software product, image, or subsystem per line for all products currently installed on the system. - The first column contains an indication of the installation status of the product, image, or subsystem listed on that line. When no command line options are given, the installation status is I (installed). - The second column gives the name of the product, image, or subsystem. - The third column gives the date of installation. - The fourth column gives a description of the product, image or subsystem. The options that follow allow you to change the output: -I (installed) List currently installed products, images, and subsystems only. (This is the default behavior.) -a (all) List all the products, images, and subsystems that are installed, that have been installed and then removed, or were available for installation, but not installed. This is also known as "all of the subsystems inst has seen since the last time you made filesystems". Products and images that have at least one subsystem installed are marked I, otherwise their first column is blank. Installed subsystems are marked I. Subsystems that have been installed and later removed are marked R. Subsystems that have never been installed are blank in the first column. Older versions of products that have been replaced by a newer version of the product do not appear on any versions list. -n (number) Show the internal version number rather than the date it was installed. -d (date) Show the creation date rather than the date it was installed. -v (verbose) Include subsystems in the output. (This is the default.) -b (brief) Display only products. -M (more) Do not use the built-in paging mechanism (similar to more(1)) after each screenful of output. The -r option allows you to operate on an IRIX tree rooted at root. The default root directory while running under IRIX is /, and while in the miniroot is, /root (see inst(1M)). You might have a different root directory for diskless prototype trees or for test installations that have been done somewhere other than the default of the system's root. The display argument explicitly requests one line per product, image, and subsystem type output from versions. It is the default behavior in the absence of a listtype argument, the argument remove, or one of the options ckmsuxSU. The possible values for the name argument are discussed in the Definitions section above. If no name is given, the default is to display all currently installed software. Using versions to List Installed Files The second form of the versions command displays lists of filenames. The combination of single character options, listtype, the optional user argument, and optional names determines the list of files that is displayed. For some values of listtype, additional information is also displayed. If you are not superuser, you may not be able to access some files. The single character options, listtype arguments, and other arguments for this form of versions are: -m (modified) List only modified installed files. There are three types of modified installed files: configuration files that the user has changed to be system or site-specific, files that were modified automatically as part of the installation process, and other installed files that the user has changed. -u (unmodified) List only unmodified installed files. -B (bad) List only deleted or unreadable installed files. -c (configuration) List only installed configuration files. -s List only installed system files. -t changed Test for the presence of configuration files that need to be merged or updated. versions -t changed invokes showfiles -c -t -H, and returns an exit status of zero if any configuration files with an associated .N or .O version were found. Otherwise a non-zero status is returned. See the showfiles(1M) reference page for a complete description of this option. -S (shared) List only diskless client shared files. -U (unshared) List only unshared files. -k (checksums) Calculate checksums of user files in the long listing. -M (more) Do not use the built-in paging mechanism (similar to more(1)) after each screenful of output. -r root (root) Use an IRIX tree rooted at root. The default root directory while running under IRIX is /, and while in the miniroot is /root (see inst(1M)). You might have a different root directory for diskless prototype trees or for test installations that have been done somewhere other than the default of the system's root. If this option is not given and the rbase environment variable is set, its value is used, otherwise / is used. list List installed files. This is the default listtype if no listtype is given, but one of options ckmusxSU is given. long List installed files and include the file type, the checksum (by sum -r), the size in blocks at time of installation, the subsystem name, and flags. The file types are: f Plain file d Directory b Block special c Character special l Symbolic link p FIFO, also known as, named pipe The flags are: c Configuration file t Orphaned configuration file (it was installed with a subsystem that has since been removed) m File is machine-specific (see inst(1M) -m) user List user files. This argument can be used by itself, or with the list or long arguments. config List all installed configuration files and any corresponding .N and .O files. changed List installed configuration files that have a corresponding .O or .N file and their respective .O or .N files. name The possible values for the name argument are discussed in the Definitions section above. If no name is given, the default is to display all currently installed files that meet the criteria of the options and arguments. Using versions to Remove Products, Images, and Subsystems The versions command with the remove argument, and one or more name arguments, is used to remove most of the files of one or more subsystems. The files that are not removed are modified configuration files. The versions command with the removehist argument, and one or more patch name arguments, is used to remove the patch file history under $rbase/var/inst/patchbase. This command should only be used if the user desperately needs to free up disk space since the patch cannot be removed or upgraded by another patch until the patch history is restored. Failure to restore the patch base history will result in a conflict when removing or upgrading the patch. Thus, the applicable patch history files should be backed up prior to executing this command. The patch history will then need to be restored when upgrading or removing the patch. There is one notable case when the patch history need not be restored : when the associated base subsystem is also being removed. For example, if upgrading to a newer version of eoe.sw.base, the base history for the installed eoe.sw.base patches need not be restored since eoe.sw.base will also be removed. If removal of the indicated subsystems causes conflicts, versions refuses the action, unless the -F option is given, in which case no system integrity checking is done, so it is possible to remove subsystems that are critical to the operation of IRIX, the window system or applications that you want to use. The -F option will also suppress the warning prompt that normally appears when the removehist argument is used. You must be superuser to use remove or removehist. Updating Configuration Files As discussed in the Definitions section, some files in a product are called configuration files and are handled specially during installation because they contain system or site-specific information. As a result of this, .O (older) and .N (newer) versions of configuration files may be left on your system after an installation. When you reboot your system, a check for .O and .N files is done. If any are present, a message is displayed suggesting that you merge configuration files in cases where there are two versions. To do this, first enter the command: versions changed If the output contains any .O configuration files: The .O version of the configuration file is your earlier version. The no-suffix version contains changes that are required for compatibility with the rest of the newly installed software, that increase functionality, or that fix bugs. You should use diff(1) or gdiff(1) to compare the two versions of the files and transfer information that you recognize as machine or site-specific from the .O version to the no-suffix version. If you have any .N configuration files: The .N version of the configuration file is the new version. It contains changes or new features that can be added to the no-suffix version of the configuration file at your option. You should use diff(1) or gdiff(1) to compare the two versions of the files and add changes that appeared in the new software from the .N version to the no-suffix version if you want them. Note: if you did not merge configuration files after a previous installation, you should compare the timestamps on the files to make sure that the .N file is really a more recent version of the file. A shell command such as ls -l file file.N will display the modification time of each file. If you have both a .O and a .N version of a particular file: This indicates that either the .O file or the .N file is leftover from a previous installation session, and was never merged. Use caution, since the .N file might actually be older than the .O file. Use a command such as ls -l file file.O file.N to display the modification time of each file, and to determine which version of the file was most recently installed by inst(1). After you have examined the .O and .N configuration files and made any changes you want, you can delete the .O and .N versions of the configuration files. If you want to keep them, you should rename them because they might be removed automatically during the next software installation. If you remove all of the .O and .N configuration files, then no message about configuration files appears when you boot your system. The message also stops appearing even if .O or .N files continue to exist after some number of reboots. NOTES versions remove fails if there is no space in /usr to create temporary files. FILES /var/inst/hist binary file containing the file-level installation database of your machine /var/inst/product binary files containing the product-level installation database of your machine /var/inst/* various other files used by inst, swmgr, showprods, and showfiles SEE ALSO inst(1M), showfiles(1M), showprods(1M), swmgr(1M). IRIX Admin: Software Installation and Licensing Page 8