Hidden Value – June 2000

 

Q: We made some changes in out SYSSTART file and now when we reboot, none of the commands in the file execute. We even backed out the changes and still, nothing is executed. What could be wrong?

A: Fref Metcalf replied:

My first guess would be that you did not use MANAGER.SYS to modify your SYSSTART file. Use LISTF SYSSTART,-3 to see the file creator name. Only edit this while logged on as MANAGER.SYS

Dennis Heidner elaborated:

SYSSTART.PUB.SYS must be created by MANAGER.SYS. It also should be on LDEV1.

The "STARTUP" line must be the first line in the file. I have seen SYSSTART files not work because of a blank line at the start.

It is also possible to boot the machine at the ISL prompt and specify that the SYSSTART file is not used, with NOSYSSTART. Not the likely cause in this case, but handy when doing patches.

There can exist multiple sections in the SYSSTART file for options such as WARMSTART, COOLSTART, COLDSTART. The sysstart option that is executed depends on the boot method for the machine.

The ISL start option maps to the following SYSSTART sections...

"startup"  I believe is always executed.
"warmstart" Only on START RECOVERY
"coolstart"   On START NORECOVERY
"update"      On UPDATE
"reload"  On INSTALL, this assumes that the SLT has the SYSSTART written on the tape.

Q: My system is on MPE/iX 5.5 PP7. I want to go directly to 6.5 without stopping at 6.0. Is this doable?

A: Jon Cohen of CSY provided the authoritative answer:

Upgrading from 5.5 directly to 6.5 is supported and was tested before 6.5 shipped.

Q: It's been awhile since I've worked with volume sets. I accidentally created a group on the mpexl_system_volume_set that should not be there. No problem I thought. I did a purgegroup grpname followed by newgroup grpname;onvs=fmmtx_set. When I do a report @.account the group doesn't show up. Where is this group hiding? It's not on the system volume set. If I do a report grpname.@ it doesn't show up.

A: Rich Holloway replied:

When creating a group on a volume set other than the system volume, you need to first create the group on the system volume set and then change the home volume to the private volume set.

NEWGRP MOREDATA.ACCOUNT
NEWGRP MOREDATA.ACCOUNT;ONVS=PRIVATEVOLUME
ALTGRP MOREDATA.ACCOUNT;HOMEVS=PRIVATEVOLUME

Gilles Schipper added: Try report @.account;onvs=fmmtx_set

It should show up there. Then, purgegroup grpname.account;onvs=fmmtx-set followed by

purgegroup grpname.account (to remove from mpexl_sys.......).

Then add the group the way you want as above.

Q: I am wondering if there is a COBOL intrinsic to access the system variables set by the 'setvar VARIABLENAME "value"' command.

A: Shawn Gordon replied:

The MPE/iX intrinsic (not just for COBOL) HPCIGETVAR is what you are looking for.

Neil Harvey added this snippet of COBOL code to show how it done:

77 WS7-STATUS PIC S9(10) COMP.
77 WS7-VAR PIC X(020).
77 WS7-VALUE PIC X(080).

MOVE "HPYYYYMMDD" TO WS7-VAR.
PERFORM F0-GETVAR.
DISPLAY WS7-VALUE.

F0-GETVAR SECTION.
F1-GETVAR.
MOVE " " TO WS7-VALUE.
CALL INTRINSIC "HPCIGETVAR" USING WS7-VAR
WS7-STATUS
\2\
WS7-VALUE.
F99-EXIT.
EXIT.

Q: I an trying to get a 12h array to be recognized on MPE 6.0. Everything 'appears' to configured properly in sysgen and ODE MAPPER can see the 12h. During boot up, the drives are shown unavailable and DSTAT of course shows nothing for the 12h. Firmware revisions seem to be what HP says they should be. I am at a loss as to where to go from here.

A: Ray Sparks replied:

There are two patches that you need to install or the Auto Raid will not work. Here are the patch names.

Patch Name Patch Size Description

ARMKXW5C 7955456 Initial release of ARM (AutoRAID Manager) software
MPEKXU3F 27704064 File System and Driver Changes To Support SureStore E Disk

Q: I'd like to use the allow option within the <Directory> directive to restrict access to a directory to 3 separate subnets.

eg. 10.1.0.0 subnet 255.255.0.0
10.2.0.0 subnet 255.255.0.0
80.0.10.0 subnet 255.255.255.0

How can I do this?

A: Mark Bixby replied:

All of the following are equivalent:

1) allow from 10.1. 10.2. 80.0.10.
2) allow from 10.1.0.0/255.255.0.0 10.2.0.0/255.255.0.0 80.0.10.0/255.255.255.0
3) allow from 10.1.0.0/16 10.2.0.0/16 80.0.10.0/24

Note that definitely 3) and possibly 2) are buggy in older versions of Apache that include the Apache 1.3.4 distributed by HP for 6.0 and 6.5. The HP WebWise MPE/iX Secure Web Server, which is based on Apache 1.3.9, handles all of these formats correctly (I just tested on my home machine). The next release of FOS Apache for 6.0 and 6.5 will also be based on Apache 1.3.9.

Q: Any idea on how to display .gif or .jpf files using Apache via a CGI program?

I wrote a (SPLash) program that sends the following data. Everything works fine except for the <img> tag trying to display gif or jpg files.

[Editor's note: An example followed.]

A: Mark Wilkinson replied:

Apache treats everything in the cgi-bin directory tree as an executable so move your gif's into the html directory and use relative links. Assuming you have subdirectory called images:

<img src="../images/n1.gif"></img>

Q: Is it possible to split an account over volume sets; for example, have GROUP1 on one volume set and GROUP2 on another?

A: Chris Bartram replied:

Accounts can be on as many private volumes as you like. Once the account is there, create the group, and make the group's homevs= the desired volset.

You'll save alot of headaches if you pick up the volume management UDCs from Jazz. You just set up the groups/accounts you want on various volume sets in the ACCTUVOL.PUB.SYS control file and then when you do a :newgroup it'll put it on the correct volume for you.

Rich Holloway added a note of caution if you are trying to "move" a group:

When doing the ALTGROUP command to change the home volume set the current volume set the group is on needs to be completely empty of files for that group.

Q: I'm trying to build hfs files from within a script.

Of the following three commands the only one that is failing is #3:

1) build ./xtidis
2) build ./xtidis_manager
3) build ./xtidis_manager_sys

Any Ideas? I thought the posix file name size limit on MPE is in the 250+ character range.

A: Doug Werth and I jumped all over this one:

If the file is built in an MPE group, I believe you are limited to 16 characters. To use longer names, you have to create the file in a hfs directory. Further simple testing should verify this.

Jeff Vance provided the complete answer:

POSIX named files cannot exceed 16 characters when they appear directly under root, under and account or under an MPE group. In all other locations, POSIX filenames can be up to 255 bytes.

Q: I want to copy a selection of users from one account to another with passwords and caps intact. How can this be done?

A: Gary Jackson replied:

Try using BULDACCT and modify the files it creates.

Q: I have two HPe3000s with the same DTCs configured on both. I noticed when a DTC was re-booted, it downloaded it's configuration sometimes from one HPe3000 and sometimes from the other. What mechanism is it that tells the DTC to download its configuration from one HPe3000 instead of the other? Can I configure the DTCs to always download from one HP e3000?

A: Doug Werth replied:

The DTC does not request a download from any particular system. It just sounds out a request for download and the first system to answer is whom it listens to, whether that is an HPe3000, an HP9000, or an Openview workstation.

You can set up SWITCHED ports that will allow the DTC to speak to both systems, but only one system would be the controller. As of MPE/iX 5.5 you no longer need Openview to set up switched DTCs.

The manual is Configuring Systems for Terminals, Printers, and Other Serial Devices, which can be found online at http://docs.hp.com/cgi-bin/doc3k/B3202290034.15956/1

In a nutshell, on the first screen in NMMGR (after opening the configuration file), set up the "slave" system as a system that is running HP Openview DTC Manager (I know, I know, you really aren't running OVDTCMGR, but the system thinks you are.) Next, go to the DTS configuration and tell it how many ports you want to allow to come in via the switched method (non-nailed terminal ports). Then, configure each DTC with its NAME.DOMAIN.ORGANIZATION. You don't need to give it the MAC address, it uses the N.D.O for communication.

On the "master" system, edit the terminal profiles. Look for the "Go to Switch" function key. Set the Enable Switching to "Y" and the Automatic Connection to "N".

The key to making this work is that the N.D.O must exactly match what you have configured on the master system (DTC01.DOMAIN.ORG). It is best to use the same DOMAIN.ORG for the DTCs that you have for your system: PROD3000.DOMAIN.ORG, TEST3000.DOMAIN.ORG, DTC01.DOMAIN.ORG, etc.

If all goes well, when you press return on a terminal you will get a DTC> prompt instead of a ":" prompt. The user can enter C PROD3000<return> or C TEST3000<return> depending upon which machine they want.

There are a lot of options and subtle changes that can be made, and I know I haven't covered half of it here (nailed devices, printers, automatic connections, etc) but this should get you started.

Q: Why does EDITOR change the created, restored, modified and accessed date of a file when you issue a KEEP?

A: Chris Bartram, Joseph Rosenblatt and Tom Brandt replied:

When EDITOR "keeps" a file, it creates a new copy (instance) of the file. To MPE, it's a new file, and all the dates in the file label reflect that.

Q: Does anyone know how, on a system with multiple network interfaces (NIC's), FTP determines which link to use for 'outbound' FTP?

A: Chris Bartram replied:

Just like any other TCP connection, MPE looks at the reachable networks for the various interfaces you have. If it doesn't find a specific route to that network, it'll pick the interface with a "default" route.

Q: What syntax can I use to restore several thousand HFS files located in an unknown number of sub directories in one account?

A: Jeff Vance replied:

If an HFS name ends in a lash (/) it implies that the command is supposed to operate on the named file (directory) and all sub-directories. So,

:restore ;/ACCT/GRP/dirname/;...

will restore from tape the directory "dirname" and all below it at all levels. The ;TREE option produces the same results.

Bijo Kappen proposed an alternative:

The command

:restore *Device; @.@.AccountName-@.@.AccountName

will restore all files in the POSIX domain.

Q: I would like to be able to set a variable in a jobstream that equals the IP address of hpstreamedby. Is there a way to do this?

A: Jeff Vance replied:

Try this (on 6.0):

setvar strmby_ses word(hpstreamedby,"()",-2)
setvar strmby_ip JINFO(strmby_ses,"IPAddr")

Q: What determines the number of chunks in a jumbo dataset? We have one dataset with 32 chunks. All of our other jumbo datasets have a seemingly more reasonable 2 - 6 chunks. Is this documented anywhere? Does this unusually large quantity of chunks indicate some problem?

A: Stan Sieler replied:

That's not a problem. The jumbo code allows up to 99 chunks (easily expanded to 999 by a recompilation of IMAGE source code, if ever needed).

There's a chance that the 32 chunks were caused by some early version of IMAGE and/or a tool, perhaps trying to allocate space on a checkerboarded system.

Jerry Fochtman added:

The minimum number of chunks for a dataset are essentially determined by dividing the total space needed to house the data volume by 4 GB (max size of each chunk file). Using individual chunk files smaller than 4 GB will then require more chunk files to contact the same data volume. The current maximum number of chunks that can exist for a single dataset is 99. However, it is more likely that one would exhaust the ability of IMAGE's current record pointer format to address all the entries in a set before reaching 99 files at 4 GB each.

There are scenarios whereby having multiple chunk files that are less than 4 GB in size have benefited performance.

Chances are if a 3rd party tool was used to convert the dataset from a standard set to a jumbo set, the tool may have produced the multiple chunk files. I would suspect that the individual chunk files are not max'd out at 4 GB in size (16,000,000+ sectors). It would be possible to maximize the size of each chunk file, thus reducing the number of chunks by performing a reorganization. You might consider contacting your third-party tool provider for guidance.

Q: Is there a way to issue multiple commands from a colon (or your choice of HPPROMPT) prompt without using a command file? Somewhat like multiple commands in Quad, separated by a semi-colon.

A: Mark Bixby and Jeff Vance replied:

You can't do this in the CI, but you certainly can in SH.HPBIN.SYS:

command1; command2; command3; ...etc...

Or you could execute multiple MPE commands:

callci command1; callci command2; callci command3; ...etc...

Erik Vistica noted (and gave an example of a script) that a udc or command file could easily be written using the anyparm feature and simple parsing functions with "|", for example, as the separator token to emulate multiple commands per line.

Q: Are there any pitfalls to watch for in sharing a networked (via JetDirect) HP LaserJet between two HPe3000's? I'm concerned about status checking and all that when both machines want to print to the same printer.

A: Ron Burnett, Dave Knispel and Steve Davidek all replied that they are quite successfully doing just that without any problems.

Q: Does anyone know how to re-format a DLT tape on a HP3000 using MPE/iX? I have some DLT tapes that were used on a Microsoft NT server that I would now like to use with my HP e3000. Any Suggestions?

A: Denys Beauchemin replied:

What's to reformat? Simply load the tape in the drive, issue the backup command and satisfy the reply, if any. That's all. STORE (or any other backup product) will happily overwrite the tape.

Q: I having a problem trying to set the date on my 3000. First I set the date, time and timezone from the MPE prompt. This works fine. Then I switch to the shell in order to set the time there also:

:sh

sh/ix>BOND:/SYS/PUB $date 2000051815338
date: no permission to set date
sh/ix>

Any idea how to set the time on the POSIX side?

A: Mark Bixby replied:

The POSIX shell and all POSIX programs determine time by starting with the UTC (aka GMT) time specified by the ISL CLKUTIL program, and then applying the timezone specified by the TZ environment variable.

There is no separate POSIX clock. On MPE, the POSIX date command does not change the system time like it would on a Unix system.

Q: My system is approaching output spoolfile ID 65536 for the first time. Is there something I need to do to make sure that there isn't a problem when the ID's get to that point?

A: Barry Lake replied:

Native Mode spooling allows spoolfile ID's to go all the way up to 9999999.

To which Joyce Bleza added:

You could always reset your counter by:

SETCOUNTER INSP;BASE=1;MAX=99999;SHOW
SETCOUNTER OUTSP;BASE=1;MAX=99999;SHOW

And you could also reset your JOBNUMBERS and SESSION NUMBERS the same way.

And Barry elaborated:

One other thing to note is that if you do happen to reach the theoretical limit of 9999999, or the limit configured with SETCOUNTER, then the system will simply roll back over to 1.

Q: We have several datasets that will have to go jumbo soon. Is there anything special to look out for?

A: Joseph Rosenblatt replied:

There are a couple of things to watch out for. The biggest issue is that the extended "JUMBO" part of the file resides in HFS. This means in order to store or restore the whole dataset you must use HFS conventions e.g. STORE /DATAACCT/JUMBOSET/

It also means that it won't show up in a regular MPE LISTF. You must use LISTFILE with HFS conventions. If the dataset's MPE name is XXXDB22 then the Jumbo file names will be XXXDB22.001, XXDB22.002, etc. Of course the larger the set, the longer serial reads will take.

Mike Hornsby added:

It also means that FSCHECK can't be used to purge any corrupted jumbos or temporary versions of the jumbos left from an aborted restore (using unnamed restore utilities). FSCHECK can't purge HFS files.

Ken Sletten also added:

As in many cases, there is a slight divergence between theory and reality.

Internal TurboIMAGE limits currently restrict the maximum size of one DETAIL dataset to 80GB or less (depending on Block Factor), using 4GB JUMBO HFS chunk file "extensions". With the pending IMAGE enhancement to move from EntryByName to 32-bit EntryByNumber (IMAGE will continue to support both formats), HP could also choose to increase the number of allowable JUMBO chunk files. BUT, HP has indicated that a future release will support using MPE "Large Files" as IMAGE DETAIL datasets. Since 128GB "Large Files" are in MPE 6.5, my unconfirmed guess is that HP will likely try and go directly to MPE Large Files in IMAGE instead of first increasing the number of JUMBO chunk files from the current 99 maximum (the format easily accommodates a 999 maximum).

Q: I am attempting to get my 3000 to use our local DNS running on Windows NT 4.0.

This server has a list of our local machines and if the name is not found locally, it forwards the request to our ISP's DNS. When I try to do a nslookup from the 3000, I get the following result:

shell/iX> /BIND/PUB/bin/nslookup
*** Can't find server name for address 192.0.0.98: Non-existent host/domain
*** Default servers are not available

My RESLVCNF entries look like this:

domain svmic.com
search svmic.com
nameserver 192.0.0.98

Any ideas on how I can make this work?

A: Mark Bixby replied:

I believe nslookup is telling you that the nameserver running on 192.0.0.98 lacks a PTR record that maps 192.0.0.98 back to a host name.