System Management Information Locate any references in the system startup (typically including the disk MOUNT commands) and any DISK$label references in application files, and change the references appropriately. If this is a system disk (for the host or for a satellite), also check the DECnet MOP or LANCP boot database, as well as any references to the disk created by CLUSTER_CONFIG*.COM. If Compaq Analyze is in use, check the system startup procedures for the Compaq Analyze tool. Certain versions of Compaq Analyze will record specific disk volume labels within the startup procedures. Remount the disk appropriately. __________________________________________________________ 5.13 How can I set up a shared directory? To set up a shared directory-where all files created in the directory are accessible to the members of specified group of users-you can use an access control list (ACL) and an identifier. The following also shows how to set up a resource identifier, which further allows the disk resources to be charged to the specified identifier rather than each individual user. (If you don't want this, then omit the attributes option on the identifier creation and omit the entry added in the disk quota database. Add an identifier using the AUTHORIZE utility: ADD/IDENTIFER/ATTRIBUTES=RESOURCE groupidentifier Grant the identifier to each user in the group using AUTHORIZE: GRANT/IDENTIFIER groupidentifier username If disk quotas are in use, add an entry via SYSMAN for each disk: DISKQUOTA ADD groupidentifier/PERMQUOTA=pq/OVERDRAFT=od/DEVICE=ddcu: 5-23 System Management Information Set the shared directory to have an ACL similar to the following using the SET SECURITY (V6.0 and later) or SET ACL (versions prior to V6.0) command: (DEFAULT_PROTECTION,S:RWED,O:RWED,G,W) (IDENTIFIER=groupidentifier,OPTIONS=DEFAULT,ACCESS=READ+WRITE+EXECUTE+DELETE) (IDENTIFIER=groupidentifier,ACCESS=READ+WRITE+EXECUTE+DELETE) (CREATOR,ACCESS=READ+WRITE+ACCESS+DELETE) If there are files already resident in the directory, set their protections similarly. (The OPTIONS=DEFAULT, DEFAULT_PROTECTION, and CREATOR ACEs apply to directories.) The default protection mask is used to establish the default file protection mask, this mask does not prevent the users holding the specified groupidentifier from accessing the file(s), as they can access the file via the explicit identifier granting access that is present in the ACL. For further information, see the OpenVMS Guide to System Security Manual, specifically the sections on ACLs and identifiers, and resource identifiers. __________________________________________________________ 5.14 Why do I get extra blank pages on my HP Printer? For information on configuring telnet print symbiont, on device control libraries such as SYSDEVCTL.TLB, and for ways of dealing with the extra blank pages that can arise on various HP printers, please see the OpenVMS Ask The Wizard area, starting particularly with topic (1020): o http://www.hp.com/go/openvms/wizard/ For additional information on the OpenVMS Ask The Wizard (ATW) area and for a pointer to the available ATW Wizard.zip archive, please see Section 3.9. There are a variety of discussions of this and of related printing topics in the Ask The Wizard area, in addition to topic (1020). Also see Section 5.33. 5-24 System Management Information __________________________________________________________ 5.15 Drivers and Configuration of New Graphics Controllers? This section contains information on various graphics controllers supported by OpenVMS Alpha, and specifically information on where and how to obtain device drivers for specific early OpenVMS releases- device drivers for controllers are integrated into and shipped with OpenVMS Alpha, but versions of these device drivers are sometimes made available for specific earlier OpenVMS releases. _____________________________ 5.15.1 The ELSA GLoria Synergy On OpenVMS Alpha V7.1-2, V7.2, and V7.2-1, acquire the appropriate GRAPHICS PCSI kit, and all prerequisite OpenVMS ECO kits: o VMS712_GRAPHICS-V0300 or later o VMS72_GRAPHICS-V0100 or later o VMS712_GRAPHICS-V0300 or later The ELSA GLoria Synergy is the PBXGK-BB; the PowerStorm 3D10T. Please ensure you have the most current ECOs for this and other graphics controllers installed; check for and install the current GRAPHICS kit. (See Section 4.3.1 for some unexpectedly related details.) On OpenVMS Alpha V7.2-1, the files necessary for this graphics controller are located in the distribution CD-ROM directory: DISK$ALPHA0721:[ELSA.KIT] Also check for any available (later) ECO kits. An earlier kit (ALP4D20T01_071) (for V7.1, V7.1- 1H1, and V7.1-1H2) was once available, but has been superceded and is not recommended. Use of V7.1-2 or later (and use of one the above GRAPHICS kits as required) is typically the best approach. OpenVMS V7.2-2 and later mainline releases directly support the controller. 5-25 System Management Information Additional information is available in topics (3419) and (5448) in the Ask The Wizard area: o http://www.hp.com/go/openvms/wizard/ For additional information on the OpenVMS Ask The Wizard (ATW) area and for a pointer to the available ATW Wizard.zip archive, please see Section 3.9. Support for the ELSA GLoria Synergy is integrated into all current OpenVMS Alpha releases. _____________________________ 5.15.2 PowerStorm 300, PowerStorm 350 The PowerStorm 300 is the PBXGD-AC, while the PowerStorm 350 is the PBXGD-AE. For support of the PowerStorm 300 and PowerStorm 350 graphics controllers, acquire and install the following available ECO kits: For OpenVMS Alpha V7.1-2: o DEC-AXPVMS-VMS712_P350-V0100-4 or later o DEC-AXPVMS-VMS712_GRAPHICS-V0300-4 or later For OpenVMS Alpha V7.2-1: o DEC-AXPVMS-VMS721_P350-V0100-4 or later o DEC-AXPVMS-VMS721_GRAPHICS-V0300-4 or later Support for the PowerStorm 300 and PowerStorm 350 series graphics controllers is integrated into current OpenVMS Alpha releases. _____________________________ 5.15.3 PowerStorm 3D30, PowerStorm 4D20 PowerStorm 3D30 (PBXGB-AA), PowerStorm 4D20 (PBXGB- CA) information is available in Ask The Wizard topics including topic (2041): o http://www.hp.com/go/openvms/wizard/ 5-26 System Management Information For additional information on the OpenVMS Ask The Wizard (ATW) area and for a pointer to the available ATW Wizard.zip archive, please see Section 3.9. _____________________________ 5.15.4 Radeon 7500 Install the current GRAPHICS ECO kit for OpenVMS Alpha V7.2-2 or V7.3-1 for support of the Radeon 7500 series PCI and AGP graphics controllers. Support for this controller (without an ECO kit) is first integrated into and available in OpenVMS Alpha V7.3-2. (Please do always install the most current GRAPHICS ECO kit whenever one is available, however.) __________________________________________________________ 5.16 How can I acquire OpenVMS patches, fixes, and ECOs? You can acquire and download kits containing OpenVMS fixes (ECOs) for various releases, as well as related support information, via: o http://www.itrc.hp.com/ o ftp://ftp.itrc.hp.com/openvms_patches/ Some systems with Internet firewalls may/will have to use passive mode FTP to access the above sites. Assuming recent/current versions of the TCP/IP Services package, the DCL FTP command necessary is: $ DIRECTORY/FTP/ANONYMOUS/PASSIVE ftp.itrc.hp.com:: Older sites: o http://search.service.digital.com/ o ftp://ftp.support.compaq.com/public/vms/ o http://ftp.support.compaq.com.au/pub/ecoinfo/ecoinfo/ o http://ftp/digital.com.au/cgi-bin/grep/ o http://askq.compaq.com/ 5-27 System Management Information The http://ftp.support.compaq.com.au/pub/ecoinfo/ecoinfo/ URL can be particularly useful, as it includes a search engine capable of returning the mandatory ECO kits for each release. Also see the information on required ECOs available from the support database, accessible via http://askq.compaq.com/. Specifically, search for articles with the words "incorporated" and "need to install" in the title. You can subscribe to an email notification list at: o http://www.support.compaq.com/patches/mailing- list.shtml A quarterly distribution is also available on CD-ROM: o QT-3CQAA-C8 OpenVMS Alpha o QT-3CRAA-C8 OpenVMS VAX For a list of OpenVMS ECO kits recently released, you can use: o http://Eisner.DECUS.org/conferences/OpenVMS-patches_ new_1.HTML You can also sign up for ECO kit email notifications (Digest or individual notifications) directly from HP at: o http://www1.service.digital.com/patches/mailing- list.html Examples and ECO kit installation instructions are included in the cover letter. For available ECO kits, cover letters and other associated documentation, look in: o http://www.itrc.hp.com/ o ftp://ftp.itrc.hp.com/openvms_patches/ For additional information, please see Section 5.16. 5-28 System Management Information Do NOT attempt to install a VMSINSTAL-based OpenVMS ECO kit on OpenVMS Alpha V7.1-2 and later. While VMSINSTAL itself remains available, it is not used for OpenVMS Alpha ECO kits starting in OpenVMS Alpha V7.1-2. OpenVMS Alpha V7.1-2 and later use PCSI for OpenVMS ECO kits. See Section 5.29 for information on ECO kit checksums. __________________________________________________________ 5.17 How do I move the queue manager database? To move the location of the queue database, the SYS$QUEUE_MANAGER.QMAN$QUEUES and SYS$QUEUE_ MANAGER.QMAN$JOURNAL files, to a disk that is fast(er), has plenty of free space, and that is not heavily used. If the queue database is on a (busy) OpenVMS system disk, you can and probably should move it off the system disk to another disk spindle. To move the queue database: 1 Checkpoint the journal file. This reduces the file size to the in-memory database size. This will cause the noted delay. $ RUN SYS$SYSTEM:JBC$COMMAND JBC$COMMAND> DIAG 0 7 2 Stop the queue manager $ STOP/QUEUE/MANAGER/CLUSTER 3 Backup the .QMAN$QUEUES and .QMAN$JOURNAL files from the present location for safety. $ backup SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* DISK:[DIR] 4 Create a new directory for the queue database. Insure that this disk is accessible to all nodes that can run the queue manager. If the /ON list for the queue manager is "/ON=(*)", the disk must be available to all nodes in the cluster $ CREATE/DIR fast_disk:[qman] 5-29 System Management Information 5 Copy the .QMAN$QUEUES and .QMAN$JOURNAL files to the new directory $ copy SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$* fast_disk:[qman] 6 Delete the old queue database. $ DELETE SYS$COMMON:[SYSEXE]SYS$QUEUE_MANAGER.QMAN$*;* 7 Restart the queue manager pointing to the new location $ START/QUEUE/MANAGER fast_disk:[qman] __________________________________________________________ 5.18 How do I delete an undeletable/unstoppable (RWAST) process? "Undeleteable" jobs are usually "undeleteable" for a reason-this can track back to insufficient process quotas, to a kernel-mode error in OpenVMS or a third- party device driver, or to other odd problems. These undeletable jobs typically become of interest because they are holding onto a particular resource (eg: tape drive, disk drive, communications widget) that you need to use... If the particular device supports firmware, ensure that the device firmware is current - TQK50 controllers are known for this when working with old firmware. (That, and the infamous "MUA4224" firmware bug.) If this device has a driver ECO kit available, acquire and apply it... If the particular relevant host component has an ECO, acquire and apply it. Useful tools include SDA (to see what might be going on) and DECamds (which increase and thus potentially fix quota-related problems). (nb: Applications with quota leaks will obviously not stay fixed.) If the stuck application is BACKUP, ensure you have the current BACKUP ECO and are directly following the V7.1 or (better) V7.2 or later process quota recommendations for operator BACKUP accounts. Quota details are in the OpenVMS System Manager's Manual. 5-30 System Management Information If the firmware and ECO levels are current, the best approach is to take a system crashdump, and pass a copy of the dump file along to whomever is maintaining the device driver for the particular device/widget/driver involved, with any details on how you got into this situation. (The reboot involved with taking the crashdump will obviously clear the problem.) There was some kernel-mode code (typically for OpenVMS VAX) that can reset the device ownership field, but that is rather obviously only an interim solution- the real fix is avoiding the loss of the IRP, the process quota leak, or whatever else is "jamming up" this particular process... __________________________________________________________ 5.19 How do I reset the error count(s)? The system reboot is the only supported approach, but it is obviously undesirable in various situations-there is presently no supported mechanism to reset error counts once the error(s) have been logged. As for an unsupported approach-and be aware of the potential for causing a system crash... To reset the error count, one needs to determine the system address of the error count field. For a device, this is at an offset within the device's UCB structure. On VAX, the field is at an offset symbolically defined as UCB$W_ERRCNT. On Alpha, this field's offset is symbolically defined as UCB$L_ERRCNT. The former is a word in size; the latter is a longword. (Could it be that Alpha devices are more error prone? ;) You now need to locate the system address of the UCB$%_ ERRCNT field of the device you wish to reset. Enter SDA. In the following, you will see designations in {} separated by a /. The first item in braces is to be used on the VAX and the second item should be used on an Alpha. (ie. {VAX/Alpha}) 5-31 System Management Information $ ANALYZE/SYSTEM SDA> READ SYS${SYSTEM/LOADABLE_IMAGES}:SYSDEF.STB SDA> SHOW DEVICE ! device designation of device with error SDA> EVALUATE UCB+UCB${W/L}_ERRCNT Hex = hhhhhhhh Decimal = -dddddddddd UCB+offset Record the hexadecimal value 'hhhhhhhh' returned. You can now exit from SDA and $ RUN SYS$SHARE:DELTA or do what I prefer to do, issue the following: SDA> SPAWN RUN SYS$SHARE:DELTA On both VAX and Alpha, the DELTA debugger will be invoked and will ident- ify itself. On Alpha, there will be an Alpha instruction decoded. For those unfamiliar with DELTA, it does not have a prompt and only one error message-Eh? (Well, for sake of argument, there might be another error produced on the console if you're not careful-aka. a system crash!) If you are on a VAX, enter the command: [W If you are on Alpha, enter the command: [L These set the prevailing mode to word and longword respectively. Remem- ber the UCB${W/L)_ERRCNT differences? Now issue the command 1;M DELTA will respond with 00000001 You are now poised to ZAP the error count field. To do so you need to en- ter the system address and view its contents. The format of the command to do this is of the form: IPID:hhhhhhhh/ For an IPID, use the IPID of the SWAPPER process. It is always: 00010001 Thus, to ZAP the error count, you would enter: 00010001:hhhhhhhh/ 5-32 System Management Information When you enter the / SDA will return the content of the address hhhhhhhh. This should be the error count (in hexadecimal) of the device in question. If it is not, you did something wrong and I'd suggest you type a carriage return and then enter the command EXIT to get out of DELTA. Regroup and see where your session went awry. If you entered your address correctly and the error count was returned as in the following example, you can proceed. 00010001:80D9C6C8/0001 ! output on VAX 1 error 00010001:80D9C6C8/00000001 ! output on Alpha 1 error You can now ZAP the error count by entering a zero and typing a carriage return. For example: 00010001:80D9C6C8/0001 0 ! output on VAX 1 error 00010001:80D9C6C8/00000001 0 ! output on Alpha 1 error Now type the command EXIT and a carriage return. Alternatively, reboot the system. __________________________________________________________ 5.20 How do I find out if the tape drive supports compression? For various SCSI-based MK-class magnetic tape devices: $ Devdepend2 = F$GETDVI("$n$MKcxxx:","DEVDEPEND2") $ Comp_sup = %X00200000 $ Comp_ena = %X00400000 $ IF (Devdepend2.AND.Comp_sup).EQ.Comp_sup THEN - WRITE SYS$OUTPUT "Compression supported" $ IF (Devdepend2.AND.Comp_ena).EQ.Comp_ena THEN - WRITE SYS$OUTPUT "Compression enabled" __________________________________________________________ 5.21 Can I copy SYSUAF to another version? To VAX? To Alpha? The format of the SYSUAF.DAT, RIGHTSLIST, and associated files are upward-compatible, and compatible across OpenVMS VAX and OpenVMS Alpha systems. (This compatibility is a a basic requirement of mixed- version OpenVMS Cluster configurations and OpenVMS upgrades-for specific support information, please see 5-33 System Management Information the OpenVMS Cluster rolling upgrade and mixed-version requirements.) That said, it's the contents of the SYSUAF and RIGHTSLIST files that will make this more interesting. The same basic steps necessary for moving RIGHTSLIST and SYSUAF files to another node are rather similar to the steps involved in merging these files in an OpenVMS Cluster-see the appendix of the OpenVMS Cluster documentation for details of merging files. (You might not be merging the contents of two (or more) files, but you are effectively merging the contents of the files into the target system environment.) Considerations: o applications often hold SYSUAF or RIGHTSLIST open, meaning a system reboot is often the best way to activate new files. o the meanings of the RESTRICTED and CAPTIVE flags settings on the UAF entries have changed over time. o the new NET$PROXY.DAT file that is initially created based on the contents of the NETPROXY.DAT during the OpenVMS VAX V6.1 upgrade and during the OpenVMS Alpha V6.2 upgrade. This file is maintained in parallel with NETPROXY.DAT. o the RIGHTSLIST identifier values and UIC values that end up scattered around the target system must be rationalized with the contents of the new RIGHTSLIST and SYSUAF files. The lattermost case-resolving the identifier values- is often the most interesting and difficult part. If you find that an identifier value (or identifier name) from the source RIGHTSLIST collides with that of an identifier existing on the target system, you must first determine if the two identifiers perform the same function. In most cases, they will not. As such, you will have to find and chance all references to the identifier value(s) (or name(s)) to resolve the "collision". 5-34 System Management Information If you encounter a collision, changing both of the identifier binary values (or names) involved in the collision to new and unique values can prevent security problems if you should miss a couple of identifiers embedded somewhere on the target system during the whole conversion process-rather than the wrong alphanumeric value for the identifier being displayed, you'll simply see the binary format for the identifier displayed, and no particular access will be granted. And any DCL commands or such that reference the old alphanumeric name will fail, rather than silently (and potentially erroneously) succeeding. Similar requirements exist for UIC values, as these too tend to be scattered all over the system environment. Like the binary identifier values, you will find UIC values associated with disks, ACLs, queues, and various other structures. For a list of the various files shared in an OpenVMS Cluster and that can be involved when relocating an environment from one node to another (or merging environments into an OpenVMS Cluster), please see the SYLOGICALS.TEMPLATE file included in OpenVMS V7.2 and later releases. Procedures to extract the contents of a (potentially corrupt) queue database are provided on the OpenVMS Freeware (V5) and can be used to combine two queue databases together while shuffling files between OpenVMS Cluster hosts. For related discussions of splitting a cluster into two or for removing a node from cluster (political divorce, etc), see topics (203), (767), (915) and others in the Ask The Wizard area: o http://www.hp.com/go/openvms/wizard/ For additional information on the OpenVMS Ask The Wizard (ATW) area and for a pointer to the available ATW Wizard.zip archive, please see Section 3.9. 5-35 System Management Information __________________________________________________________ 5.22 How do I delete (timeout) idle processes? There is no such command integrated within OpenVMS, though there are (optional) timers available within certain terminal servers and similar devices, and there is an integrated time-of-day mechanism that provides control over when a user can access OpenVMS. As for available tools, there are DECUS, freeware, and third-party tools known variously as "idle process killers" (IPK) or "terminal timeout" programs, as well as various other names. Examples include: Saiga Systems Hitman, Watchdog, MadGoat Watcher (via the MadGoat site or the OpenVMS Freeware), Kblock, the Networking Dynamics tool known as Assassin, and the Zap tool. Also available is the XLNperformance system management utility, from XLNsystems. A related package (for DECwindows sessions) is xtermlock. If the forgetful users are in an application menu environment, the menu can potentially be extended to provide this capability. __________________________________________________________ 5.23 Do I need a PAK for the DECevent (HP Analyze) tool? DECevent and HP (Compaq) Analyze are available to customers with support contracts. The PAK is required only for the advanced functions of DECevent, the basic bits-to-text translation of the error log does not require a license PAK. Ignore the prompt, in other words. (The PAK should be available to you if you have a hardware support contract or warrantee, and the PAK enables the use of the advanced error analysis and notification capabilities within DECevent.) Please see the following website for details and downloads: Analyze) o http://www.compaq.com/support/svctools/ 5-36 System Management Information __________________________________________________________ 5.24 INITIALIZE ACCVIO and ANSI tape label support? A change was made (back in 1988) to (as it was then known) VAX/VMS V5.1-1 that added support for the then- new ANSI X3.27-1987 magnetic tape label standard. Prior to the ANSI X3.27-1987 standard, the date field in the ANSI HDR1 record permits dates only as far as the end of Year 1999. With ANSI X3.27-1987, dates through Year 1999 and dates from Years 2000 to 2099 are permitted. Versions of INIT.EXE and MTAACP.EXE from VAX/VMS releases prior to V5.1-1 will potentially have problems properly processing ANSI magnetic tapes when Y2K and later dates are involved-the DCL INITIALIZE command is known to encounter access violation (ACCVIO) errors. The available solutions include upgrades, or setting the date back. Direct initialization of the tape with the new headers (via $qio) is also clearly possible, though the limitation within the old MTAACP.EXE magtape ACP image is not nearly so easy to bypass. __________________________________________________________ 5.25 How do I recover from INSVIRMEM errors? Prior to OpenVMS Alpha V7.0 and on all OpenVMS VAX releases, VIRTUALPAGECNT and PGFLQUOTA limit the amount of virtual address space that is available to each process. Further limiting the amount of address space is the size of system space (S0 and S1 space). On OpenVMS Alpha versions prior to V7.0 and on all OpenVMS VAX releases, VIRTUALPAGECNT and MAXPROCESSCNT together determine the size of the page table data structures that occupy large tracts of system space. When no system virtual address space is available for the stuff that needs it-this includes the page tables, non-paged pool, and various other structures-then the values of VIRTUALPAGECNT and MAXPROCESSCNT cannot be increased. In OpenVMS Alpha V7.0 and later, the page table data structures have been moved out of S0 and S1 space and into page table space. In OpenVMS Alpha V7.2 and later, certain large data structures found in non-paged pool (eg: lock management structures) have been moved into 5-37 System Management Information 64-bit space, thus freeing up room in non-paged pool and in S0 and S1 space (where non-paged pool resides) while also permitting much larger data structures. __________________________________________________________ 5.26 How can I prevent a serial terminal line from initiating a login? In SYSTARTUP_VMS.COM, issue the command: $ SET TERMINAL/NOTYPEAHEAD/PERMANENT ddcu: This will prevent any unsolicited terminal input on ddcu:, and this unsolicited input is what triggers JOB_CONTROL to start up LOGINOUT on the terminal. Once LOGINOUT starts up on the serial line, you can see interesting behaviour (eg: audits, process creations, etc) as LOGINOUT tries to "chat" with whatever device is hooked onto the remote end of the serial terminal line. __________________________________________________________ 5.27 How does PCSI use the image BUILD_IDENT field? The (undocumented) build ident field in an OpenVMS Alpha image header is 16 bytes long, and is used as a counted string of 0-15 characters (ie, as an .ASCIC string, a string with the character count in byte 0) and was originally introduced to provide information for use by VMSINSTAL patch kits to determine whether an image should be replaced or not. Starting with OpenVMS Alpha V7.1-2, OpenVMS Engineering uses the PCSI utility to package and install ECO kits for OpenVMS. PCSI uses the generation attribute (a 32-bit unsigned integer) specified for files in the product description file (PDF) of a PCSI kit as the basis for performing file conflict detection and resolution. When a product is installed, PCSI modifies the build ident field of Alpha image headers to store an encoded form of the generation number. It also looks at the build ident field of previously installed images to obtain the generation information for those files as input to the file conflict processing algorithm. (Only images have this field, obviously.) 5-38 System Management Information PCSI interprets the build ident field of a previously installed image as follows: o if the string length is 15, the 5th character is a hyphen, and the last ten characters are a ten digit number with leading zeros, then the last ten characters are treated as a valid generation number. o for V7.1-2 through V7.2-1, inclusive, if the above test fails, the information is obtained from the PCSI product database. o in releases after V7.2-1 and with current PCSI ECO kits, if the above test fails, an invalid generation number is treated as 0000000000 so that the ECO kit will simply replace the image rather than assuming the PCSI database is in error. So, what will you see in the image identification displayed via the ANALYZE/IMAGE command? For an image that has been built as part of an OpenVMS Engineering system build, you will generally see a build ID string in the format "X6TE-SSB-0000"-X6TE is the build number for the OpenVMS Alpha V7.2-1 release. This id format is used within the OpenVMS system build, and can generally only be seen associated with images that have not yet been processed via PCSI. During the installation of V7.2-1, PCSI will modify the image header to have a build ident string of "X6TE-0050120000". During installation of an ECO kit containing this image with a generation number of 50130052, for example, PCSI would determine that 50130052 is greater than 50120000, and will replace the existing image on the target disk with the version of the image included in the ECO kit. 5-39 System Management Information __________________________________________________________ 5.28 How can I tell what software (and version) is installed? There is unfortunately no consistent nor single way to make this determination-this is one of the reasons that a move to PCSI installations is underway. On OpenVMS Alpha, you can use VMSINSTAL.HISTORY and PRODUCT SHOW PRODUCT to determine what packages have been installed via the VMSINSTAL and PCSI tools, respectively. To see which OpenVMS Alpha ECO kits have been applied, look in VMSINSTAL.HISTORY on OpenVMS Alpha prior to V7.1-2, and use PRODUCT SHOW PRODUCT/FULL on OpenVMS Alpha V7.1-2 and later. On OpenVMS VAX, you can use PRODUCT SHOW PRODUCT and (for software that is installed via VMSINSTAL on V7.3 and later) in VMSINSTAL.HISTORY. For products installed on OpenVMS VAX prior to V7.3 using VMSINSTAL, there is no reliable way to determine what products have been installed. If the product provides a RELEASE_NOTES file (as many do), you can look for the list of these files via DIRECTORY SYS$HELP:*.RELEASE_NOTES. Again, this approach is NOT reliable: some kits do not provide release notes, some system managers will install only the release notes, some system managers will delete release notes, and release notes for multiple versions can be present. On most packages, you can generally use ANALYZE/IMAGE on one of the core images, looking at the image identification area. Some of the product-specific mechanisms available are: o DQS DQS$VERSION logical name o C CC/VERSION o C++ CXX/VERSION o TCP/IP TCPIP SHOW VERSION command 5-40 System Management Information __________________________________________________________ 5.29 What file checksum tools are available for OpenVMS? The undocumented DCL command CHECKSUM is the usual means, and provides a rather simple-minded checksum suitable to detect basic file corruptions. For information and an OpenVMS version of the MD5 checksum tool, see: o http://www.support.compaq.com/svctools/md5- instructions.html The OpenVMS Alpha ECO (patch) kit checksums available at the ECO website are determined using the following DCL command sequence: $ CHECKSUM kitname.pcsi-dcx_axpexe $ SHOW SYMBOL CHECKSUM$CHECKSUM See Section 5.16 for information on acquiring OpenVMS ECO (patch) kits. __________________________________________________________ 5.30 What (and where) is the OpenVMS Management Station? For information and current kits for the OpenVMS Management Station (OMS), a PC-based tool that permits you to manage an OpenVMS system, please see: o http://www.openvms.compaq.com/openvms/products/argus/ __________________________________________________________ 5.31 How to determine current disk fragmentation level? The HP OpenVMS Disk File Optimizer (DFO) defragmentation package provides a fragmentation monitoring tool, and a DFO product authorization key (PAK) is not required for the fragmentation reporting tool: $ DEFRAG SHOW/VOLUME ddcu: The DFU tool available on the OpenVMS Freeware can generate a report on the disk fragmentation: DFU> REPORT ddcu: 5-41 System Management Information __________________________________________________________ 5.32 SYSBOOT-I-FILENOTLOC, Unable to locate SYS$CPU_ROUTINES? A message at the OpenVMS Alpha bootstrap such as the following: %SYSBOOT-I-FILENOTLOC, Unable to locate SYS$CPU_ROUTINES_1C02.EXE %SYSBOOT-E-LDFAIL, failed to load execlet, status = 00000910 indicates that the particular OpenVMS Alpha release does not contain support for the target platform. In this case, OpenVMS does not recognize Alpha family 1C member 02 as a supported platform. A later version of OpenVMS might support the platform, or there might be no support on any release. Ensure that you have the most current firmware, and review the minimum version requirements for the platform. The execlet load failure and other similar bootstrap status values can often be decoded using either of the following techniques: $ exit %x910 %SYSTEM-W-NOSUCHFILE, no such file $ $ x = f$message(%x910) $ show symbol x X = "%SYSTEM-W-NOSUCHFILE, no such file" $ Also see Section 14.4.4.1. __________________________________________________________ 5.33 How can I customize the DCPS device control for a new printer? To customize DCPS for an otherwise unsupported printer, you can try the following sequence: o Extract the most closely-associated setup modules from the existing device control library, DCPS$DEVCTL.TLB. (For instance, you can probably extract and use the HP LaserJet 4000 series definitions for the HP LaserJet 4050 series. Each printer will vary, please consult the printer documentation for specifics and requirements.) 5-42 System Management Information o rename each extracted setup module to a corresponding: LPS$$UNRECOGNIZED_* o Insert all of the above-renamed setup modules into a newly-created device control library specific to the new printer: $ LIBRARY/TEXT/CREATE - SYS$COMMON:[SYSLIB]HP4050_DEVCTL.TLB LPS$$UNRECOGNIZED* The above assumes the filename HP4050_DEVCTL.TLB, alter as required. o Set up your DCPS startup procedures to include a search-list logical name such as: $ DEFINE/SYSTEM/EXECUTIVE DCPS_HP4050_LIB - SYS$LIBRARY:HP4050_DEVCTL.TLB, - SYS$LIBRARY:DCPS$DEVCTL.TLB o Supply DCPS_HP4050_LIB as the library parameter in the queue startup for this printer, this is the P3 parameter to the command procedure SYS$STARTUP:DCPS$EXECUTION_QUEUE.COM. o The HP4050_DEVCTL library may/will need to be recreated and modules re-edited and replaced with each DCPS upgrade, particularly if any modules are updated in the original library. You will also want to determine if the upgraded version of DCPS directly supports the particular printer. o To customize the processing of file extensions within DCPS (to enable or disable graybar output, for instance), use the information available in: SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT_DEFAULT to create your own site-specific: SYS$LIBRARY:DCPS$FILE_EXTENSION_DATA_TYPE.DAT Also see Section 5.14. 5-43 System Management Information __________________________________________________________ 5.34 Why do $GETDEV MOUNTCNT and SHOW DEVICE mount counts differ? MOUNTCNT returns the local mount count, while SHOW DEVICE returns the cluster-wide mount count. __________________________________________________________ 5.35 What software is needed for Postscript printers? The NorthLake PrintKit (http://www.nls.com/) and DECprint Supervisor (DCPS; http://www.openvms.compaq.com/openvms/Print/print_ sw_prods.html) are common choices for support of Postscript printers on OpenVMS. You may also require the installation of an IP transport stack. Also please see Section 15.2.2 and Section 15.2.3. __________________________________________________________ 5.36 How do I remove a PCSI-installed patch (ECO) kit? You cannot PRODUCT REMOVE a PCSI patch (ECO) kit. In order to remove an ECO kit, PCSI would have to have copies of all the other version of the files from all other patches and products that previously were installed. This can clearly involve a large number of files and a large archive of old file versions and a substantial quantity of disk space. While removal is clearly theoretically possible, it is not currently implemented. The following is the supported mechanism to remove a PCSI patch kit. 1 Execute a PRODUCT SHOW PRODUCE SET CONF COMM/REMOTE=VIRTUAL _____________________________ 5.41.7.1 Volume Shadowing MiniCopy vs MiniMerge? MiniMerge support has been available for many years with OpenVMS host-based volume shadowing, so long as you had MSCP controllers (eg: HSC, HSJ, or HSD) which supported the Volume Shadowing Assist known as "Write History Logging". If you are interested in minimerge and similar technologies, please see the Fibre Channel webpage and the information available there: o http://www.openvms.compaq.com/openvms/fibre/ Minimerge support was originally expected with HSG80 series storage controllers and was expected to require ACS 8.7 and OpenVMS Alpha V7.3-1. These plans, the original design, and the implementation that was under development have been revisited, and it is expected that a future OpenVMS release will implement minimerge using the existing storage bitmaps technologies; using a different, new and controller-independent design. Updated information and the current progress of the development work on minimerge is not available as of this writing. The following sections describe both MiniCopy and MiniMerge, and can provide a basis for discussions. 5-56 System Management Information _____________________________ 5.41.7.1.1 MiniCopy? A Shadowing Full Copy occurs when you add a disk to an existing shadowset using a MOUNT command; the entire contents of the disk are effectively copied to the new member (using an algorithm that goes through in 127-block increments and reads one member, compares with the target disk, and if the data differs, writes the data to the target disk and loops back to the read step, until the data is equal for that 127- block section). (This is one of the reasons why the traditional recommendation for adding new volumes to a shadowset was to use a BACKUP/PHYSICAL copy of an existing shadowset volume, simply because the reads then usually matched and thus shadowing usually avoided the need for the writes.) If you warn OpenVMS ahead of time (at dismount time) that you're planning to remove a disk from a shadowset but re-add it later, OpenVMS will keep a bitmap tracking what areas of the disk have been modified while the disk was out of the shadowset, and when you re-add it later with a MOUNT command OpenVMS only has to update the areas of the returned disk that the bit- map indicates are now out-of-date. OpenVMS does this with a read source / write target algorithm, which is much faster than the shenanigans the Full Copy does, so even if all of the disk has changed, a MiniCopy is faster than a Full Copy. _____________________________ 5.41.7.1.2 MiniMerge? A Shadowing Merge is initiated when an OpenVMS node in the cluster (which had a shadowset mounted) crashes or otherwise leaves unexpectedly, without dismounting the shadowset first. In this case, OpenVMS must ensure that the data is identical, since Shadowing guarantees that the data on the disks in a shadowset will be identical. In a regular Merge operation, Shadowing uses an algorithm similar to the Full Copy algorithm (except that it can choose either of the members' contents as the source data, since both are considered equally valid), and scans the entire disk. Also, to make things 5-57 System Management Information worse, for any read operations in the area ahead of what has been merged, Shadowing will first merge the area containing the read data, then allow the read to occur. A Merge can be very time-consuming and very I/O intensive, so some controllers have Shadowing Assists to make it faster. If the controllers support Write History Logging, the controllers record the areas (LBNs) that are the subject of Shadowing writes, and if a node crashes, the surviving nodes can query the controllers to find out what exact areas of the disk the departed node was writing to just before the crash, and thus Shadowing only needs to merge just those few areas, so this tends to take seconds as opposed to hours for a regular Merge. 5-58 _______________________________________________________ 6 Information on Mail __________________________________________________________ 6.1 MAIL keeps saying I have new messages, but I don't. What do I do? if you see the %MAIL-W-NONEWMAIL, no new messages error reported when MAIL indicates you have messages, then the NEWMAIL count has become skewed from reality. The count of new mail messages is kept separately from your mail folder, and is stored in VMSMAIL_ PROFILE.DATA. It sometimes happens that this count differs from what is stored in your mail folder. If this arises, invoke MAIL and repeatedly enter the READ/NEW command (or press the keypad hyphen key on an LK-compatible keyboard) until you see no new mail messages. Then enter the command one more time. This will resynchronize the counters. If you are operating in a cluster and find your mail counts inconsistent across cluster members, your customer is likely missing a definition of the VMSMAIL_ PROFILE logical name-and is probably also missing definitions of other logical names associated with other shared files-or has one or more inconsistent definitions of this and likely of other logical names. For details on the configuration data files that must be shared within a cluster, please see SYS$STARTUP:SYLOGICALS.TEMPLATE on V7.2 and later. __________________________________________________________ 6.2 How do I send or read attachments in VMS MAIL? Is there any way to send or read mail with files as attachments from VMS? 6-1 Information on Mail Not directly with the OpenVMS MAIL facility, but there are several other options: o Install PINE, available commercially from Innosoft or free from Andy Harper. With PINE you can both send and receive MIME messages, if you have the appropriate viewers available. o http://www.process.com/ o http://www.agh.cc.kcl.ac.uk/files/vms/pine-vms/ o ftp://ftp2.kcl.ac.uk/pub/vms/pine-vms/ o If you are working from an X11 server, use the OpenVMS version of Netscape Navigator or Mozilla. The mail download protocol chosen to access the mail server from the Navigator or Mozilla mail client can be POP or IMAP, with the former causing messages to be downloaded while the latter permits messages to be retained on the mail server. Most folks prefer IMAP for this reason. o MPACK/MUNPACK. To send a MIME mail, construct the message with attachments manually using MPACK. You cannot send the resulting file directly through MAIL because an extra blank header line will be inserted between your message and the OpenVMS MAIL headers, which will cause the message to appear as plain text in most mail programs. Some TCP/IP stacks provide a work around for this problem, and if that doesn't work, you should generally be able to force the message directly into the SMTP port of your mail machine. Examples of both methods are in: o http://seqaxp.bio.caltech.edu/pub/SOFTWARE/mmail.com To read a MIME mail message, open it in MAIL, extract it to a file, then use MUNPACK to break out and decode the attachments. MPACK/MUNPACK tools are also available on OpenVMS Freeware V5.0. o With OpenVMS V7.2 and later, use the MIME tool supplied with OpenVMS. 6-2 Information on Mail __________________________________________________________ 6.3 How can I block SMTP mail relay spam? Use the anti-spam capabilities present in the TCP/IP Services V5.1 and later SMTP servers. Use a firewall. On earlier TCP/IP Services releases, some simple DCL can reportedly prevent relay SMTP spam. Use the UCX command SHOW SERVICE SMTP/FULL to find the directory containing the UCX$SMTP_RECV_STARTUP.COM file, and insert the following DCL: $ ! $ ! Block spam. $ ! $ MY_ADDRESS_LONG[0,32]=F$INTEGER(F$TRNLNM("SYS$REM_NODE")-"::") $ MY_ADDRESS=F$FAO("!UB.!UB.!UB.!UB",F$CVUI(0,8,MY_ADDRESS_LONG),- F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),- F$CVUI(24,8,MY_ADDRESS_LONG))'" $ MY_ADDRESS_REVERSE=F$FAO("!UB.!UB.!UB.!UB",- F$CVUI(24,8,MY_ADDRESS_LONG),F$CVUI(16,8,MY_ADDRESS_LONG),- F$CVUI(8,8,MY_ADDRESS_LONG),F$CVUI(0,8,MY_ADDRESS_LONG))'" $ WRITE SYS$OUTPUT F$TIME()+" "+F$TRNLNM("SYS$REM_NODE")+MY_ADDRESS $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.INPUTS.ORBS.ORG $ IF $STATUS.EQ.1 $ THEN $ WRITE SYS$OUTPUT "SPAM from relay rejected" $ EXIT $ ENDIF $ UCX SHOW HOST 'MY_ADDRESS_REVERSE'.SPAMSOURCES.ORBS.ORG $ IF $STATUS.EQ.1 $ THEN $ WRITE SYS$OUTPUT "SPAM source relay rejected" $ EXIT $ ENDIF $ ! $ ! Run receiver. $ ! $ run sys$system:ucx$smtp_receiver.exe $ goto exit 6-3 _______________________________________________________ 7 Information on Utilities __________________________________________________________ 7.1 How do I play an audio CD on my workstation? If you've installed the DECwindows examples, you'll find DECW$CDPLAYER.C, .DAT, .EXE, .UIL, and .UID. Copy the .UID and .DAT files to DECW$USER_DEFAULTS: (typically SYS$LOGIN:), define the logical name DECW$CD_PLAYER to be the device name of your CD-ROM drive (eg. DKA400:), give yourself PHY_IO and DIAGNOSE privileges, and run the .EXE. (These privileges are required, as the access to the CD-related extensions will require the use of the privilege-protected IO$_ DIAGNOSE I/O function code.) You can also install the image with these privileges. See the source for additional details - note that the comments regarding the need for SYSGEN CONNECT are no longer applicable (at least as of VMS V5.5-2). There's also SYS$EXAMPLES:CDROM_AUDIO.C and .EXE, a non-Motif program, available on OpenVMS VAX, and DECW$EXAMPLES:DECW$CDPLAYER.* on OpenVMS VAX and OpenVMS Alpha. The standard OpenVMS ATA (IDE) SYS$DQDRIVER device driver does not support the necessary does not support the necessary IO$_DIAGNOSE function code that is required for access to audio CD media commands (on OpenVMS versions prior to V7.3), but an updated SYS$DQDRIVER device driver (source code and all) with this capability and with the source code of an updated DECW$CDPLAYER CD audio player is available on the OpenVMS Freeware website (www.hp.com/go/openvms/freeware/, look for the directory /dqdriver/), and these updates are also included on OpenVMS Freeware V5.0, and OpenVMS ECO kits containing newer versions of the driver are available. Freeware V6.0 has a version of DQDRIVER that is newer than that of the OpenVMS Alpha V7.3-2 7-1