ORBiT Software Sponsor Message


Hidden Value details commands and procedures in MPE (and some in Vesoft’s MPEX) that can improve your productivity with HP 3000 systems. Get a free NewsWire HP 3000 Always Online cap — submit your MPE tip directly to us here at the NewsWire. Send your tips to editor@3000newswire.com, or fax them to 512.331.3807.

Edited by John Burke

I’m trying to build hfs files from within a script. Of the following three commands the only one that is failing is the last:
build ./xtidis
build ./xtidis_manager
build ./xtidis_manager_sys
Why is this happening? I thought the Posix file name size limit on MPE is in the 250+ character range.

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.

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

Gary Jackson replies:
Try using BULDACCT and modify the files it creates.

Does anyone know how, on a system with multiple network interfaces (NICs), FTP determines which link to use for outbound FTP?

Chris Bartram replies:
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.

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?

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.

How can I re-format a DLT tape on a HP 3000 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?

Denys Beauchemin replies:
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.

Any idea on how to display .gif or .jpg 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.]

Mark Wilkinson replies:
Apache treats everything in the cgi-bin directory tree as an executable so move your GIFs into the HTML directory and use relative links. Assuming you have subdirectory called images:
<img src=”../images/n1.gif”></img>

It’s been a while 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.

Rich Holloway replies:
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.

Gilles Schipper adds:
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.

I’d like to use the allow option within the <Directory> directive to restrict access to a directory to three separate subnets.
eg. subnet subnet subnet
How can I do this?

Mark Bixby replies:
All of the following are equivalent:
1) allow from 10.1. 10.2. 80.0.10.
2) allow from
3) allow from

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.

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

Chris Bartram replies:
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 a lot 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.

We made some changes in our 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?

Fred Metcalf replies:
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 elaborates:
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 INSTALL,
this assumes that the SLT has the SYSSTART written on the tape.

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

Jeff Vance replies:
If an HFS name ends in a slash (/) it implies that the command is supposed to operate on the named file (directory) and all subdirectories. 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 proposes an alternative:
The command
:restore *Device; @.@.AccountName-@.@.AccountName
will restore all files in the Posix domain.

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?

Jeff Vance replies:
Try this (on 6.0):
setvar strmby_ses word(hpstreamedby,”()”,-2)
setvar strmby_ip JINFO(strmby_ses,”IPAddr”)

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

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

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 IDs get to that point?

Barry Lake replies:
Native Mode spooling allows spoolfile IDs to go all the way up to 9999999.

To which Joyce Bleza added:
You could always reset your counter by:
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.

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/ix>BOND:/SYS/PUB $date 2000051815338
date: no permission to set date

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

Mark Bixby replies:
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.

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.

Mark Bixby and Jeff Vance reply:
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. 

Copyright The 3000 NewsWire. All rights reserved.