|
OpenVMS System Manager's Manual
5.5.1 Understanding System Version Dependency and the Image Registry
Applications that depend on internal interfaces are bound to a
particular version of the operating system when the application is
linked. Version-dependent images reference both of the following
version numbers:
- The major version number of the operating system
- A set of component version numbers (version numbers of loadable
executive images)
Images can be linked against SYS.STB in one of
two ways:
- Images linked against SYS.STB with the Linker utility qualifier
/SELECTIVE_SEARCH include component version numbers only for those
symbols that were referenced at link time. (This is the recommended
method.)
- Images linked against SYS.STB without the /SELECTIVE_SEARCH
qualifier include references to all component versions.
When you attempt to run an image, the system checks to determine if the
image requires a certain version of the operating system or of system
components. If the version of the running system does not match the
version requirements of the image, the image fails.
The system also checks version numbers when you attempt to install an
image using the Install utility (INSTALL) or connect a device driver
using the System Generation utility (SYSGEN).
When you upgrade your system to a new version of the operating system,
an image might fail because the new version no longer matches the
image's version requirements. However, an image might continue to be
compatible with the new operating system version, even if it fails the
version check.
Note
In OpenVMS VAX Version 6.0, the major version number was not changed;
only the version numbers for the following components were increased to
reflect changes in these areas:
- FILES_VOLUMES
- MEMORY_MANAGEMENT
- SECURITY
As a result, many version-dependent images built in VMS VAX Version
5.x systems (that is, images that do not reference
FILES_VOLUMES, MEMORY_MANAGEMENT, or SECURITY) will run on OpenVMS
Version 6.0 without registering the images. However, version-dependent
images that do reference these components must be registered with the
image registry, as explained in this section.
In OpenVMS VAX Version 6.1, no version numbers were changed. However,
images built on VMS VAX Version 5.x systems needed to be
registered if they referenced FILES_VOLUMES, MEMORY_MANAGEMENT, or
SECURITY.
|
To continue running a compatible image, you can register the image
using the Image Registry facility. You do not need to register images
that are linked as part of the installation because they match the
current operating system version. However, linking an image during
installation does not ensure that system version dependencies do not
exist. For information about changes in the current operating system
version that might require you to recompile an image or change source
code, see the release notes.
Caution
You must inspect and test an image carefully to avoid system crashes
and data corruption. Registering an image does not necessarily make it
work; registering only bypasses the version checks.
|
5.5.2 Using the Image Registry Facility
To register an image in the image registry, run the command procedure
SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE.COM. Enter a command in the
following format:
$ @SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE keyword filename
|
where:
keyword
|
Specifies one or more of the keywords described in Table 5-3,
separated by commas.
|
filename
|
Specifies the name and location of the image you want to register. The
filename parameter accepts wildcard characters.
|
Table 5-3 REGISTER_PRIVILEGED_IMAGE.COM Keywords
Keyword |
Action |
ANALYZE
|
Displays version-dependent image names and their subsystem dependencies.
|
REGISTER
|
Registers images on the local system.
|
DEREGISTER
|
Deletes images from the registry on the local system.
|
SHOW
|
Lists the registry content. To display the complete registry content,
specify a wildcard (*) for the file name.
|
CONFIRM
|
Confirms that each specified image be added to or deleted from the
registry (used only with REGISTER and DEREGISTER).
|
TRACE
|
Lists each image file for verification purposes (used only with
REGISTER and DEREGISTER).
|
HELP
|
Describes the supported keywords and provides examples.
|
If the image does not have a version dependency, the following message
is displayed:
REGISTER-I-SUMMARY n images examined, n have dependencies
|
In this message, n is the number of images examined and the
number of images that have dependencies.
Example
The following example adds the V6USRAPP image to the registry:
$ @SYS$UPDATE:REGISTER_PRIVILEGED_IMAGE REGISTER SYS$LIBRARY:V6USRAPP
%REGISTER-I-ADDED added V6USRAPP to registry
|
5.6 Customizing the Help Message Database
The Help Message utility (MSGHLP) allows users to quickly access online
descriptions of system messages from the DCL prompt. Users with write
access to Compaq-supplied .MSGHLP$DATA files can customize the Help
Message database in more radical ways than general users can. The
following sections describe how to perform the following customization
tasks:
Before performing these tasks, you should be familiar with the Help
Message utility. For a complete description of Help Message features,
basic tasks, and the HELP/MESSAGE command and qualifiers, refer to the
OpenVMS System Messages: Companion Guide for Help Message Users. Also refer to that manual for a description of the files
that you must manipulate to customize the Help Message database.
Note
Currently, user-supplied comments or additions to Compaq supplied
.MSGHLP$DATA files are not preserved through the next upgrade. However,
your own .MSGHLP$DATA files are not affected by future releases.
You can reuse .MSGHLP files to insert your own messages into future
Compaq supplied database files. Depending on the data format in future
databases, you might also be able to reuse some .MSGHLP files to insert
comments.
|
5.6.1 Accessing $STATUS Values for Uninstalled Messages
Any messages that are not installed as part of the OpenVMS operating
system cannot be equated with a value stored in $STATUS until they are
recognized by the system. When the Help Message utility attempts to
translate the value stored in $STATUS or a value specified with the
/STATUS qualifier, the search can fail if the value does not equate to
an installed message or a message that was linked into the Help Message
utility when it was created by Compaq. You can make your system
recognize such uninstalled messages. These messages include
user-supplied messages, third-party messages, and messages from layered
products and certain other OpenVMS facilities.
How to Perform This Task
-
Use the Help Message qualifier /SECTION_FILE=* to include all the
OpenVMS supplied message section files that have not already been
linked into the main Help Message program, MSGHLP$MAIN.EXE:
$ HELP/MESSAGE/SECTION_FILE=*
|
This command generates a user-modifiable object library,
SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB. Each module in this library
contains a pointer to a message section .EXE file. You can use the
/SECTION_FILE qualifier to insert additional modules into this library.
(See the following steps.)
Note
This HELP/MESSAGE command produces results similar to, but entirely
separate from those effected by the SET MESSAGE filespec
command. The Help Message utility does not interact with the
Message utility. If you want both utilities to translate the same set
of message sections, you must separately code each utility to do so. It
is perfectly acceptable to have each utility point to different message
section files.
|
When you use the /SECTION_FILE qualifier to create the object
library or add modules to it, the MSGHLP$MESSAGE_SECTIONS.EXE file is
also automatically created from all the modules in the object library
and is placed in your default directory. When you finish modifying the
object library, you must copy the final .EXE file to
SYS$COMMON:[SYSLIB] (logical name SYS$LIBRARY). Thereafter, if Help
Message cannot translate a status code and the
SYS$LIBRARY:MSGHLP$MESSAGE_SECTION.EXE image exists, Help Message
activates it and searches all message section files to which it points.
The impact on Help Message search time depends upon the number of files
searched.
- Use the following command as many times as you want to add pointer
modules for any other specific message section files to
SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB and MSGHLP$MESSAGE_SECTIONS.EXE:
HELP/MESSAGE/SECTION_FILE=file-name.EXE
|
The default file specification is SYS$MESSAGE:.EXE.
- Review the contents of the resulting
SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB file:
$ LIBRARY/LIST MSGHLP$MESSAGE_SECTIONS.OLB
|
The names of the modules in the .OLB file are derived from strings
specified in the /SECTION_FILE qualifier. Help Message can search a
maximum of 42 message section files.
Files are searched in this order:
- The last file activated by a SET MESSAGE command (if any).
- The message section files that Help Message is linked with before
it is shipped:
- SYSMSG.EXE
- SYSMGTMSG.EXE
- CLIUTLMSG.EXE
- PRGMSG.EXE
- Any message section files explicitly linked with MSGHLP$MAIN.EXE or
with any shareable image that MSGHLP$MAIN.EXE references.
- Any nonduplicate message section files linked with
SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.EXE.
Message section files are
searched in the order in which they are listed in the .OLB file. (Order
is alphabetical.) If the total count of message section files exceeds
42, message section files listed near the end of the .OLB file might
not be searched.
- If you want, remove any references to message section files in the
.OLB file to control which 42 message section files are included in the
Help Message search. You might delete a file that you rarely use
earlier in the alphabet to ensure that a file later in the alphabet is
among the 42 files searched. For example, to delete the NCP (Network
Control Program) messages from the .OLB file, use this command:
$ LIBRARY/DELETE=NETWRKMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
|
If you delete a module from the .OLB file, you must execute the
HELP/MESSAGE command with the /SECTION_FILE qualifier to generate an
updated .EXE file. The qualifier argument can specify either a new file
or a file that is already listed in the .OLB file.
- When your .OLB file reflects the message section files you want
Help Message to search, copy the final .EXE file from your account to
SYS$LIBRARY:.
Example
The following example demonstrates this sequence of events:
- Link all OpenVMS supplied message section files.
- Review the resulting .OLB file.
- Delete the VVIEFMSG module from the .OLB file.
- Add the file USERS:[TOOLS]NEW_MSGS.EXE to the list in the .OLB file.
- Review the revised contents of the .OLB file.
- Copy the final .EXE file from the local account to SYS$LIBRARY:.
Note that the output from the LIBRARY/LIST commands is omitted from the
example.
$ HELP/MESSAGE/SECTION_FILE=*
$ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ LIBRARY/DELETE=VVIEFMSG SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ HELP/MESSAGE/SECTION_FILE=NEW_MSGS.EXE
$ LIBRARY/LIST SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.OLB
$ COPY MSGHLP$MESSAGE_SECTIONS.EXE SYS$LIBRARY:MSGHLP$MESSAGE_SECTIONS.EXE
|
5.6.2 Creating System-Level Database Search Paths
Help Message database files need not reside on the system disk. You can
create system logical names to define one or more Help Message search
paths to access multiple .MSGHLP$DATA files in different locations.
When Help Message is installed, the OpenVMS messages database file is
installed by default at SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA.
However, this file can optionally be installed on or moved to another
disk. The alternate location must be pointed to by logical
name MSGHLP$LIBRARY. Use this command to define the logical name:
DEFINE/SYSTEM MSGHLP$LIBRARY disk:[directory]MSGHLP$LIBRARY
|
By default, Help Message attempts to look up messages in the default
location unless the logical name MSGHLP$LIBRARY is defined. If you do
not use the default database location, include the logical name
definition command in SYS$MANAGER:SYLOGICALS.COM so that the database
is defined each time the system is booted.
Note
If you move MSGHLP$LIBRARY.MSGHLP$DATA to a new location after
installation, be sure to set the proper protections on the file and
directory so that the database cannot be accidentally deleted or
modified. The protections at installation are (RWE, RWE, RE, RE) for
the directory and (RWE, RWE, RWE, RE) for the file.
|
You and other system users can create additional .MSGHLP$DATA files, as
described in the OpenVMS System Messages: Companion Guide for Help Message Users. None of the .MSGHLP$DATA files need
reside on the system disk. You can add new files to a systemwide
default database search path defined by MSGHLP$LIBRARY, or you can
create specialized search paths to include different configurations of
.MSGHLP$DATA files.
A search path definition can include individual file names or can point
to one or more directories. If you specify a directory with no file
name, Help Message searches all .MSGHLP$DATA files currently found in
that directory. Pointing to a directory instead of individual files can
minimize your bookkeeping when .MSGHLP$DATA files are added or removed.
To use system resources more efficiently, you can create different
search paths for different user groups, depending on which .MSGHLP$DATA
files they need to access. You can also set up different directories
for different types of messages or for different user groups. For
example, you could use three unique logical names to define three
different search paths tailored to different user groups:
DEFINE/SYSTEM logical-name-1 file-a,file-b,file-c
|
DEFINE/SYSTEM logical-name-2 file-a,directory-z
|
DEFINE/SYSTEM logical-name-3 file-x,file-a,directory-y
|
Note
The first file you list in a search path is the default
database for /INSERT and /DELETE operations that operate on that search
path. By default, all other operations access all files in a search
path. Specifying a directory first in a search path risks setting up a
default moving target for /INSERT and /DELETE operations if files are
added to or deleted from the directory.
|
Users can select an alternate to the system default database by
specifying the /LIBRARY qualifier in the HELP/MESSAGE command.
Individual users can also create their own logical name search paths at
the process level.
Example
The following example defines a Help Message search path that accesses
.MSGHLP$DATA database files in three locations: the Compaq supplied
OpenVMS messages at USERS:[TOOLS], the user-supplied file
USERS:[NEW_PROJ]OUR_MESSAGES.MSGHLP$DATA, and all .MSGHLP$DATA files in
directory TEST:[TRY_ME].
$ DEFINE/SYSTEM MSGHLP$LIBRARY USERS:[TOOLS]MSGHLP$LIBRARY,-
_$ USERS:[NEW_PROJ]OUR_MESSAGES.MSGHLP$DATA,TEST:[TRY_ME]
|
5.6.3 Deleting Compaq Supplied Messages from the Database
You can delete Compaq supplied messages from the database to conserve
system resources or improve response time.
How to Perform This Task
- Use the /EXTRACT qualifier to create a .MSGHLP file containing the
messages you want to delete from the database. (Refer to the
OpenVMS System Messages: Companion Guide for Help Message Users for a full description of how to select the contents of
the .MSGHLP file.) Some examples follow.
Use the following syntax
to extract all the messages for a specified facility:
HELP/MESSAGE/FACILITY=facility-name/EXTRACT=filename.MSGHLP
|
Use this syntax to extract one or more messages specified by the
search string:
HELP/MESSAGE/EXTRACT=filename.MSGHLP search-string
|
- Check the contents of the resulting .MSGHLP file to be sure that
it contains only the data that you want to delete from the database.
Edit out any messages that you do not want to delete from the database.
- Use /DELETE to delete the contents of the .MSGHLP file from the
database. Include /LIBRARY if the MSGHLP$LIBRARY.MSGHLP$DATA file is
not the default database or if it is not the first file in the search
path defined by logical name MSGHLP$LIBRARY.
HELP/MESSAGE/DELETE=filename.MSGHLP
|
HELP/MESSAGE/DELETE=filename.MSGHLP/LIBRARY=disk:[directory]filename.MSGHLP$DATA
|
Save the .MSGHLP file if you might ever want to add the deleted
messages back into the database prior to the next upgrade. You can
store the file on tape to conserve disk space. If you delete and then
reinsert messages, these messages are treated like user-supplied
messages and are displayed with change bars. Any Compaq supplied
messages that you delete are currently reinserted into the database at
the next upgrade. You can delete the messages again using a saved
.MSGHLP file or you can create a new .MSGHLP file. Note that if you
keep a .MSGHLP file for future deletion purposes only, you
need save only the lines prefixed by 1 and 2.
-
To save disk space, you can compress the .MSGHLP$DATA file to close up
any free space created by the deletions. Use the following command
sequence to compress the file:
CONVERT disk:[directory]filename.MSGHLP$DATA disk:[directory]filename.MSGHLP$DATA
|
PURGE disk:[directory]filename.MSGHLP$DATA
|
Example
The following example extracts and then deletes all messages for the
DDTM (DECdtm services) facility from the default database. The last two
commands compress the Compaq supplied database file to conserve disk
space after the deletions.
$ HELP/MESSAGE/FACILITY=DDTM/EXTRACT=DDTM.MSGHLP
$ HELP/MESSAGE/DELETE=DDTM.MSGHLP
$ CONVERT SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA -
_$ SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA
$ PURGE SYS$COMMON:[SYSHLP]MSGHLP$LIBRARY.MSGHLP$DATA
|
|