Archive-name: hp/hpux-faq
Comp-sys-hpux-archive-name: hp/hpux-faq
Version: 11.23.0510.00
Last-modified: 2005/10/14
Maintainer: Ian P. Springer
URL: ftp://rtfm.mit.edu/pub/faqs/hp/hpux-faq
HTML-URL: http://www.faqs.org/faqs/hp/hpux-faq/
Revision-Frequency: rarely
Posting-Frequency: every 10 days
Disclaimer: Approval for *.answers is based on form, not content.
Copyright: (c)2001-2005 Ian P. Springer

comp.sys.hp.hpux FAQ (Frequently Asked Questions)


Subject: 1. INTRODUCTION

Overview
========
This article contains the answers to Frequently Asked Questions (FAQ)
seen
in the Usenet newsgroup comp.sys.hp.hpux. Issues may also be discussed in
comp.sys.hp.apps, comp.sys.hp.misc, and comp.sys.hp.hardware. Discussion
in this document centers around Hewlett-Packard computer systems running
the HP-UX[R] operating system; the focus is on HP-UX 10.20, and later,
running on HP9000 Series 700 workstations and HP9000 Series 800 servers,
though some of the information presented may also apply to earlier
versions of HP-UX, including HP-UX for Series 300, 400, 500, and 600
HP9000 machines. Previous versions of this FAQ contained some information
specific to HP-UX 9.x and earlier; such information has been removed, as
of version 11.11.0105 of the FAQ. This decision was made because HP-UX
versions 10.00 and earlier have been officially classified as obsolete by
HP, as well as to permit greater focus on the more current versions of
HP-UX. The FAQ will be updated every other month or as the maintainer
sees fit, and it will be posted on Usenet once a month.

Copyright Notice
================
This FAQ is Copyright (c) 2001-2005, Ian P. Springer, all rights
reserved.
It may be freely redistributed in its entirety, provided that this
copyright notice is not removed. It may not be sold for profit or
incorporated in commercial documents without the written permission of
the
copyright holder. Permission is expressly granted for this document to be
made available for file transfer from installations offering unrestricted
anonymous file transfer on the Internet. This article is provided as is,
without any express or implied warranty. While every effort has been
made to ensure the accuracy of the information contained in this FAQ, the
maintainer and contributors assume no responsibility for errors or
omissions, or for damages resulting from the use of the information
contained herein. The content of this FAQ does not necessarily represent
the opinions of the maintainer's employer, contributors' employers, or
the Hewlett-Packard Company.

Distribution
============
Refer to section 4.1.1 for details on where to obtain this FAQ.

Format
======
This FAQ is written in "minimal digest format" as described at
. You can skip from
one section to the next by pressing ^G in many newsreaders, such as rn,
trn, and strn (but not nn or tin).

What's New?
===========
In the table of contents below, questions marked with a "+" were
recently added, and questions marked with a "!" were recently updated.

Unanswered Questions
====================
For other questions and answers not included in this FAQ, please search
for the answer in the newsgroup archives at
(formerly DejaNews). Many times, what you want to know has been asked and
answered many times before, and you will get your answer quicker
searching
through . When searching, include the
expression "group:comp.sys.hp.hpux" along with your keywords to narrow
the search to only comp.sys.hp.hpux.

If you are unable to find the answer to your question in the newsgroup
archives, then go ahead and post your question to comp.sys.hp.hpux.

Submitting Feedback
===================
All feedback is appreciated. Submissions, corrections, comments, and
complaints should be directed to Ian P. Springer
.

------------------------------

Subject: 2. TABLE OF CONTENTS

1. INTRODUCTION

2. TABLE OF CONTENTS

3. GENERAL INFORMATION
3.1 What does HP-UX stand for?
3.2 Where can I find a good overview of HP-UX?
! 3.3 What is the release history of HP-UX?
3.4 Where can I find definitions of various HP-UX terms?
3.5 What is HP's address and phone number?
3.6 How does HP-UX rank among other enterprise Unixes?
+ 3.7 How does the Compaq merger affect the HP-UX roadmap?

4. RESOURCES
4.1 FAQs
4.1.1 Where can I get a copy of this FAQ file?
! 4.1.2 What other HP-UX-related FAQs exist?
4.2 Web Sites
4.2.1 HP Sites
4.2.1.1 What is the URL of HP's main web site?
4.2.1.2 Where can I browse HP documentation on the Web?
4.2.1.3 Where can I get support from HP on the Web?
4.2.1.4 Other HP Sites
4.2.2 Non-HP Sites
+ 4.2.2.1 EnterpriseUnix.org
4.2.2.2 EPFL Support HP / HPLine
4.3 Newsgroups
4.3.1 List of Usenet newsgroups
4.3.2 HP's newsgroup policy
4.3.3 The ITRC HP-UX Forum
4.4 Mailing Lists
4.4.1 HPUX-Admin Mailing List
4.4.2 HP 9000 series 500 Mailing List
4.4.3 HPMINI-L Mailing List
4.5 Periodicals
4.5.1 hp-ux/usr
4.5.2 The HP Chronicle
4.6 Books
4.6.1 HP-UX 11.x Books
4.6.2 HP-UX 10.x Books
4.6.3 HP-UX 10.x/11.x Books
4.6.4 CDE Books
4.6.5 Books from HP
4.6.6 HP Product Manuals
4.7 Local Files
4.7.1 The HP-UX Reference Manual
4.7.2 /usr/share/doc
4.8 Conferences and Workshops
4.8.1 HP World Conference & Expo
4.8.2 InterWorks Conference
4.8.3 HP/Works Technical Workshops
4.9 Courses and Certifications
4.9.1 Courses offered by HP
4.10 Organizations
4.10.1 Organizations within the U.S.
4.10.1.1 Interex, The International Association of
Hewlett-Packard Computing Professionals
4.10.1.2 InterWorks
4.10.2 Organizations outside the U.S.
4.10.2.1 Interex Netherlands HP User Group (AKA DutchWorks)
4.10.2.2 HP/Works
4.10.2.3 Japanese HP Computer Users Association
4.11 Third-Party Vendors
4.11.1 Hewlett-Packard Vendor Listing

5. SYSTEM ADMINISTRATION
5.1 Auditing and Security
5.1.1 How do group privileges work?
5.1.2 Why are mail files in /var/mail owned by 'daemon' instead
of the recipient?
5.1.3 How can I restrict regular users from logging in at the
console?
5.1.4 How can I disable non-root logins?
5.1.5 Where can I find a list of all patches corresponding to
security advisories?
5.1.6 How can I protect my systems against SATAN?
5.1.7 What are the major differences between trusted and
non-trusted systems?
5.1.8 How can I configure things like minimum password length,
password history, and maximum simultaneous logins?
5.1.9 What is the sticky bit's purpose?
5.1.10 Does HP-UX have a /dev/random, /dev/urandom, or similar
device?
5.1.11 How can I protect my system from viruses?
5.1.12 What information is available on configuring HP-UX for
maximum
security?
+ 5.1.13 Does HP-UX support /etc/shadow like Solaris and Linux?
5.2 Backup and Recovery
5.2.1 Can I put more than one backup on DDS with fbackup?
5.2.2 How can I use dump with a DDS tape?
5.2.3 Why do cpio/tar/dump/pax all backup to tape painfully slowly?
5.2.4 What CD burning software is available?
5.3 Disks and File Systems
5.3.1 How can I enable long file names?
5.3.2 Is it possible to create a RAM disk?
5.3.3 What happened to DUX and context dependent files (CDFs)?
5.3.4 Why can't I use all of my swap space?
5.3.5 How can I determine which disk is the boot disk?
5.3.6 Why does pfs_mount fail with the message 'Not Owner' when I
try to use it?
5.3.7 What's new with remote mounts and the automounter?
! 5.3.8 Why are CDROM filenames all UPPERCASE with ;1 attached?
5.3.9 How can I start the PFS daemons automatically at system
startup?
5.3.10 Where can I get updated disktab entries for third-party
disks?
5.3.11 How can I determine whether a disk is bootable?
5.3.12 How do I defragment my filesystems?
5.4 Display
5.4.1 How do I define a new terminal type?
5.4.2 How can I change the video mode on my workstation?
5.5 Kernel Configuration
5.5.1 How can I tell if I have a 32-bit or 64-bit kernel?
5.5.2 How do I determine if a system supports a 32 and/or 64-bit
kernel?
+ 5.5.3 Where can I find detailed documentation of the various kernel
parameters?
5.6 Monitors, Diagnostics, and Performance
5.6.1 How can I look at what my system is doing?
5.6.2 What happened to the sysdiag command?
5.6.3 How can I improve overall system performance?
5.7 Networking and Communications
5.7.1 How can I change the order of hostname resolution?
5.7.2 How can I track network packets?
5.7.3 How to get the MAC address for a particular network
interface?
5.7.4 Is there a Transport Level Interface (TLI) interface to
TCP on HP-UX?
5.7.5 How do I disable IP Forwarding?
5.7.6 Why is ifconfig giving me errors when I try to configure
my LAN?
5.7.7 How do I change the hostname, IP address, DNS Server, etc?
5.7.8 How do I determine the speed and duplexity of my network
interface?
5.7.9 How do I display all active Internet (TCP and UDP)
connections?
5.7.10 Can multiple IP addresses be configured on one interface?
5.7.11 How can I enable the LAN interface on a 700?
5.7.12 Where can I get STREAMS for HP-UX?
! 5.7.13 What version of BIND (named) comes with HP-UX?
! 5.7.14 What version of sendmail comes with HP-UX?
! 5.7.15 What version of NFS comes with HPUX?
5.7.16 What is the difference between automount and AutoFS?
5.7.17 Can I configure multiple network interfaces on the same
subnet?
5.7.18 Does HP-UX come with a DHCP server?
! 5.7.19 Is there a port management tool / firewall for HP-UX?
5.8 Peripheral Devices
5.8.1 How do I use the floppy drive on my HP-UX workstation?
5.8.2 How can I format a floppy under HP-UX?
5.8.3 How can I get an Exabyte to work on an HP?
5.8.4 How can I get a stuck DDS tape out of the drive?
5.8.5 Do I need to terminate the internal SCSI on a 700?
5.8.6 How can I play audio CDs on an HP workstation's CD-ROM drive?
5.8.7 How can I set up /dev/audio to point to the external jack on
a
700?
5.8.8 How can I configure the parallel port handshake on a 700?
5.8.9 What are the specs of the audio hardware on the 700 series?
5.8.10 Is there a trackball for the 700?
5.8.11 What keyboards and mice are compatible with HP9000
workstations?
! 5.8.12 How do I change the keyboard type (e.g. from UK to German or
vice versa) after HP-UX is already installed?
5.8.13 How do I ascertain which device file corresponds to my CD-ROM
or DVD-ROM drive?
5.9 Printers and Plotters
5.9.1 What happened to lpr?
5.9.2 Why does lpstat report the printer down, even though it's
not?
5.9.3 How can I turn off the LP banner page?
5.9.4 How can I print man pages without losing the formatting?
5.9.5 How can I view and print Postscript (.ps) files?
5.10 Process Management
5.10.1 How much memory can a process use?
5.10.2 Why do my processes keep dying at 64 MB memory usage?
5.10.3 How do I set per-process limits?
5.10.4 How can I tell what files, ports, etc.. a process has open?
+ 5.10.5 How can I get the ps command to display more than 64
characters of process command lines?
5.11 Routine Tasks
5.11.1 How can I track log files and core files?
5.11.2 What's a good strategy for clearing /tmp and /var/tmp?
5.12 Software Management
5.12.1 General Software Management
5.12.1.1 Where can I find out more about Software Distributor
(SD-UX)?
5.12.1.2 How can I tell what products have been loaded on my
system?
5.12.1.3 How do I safely remove software from my system?
5.12.1.4 How is the unique node ID used for licensing
determined?
5.12.1.5 What is Ignite-UX?
5.12.2 Patch Management
5.12.2.1 Where do I get HP-UX patches?
5.12.2.2 How can I list all installed patches?
5.12.2.3 How can I tell what patches are in the kernel?
5.12.2.4 How do I get rid of these old 10.x patches since I
upgraded to 11.x?
5.12.2.5 How can I install multiple patches, without having to
reboot more than once?
5.12.2.6 How do I configure swlist to not display superseded
patches?
5.12.2.7 What is the naming convention used for HP-UX patch
names?
5.12.2.8 Where can I get OpenView patches?
5.13 Time
5.13.1 How can I change the timezone?
5.13.2 How can I print yesterday's or tomorrow's date?
5.13.3 How can I convert a timestamp (seconds since the Epoch) to a
date/time string?
5.13.4 What is the purpose of the 'timezone' and 'dst' kernel
parameters?
5.14 Users and Groups
5.14.1 How can I tell if I need more than a 2-user license?
5.14.2 How can I set up group-based FTP access?
5.14.3 Has /etc/logingroup functionality changed in 11.x?
5.15 X-Windows and CDE
5.15.1 X Window System (X11)
5.15.1.1 Where can I get X11R6?
5.15.1.2 Where can I get the missing X11 header files?
5.15.1.3 How can I set up an HP-UX workstation as an X terminal?
5.15.1.4 How do I get a scroll bar on hpterms?
5.15.1.5 How can I change the title in my hpterm titlebar?
5.15.1.6 Why do my terminal windows keep going away by
themselves?
5.15.1.7 How can I get console messages to go to an hpterm?
5.15.1.8 What's a good termcap entry for hpterm?
5.15.1.9 My screen is wedged. What should I do?
5.15.1.10 How can I get an X app to come up in an alternate
workspace?
5.15.2 Common Desktop Environment (CDE)
5.15.2.1 What happened to VUE?
5.15.2.2 How do I start/stop/reset CDE (dtlogin)?
5.15.2.3 How can I enable/disable CDE (dtlogin)?
5.15.2.4 Why does id/groups not show secondary groups in
dtterm/CDE?
5.15.2.5 How can I improve CDE's performance?
5.15.2.6 Is there a CDE FAQ?
5.15.2.7 When I log on to CDE, I want certain applications to
automatically start. How can this be done ?
5.15.2.8 How do I get cut-n-paste to work correctly with CDE?
5.15.2.9 Why do NCD X-terminals hang when trying to connect via
XDMCP to an HP-UX 10.20 host running CDE?

6. DEVELOPMENT
6.1 General
6.1.1 What threads support is provided?
6.1.2 What's the deal with _INCLUDE_xxxx_SOURCE?
6.1.3 Where can I find a list of all available system calls?
6.1.4 How can I tell if something was built debuggable?
6.1.5 Why is syslog() call not doing what i want it to?
6.1.6 How can I get C programs to automatically generate stack
dumps?
6.1.7 HP C++ email discussion lists
6.1.8 HP-UX development email discussion lists
6.2 Compiling and Linking
6.2.1 Why is the default C compiler brain-dead?
6.2.2 How do I make Perl on HP-UX?
6.2.3 How do I deal with "too many defines"?
6.2.4 Why do I get "_builtin_va_start" undefined when I build with
gcc?
6.2.5 Is there some kind of problem with using FLT_MIN in ANSI
mode?
6.2.6 Why do I get the error "*Initialization*:1: missing
token-sequence in `#assert'" when I compile with gcc?
6.2.7 How can I detect the HP-UX version at compile time?
6.3 Porting
! 6.3.1 Porting from an Earlier Release of HP-UX
6.3.2 Porting from Other Platforms (Solaris, AIX, etc..)
6.3.3 How do I know if binaries built on a one release of HP-UX are
compatible with a different release of HP-UX?
6.4 Tools
6.4.1 Where can I get Interviews for HP-UX?
6.4.2 Is there a disassembler included with HP-UX?

7. APPS AND UTILS
7.1 Freeware
7.1.1 HP Freeware
7.1.1.1 Patches
7.1.1.2 Drivers
7.1.1.3 I heard there is a new ftpd available. Where do I get
it?
7.1.1.4 HPRC FTP Site
+ 7.1.1.5 GNOME
7.1.2 Non-HP Freeware
! 7.1.2.1 The Software Porting And Archive Centre for HP-UX
7.1.2.2 InterWorks FTP site
7.1.2.3 Netperf
7.1.2.4 SLIP and CSLIP
7.1.2.5 PPP
7.1.2.6 SMTP
7.1.2.7 POP and IMAP
7.1.2.8 Sudo
7.1.2.9 Ntalk
7.1.2.10 TTCP
7.1.2.11 Free SCSI utilities for HP-UX workstations
7.1.2.12 PSCREEN/uX
7.1.2.13 GNU software
! 7.1.2.14 Web browsers
7.1.2.15 Miscellaneous freeware
7.1.2.16 RealAudio Player
7.1.2.17 CD Burning Software
7.2 Shareware
7.3 Commercial Software
7.3.1 HP Commercial Software
7.3.1.1 Where can I find release histories for various HP
software products?
+ 7.3.1.2 Where can I find a list of all applications that are
available for HP-UX?
7.3.2 Non-HP Commercial Software
7.3.2.1 Interex FastStart Toolbox
7.3.2.2 Is there anything remotely like the Apollo DM editor
available?

8. MISCELLANEOUS
8.1 How can I find the HP-UX equivalent for a given
Solaris/AIX/etc.. command?
8.2 What do I need to do to make my HP-UX system Year 2000
compliant?
8.3 How do I boot into single user mode?
8.4 How can I send mail to an MPE/iX HPDESK address?
8.5 How can I limit core files?
8.6 How do I disable the Caps Lock key?
8.7 Why does my Korn shell login hang?
8.8 How can I avoid those annoying copyright notices on login?
8.9 How can I turn off quota checking?
8.10 Why can't I start Aserver?
8.11 How can I get a daemon to successfully start from an rc script?
8.12 How do I convert the uname string to a model string?
8.13 Is Perl included with HP-UX?
8.14 Why can't I type an '@' character?
8.15 Why can't I get my machine into boot admin mode?
8.16 What happened to "less"?
8.17 What should go in my PATH and MANPATH environment variables?
8.18 Why does the 10.x/11.x cksum command produce a different
checksum than the 9.x cksum command?
8.19 Can I run Linux on an HP9000 system?
8.20 Can I run *BSD on an HP9000 system?
8.21 What happened to /usr/local? What are these /usr/contrib
and /opt directories?
8.22 Is it OK to change root's shell?
8.23 Why does HP-UX 10 generate copious "Sti_save" syslog messages?
8.24 How can I tell which kernel was booted?
8.25 What is the equivalent of ldd under HP-UX?
8.26 How do I configure a program to automatically start up or
shutdown when the system starts up or shuts down?
8.27 How can I do regular expression matching?
8.28 How can I play MP3s?
8.29 How can I use audio on HP-UX 10.x/11.x without a network?
8.30 Is there a tool to trace system calls?
! 8.31 What OS capacity limits exist?
8.32 How can I determine how much RAM my system has?
8.33 What are the various revisions of PA-RISC?
8.34 How do I find the clock speed of my system's CPU(s)?
8.35 How can I view/print PDF files?
8.36 How do I read an SGI-written tar format DDS tape?
8.37 Is the Euro supported?
8.38 How can I view various Windows-format files (Word docs,
Excel spreadsheets, etc..) on an HP-UX system?
8.39 How is the system load average, as reported by the uptime
and top commands, calculated?
8.40 Where can I get HP9000 firmware updates?
8.41 Where can I look up HP part numbers?
8.42 How can I create a /dev/zero special file?
8.43 Why is tail's output truncated for large amounts of input?
! 8.44 What commands or scripts exist for gathering and summarizing
system information?
8.45 How can I convert numbers from one base to another?
8.46 What are the machine ID and serial number used for?
8.47 How can I tell what commands SAM is executing under the hood?
8.48 How can I view a file in octal or hexadecimal?
+ 8.49 How do I configure the kernel to write corefiles as core.?
+ 8.50 How do I analyze a system crash dump?
! 8.51 Is HP-UX free for non-profit users (students, hobbyists, etc..)?
+ 8.52 Where can I obtain a free HP-UX shell account?
! 8.53 How do I grep for an exact word as with "grep -w" in Linux?

9. ACKNOWLEDGEMENTS
9.1 Contributors
9.2 Trademarks

------------------------------

Subject: 3. GENERAL INFORMATION

------------------------------

Subject: 3.1 What does HP-UX stand for?
Added: 04/16/01

HP-UX is short for Hewlett-Packard UNIX[R].

------------------------------

Subject: 3.2 Where can I find a good overview of HP-UX?
Updated: 08/23/01

For starters, there is the HP-UX homepage:

o

Also, check out the HP-UX page at OSdata.com:

o

If you have an HP-UX 11.x system, read the introduction(9) manpage. It
contains a lot of good background information.

------------------------------

Subject: 3.3 What is the release history of HP-UX?
Updated: 12/29/03

Rel Date Major Features Introduced
================================================== ========================
1.0 '83?
1.1 '83?
1.2 '83?
2.0 '83?
2.1 '84?
2.2 '84?
3.0 '84?
3.1 '85?
3.2 '85?
4.0 '85?
5.0 2H/85
5.05 '86?
5.1 '88
5.2 '89?
5.21 '89?
5.3 04/89
6.0 '89
6.0.1 '89
6.0.2 '89
6.1 '89
6.2 '89
6.3 '89
6.5 02/89
7.00 mid '90 Motif[R]
7.01 '89
7.02 '90
7.03 <08/89
7.04 '90
7.05 '90
7.06 '90
7.07 '90
7.08 '90
7.09 '90
8.00 01/91
8.01 '91
8.02 04/92
8.03 '91
8.04 '91
8.05 07/91
8.06 '92
8.07 '92
9.00 07/92 PA7100 support, POSIX[TM] shell, VUE 3.0, fastlinks,
ioscan(1M), model(1)
9.01 '93 added hardware support
9.02 '93 added hardware support
9.03 '93 added hardware support, including support for floppy
disks
9.04 11/93 added hardware support
9.05 11/93 added hardware support
9.06 '94
9.07 '94 Multi-Buffered-X, Single-Logical-Screen
9.08 '94
9.09 '94
9.10 03/95 10.x compatibility
10.00 03/95 SVR4 filesys layout, NFS, SD-UX, XNTP, traceroute(1M)
10.01 07/95 JFS(v2)
10.10 02/96 large filesys/physmem/dsize, NLS, SLVM, UNIX95, CDE(1.0),
DHCP, perl(4)
10.20 08/96 JFSv3, large files/uids, MPC, RARP
10.30 08/97 kernel (POSIX) threads, NFS PV3, streams TCP/IP, ASE,
PPP,
Y2K compliance
11.00 11/97 64-bit OS, DLKM, iCOD, CDE 2.1
11.10 03/00 SCA, JFS 3.3, 128-CPU, AutoFS, new ftpd
11.11 11/00 OEs, SuperDome, IO board OLAR, dynamic tunables, TCP NFS,
Linux APIs & ABIs, perl5, JRE(1.2.2.04), X11R6.2
11.20 06/01 IPF, BTL DLKM, kernel logging, VxVM
11.22 06/02 Itanium 2, MxN threads, 64-CPU, kernel config GUI, system
inventory manager, IPv6, IPSec, CPU/RAM board OLAR (*)
11.23 '03? PA & IPF, select Tru64 components, 128-CPU (@), limited
self-healing & self-tuning (@)
11.24? '04? TruCluster (@)
11.30 '05? complete self-healing & self-tuning (@)

* Source:
@ Source:

Hardware Processor HP-UX
Platform Architecture Releases
================================================== ========================
Series 100 Motorola 680x0? n/a
Series 200 Motorola 680x0 2.x, 5.1
Series 300 Motorola 680x0 6.x, 7.x, 8.0/01/05/07, 9.0/01/03/10
Series 400 Motorola 680x0 7.x, 8.0/01/05/07
Series 500 HP Focus 1.x, 5.x
Series 600 HP PA-RISC 2.x, 3.x, 7.0, 8.0/02/06, 9.0/02/04
Series 700 HP PA-RISC 7.03/05/09, 8.0/01/05/07,
9.01/03/05/07/09, 10.x, 11.x
Series 800 HP PA-RISC 1.x, 2.x, 3.x, 7.0, 8.0/02/06,
9.0/02/04, 10.x, 11.0/10/11/23
Itanium Intel IPF 11.2x

HP9000 Series 100 machines did not run HP-UX. They ran HPL, BASIC or
Pascal. These languages were usually stored on disks and loaded from
there, but you could also get the languages on plug-in ROM cards.

Series 400 machines were basically HP9000/Apollo hybrids. The boot PROM
contained support for two different modes - one for DomainOS (the native
Apollo operating system) and one for HP-UX.

Series 900 is the HP3000 family of business servers. These machines all
run MPE/iX, not HP-UX. For more information on HP3000 and MPE/iX, see:

o
o
o

s300 6.5 and s800 3.1 were both replaced by a supposedly converged HP-UX
7.0, but, in fact, there were significant differences, and not just
because of the IO architectues.

HP-UX releases <= 10.20 have been removed from the HP corporate price
list
(ie, they can no longer be purchased).

HP-UX releases <= 10.00 have been classified as obsolete (ie, no longer
supported by HP). 10.01/10/20 will be supported through June 30, 2003.

HP-UX 10.30 was a limited release intended for early access for 32-bit
kernel threads development and testing, prior to the release of HP-UX
11.00. For this reason, it was discontinued and obsoleted fairly
soon after the release of 11.00.

HP-UX 11.10 was a limited release and is supported only on V2500 SCA and
V2600 SCA servers. Prior to the release of 11.11, 11.10 came
preinstalled
on these systems. It was never available separately.

HP-UX 11.11 and later is marketed as "HP-UX 11i." The "i" stands for
"Internet" and is meant to convey that the OS is Internet-ready. Here
are the mappings from 11i versions to HP-UX versions as reported by
uname:

11i version Uname version CPU arch. Description
================================================== ========================
1.0 11.11 PA OE Release
1.5 11.20 IPF Itanium Release
1.6 11.22 IPF Consolidation Release
2.0 11.23 PA+IPF Independence Release

------------------------------

Subject: 3.4 Where can I find definitions of various HP-UX terms?
Added: 04/16/01

Refer to the glossary(9) manpage.

------------------------------

Subject: 3.5 What is HP's address and phone number?
Updated: 10/09/01

The address of HP Corporate Offices is:

Hewlett-Packard Company
3000 Hanover Street
Palo Alto, CA 94304-1185

and the phone numbers are:

o 650.857.1501 (8am-5pm PST)
o Fax: 650.857.5518

For general product information call:

o 800.752.0900 (6am-5pm PST)

For information on ordering HP manuals and supplies, call Parts Direct
Ordering toll-free in the United States at:

o 800.227.8164

or visit the HP Parts homepage at:

o

------------------------------

Subject: 3.6 How does HP-UX rank among other enterprise Unixes?
Added: 06/17/02

The latest D.H. Brown report entitled "2002 UNIX Function Review" ranks
HP-UX 11i #1, over Solaris 8, AIX 5.1, and Tru64 5.1, in all five
categories - reliability, availability and serviceability; Internet and
Web application services; directory and security services; systems
management; and scalability.

The press release is at:

o

The report itself is available at:

o

------------------------------

Subject: 3.7 How does the Compaq merger affect the HP-UX roadmap?
Added: 06/17/02

HP and Compaq both offered UNIX operating systems: HP-UX and Compaq Tru64
UNIX.

Decision: HP-UX will be the long-term UNIX for the new HP. Tru64 UNIX has
some very advanced features -- including clustering and file systems --
and some of those will be integrated into HP-UX over time.

Rationale: HP-UX has a much larger market share and installed base of
customers. It also has much broader ISV support than Tru64 UNIX.

------------------------------

Subject: 4. RESOURCES

------------------------------

Subject: 4.1 FAQs

------------------------------

Subject: 4.1.1 Where can I get a copy of this FAQ file?
Updated: 05/18/04

An ASCII text version of this FAQ is available at:

o

An HTML version of this FAQ is available at:

o

There is also a legacy version of this FAQ, which contains information
on HP-UX 9.x and earlier. This is available at:

o
(ASCII)
o
(HTML)

Note, the legacy FAQ is no longer updated. It is archived for the benefit
of those still running old versions of HP-UX.

------------------------------

Subject: 4.1.2 What other HP-UX-related FAQs exist?
Updated: 11/10/03

There is a "Certified for HP-UX FAQ" that discusses the offical
certification of 3rd part applications for HP-UX:

o

There is an HP3000 FAQ available at:

o

CERN's IT department has assembled an HP-UX 10.0 FAQ, comprised of
documents from HP ITRC:

o

There is an Ignite-UX (IUX) FAQ available from HP:

o (HTML)
o (ASCII)

There are a number of FAQs describing building and/or using various 3rd
party products on HP-UX:

o Building Mozilla on HP-UX FAQ:
+
o SarCheck for HP-UX FAQ:
+

------------------------------

Subject: 4.2 Web Sites

------------------------------

Subject: 4.2.1 HP Sites

------------------------------

Subject: 4.2.1.1 What is the URL of HP's main web site?
Added: 04/10/01

There are several mirrors, spread across various continents:

o U.S.:
o Europe:
o Asia:

Russia and Germany also have their own translated mirrors:

o Russia: (in Russian)
o Germany: (in German)

------------------------------

Subject: 4.2.1.2 Where can I browse HP documentation on the Web?
Updated: 04/06/01

The HP Technical Documentation website is at .

Here you can browse, search, and view the latest product
documentation and technical information about HP 9000 hardware
and software products, either by topic or release.

Included are installation guides, user guides, reference manuals,
manual pages, tools, training, technical white papers, and FAQ's
for both 10.x and 11.x releases.

Note, many of the documents on are also distributed
as part of the HP-UX media set, on the CD entitled "HP-UX Instant
Information."

There are several other HP sites that provide documentation:

o HP Developer's Resource:
o HP Itanium[TM] Homepage:
o HP OpenView Homepage: ("support" section)

------------------------------

Subject: 4.2.1.3 Where can I get support from HP on the Web?
Updated: 10/09/01

Go to the HP IT Resource Center (ITRC) web site; there are several
mirrors:

o America/Asia-Pacific or
Sites: or
or
or

o European or
Sites: or
or

or
or


NOTE: The America/Asia-Pacific ITRC sites do not share user registration
data with the European ITRC sites. European support customers
should register at and continue to use the European site, and
Americas/Asia-Pacific support customers should register at and
continue to use the Americas/Asia-Pacific site.

The HP ITRC allows you to:

o Resolve software problems by searching up-to-date support and
problem-
solving information, and by downloading the latest HP-UX patches
o Browse news and current announcements
o Subscribe to automatically receive the latest Hewlett-Packard support
information
o Log, track, and reply to non-urgent calls with the Response Center.

HP's support offerings on the ITRC site are fairly extensive. Anyone can
access the Patch Database, Support Information Digests, and certain
portions of the Technical Knowledge Database.

HP does require (free) registration to access anything on the ITRC.
When you click on any of the links, it will ask you to either Enter as a
Registered User, or Register Now.

With a valid software agreement, you can also log non-urgent calls, and
search more of the Technical Knowledge Database. You will also be able
to access the Software Update Manager. With PSS or PAS level support,
you are also able to access the Custom Patch Manager.

If you do not have a software agreement, or you don't have the
information for it, after you have registered and the ITRC has given you
your userid, go back until you get the "Enter as a Registered User"
choice again. (The only link on the page that gives you your userid
tries to link you to a software agreement)

The ITRC phone number for U.S. customers with support contracts is
800.633.3600. For a list of phone numbers for other countries see:

o

------------------------------

Subject: 4.2.1.4 Other HP Sites
Added: 04/17/01

HP Software
===========
HP Software Depot:
o

HP OpenView Homepage:
o

HP Hardware
===========
HP PartSurfer:
o

HP Itanium[TM] Homepage:
o

General
=======
Search All of HP:
o

------------------------------

Subject: 4.2.2 Non-HP Sites

------------------------------

Subject: 4.2.2.1 EnterpriseUnix.org
Added: 01/22/03

EnterpriseUnix.org is a website for system administrators, developers,
and enterprise managers, offering recent industry news, events, links,
etc. related to the convergence of HP-UX and Tru64 UNIX running on the
Itanium Processor Family.

o or

------------------------------

Subject: 4.2.2.2 EPFL Support HP / HPLine
Added: 04/16/01

EPFL Support HP is a Swiss HP-UX Support Site that provides some useful
information and links. Most of the site is in French, though some parts
are in English.

o

------------------------------

Subject: 4.3 Newsgroups

------------------------------

Subject: 4.3.1 List of HP-UX-related Usenet newsgroups
Added: 04/19/01

------------------------------

o newsgroup devoted to HP-UX
o newsgroup devoted to HP hardware
o newsgroup devoted to HP applications
o HP-UX newsgroup for Japanese-speaking users
o HP-UX newsgroup for Polish-speaking users
o Usenet gateway of the hpux-admin mailing list

------------------------------

Subject: 4.3.2 What is HP's involvement in the HP-related newsgroups?

HP does not, to my knowledge, have a formal policy regarding employee
involvement in the HP-related newsgroups. There is significant activity
from HP employees, typically Response Center engineers and lab engineers.
Much of the information in this document originally came from internal
HP sources.

------------------------------

Subject: 4.3.3 The ITRC HP-UX Forum
Updated: 01/23/03

The HP-UX Forum on the HP ITRC web site contains a wealth of useful
information:

o

As with all ITRC pages, you must be registered on the ITRC in order to
access it.

------------------------------

Subject: 4.4 Mailing Lists

------------------------------

Subject: 4.4.1 HPUX-Admin Mailing List
Updated: 04/30/02

Bart Muyzer runs an HP-UX system administration mailing list. In short,
the purpose of the mailing list is to discuss matters related to HP-UX
System Administration.

o Example topics:
* Discussing debugging/problem solving
* How do I port application this-and-this to HP-UX?
* What patch(es) should I install to solve a problem?
* Discussing the (un)desired effects of patches
* HP-UX specific security issues

o URLs:
*
- To send a message to ALL MEMBERS of the list.
* (enter commands in body of message)
- To subscribe to HP-UX Administrators Mailing List:
subscribe hpux-admin [email_address]
- To subscribe to the Digest of HP-UX Administrators Mailing List:
subscribe hpux-admin-digest [email_address]
- email_address is optional and, when left out, will be set to the
contents of your "From: " line.
- To retrieve the list charter:
get hpux-admin hpux-admin-policy
- To get a list of available commands:
help
*
- Browse & search the archives.
*
- Back issues are available in /pub/digests/hpux-admin/vNN.nMMM
(where "NN" is the volume number, and "MMM" is the issue number).
- The back issues are also available through majordomo's "get"
command.

Problems, questions, suggestions and the like should go to the address
wner-hpux-admin@dutchworks.nl>

------------------------------

Subject: 4.4.2 HP 9000 series 500 Mailing List

There is a mailing list dedicated to the HP 9000 series 500 (HP Focus)
machine. The purpose of the list is:

o to provide help on porting software to this dated machine
o to discuss the HP 9000 series 500

To get on (or off) the list, send email to

with the word
subscribe (or unsubscribe)
in the subject line.

------------------------------

Subject: 4.4.3 HPMINI-L Mailing List
Updated: 05/18/04

The HPMINI-L Mailing List is dedicated to topics directly relating to
Hewlett-Packard workstations, primarily those running HP-UX. The list
homepage is:

o

------------------------------

Subject: 4.5 Periodicals

------------------------------

Subject: 4.5.1 hp-ux/usr
Updated: 03/29/01

- A newsletter devoted to HP-UX, published by Interex in hardcopy form
&
online -

The archives can be viewed, by Interex members only, at:

o

Interex also publishes several other magazines related to HP-UX. For
a complete list, see:

o

------------------------------

Subject: 4.5.2 The HP Chronicle
Updated: 01/23/03

The HP Chronicle was a tabloid-sized newspaper containing news from HP
and other vendors of compatible hardware, software and peripherals -
recently acquired and dissolved by ServerWorld Magazine. Archive issues
can be viewed at:

o

------------------------------

Subject: 4.6 Books

------------------------------

Subject: 4.6.1 HP-UX 11.x Books

"HP-UX 11i System Administration Handbook and Toolkit", with CD (Audio)
by Marty Poniatowski, 03/01
ISBN: 0130600814

"HP-UX 11.x System Administration: How To Book", 2nd Edition
by Marty Poniatowski, 12/18/98
ISBN: 0130125156

"The HP-UX 11.x System Administration Handbook and Toolkit"
by Marty Poniatowski, 06/18/99
ISBN: 0130125148

------------------------------

Subject: 4.6.2 HP-UX 10.x Books

"Learning the HP-UX Operating System"
by Marty Poniatowski, 07/18/96
ISBN: 0132585340

"HP-UX 10.X System Administration: How To Book"
by Marty Poniatowski, 10/95
ISBN: 0131258737

------------------------------

Subject: 4.6.3 HP-UX 10.x/11.x Books
Updated: 04/01/01

"Disk and File Management Tasks on HP-UX"
by Tom Madell, 10/96
ISBN: 013518861X

HP-UX Tuning and Performance: Concept, Tools, and Methods
By Robert F. Sauers and Peter S. Weygant, 06/99
ISBN: 0131027166

"Clusters for High Availability: A Primer of HP-UX Solutions", 2nd
Edition
by Peter S. Weygant, 04/11/01
ISBN: 0130893552

"HP-UX System and Administration Guide"
by Jay Shah, 12/96
ISBN: 0070572771

------------------------------

Subject: 4.6.4 CDE Books
Updated: 04/02/01

"Configuring CDE: The Common Desktop Environment"
by Charles Fernandez, 06/14/96
ISBN: 0131027247

"Common Desktop Environment 1.0: Advanced User's and System
Administrator's Guide"
by CDE Documentation Group, 07/95
ISBN: 020148952X

"CDE and Motif: A Practical Primer"
by Antonino N. Mione, 12/97
ISBN: 0137608284

------------------------------

Subject: 4.6.5 Books from HP
Added: 04/10/01

Prentice Hall PTR publishes books for technical professionals with the
imprint Hewlett-Packard Professional Books. These books are generally
written by HP employees, often the engineers who helped devlop the
product(s) being discussed.

For a list of all titles, go to:

o

All of the books are available for purchase from Amazon.com
().

------------------------------

Subject: 4.6.6 HP Product Manuals
Added: 04/10/01

On HP-UX 11.00 and earlier, refer to manuals(5) for a list of all HP-UX-
related manuals, and the corresponding HP part numbers.

------------------------------

Subject: 4.7 Local Files

------------------------------

Subject: 4.7.1 The HP-UX Reference Manual
Updated: 09/12/03

An online version of the HP-UX Reference Manual is installed as part of
HP-UX. The HP-UX Reference is divided into eight major sections:

o Section 1: User Commands
o Section 1M: System Administration Commands
o Section 2: System Calls
o Section 3: Library Functions
o Section 4: File Formats
o Section 5: Miscellaneous
o Section 7: Device Special Files
o Section 9: Introduction and Glossary

Sections are further divided into many individual entried called manual
pages, or simply manpages. Manpages can be viewed using the man command.
For more information on manpages, see man(1) - ie:

$ man man

On 11.x, also see introduction(9).

Addtionally, hyperlinked HTML versions of the 10.x and 11.x reference
manuals can be viewed online at:

o http://docs.hp.com/en/hpuxman_pages.html

------------------------------

Subject: 4.7.2 /usr/share/doc
Added: 04/17/01

On HP-UX 10.00 and later, the /usr/share/doc directory contains HP-UX
release notes and technical whitepapers. Most of the documents are in
ASCII text format. On 10.x, some of the documents are in PCL format. On
10.x and 11.00, several of the documents are in PostScript format. And
on
11.11, a few of the documents are in PDF format.

The text (.txt) files can be readily viewed using a variety of viewers
(more, pg, vi, etc..). The PCL, PostScript, and PDF files are meant to
be printed out, not viewed online. In order to view them online, you
would need to install third-party applications such as GhostScript and
GhostView. You would also need to have a graphical display and have an
X server running.

Hewlett Packard Printer Control Language (.pcl) files can be printed on
any HP printer. If you have a non-HP printer, you can use GhostScript,
or a number of other programs, to convert the PCL to PostScript.

PostScript (.ps) files can be printed on any printer that supports
PostScript However, it is not necessary to have a PostScript-compatible
printer. There are public domain programs, for example, GhostScript,
that
can convert PostScript to other printer languages, such as PCL.

To print Portable Document Format (.pdf) files, download and install
Adobe[R] Acrobat[R] Reader (see question 8.35). Alternatively, you can
use GhostScript to convert from PDF to PostScript or PCL.

Now that you know how to view and print the documents, here is a listing
of the documents you'll find in /usr/share/doc on 11.00, 11.11, and
10.20:

11.00
=====
11.00RelNotes Release Notes for HP-UX 11.0, 3rd Edition - '98
NTP_Primer.txt Network Time Protocol on HP-UX
RelNotesNFS_TCP.txt Release Notes for NFS over TCP Enablement
Functionality - 02/00
RelNotes_newftp.txt Release Notes for ftp - 06/98
bind496.txt BIND 4.9.6 Features : Summary Information - 10/97
boot.txt HP-UX 10.x (and 11.x) System Boot and Startup White
Paper - 04/96
configure.txt(ps) HP-UX 10.X (and 11.x) CONFIGURATION/STARTUP FILES
doc_map.txt(ps) HP-UX 10.x (and 11.x) Documentation Map (06/97)
euro_howto.txt How to Setup Euro Enablement for the First Time
euro_relnotes.txt Release Notes for Euro-Software Patch
file_sys.txt(ps) HP-UX 10.x (and 11.x) File System Layout White Paper
- 04/95
iconv.txt HP-UX 10.x (and 11.x) Iconv Customization
lg_files.txt(ps) HP-UX Large Files White Paper, v1.4 - '97
libc_y2k.txt Programming For the Year 2000: HP-UX Standard C
Libraries White Paper, v1.9 - 02/97
links.txt(ps) HP-UX 10.X (and 11.x) Start/Kill Sequence Numbers -
05/96
mem_mgt.txt(ps) HP-UX Memory Management White Paper, v1.3 - 04/97
mem_wndws.txt 11.0 Memory Windows White Paper
mp.txt(ps) HP-UX MultiProcessing White Paper, v1.3 - 04/97
nls_locale.txt Locale Methods Customization
pamized_rcom_readme.txt PAMized rexecd and remshd
panics.txt HP-UX 11.0 System Panics White Paper, 3rd edition -
09/97
partner_info.txt HP-UX 10.X (and 11.x) Startup and Configuration
Developer Check List
patch_pgrm.txt [1] HP-UX 10.X Patch Program White Paper, 4th edition -
06/97
proc_mgt.txt(ps) HP-UX Process Management White Paper, v1.3 - 04/97
sendmail8-8_delta.txt What's New in HP-UX sendmail-8.8.6?
sendmail8-9_delta.txt What's New In HP-UX Sendmail 8.9.3?
sendmail8-9_release.txt HP-UX Sendmail 8.9.3 Release Notes - 09/99
sequence.txt(ps) HP-UX 10.X (and 11.x) Start/Kill Sequence Links -
Order Paradigms
start_up.txt(ps) HP-UX 10.X (and 11.x) Startup and Configuration
sw_patches.txt HP-UX 11.0 Version B.11.00 Patch List - 09/97
sys_crash.txt HP-UX 11.x System Crash Dump
11dev.ps HP-UX 11.00 Software Developer's Guide - 10/16/97
64bit_driver_migration.ps How to Write a 64-bit Clean IO Driver for
HP-UX: A 32-bit to 64-bit I/O Driver Migration
Guide - 12/06/96
V.4version.ps Steps to Version Your Shared Library (using V.4
Versioning)
dev_apps.ps File Sharing and Other Helpful Facts for HP-UX 10.0
Software Developers, v1.0 - 09/29/94
iop.ps Application Interoperability White Paper, v1.0 -
09/05/97
ux95.ps Programming for UNIX 95 and HP-UX Binary
Compatibility - 05/22/96

NOTES:
[1] Patch PHCO_22044 will upgrade this paper to the current version:
patch_pgrm.txt (1) HP-UX 11.X Patch Program White Paper, 2nd edition -
04/98

In 11.11, HP has removed most of the whitepapers from /usr/share/doc/ and
recommends viewing up-to-date versions of the documents on
instead. Nonetheless, there are still a number of
useful documents in /usr/share/doc/:

files that are new in 11.11
===========================
README HP-UX 11i /usr/share/doc/README - 11/00
11iRelNotes.txt(html) HP-UX 11i Release Notes, 1st Edition - 12/00
11.00RelNotes Release Notes for HP-UX 11.0, 6th Edition - 10/97
11iSRB.txt A pointer to the HP ITRC
()
Previously, the 11.00SRB.Z (Software Release
Bulletin) listed all known defects. This list is
always changing, and there is no equivalent 11i
version of 11.00SRB.Z.
ASX-JPN Japanese System Environment (JSE) A.02.60 Release
Notes
ASX-JPN-E(S) same as above (Japanese)
ASX-KOR Korean System Environment (KSE) A.02.60 Release
Notes
ASX-SCH Simplified Chinese System Environment (SSE)
A.02.60
Release Notes
ASX-TCH Traditional Chinese System Environment (TSE)
A.02.60 Release Notes
ASX-UTF8 Asian System Environment (ASE) Unicode Release
Notes
PAMKerberosRelNotes.pdf PAM Kerberos Release Notes, Edition 2 - 12/00
PRINT-ASE-NOTE Obsolescence announcement of printing options of
Asian System Environments (ASEs)
PRINTER-JPN-E(S) Printers supported by JSE (Japanese)
SETNETLP_Guide-E(S) setnetlp(1M) Guide for JSE (Japanese)
TechPrtServ/C/RelNotes Technical Print Service Release Notes
TechPrtServ/C/tpsGuide.ps(pcl) Technical Print Service System
Administrator's Guide,
1st Edition - 03/97
planning_SuperDome_configs.pdf Planning SuperDome Configurations,
Edition 1 - 10/00
sw_patches.txt HP-UX 11i Version 1 Patch List - 09/00

files in 10.20, that are no longer included in 11.x
================================================== =
10.20RelNotes Release Notes for HP-UX 10.20, 4th Edition - 06/96
10.20SRB HP-UX 10.20 Software Release Bulletin
(lists all known defects)
RelNotesHWE.txt Release Notes for HP-UX 10.20 Hardware Extensions
2.0 (April 1998)
10.20HWE1.1_RelNotes HP-UX 10.20 Hardware Extensions 1.1 Release Notes
-
02/98
Extension_Software/xx/XSW[78]00GR1020.readme HP-UX 10.20 Extension
Software Release xx README
NFS.ps Installing and Administering NFS Services, HP 9000
Networking - 02/98
NFSD_Concepts_Admin.ps NFS Diskless Concepts and Administration White
Paper - '94
NFS_Client_Server.ps NFS Client/Server Configuration Topology and
Performance Tuning Guide White Paper, Rev. 1.1 -
08/29/95
bog.txt(ps).Z Name Server Operations Guide for BIND Release
4.9.5
dev_apps.ps File Sharing & Other Helpful Facts for HP-UX 10.0
Software Developers, v1.0 - '94
patch_pgrm.txt HP-UX 10.0 Patch Program White Paper, 3rd Edition
-
09/95
rfc1034.Z RFC 1034: DOMAIN NAMES - CONCEPTS & FACILITIES -
11/87
rfc1035.Z RFC 1035: DOMAIN NAMES - IMPLEMENTATION &
SPECIFICATION - 11/87
rfc1535.Z RFC 1535: A Security Problem and Proposed
Correction With Widely Deployed DNS Software -
10/93
sendmail8-7_manual.ps(pcl) Installing and Administering sendmail 8.7
sw_patches.txt HP-UX 10.20 Patch List - 06/96

------------------------------

Subject: 4.8 Conferences and Workshops

------------------------------

Subject: 4.8.1 HP World Conference & Expo
Updated: 03/17/01

The next HP World conference is August 20-24, 2001 in Chicago, IL.
You can find more details about the conference and register on the Web at
, or by contacting Interex (see subject 4.3).

------------------------------

Subject: 4.8.2 HP/Works Technical Workshops
Updated: 04/02/01

HP/Works holds technical workshops throughout the year. For a schedule
of
past and upcoming events, visit:

o

------------------------------

Subject: 4.9 Courses on HP-UX

------------------------------

Subject: 4.9.1 Courses offered by HP
Updated: 04/02/01

HP offers many courses related to HP-UX. For details, visit the following
web sites:

o
o

------------------------------

Subject: 4.10 Organizations

------------------------------

Subject: 4.10.1 Organizations within the U.S.

------------------------------

Subject: 4.10.1.1 Interex, The International Association of
Hewlett-Packard Computing Professionals
Updated: 04/02/01

The Independent Association of Hewlett-Packard Computing Professionals,
known as Interex, has a worldwide membership of more than 18,000.
It is a not-for-profit, 20 year old organization. Interex has a monthly
publication called "HP World", as well as a detailed technical
publication
called "hp-ux/usr". Interex sponsors the HP World and InterWorks
conferences. For detailed information about Interex, including how to
become a member, see the web site at:

o

------------------------------

Subject: 4.10.1.2 InterWorks
Updated: 04/03/01

InterWorks, formerly the Apollo Domain User's Society (ADUS), was
originally formed to provide a users group specifically for HP
workstation users. Over the course of the past few years the
organization has been merged into Interex (see question 4.10.1.1 for
more about Interex).

Despite InterWorks having been absorbed into Interex, the InterWorks
anonymous FTP site _is_ still up and running:

o

See Item 4.13 for a more detailed description of this site's content.

------------------------------

Subject: 4.10.2 Organizations outside the U.S.

------------------------------

Subject: 4.10.2.1 Interex Netherlands HP User Group (AKA DutchWorks)
Updated: 03/26/01

The Interex Netherlands HP User Group, also known as DutchWorks, was
formed to provide a users group for technical users. It represents
technical HP users of HP9000 Workstations and Servers, Instrument
Controllers (RTE, HP-RT, RM BASIC, etc.), and Vectra PC's. The group
has a BBS which maintains a library of HP-UX, DOMAIN, RTE and BASIC
software. The URL for the DutchWorks website is
.

Membership details are available from:

Hans Hartwijk,
Weidezoom 11,
2742 EX Waddinxveen
The Netherlands
31 (0)1828 15086

or by e-mail to (Jaap Kooman, chair
DutchWorks)

DutchWorks also sponsors the HP-UX Administrators Mailing List
(hpux-admin) mailing list. Subject 4.20 of this FAQ contains information
on this mailing list.

------------------------------

Subject: 4.10.2.2 HP/Works
Updated: 04/02/01

HP/Works is the HP Technical Computing User Group, based in the UK. It
is
an independent group, supporting all users of HP and Apollo computer
systems - running the HP-UX, DOMAIN, Linux or NT operating systems -
throughout Europe. Also supported are those who use HP products, such as
OpenView.

For further information, visit the HP/Works web site:

o

------------------------------

Subject: 4.10.2.3 Japanese HP Computer Users Association
Updated: 05/18/04

As of March 31, 2002, the CUA is no longer operational.

------------------------------

Subject: 4.11 Third-Party Vendors

------------------------------

Subject: 4.11.1 Hewlett-Packard Vendor Listing
Added: 03/24/01

There is an extensive listing of third-party HP vendors that is
maintained
by volunteers and updated on a regular basis:

o

------------------------------

Subject: 5. SYSTEM ADMINISTRATION

------------------------------

Subject: 5.1 Auditing and Security

------------------------------

Subject: 5.1.1 How do group privileges work?
Updated: 07/11/01

HP-UX 9.0 and later allows special attributes to be associated with
groups, which allows some superuser-like capabilities to be controlled by
defining which groups they are accessible from. In this way it becomes
possible to distribute superuser accessible commands to other users
without allowing them full access to all other superuser capabilities.
Implicitly, the super-user is a member of ALL groups.

This allows some (slight) relaxing of UNIX's 'all or nothing' approach to
distributing privileged capabilities. Privileged groups are an HP-UX-
specific feature.

Here is a list of group privileges available in various releases of
HP-UX,
along with a brief description of the system capabilities that they
control:

9.0 and later
=============
o PRIV_RTPRIO - can use rtprio() to set real-time priorities (see
rtprio(1) and rtprio(2))

o PRIV_MLOCK - can use plock() to lock process text and data into
memory, and the shmctl() SHM_LOCK function to lock
shared
memory segments (see plock(2) and shmctl(2))

o PRIV_CHOWN - can use chown() to change file ownerships (see chown(1)
and chown(2))

o PRIV_LOCKRDONLY - can use lockf() to set locks on files that are open
for reading only (see lockf(2))

o PRIV_SETRUGID - can use setuid() and setgid() to change,
respectively,
the real user ID and real group ID of a process (see
setuid(2) and setgid(2))

10.0 and later
==============
o PRIV_MPCTL - can use mpctl() to change the processor assignment,
locality domain assignment, or launch policy of another
process (see mpctl(2))

o PRIV_RTSCHED - can use sched_setparam() and sched_setscheduler() to
set POSIX.4 real-time priorities (see rtsched(1) and
rtsched(2))

o PRIV_SERIALIZE - can use serialize() to force the target process to
run serially with other processes that are also
marked by this system call (see serialize(1),
serialize(2))

11.0 and later
==============
o PRIV_SPUCTL - can use spuctl() (undocumented) to control SPU
allocation (see /usr/include/sys/spuctl.h)

11i and later
=============
o PRIV_FSSTHREAD - can use fss() (undocumented) to control fair share
scheduler (see /usr/include/sys/fss.h)

o PRIV_PSET - can use pset_*() (undocumented) to control processor set
(see /usr/include/sys/pset.h)

Group privileges can be granted to individual groups, or globally (ie -
to
all groups, and hence, all users).

Although this doesn't appear to be covered by any HP documentation, it
appears that users are assigned the group privileges associated with
their primary group ID, and of all secondary groups defined within file
/etc/logingroup.

By default, the setprivgrp command changes are no longer effective once
you reboot your system. However, you can execute the command
'/sbin/init.d/set_prvgrp start' to ensure that the privilege group
changes
are permanent. /sbin/init.d/set_prvgrp runs '/usr/sbin/setprivgrp -f
/etc/privgroup'. The /etc/privgrp file should contain one or more lines
in the following format:

groupname [privileges]
-g [privileges]
-n [privileges]

Each line in privgrp must end with a newline character. The syntax for
'groupname' and 'privileges' is described in the "Options and Arguments"
section of setprivgrp(1M).

If the /etc/privgrp is not found when the system boots, the PRIV_CHOWN
privilege is automatically enabled globally (as if '-g CHOWN' was
specified). Furthermore, by default, /etc/privgrp does NOT exist.

The group privilege feature is often used to secure the chown command,
which has the potential to be misused. The chown command may be used to
change the owner ID of a file (or files) to another specified owner. As
mentioned above, by default, PRIV_CHOWN is granted globally. Hence, the
chown command may be used by any user to assign ownership of their own
files to any other user, including root.

For example, HP-UX's disk-space accounting facility may be used to report
the total disk usage of all users. It's possible for users to conceal
their total disk usage by using the chown command to assign the ownership
of their own files to other users.

On BSD-derived UNIX implementations, chown usage is limited to super-
users only. By removing the global group privilege PRIV_CHOWN using the
setprivgrp command, it's also possible to close this loophole on HP-UX,
by limiting usage of the chown command to users who are members of
specified groups only. This can be achieved as follows:

# echo "-n CHOWN" >>/etc/privgrp
# /sbin/init.d/set_prvgrp start

HP-UX documentation recommends that you not rely on the privileged group
mechanism to restrict access to the setuid and setgid system calls.
They do not guarantee that group privileges will be supported by future
releases of HP-UX.

For more information, see getprivgrp(1), setprivgrp(1M), getprivgrp(2),
setprivgrp(2), and privgrp(4).

------------------------------

Subject: 5.1.2 Why are mail files in /var/mail owned by 'daemon' instead
of the recipient?

The mail delivery agent /bin/rmail needs to be able to chown(2) these
files. It can not do so if you have removed the privilege CHOWN (see
setprivgrp(1m); removing CHOWN is recommended to prevent cheating on disk
quotas). To get around this, noting that /bin/rmail runs setgid to group
mail, you can grant privilege CHOWN to group mail only by inserting the
line "mail CHOWN" in /etc/privgroup. The change takes effect on the next
reboot, or immediately if you execute the command
"setprivgrp -f /etc/privgroup".

------------------------------

Subject: 5.1.3 How can I restrict regular users from logging in at the
console?
Added: 04/02/01

For a terminal console
======================
If the /etc/securetty file is present, login security is in effect.
User root is only allowed to log in successfully on the ttys listed in
this file. Restricted ttys are listed by device name, one per line.
Valid tty names are dependent on the installation. So to restrict root
logins to only the console:

# echo console >/etc/securetty

The use of /etc/securetty is documented in login(1).

For a CDE console
=================
Create a file named 'nologin' in /etc/:

# >/etc/nologin

Then add something like this to your /etc/dt/config/Xstartup file:

if pwget -n "$USER" | awk -F: '{exit !($3 == 0)}'; then
if [ -f /etc/nologin ] || \
grep '^console$' /etc/securetty >/dev/null 2>&1; then
echo "[$(date)] non-root login attempt from CDE console -" \
"access denied" >>/var/adm/console_login_attempts_log
exit 1
fi
fi

See dtlogin(1) for a detailed description of the Xstartup file.

------------------------------

Subject: 5.1.4 How can I disable non-root logins?

Add the following to /etc/profile, then 'touch /etc/nologin'; this will
disable all new logins, except by root:

uid=`id -u`
if [ -f /etc/nologin -a $uid -ne 0 ]; then
echo "Sorry, no logins allowed; try later!"
sleep 5
exit 0
fi

------------------------------

Subject: 5.1.5 Where can I find a list of all patches corresponding to
security advisories?
Updated: 11/13/01

If you are running 11.x, HP provides a free utility called
security_patch_check that will report any security patches that are
missing from your system. To download this utility, go to:

o


The security patch check tool requires that Perl 5.005 or higher,
as well as several Perl modules, be installed on the system that is
being checked. An HP-UX depot containing all of the required
dependencies is available at:

o


security_patch_check is only able to analyze patches. Some HP Security
Bulletins contain manual actions which cannot be analyzed in an automated
fashion. An archive of all previously released HP security bulletins is
available at:

o

------------------------------

Subject: 5.1.6 How can I protect my systems against SATAN?
Added: 04/17/01

Read CIAC Information Bulletin F-19 ("Protecting HP-UX Systems Against
SATAN") at:

o

NOTE: This whitepaper was written in '95, so some of the information
contained in it may no longer apply.

To find out more about SATAN, visit SATAN's homepage:

o

Also, for those less inclined toward evil, check out the SAINT homepage:

o

------------------------------

Subject: 5.1.7 What are the major differences between trusted and
non-trusted systems?
Added: 05/15/01

1. A trusted system allows system auditing to be turned on.
System auditing enables the ability to trace every system call
issued by each user on the system. Non-trusted systems run
with system auditing disabled.

2. Trusted systems have improved password management.

Below is a list of password management features:

a. Specification of a grace period and expiration period for
passwords.

b. The ability to specify system-wide password aging.

c. The ability to specify an absolute account life.

d. The ability to disable accounts after repeated login
failures.

e. Passwords lengths of up to forty (40) characters.

f. The ability to access a random password generator.

3. Trusted systems have additional login restrictions, while
non-trusted systems do not. Below are the features of
trusted system login restrictions:

a. In addition to account disabling, the account may also be
locked.

b. Setting accounts to be accessed only at certain times of
the day.

c. The ability to specify account location access. In other
words, account access at specific devices, workstations,
and so on.

d. The ability to specify a single-user boot password.

Note: These login restrictions are NOT available on
NON-TRUSTED systems.

4. A trusted system has shadowed passwords, while a non-trusted
system does not have shadowed passwords. Shadowed passwords
are kept in locations other than /etc/passwd. This prevents
users from viewing the /etc/passwd file and determining which
accounts do not have passwords. This also prevents hackers from
running "password cracker programs" against passwords in the
/etc/passwd file.

For more information, please refer to the following document:

"Administering Your HP-UX Trusted System"

The document is located at the following web site:

o

Locate the "Description of the HP-UX Trusted System" section in
the left menu. The following two pages contain more information:

o What is a Trusted System?

o What is C2-Level Trusted Mode?

------------------------------

Subject: 5.1.8 How can I configure things like minimum password length,
password history, and maximum simultaneous logins?
Updated: 05/18/04

These settings, along with several others, can be configured via the
security defaults configuration file /etc/default/security.

The 'security' file was introduced, undocumented, by patches to 11.00,
the
latest iterations being:

o PHCO_16127 (su(1) cumulative patch)
o PHCO_24083 (login(1) cumulative patch)
o PHCO_24390 (libpam and libpam_unix cumulative patch)

The functionality added by these patches is included in 11i. It is also
fully documented via the security(4) manpage, available online at:

o

The following summarizes in which release each of the 'security' settings
were introduced:

o ABORT_LOGIN_ON_MISSING_HOMEDIR
(introduced in 11.00 via PHCO_24083)

o BOOT_AUTH
(introduced in 11.23)

o BOOT_USERS
(introduced in 11.23)

o MIN_PASSWORD_LENGTH
(introduced in 11.00 via PHCO_24390)

o NOLOGIN
(introduced in 11.00 via PHCO_24083)

o NUMBER_OF_LOGINS_ALLOWED
(introduced in 11.00 via PHCO_24083)

o PASSWORD_HISTORY_DEPTH
(introduced in 11.00 via PHCO_24390)

o PASSWORD_MAXDAYS
(introduced in 11.22)

o PASSWORD_MINDAYS
(introduced in 11.22)

o PASSWORD_MIN__CHARS
(introduced in 11.23)

o PASSWORD_WARNDAYS
(introduced in 11.22)

o SU_DEFAULT_PATH
(introduced in 11.11)

o SU_KEEP_ENV_VARS
(introduced in 11.23)

o SU_ROOT_GROUP
(introduced in 11.00 via PHCO_16127)

o UMASK
(introduced in 11.22)

------------------------------

Subject: 5.1.9 What is the sticky bit's purpose?
Added: 08/23/01

A 't' or 'T' as the last character of the "ls -l" mode characters
indicates that the "sticky" (save text image) bit is set. See ls(1) for
an explanation the distinction between 't' and 'T'.

The sticky bit has a different meaning, depending on the type of file it
is set on...

sticky bit on directories
=========================
[From chmod(2)]
If the mode bit S_ISVTX (sticky bit) is set on a directory, files
inside the directory may be renamed or removed only by the owner of
the file, the owner of the directory, or the superuser (even if the
modes of the directory would otherwise allow such an operation).

[Example]
drwxrwxrwt 104 bin bin 14336 Jun 7 00:59 /tmp

sticky bit on regular files
===========================
[From chmod(2)]
If an executable file is prepared for sharing, mode bit S_ISVTX prevents
the system from abandoning the swap-space image of the program-text
portion of the file when its last user terminates. Then, when the next
user of the file executes it, the text need not be read from the file
system but can simply be swapped in, thus saving time.

[From HP-UX Kernel Tuning and Performance Guide]
Local paging. When applications are located remotely, set the "sticky
bit"
on the applications binaries, using the chmod +t command. This tells the
system to page the text to the local disk. Otherwise, it is "retrieved"
across the network. Of course, this would only apply when there is actual
paging occurring. More recently, there is a kernel parameter,
page_text_to_local, which when set to 1, will tell the kernel to page all
NFS executable text pages to local swap space.

[Example]
-r-xr-xr-t 6 bin bin 244444111111111664 Nov 14 2000
/usr/bin/vi

sticky bit on symlinks
======================
In HP-UX 10.0 and later, a symbolic link that has its sticky bit set is
called a transition link (i.e. links to ease the transition to the new
SVR4 filesystem layout). Transition links are a bit faster, because the
linked-to filename is stored in the inode itself, instead of using an
allocation unit to store the link. For more info on the purpose for
transition links, see the tlinstall(update_aid) manpage.

In order to set the sticky bit on a symlink, one must use the
undocumented
lchmod system call (i.e. lchmod("/bin", 041777)).

[Example]
lr-xr-xr-t 1 root sys 8 Jun 7 01:00 /bin ->
/usr/bin

------------------------------

5.1.10 Does HP-UX have a /dev/random, /dev/urandom, or similar device?
Updated: 09/12/03

Yes, at least for 11.11.

The Strong Random Number Generator provides a secure, non-reproducible
source of true random numbers for applications with strong security
requirements, such as for generating encryption keys. The /dev/random
and /dev/urandom files created by this product allow the read(2) system
call to retrieve strong random binary sequences of up to 256 bytes.
This interface is compatible with that provided by the Linux /dev/random
and /dev/urandom special files. The Strong RNG can be downloaded for free
from:

o
http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl?productNumber=KRNG11I

A technical white paper on the Strong RNG is available at:

o http://newfdawg.com/SSHpart5.htm

There are a few alternatives for other versions of HP-UX...

For limited purposes, one can always use the POSIX shell's $RANDOM to
receive a random integer between 0 and 32768.

Another option is a daemon from Lutz Jaenicke that can act as a
replacement for a true random device:

o


Additionally, there is a hardware crypto accelerator card that also has
it's own random device. At least through the bundled APIs, this device
should be usable by applications. HP order numbers are as follows:

o Praesidium Public Key Cryptography (PKC) Accelerator Card HSC Format
for K Class - A5484A
o Praesidium Public Key Cryptography (PKC) Accelerator Card HSC Format
for D and R Class - A5485A
o Praesidium Public Key Cryptography (PKC) Accelerator Card PCI Format
for K Class - A5486A

This card purchase is subject to U.S. munitions laws. The card is is
available for shipment in the U.S. and Canada. Application for
restricted
worldwide shipment pending with the U.S. government.

The card is a Rainbow Swift, manufactured by Rainbow Technologies
(), aka IVEA, which also
has a
UK subsidiary.

------------------------------

Subject: 5.1.11 How can I protect my system from viruses?
Added: 09/20/01

There are several antivirus products available:

o Sophos Anti-Virus for Unix
Info:


o InterScan VirusWall
Info:

Download 30-day Trial:


o McAfee VirusScan

o CyberSoft VFind Security Toolkit
Info:

------------------------------

Subject: 5.1.12 What information is available on configuring HP-UX for
maximum security?
Updated: 07/17/03

Kevin Steves has written a couple excellent whitepapers on building
HP-UX bastion hosts:

An 11.x version of the paper is available in both HTML and PDF formats:

o

(ITRC login required)
o


There is also a 10.x version of the paper. However, it doesn't seem to be
available on the Web anymore.

There is also a paper from HP titled "Network Security Features of HP-UX
HP-UX 11i v1 and 11i v2":

o http://docs.hp.com/en/5990-7245/5990-7245.pdf

------------------------------

Subject: 5.1.13 Does HP-UX support /etc/shadow like Solaris and Linux?

Added: 01/22/03

The shadow functionality is available as of 11i v1.6 (11.22). For more
information, see:

o


------------------------------

Subject: 5.2 Backup and Recovery

------------------------------

Subject: 5.2.1 Can I put more than one backup on DDS with fbackup?

No. fbackup always rewinds the tape. Possible alternatives:

(1) Stick with dump/cpio/tar/pax.
(2) Use a pipe: instead of telling fbackup where the DAT is,
let it send its output to stdout (-f -) and pipe it to the DAT,
using
Berkeley no-rewind device and dd with a suitable block size (e.g.,
10K). You'll lose fast-search and resync-after-error functionality,
though. Also, the complexities of managing multiple archives per
tape make this a high-risk proposition.
(3) Use NFS[R] and mount the disks of the machine without DAT to the
other and back them both up there. You'll have to mount 'em with
root permissions and restoring a completely destroyed root disk will
be messy.
(4) Scream at HP until they fix fbackup. :-)

------------------------------

Subject: 5.2.2 How can I use dump with a DDS tape?

dump was written to assume 9-track tapes, so some fudging has to be done
for DDS tapes. The following has the info you need along with several
alternatives for dump parameters.

Approximate capacity of 60m DDS tape = 1.3G bytes
Approximate DDS tape density = (1.3G bytes) / (60 m) = (550K bytes/in)

dump assumes an inter-record gap (IRG) of 0.3 in for density = 6250,
0.7 in otherwise.

dump uses a default blocking factor of 10 for density < 6250,
32 otherwise.
================
density = 550000
blocking factor = 32 (default)
assumed IRG = 0.7 in

Block length = (32K bytes/block) / (550K bytes/in) + (0.7 in) = (0.76 in)

Effective tape length =
(1.3G bytes) / (32K bytes/block) * (0.76 in/block) = (2511 ft)
================
density = 6250
blocking factor = 32 (default)
assumed IRG = 0.3 in

Block length = (32K bytes/block) / (6250 bytes/in) + (0.3 in) = (5.54 in)

Effective tape length =
(1.3G bytes) / (32K bytes/block) * (5.54 in/block) = (18325 ft)
===============
density = 1600
blocking factor = 10 (default)
assumed IRG = 0.7 in

Block length = (10K bytes/block) / (1600 bytes/in) + (0.7 in) = (7.10 in)

Effective tape length =
(1.3G bytes) / (10K bytes/block) * (7.10 in/block) = (75113 ft)
===============
density = 1600
blocking factor = 32
assumed IRG = 0.7 in

Block length = (32K bytes/block) / (1600 bytes/in) + (0.7 in) = (21.18
in)

Effective tape length =
(1.3G bytes) / (32K bytes/block) * (21.18 in/block) = (70022 ft)

------------------------------

Subject: 5.2.3 Why do cpio/tar/dump/pax all backup to tape painfully
slowly?
Added: 04/17/01

cpio/tar = VERY VERY OLD - never designed for DDS or DLT[TM]

fbackup/ftio = designed for Gb backups and modern tape drives

However, the default for fbackup is 1/2" magtapes, which almost no one
uses anymore. ALWAYS use a config file for fbackup with at least these
options:

blocksperrecord 256
records 32
checkpointfreq 1024
readerprocesses 6
maxretries 5
retrylimit 5000000
maxvoluses 200
filesperfsm 2000

Check the manpage for fbackup for other parameters, including what to do
when you run out of tape (the chgvol parameter).

You need huge block sizes for modern tapes. Try ftio (block size limited
only by hardware), pax (block sizes up to 32k), tar (which is 10k, by
design) or cpio -B which changes from 512 to 5k (but still too small).

cpio, tar, dump, pax and similar utils can NEVER backup large files and
are single processes whereas fbackup can read from 6 different files at
the same time.

Note, the large record size (blocksperrecord), checkpointfreq, and
filesperfsm also contribute to tape overhead.

------------------------------

Subject: 5.2.4 What CD burning software is available?
Updated: 02/03/03

You can use Cdrecord (aka CdrTools), a freeware application, available
at:

o

Additonally, Cdrecord-ProDVD can be used to burn DVDs; see:

o

There are numerous X GUI frontends for CDrecord. One of the most popular

is X-CD-Roast, available at:

o

------------------------------

Subject: 5.3 Disks and Filesystems

------------------------------

Subject: 5.3.1 How can I enable long file names?
Updated: 04/02/01

HP-UX 10.00 or later creates HFS filesystems with long file names (up to
255 characters) enabled by default, and all VxFS filesystems support long
file names.

To change pre-10.0 HFS filesystems to support long filenames, run
the /etc/convertfs program (see convertfs(1M)). Note that will NOT be
able to switch back.

Here's how to check if an existing HFS filesystem has long filenames
enabled:

# tunefs -v /dev/rdsk/XXX | grep magic
magic 95014 clean FS_OK time Tue Mar 23 14:13:01 1993
\__ if = 95014 then long filenames
\__ if = 11954 then short filenames

You can also look at this on a per directory basis with the POSIX
command getconf:

$ getconf NAME_MAX directory

where 'directory' is the path to the directory.

------------------------------

Subject: 5.3.2 Is it possible to create a RAM disk?
Updated: 05/10/01

Yes, HP-UX 9.00 and later include a RAM disk driver. The driver is NOT
officially supported by HP for customer use. Comments in the header file
"/usr/conf/sio/ram.h" describe how to add RAM disk support to the kernel,
as well as how to create a RAM disk.

Here are several reasons why using RAM disks is RISKY business:

1. As stated above, RAM disks are unsupported by HP.
2. It is unclear (to me anyway) how "locking" down memory interacts with
normal memory management, including pageouts and memory pseudo-swap.
The comments in /usr/conf/sio/ram.h says say:
"Depending on the availability of memory, allocating large amounts
of memory for RAM disk volumes may cause system failures (panics
or hangs)."
3. RAM disks can waste memory space. The "usable" yield of disk space
from memory allocated may be less than 100%. (1 GB of real memory
may yield less than 1 GB on "disk space".)
4. RAM disks aren't saved over a reboot, and require special action to do
so.
5. You must write a C program to delete them from a running system.

Here are the basic steps make a 128 MB RAM disk on HP-UX 10.x/11.x:

1. Modify your kernel to include the RAM disk driver:

# cd /stand/build
# /usr/lbin/sysadm/system_prep -v -s system
# kmsystem -c y -S system ram
# mk_kernel -s system
# mv ../system ../system.prev
# cp ../vmunix ../vmunix.prev
# mv system ..
# mv vmunix_test ../vmunix
# cd /
# shutdown -r

Note: "ramdisc" is an alias for "ram" that is also recognized.

2. Set up the device files and mount the RAM disk filesystem:

# mknod /dev/rram1 c 9 0x008001
# mknod /dev/ram1 b 9 0x008001
# newfs -F hfs /dev/rram1
# mkdir -p /ramdisk
# mount /dev/ram1 /ramdisk

Another way
===========
There is a better, but not free, way to _simulate_ a RAM disk under HP-UX
10.20 or later...

You must first purchase and install the optional OnlineJFS product, the
advanced bundle for the VxFS file system. This enables a number of
extra mount options for VxFS filesystems.

To configure a VxFS filesystem so that most buffer cache flushes are
prevented, specify the following options when mounting the filesystem:

"tmplog,mincache=tmpcache,convosync=delay"

The first two options can be configured with sam, but the convosync
option must be edited into /etc/fstab by hand.

A description and pricing info for the OnlineJFS product is available at
(just search for "onlinejfs").

A third way
===========
JTL Technical Services, LLC, sells a software product for HP-UX called
RamDisc. There are two versions - RamDisc plus and RamDisc classic. For
more information see their web site:

o

------------------------------

Subject: 5.3.3 What happened to DUX and context dependent files (CDFs)?
Added: 03/29/01

As of HP-UX 10.01, DUX (HP Diskless Clusters) has been fully replaced by
NFS.

These DUX-specific commands do not exist on HP-UX 10.01 and later:

cnodes(1) cps(1) getcontext(1) makecdf(1M) showcdf(1)

These DUX-specific options to commands do not exist on HP-UX 10.01 and
later:

chmod -H find -hidden -type H ls -H
find -nodevcid find -devcid cname last -c
pwd -H users -c who -c
bdf -L df -L sync -l
ftio -H pax -H -m -o -p -t device tar -H

These DUX-specific library routines (including context dependent files)
are obsolete as of HP-UX 10.01:

endccent getcccid getcdf nftwh
fgetccent getccent gethcwd setccent
ftwh getccnam hidecdf
cnodeid cnodes getcontext

These additional DUX features were obsoleted in HP-UX 10.01:

o Distributed named pipes across a cluster in diskless environments.
o The DUX concept of global PIDs across a cluster. Temporary
name-space collision should be avoided by each diskless client
having private /tmp areas.
o Using /tmp as a shared depository between diskless clients, such
as an application using a lib routine to create unique tmp_file
names.

------------------------------

Subject: 5.3.4 Why can't I use all of my swap space?
Updated: 04/08/01

The default value of the kernel parameter "maxswapchunks" limits the swap
accessible by the kernel to 537 MB. If you want to configure more swap
space than that, you need to increase maxswapchunks. More information on
maxswapchunks can be found online (see section 5.5.3).

------------------------------

Subject: 5.3.5 How can I determine which disk is the boot disk?
Updated: 01/03/02

There are at least two ways to do this:

o Use "lvlnboot -v" (must be root); this command also reports additional
information on volume groups and logical volumes:

# lvlnboot -v `vgdisplay | grep "VG Name" | awk '{print $3}'`
...
/dev/dsk/c0t5d0 (8/4.5.0) -- Boot Disk
...

o Use setboot. This command also reports the alternate bootpath, as well
as whether Autoboot and Autosearch are enabled. However, it does not
print the disk device names as lvlnboot does.

$ setboot
Primary bootpath : 8/4.5.0
Alternate bootpath : 8/4.10.0

Autoboot is ON (enabled)
Autosearch is OFF (disabled)

To determine which disk the currently running kernel was booted from, use
adb as follows (must be root):

# KERNEL=/stand/vmunix # set this var to the currently running kernel
# echo 'boot_string/S' | adb $KERNEL /dev/mem | grep /
boot_string: disc(8/4.5.0;0)/stand/vmunix

On 11.x, the path of the currently running kernel can be obtained using
the kmpath command (see subject 8.2.4).

------------------------------

Subject: 5.3.6 Why does pfs_mount fail with the message 'Not Owner' when
I try to use it?
Updated: 03/28/01

This is a common problem. You (root) are probably in more than 8 groups.
Run groups(1) to check.

There are two work-arounds to the problem:

+ Apply the latest PFS patch:
o 10.20: PHCO_15453
o 11.00: PHCO_16438

+ Temporarily remove root from enough groups to bring it under the limit:
o Backup /etc/group.
o Edit /etc/group so that root is in 8 or fewer groups.
o After running pfs_mount, restore the original version of /etc/group.

------------------------------

Subject: 5.3.7 What's new with remote mounts and the automounter?

HP-UX 10.00 and later ships with an automounter running with a -hosts
option, so it's easy to just say "/net/hostname/directory/...", and the
automounter will do the rest.

If you like, you can put symbolic links in to make things easier, for
example:

/x1 -> /net/x1/x1
/usr/valid -> /net/x1/valid

While this is convenient and easy to do, using explicit automount maps
(ex: /home/username) is usually a better idea in terms of keeping things
"tight" and maintaining server/disk independance.

------------------------------

Subject: 5.3.8 Why are CDROM filenames all UPPERCASE with ;1 attached?
Updated: 11/20/02

CD-ROMs are generally formatted using a filesystem called ISO-9660
(aka ECMA-119), which is an update of an earlier specification called
High Sierra. There are very minor differences between the two, and
HP-UX supports them both. The user doesn't have to know which is
which, although nobody's actually produced a High Sierra CD-ROM in
many years.

ISO-9660 "file identifiers" consist of a filename, a dot, an
extension, a semicolon, and a version number from 1 to 32767. The
standard specifies three levels of "interchange", the strictest of
which limits filenames to 8 characters, extensions to 3 characters,
and the characters can be only upper-case letters, digits and
underscores. The reason why the letters are all uppercase is because
most CD-ROMs are encoded to the strictest interchange level.

To get rid of the semicolon and version number, and to force the
filenames to lower case, mount the file system with the "cdcase"
option (see mount_cdfs(1M)).

There is a widely used extension of ISO-9660 called "Rock Ridge" which
adds enough file system metadata to support full POSIX file system
semantics. Rock Ridge filenames are formatted similarly to ISO-9660
file identifiers -- all UPPERCASE with ;1 version numbers. Currently,
11.0 supports Rock Ridge via a patch. Other versions of HP-UX do not
support Rock Ridge, except through PFS.

Rock Ridge support has recently been provided for 11.x via patches:

o 11.00: PHKL_21586
o 11.11: (patch recalled due to defect)

The Portable FileSystem (PFS) was originally developed by Young Minds,
Inc. It was originally only available as a demo package, but it was
eventually bundled with HP-UX, starting with release 10.10. PFS supports
the following CD-ROM formats: ISO-9660, Rock Ridge, and High Sierra. As
explained above, the HP-UX mount command currently only supports ISO-9660
and High Sierra.

You must have network loopback, and networking in general, configured
before running PFS on HP-UX. The command 'netstat -rn' shows the network
routing tables; the entry 'lo0' is for the loopback interface. To enable
network loopback (if it is not already enabled), add the line:

LOOPBACK_ADDRESS=127.0.0.1

to the file /etc/rc.config.d/netconf.

PFS is RPC-based and offers the some features that NFS provides, which
means that a CD-ROM can be exported over your network without going
through NFS. However, PFS does require that the nfs.core and nfs.client
subsystems are both running. To start these, make sure NFS_CLIENT=1 in
/etc/rc.config.d/nfsconf then run:

# /sbin/init.d/nfs.core start
# /sbin/init.d/nfs.client start

Note, using these init scripts to start NFS will ensure that rpcbind,
which PFS relies on, is also started.

NOTE: On 10.20 or 11.00, you must install a patch prior to running PFS,
or
you might not be able to eject the CD-ROM after unmounting it. This
problem is fixed in 11i. The patches are:

o 10.20: PHCO_15453
o 11.00: PHCO_16438

All Oracle[R] installation CDROM's are RockRidge-formatted, and so must
be
mounted via PFS.

To use PFS to mount a RockRidge CDROM:

1) Make sure the directory containing the PFS utilities (/usr/sbin) is
in your PATH.

2) Edit (or create) the /etc/pfs_fstab file to contain a line like this:
pfs-rrip xlat=rrip 0 0
Where:
is the path to your CD-ROM reader (e.g. /dev/dsk/c1t2d0)
is the path to an *existing* directory where the CD-ROM
will be mounted (e.g. /rr_cdrom)

3) Run the following commands:

# nohup pfs_mountd &
# nohup pfsd 4 &

Alternatively, these daemons can be started from an rc script; see
question 5.3.9.

4) Mount the drive with the command:
pfs_mount |
Or unmount it with:
pfs_umount |
Where and are the same as in 2).

The CD-ROM should be now readable with long and mixed-case filenames.

For HP-UX 10.01 and earlier, you can install a patch:

o 10.01 s700: PHKL_23512
o 10.01 s800: PHKL_23513
o 10.00 s700: PHKL_6076
o 10.00 s800: PHKL_6077

These add a modification to the CDFS code which can translate all mounted
CDROMs (not selectively) to accomplish the same task. This patch adds no
additional filesystem support, such as POSIX or the RockRidge Extensions.

On 10.20 and later systems, for ISO-9660 CDs that contain all-uppercase
8.3 filenames (ie - MS-Windows CDs), it is not necessary to use PFS.
Instead use the mount command's "-o cdcase" option. See mount_cdfs(1M)
for more information.

HP-UX cannot read Joliet, video, or audio discs without the use of
3rd-party software.

------------------------------

Subject: 5.3.9 How can I start the PFS daemons automatically at system
startup?
Updated: 11/20/01

Create a pfs rc script, and associated config file, as follows:

===== CUT FROM HERE - PASTE TO /sbin/init.d/pfs =====
#!/usr/bin/sh
#
# pfs startup: Startup and kill script for the PFS file server
#

PATH=/sbin:/usr/sbin:/usr/bin
export PATH

if [ -r /etc/rc.config.d/pfs ] ; then
. /etc/rc.config.d/pfs
fi

# return pid of the named process(es)
findproc() {
pid=`ps -e |grep "$1" |sed -e 's/^ *//' -e 's/ .*//'`
echo $pid
}

stat_pfs_fc()
{
PFSD=`ps -ef|grep pfsd|grep -v grep|head -1|awk '{print $2}'`
PFSM=`ps -ef|grep pfs_mount|grep -v grep|head -1|awk '{print $2}'`
}

kill_pfsd_fc()
{
for PID in `ps -ef | grep pfsd | awk '{print $2}'` ; do
if [ -n $PID ] ; then
kill $PID 1>>/dev/null 2>>/dev/null
fi
done
}

kill_pfsmount_fc()
{
for PID in `ps -ef | grep pfs_mount | awk '{print $2}'` ; do
if [ -n $PID ] ; then
kill $PID 1>>/dev/null 2>>/dev/null
fi
done

}

case "$1" in
"start_msg")
echo "Starting PFS Daemons"
;;
"start")
if [ "$RUN_PFS_SERVER" -ne 0 ] ; then
stat_pfs_fc
if [ "${PFSD}x" = "x" ] ; then
echo "starting pfs_mountd"
/usr/sbin/pfs_mountd -D$PFS_DAEMONS &
else
echo "pfsd is already running with PID $PFSD"
echo "please stop and restart if necessary"
fi
if [ "${PFSM}x" = "x" ] ; then
echo "starting pfsd"
/usr/sbin/pfsd $PFS_DAEMONS &
else
echo "pfs_mount is already running with PID $PFSM"
echo "please stop and restart if necessary"
fi
exit 0
fi
exit 2
;;
"stop_msg")
echo "Terminating PFS Daemons "
;;
"stop")
kill_pfsd_fc
kill_pfsmount_fc
kill_pfsd_fc
kill_pfsmount_fc
;;
stat*)
stat_pfs_fc
if [ "${PFSD}x" = "x" ] ; then
echo "pfsd is not running"
else
echo "pfsd is running"
fi
if [ "${PFSM}x" = "x" ] ; then
echo "pfs_mount is not running"
else
echo "pfs_mountd is running"
fi
;;
*)
echo "Bad or missing arguments..."
echo
echo "Usage: $0 stop|start|start_msg|stop_msg|status"
;;
esac
exit 0
===== END CUT =====

# chmod 555 /sbin/init.d/pfs
# chown bin:bin /sbin/init.d/pfs
# ln -s /sbin/init.d/pfs /sbin/rc2.d/S901pfs
# ln -s /sbin/init.d/pfs /sbin/rc1.d/K099pfs

===== CUT FROM HERE, PASTE TO /etc/rc.config.d/pfs =====
#
# pfs configuration: set to a non-zero value to
# initiate pfsd and pfs_mountd at run_level 2
#
# Installed at /etc/rc.config.d/pfs
#
RUN_PFS_SERVER=1
# Set the number of PFS daemons to run
PFS_DAEMONS=4
===== END CUT =====

# chmod 444 /etc/rc.config.d/pfs
# chown bin:bin /etc/rc.config.d/pfs

------------------------------

Subject: 5.3.10 Where can I get updated disktab entries for third-party
disks?
Updated: 04/20/01

Disktabs are obsolete for HP-UX 10.00 and later. For HP-UX 9.x and
earlier, see:

o

Installing patches PHCO_5236, PHCO_6819, PHCO_7253, and PHCO_7461 will
give you the latest and greatest HP-provided disktab entries for 9.x.

------------------------------

Subject: 5.3.11 How can I determine whether a disk is bootable?
Added: 08/29/01

To display the different bootstrings for a disk:

# lifls

For example:

# lifls /dev/rdsk/c0t6d0

A bootable disk reports something like:

ISL AUTO HPUX PAD LABEL

While a non bootable disk reports:

lifls: Can't list /dev/rdsk/c0t6d0; not a LIF volume

To show the content of the bootentries:

# lifcp : -

For example:

# lifcp /dev/dsk/c0t6d0:AUTO -
hpux

For further information on LIF, refer to lif(4).

------------------------------

Subject: 5.3.12 How do I defragment my filesystems?
Added: 05/02/02

VxFS filesystems can be defragmented using the fsadm command. However,
the online reorganization and online resize features of fsadm are
enabled only with the HP OnLineJFS optional product.

Here are the relevant options:

-D Report on directory fragmentation. If specified in
conjunction with the -d option, the fragmentation
report is produced both before and after the
directory reorganization.

-d Reorganize directories. Directory entries are
reordered to place subdirectory entries first, then
all other entries in decreasing order of time of last
access. The directory is also compacted to remove
free space.

-E Report on extent fragmentation. If specified in
conjunction with the -e option, the fragmentation
report is produced both before and after the extent
reorganization.

-e Reorganize extents. Minimize file system
fragmentation. Files are reorganized to have the
minimum number of extents.

An example:

# fsadm -dDeE /var

See fsadm_vxfs(1M) for further details.

No commands are available for defragmenting HFS filesystems.

------------------------------

Subject: 5.4 Display

------------------------------

Subject: 5.4.1 How do I define a new terminal type?
Added: 04/26/01

In HP-UX 10.0 and later, the terminfo database
(/usr/share/lib/terminfo/?/*) is designed to take the place of the
termcap database (/usr/share/lib/termcap). However, because of the many
programs that have been written with and for the termcap database, the
termcap database is still included with HP-UX. All additions and
modifications to either of these databases should be done with extreme
caution. These files are critical to the proper operation of your
terminal.

NOTE: The terminfo database contains printer definitions, in addition to
terminal definitions.

To convert one or more termcap entries to terminfo source format, use the
captoinfo(1M) command:

$ captoinfo termcap_entry.txt >terminfo_entry.txt

To compile a terminfo source file, and add the compiled entry to the
terminfo database, use the tic(1M) command:

# tic terminfo_entry.txt

If you must have both termcap and terminfo terminal descriptions, keep
the
terminfo description only, and use infocmp -C to get the termcap
descriptions. This is recommended because the terminfo entry will be
more
complete, descriptive, and accurate than the termcap entry possibly could
be.

If you have been using cursor optimization programs with the -ltermcap or
-ltermlib option in the cc command-line,,,,, those programs will
still be
functional. However, these options should be replaced with the -lcurses
option.

Richard S. Shuford maintains an archive of video terminal information.
The archive is a collection of information concerning character-cell
video-display terminals, serial-line remote-graphics terminals, and
software that emulates them. The URL is:

o

------------------------------

Subject: 5.4.2 How can I change the video mode on my workstation?
Added: 06/17/02

Use the following command:

# /opt/graphics/common/bin/setmon

setmon is a program that allows you to change video formats. When you
run setmon, it will print a table of available formats. The first
number on each line is an index. Enter the index number for the entry
you want to use and setmon will change the card to match. The change
can be either temporary (until next boot) or permanent. Similar
functionality is available in sam. The -h option gives limited help.

------------------------------

Subject: 5.5 Kernel Configuration

------------------------------

Subject: 5.5.1 How can I tell if I have a 32-bit or 64-bit kernel?
Added: 04/19/01

First off, in all versions of HP-UX prior to 11.00, the kernel is always
32-bit. That being said, on 11.x systems, there are several ways to
determine whether you're running a 32 or 64 bit kernel...

From the command-line
=====================
$ getconf KERNEL_BITS

or:

$ file /stand/vmunix
/stand/vmunix: PA-RISC1.1 executable ---> 32-bit
/stand/vmunix: ELF-64 executable object file ---> 64-bit

From SAM
========
1) goto Performance Monitors -> System Properties -> Operating System
2) check OS Kernel Width: value

------------------------------

Subject: 5.5.2 How do I determine if a system supports a 32 and/or a
64-bit kernel?
Added: 09/13/01

From the command-line
=====================
$ getconf HW_CPU_SUPP_BITS
32 ---> system supports only 32-bit
32/64 ---> system supports both 32 and 64-bit
64 ---> system supports only 64-bit

From SAM
========
1) goto Performance Monitors -> System Properties -> Processor
2) check Kernel Width Support: value

The following summarizes the 11.00 implementations supported on HP9000
Servers:

32-bit only
===========
* A-Class: A180/180C
* D-Class: D200/x10 (only w/ XSW 9806+)
Dx20/x30/x50/x60
* E-Class: all
* F/G/H/I-Class: all
* K-Class: K100/200/x10/x20
* T-Class: T500/520

32/64-bit
=========
* D-Class: Dx70/x80/D390
(Dx70/Dx80 supports 64-bit only w/ Firmware rev. 38.30+)
(D390 supports 64-bit only w/ Firmware rev. 38.31+)
(Dx70/x80/D390 require XSW 9808+ to run 64-bit)
and provide NO support for any EISA cards!)
* K-Class: Kx50/x60/x60EG/460XP/x70/x80
* R-Class: all
* T-Class: T600
* Enterprise Parallel Servers: all

64-bit Only
===========
* A-Class: A400/500
* L-Class: all
* N-Class: all
* V-Class: all

The following summarizes the 11.00 implementations supported on HP9000
Workstations:

32-bit Only
===========
* B-class: B132L/160L
* C-class: C100/110/160/160L/180/180-XP/200/240/360/3000/3600
* J-Class: J200/210/210XC
* 700-Series: 712, 715/64, 715/80, 715/100, 715/100XC, 725/100,
743, 744

32/64-bit
=========
* B-Class: B132L+/180L/1000 (only w/ XSW 9808+)
* C-Class: C200/240/160/180/180XP (only w/ XSW 9808+)
* J-Class: J280/282/2240 (only w/ XSW 9808+)

------------------------------

Subject: 5.5.3 Where can I find detailed documentation of the various
kernel parameters?
Added: 01/22/03

The following URLs provide documentation for kernel parameters on 11.00
and 11i:

o 11.00:
o 11i:

Additionally, in 11.22 and later, each kernel parameter has its own
manpage in section 5. These generally contain greater detail than the
above URLs and much of it is also applicable to 11.00, 11.11, and/or
11.20. These manpages can be viewed online at:

o


------------------------------

Subject: 5.6 Monitors, Diagnostics, and Performance

------------------------------

Subject: 5.6.1 How can I look at what my system is doing?
Updated: 04/08/01

The best tool for monitoring your system is HP GlancePlus. In the U.S.
call 800.237.3990 for a trial version. Outside the U.S. contact your HP
sales representative. HP sells other performance tools as well including
HP Performance Collection Software, HP PerfRX (for long-term performance
analysis of a single system), and HP PerfView which runs under OpenView
(for simultaneous monitoring of a network of systems including HP-UX,
Solaris[TM], and AIX[R].

A couple cheaper, but less robust, options are the sar(1M) and top(1)
commands.

On 9.x systems, you can use /usr/contrib/bin/monitor.

------------------------------

Subject: 5.6.2 What happened to the sysdiag command?
Updated: 03/27/01

For HP-UX 10.01 and later, the HP-UX Online Diagnostic System, of which
sysdiag(1M) was a part, has been replaced with the HP-UX Support Tools
package (HP Part No. B6191AAE). sysdiag's replacement is called Support
Tools Manager (STM). See stm(1M).

The Support Tools come preinstalled on HP9000 systems purchased on or
after May 1999. Note, the SD bundle name for Support Tools is
'OnlineDiag'. For older systems, the latest release of Support Tools can
be downloaded, free of charge, from the "network & system administration"
section of . For Support Tools documentation,
see
.

------------------------------

Subject: 5.6.3 How can I improve overall system performance?
Updated: 05/03/02

There are, of course, many answers to this question. Many people have
noticed that HP's conservative choices in some configuration areas affect
performance, especially as compared to Solaris. A couple examples:

o 'fs_async' kernel parameter

HP-UX by default makes all file systems I/O synchronous. Sun[R],
by contrast, defaults to asynchronous I/O and depends on the
syncer.
Changing this parameter's value from 0 to 1 can significantly
increase write speeds, BUT at the risk of losing data in a system
crash. You can change this parameter using SAM.

o 'async' NFS option

Similar to local writes, NFS writes to a filesystem exported from
an
HP-UX system are synchronous by default. Add the async option to
your /etc/exports if you want to change that, but be sure to
carefully read the exports(4) manpage first.

An abundance of performance tuning tips are provided by HP in the
following
tuning guides:

o HP-UX Workstation System Tuning and Performance Guide, 08/31/00:



o HP-UX Kernel Tuning and Performance Guide v3.1, 03/15/00:


------------------------------

Subject: 5.7 Networking and Communications

------------------------------

Subject: 5.7.1 How can I change the order of hostname resolution?
Updated: 03/22/01

Edit /etc/nsswitch.conf. See nsswitch.conf(4).

------------------------------

Subject: 5.7.2 How can I track network packets?

TRACING - Trace all packets seen by the device driver on the HP nodes,
except diskless packets. Trace packets sent by the node, or
addressed to the node.

Network tracing can be done with nettl(1M). nettl can only be used by
the
superuser, so su to root before proceeding.

1. Start Trace - put data into 1MB trace file. The data
will be stored in /tmp/raw.TRC0 and /tmp/raw.TRC1
The most recent data will always be in TRC0, when
it fills up, TRC0 is renamed TRC1, and new logging
continues in the TRC0 file. They fill up quickly!

nettl -tn all -e ns_ls_ip -size 1024 -tracemax 99999 -f /tmp/raw

This will trace packets in, packets out, and loopback packets at the
IP
Layer (ns_ls_ip). If you need link-specific packet tracing you must
specify the appropriate network driver or "-e all".

2. Stop trace as soon as an event occurs!

nettl -tf -e all

3. Format trace into a print file:

netfmt -N -n -l -f /tmp/raw.TRC0 [ -c /tmp/filter ] > /tmp/fmt0
netfmt -N -n -l -f /tmp/raw.TRC1 [ -c /tmp/filter ] > /tmp/fmt1

-N - print in "nice" format (e.g. interpret)
-n - print IP addresses, not hostnames
-l - do not highlight fields (for hpterm)
-f - input file (nettl-generated trace data)
-c - optional, use a filter file (see "filtering", below)

NOTE: netfmt takes a while to run! There will be plenty of info in
the trace file - interpretation may be necessary!

3a. Filtering. Create a filter file to tell netfmt what packets you
are interested in seeing.

E.g. only display packets to/from IP address 192.10.11.1:
filter ip_saddr 192.10.11.1
filter ip_daddr 192.10.11.1

Filter out all put NFS packets (to/from UDP port 2049)
filter udp_sport 2049
filter udp_dport 2049

Filter out all but TCP packets to/from port 25 (sendmail):
filter tcp_sport 25
filter tcp_dport 25

Filter on ethernet addresses:
filter dest 08-00-09-49-91-4a
filter source 08-00-09-49-91-4a

You can put these together (e.g. filter all NFS packets to/from IP
addr):
filter ip_saddr 192.10.11.1
filter ip_daddr 192.10.11.1
filter udp_sport 2049
filter udp_dport 2049

3b. To create timestamped 1-liner trace analysis file of all packets in
capture file:

# netfmt -N -n -l -1 -T -f /tmp/raw.TRC0 >/tmp/fmt0-1

...take note, that there is a -l (ell) and a -1 (number one)
specified!

To create a timestamped 1-liner trace analysis file using a packet
filter, first see information in Step #3a on creating a filter file,
then:

# netfmt -N -n -l -1 -T -c /tmp/filterfile -f /tmp/raw.TRC0 \
>/tmp/fmt0-1f


...take note, that there is a -l (ell) and a -1 (number one)
specified!

HP-UX 10.20 and 11.X can use tcpdump/libpcap as found at
To select the interface to trace, one uses the -i
option and gives the interface name as "/dev/dlpiN" where N is the PPA
of the device. One uses lanscan to find PPAs. On 10.20, the PPA happens
to be the same as the Network Management ID (NMID) and is not the same
as the N in "lanN." On 11.X, the PPA happens to be the same as the Card
Instance number and happens to be the same as the N in "lanN." The
/dev/dlpiN specified to tcpdump/libpcap is not the same as the device
file /dev/dlpiM. What actually happens is tcpdump/libcap opens /dev/dlpi
and bind to PPA N. The /dev/dlpiM device files are for other uses.

------------------------------

Subject: 5.7.3 How to get the MAC address for a particular network
interface?
Added: 04/09/01

From the command-line
=====================
Run lanscan(1M).

The output will look similar to this:

Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI
DLPI
Path Address In# State NamePPA ID Type Support
Mjr#
0/0/0/0 0x00306E06C47D 0 UP lan0 snap0 1 ETHER Yes 119
0/2/0/0 0x001083FB9956 1 UP lan1 snap1 2 ETHER Yes 119

The output will have one entry for each LAN card in the computer. The
second field ("Station Address") is the MAC address.

To get the MAC addresses of another machine on the LAN, try the
following:

$ ping {hostname} -n 1
$ arp -a | grep {hostname}

where {hostname} is the hostname or IP address of the remote machine.

Programmatically
================
The old (9.x) way to do this was by using the LLA (Link Level Access)
API,
which is obsolete in 10.x/11.x. The new way to do it is by using the
DLPI
(Data Link Provider Interface) API, LLA's replacement. For information
on migrating your code from LLA to DLPI, refer to chapter one of the LLA
Programming and Migration Guide (HP Part No. 98194-90053) at
.

You might want to check for a "logical" MAC address, rather than the
physical, if the software is going to be used in a switchover
environment.

For more information on DLPI programming, refer to the DLPI Programmer's
Guide (HP Part No. B2355-90139), available online at
.

Side Note
=========
To figure out what vendor made your Ethernet card based on the MAC
address, check out
.

------------------------------

Subject: 5.7.4 Is there a Transport Level Interface (TLI) interface to
TCP on HP-UX?

In HP-UX 10.00-10.20, a special module exists which provides XTI access
over the BSD stack - TLI is not supported. TLI, for the most part after
SVID 3 volume 5, has stopped evolving and is being replaced by XTI in
most implementations. XTI is standardized by X/Open and the current
versions from most vendors should be XPG4 compliant with some being
branded as the branding test suites are made available by X/Open.

Note the reason one needs a streams-based TCP is that both TLI and XTI
rely upon a streams-based module, timod, to provide specific
functionality
within the kernel and this module needs to be pushed upon the transport
stack. Since HP-UX uses a BSD transport which is not streams-based and
is therefore incapable of having a streams-based module pushed upon it,
one can not run TLI/XTI directly upon it, and, hence, a special streams
module was created to provide this functionality for HP-UX 10.0.

As of HP-UX 10.30, the BSD-based transport is replced by a Streams-based
one. XTI no longer requires a special streams module. In the past,
where
one would open /dev/inet_cots to get TCP, one can open /dev/tcp and get
TCP.

------------------------------

Subject: 5.7.5 How do I disable IP Forwarding?

For HP-UX 10.x, one uses nettune to set the variable ip_forwarding to 0.
For HP-UX 11.x, one uses ndd to set the variable ip_forwarding to 0. For
HP-UX 11.x, this tune can be placed in the file /etc/rc.config.d/nddconf
and will then be applied automagically on every reboot.

------------------------------

Subject: 5.7.6 Why is ifconfig giving me errors when I try to configure
my LAN?

When I try to configure my lan device on my s700 I get the error
ifconfig: no such interface - why is that?

This is because the interface's hardware state is down. The s700 machines
need to be connected to a network before they can be configured with
ifconfig. Add the s700 machine to the network and then reset the
interface
by running landiag (LAN->RESET). If no errors are reported, then you
should be able to ifconfig that interface.

------------------------------

Subject: 5.7.7 How do I change the hostname, IP address, DNS Server,
etc?
Updated: 06/20/01

To change these system parameters, you should use the /sbin/set_parms
sehll script. This script modifies the system configuration file
/etc/rc.config.d/netconf. set_parms does not backup the netconf file, so
it's a good idea to back it up yourself before running set_parms:

# cd /etc/rc.config.d
# cp -p netconf netconf.prev

To print the usage for set_parms, run the script with no arguments:

# /sbin/set_parms

After modifying netconf, set_parms will ask you whether you want to
reboot
the system; this is necessary in order to apply the configuration
changes.
You can answer "Yes, Reboot", or you can answer "No, Do Not Reboot" and
reboot at a later time.

------------------------------

Subject: 5.7.8 How do I determine the speed and duplexity of my network
interface?
Updated: 04/19/01

Use the lanadmin(1M) tool as follows:

# echo "lan display quit" | lanadmin

The "Description" line shows the duplexity, if the network interface
supports something other than half duplex. The "Speed" line shows the
speed in bits per second (bps).

------------------------------

Subject: 5.7.9 How do I display all active Internet (TCP and UDP)
connections?
Added: 06/01/01

# netstat -anf inet

------------------------------

Subject: 5.7.10 How can multiple IP addresses be configured on one
interface?
Updated: 11/18/01

ifalias
=======
On 10.x, a patch can be installed that adds a new command called ifalias,
allowing one to add multiple IP addresses on one interface without having
to buy MC/ServiceGuard:

o For 10.20: PHNE_12492
o For 10.10: PHNE_7108
o For 10.01: PHNE_7107
0 For 10.00: not available

After installing the patch, see the ifalias(1M) manpage. The command's
syntax is very straightforward:

# ifalias lanX add

where X is the interface number, and is the list of IP
addresses you wish to alias.

It is also a good idea to install the latest ARPA Transport patch:

o For 10.20: PHNE_22507
o For 10.10: PHNE_19935
o For 10.01: PHNE_20188
o For 10.00: PHNE_13474

ifconfig
========
On 11.x, no additional patches are required, and one does not use the
ifalias command. The functionality is part of the ifconfig(1M) command.
For additional aliases on the same physical interface, one would do:

# ifconfig lanX:0 ...
# ifconfig lanX:1 ...
...
# ifconfig lanX:N ...

where X is the interface number. Note, 'lanX' is equivalent to 'lanX:0'.

To persist the configuration, modify /etc/rc.config.d/netconf. The
format
should resemble the following:

INTERFACE_NAME[0]="lan0"
IP_ADDRESS[0]=13.13.10.1
SUBNET_MASK[0]=255.255.255.0
BROADCAST_ADDRESS[0]=""
INTERFACE_STATE[0]=""
DHCP_ENABLE[0]=0

INTERFACE_NAME[1]="lan0:1"
IP_ADDRESS[1]=13.13.20.15
SUBNET_MASK[1]=255.255.255.0
BROADCAST_ADDRESS[1]=""
INTERFACE_STATE[1]=""
DHCP_ENABLE[1]=0

Again, it is a good idea to install the latest ARPA Transport patch:

o For 11.11: PHNE_27063
o For 11.00: PHNE_27886

cmmodnet
========
HP's MC/ServiceGuard product also allows you to configure multiple IP
addresses on one interface, using the cmmodnet command which adds IP
addresses to existing interfaces. For example:

# cmmodnet -a -i 15.13.169.16 15.13.143

Where -a is add, -i 15.13.169.16 is the IP address to add, and 15.13.143
is the subnet on which to add it. The cmmodnet command (via the
ioctl()s)
then figures out which interface the subnet is currently on and adds
the new IP address to that interface.

VIF
===
Similar functionality for HP-UX 9.x can be obtained using the VIF kernel
driver by Steinar Haug . For more info, see:

o

------------------------------

Subject: 5.7.11 How can I enable the LAN interface on a 700?

This can be problem when the LAN isn't connected at boot time. To resolve
the problem, use the 'reset' command in 'landiag'.

------------------------------

Subject: 5.7.12 Where can I get STREAMS for HP-UX?
Updated: 03/30/01

STREAMS/UX is included with and fully supported on HP-UX 10.00 and later.

For HP-UX 9.x, STREAMS/UX was a product that could be purchased
separately. STREAMS/UX is based on the OSF/1[R] streams code, which in
turn is based on streams code from Mentat.

The HP manual "STREAMS/UX for the HP 9000 Reference Manual" (Part No.
J2237-90005) can be viewed online at:

o

Also, there are a number of kernel parameters for streams. An
explanation of these parameters is provided online (see section 5.5.3
for more info).

------------------------------

Subject: 5.7.13 What version of BIND (named) comes with HP-UX?
Updated: 12/11/02

HP-UX 11.20 comes with BIND version 9.2.
HP-UX 11.11 comes with BIND version 8.1.2.
HP-UX 11.00 comes with BIND version 4.9.6.
HP-UX 10.20 comes with BIND version 4.9.3.
HP-UX 10.00 comes with BIND version 4.8.3.

Use what(1) to determine what version of BIND is installed:

$ what /usr/sbin/named | grep named
/usr/sbin/named:
named 8.1.2 Tue Feb 15 06:58:53 GMT 2000

There are several patches available for BIND:

o 11.11: PHNE_23275 - provides several bug fixes & new 'nsupdate' tool
o 11.00: PHNE_23274 - upgrades BIND to v4.9.7.
o 10.x: PHNE_23277 - upgrades BIND to v4.9.7.

One can download a free copy of BIND 9.2.0 for 11i or BIND v8.1.2 for
11.00 from ("enhancement releases" section).
Note there are substantial differences between BIND 4.x and BIND 8.x/9.

------------------------------

Subject: 5.7.14 What version of sendmail comes with HP-UX?
Updated: 12/11/02

HP-UX 11.20 comes with sendmail version 8.11.1.
HP-UX 11.11 comes with sendmail version 8.9.3.1.
HP-UX 11.00 and 10.20 come with sendmail version 8.7.1.1.
HP-UX 10.00/01/10 come with sendmail version 5.65.

Use what(1) to determine what version of sendmail is installed:

$ what /usr/sbin/sendmail | grep version
/usr/sbin/sendmail:
version.c 8.9.3.1 (Berkeley) 10/01/2000

There are several patches available for sendmail:

o 11.11: PHNE_25184 - provides a couple bug fixes
o 11.00: PHNE_24419 - upgrades sendmail to v8.9.3.1 and provides a
bunch of bug fixes
o 10.20: PHNE_25183 - upgrades sendmail to v8.9.3.1 and provides a
bunch of bug fixes

One can download a free copy of sendmail 8.11.1 for 11.x or sendmail
v8.8.6 for HP-UX 9.x or 10.0x/10 from
("enhancement releases" section). Note there are substantial differences
between sendmail 5.x and sendmail 8.x.

------------------------------

Subject: 5.7.15 What version of NFS comes with HPUX?
Updated: 01/03/02

o HP-UX 11.00/10/11 come with NFS Version 2 and 3 over UDP and TCP.
o HP-UX 10.20 comes with NFS Version 2 over UDP. NFS Version 3 over
UDP can be added by installing the latest XSW patch bundle or by
installing the latest NFS patch - currently:
- PHNE_25234
o HP-UX 10.00/01/10 come with NFS Version 2 over UDP only.

------------------------------

Subject: 5.7.16 What is the difference between automount and AutoFS?
Updated: 09/12/03

There are two versions of the Automounter available:

o automount: Also called the "legacy" or "user space" automounter,
ported from SunOS 4.X. The legacy automounter supports
NFS Version 2 over UDP ONLY (even on 11.x). When it
runs, you see a process named "automount" running.

o AutoFS: This is an older version of the Solaris AutoFS automounter.
The AutoFS automounter supports NFS Version 2 and 3 over UDP
and TCP. When it runs, you see a process named "automountd"
running, and a kernel helper process called "autofs_proc".
The "automount" command is used to re-read and update the
AutoFS configuration. AutoFS is only available on 10.20 NFS
patch versions since 1999. It is available on all 11.x NFS
patch levels.

The /etc/rc.config.d/nfsconf variable AUTOFS controls if the legacy
automounter is used (AUTOFS=0), or if the AutoFS is used (AUTOFS=1). You
cannot run both versions simultaneously on the same host. You can change
between the versions by stopping the nfs.client service, updating
nfsconf, and then restarting the nfs.client service.

------------------------------

Subject: 5.7.17 Can I configure multiple network interfaces on the same
subnet?
Added: 05/14/01

You can configure it, but it may not do what you expect.

When two ore more interfaces are configured into the same subnet, all
interfaces can recieve traffic. However, only one of them will be used
for outbound traffic - either the first or last configured (ifconfig)
- I can never remember which.

On 10.20, you are pretty much stuck unless you want to configure
static routes pointing at each specific local interface IP to give you
the outbound pattern you deisre.

On HP-UX 11.X, you can use ndd to set ip_strong_es_model to a value of
1. This will force route lookup to include the source IP address. In
effect, you get per-interface routes. It also means that the system
will only accept traffic to a given IP address on the interface with
that same IP address configured.

------------------------------

Subject: 5.7.18 Does HP-UX come with a DHCP server?
Added: 08/23/01

Yes, bootpd can act as a DHCP server, as well as a BOOTP server. To
configure it you'll need to add client entries in /etc/dhcptab and
uncomment the bootps line in /etc/inetd.conf. See bootpd(1M) for
details.

------------------------------

5.7.19 Is there a port management tool / firewall for HP-UX?
Updated: 01/23/03

Yes, for HP-UX 11.x there is HP IP Filter. It is a free add-on and is
based on the public domain IP Filter package. You can find it on the
HP-UX Applications CDs from March 2001 or later. Look for the following
bundle:

B9901AA HP IPFilter 4.0alpha18 A.04.00

It is also available for download from:

o


It is recommended that you install the latest ARPA Transport patch before
using IP Filter:

o For 11.11: PHNE_27063
o For 11.00: PHNE_27886

HP IP Filter is not available for 10.x.

You can find documentation, source code, and instructions for building IP
Filter for HP-UX 11.x from source at the IP filter homepage:

o

------------------------------

Subject: 5.8 Peripheral Devices

------------------------------

Subject: 5.8.1 How do I use the floppy drive on my HP-UX workstation?
Updated: 04/30/01

HP9000 workstations can be equipped with a 3.5" floppy drive, which
enables the use of DOS-formatted 1.44 MB floppy disks. Older systems
use SCSI floppy drives, newer systems use standard PC floppy drives.
To use the floppy drive:

If you intend to write to the floppy disk, make sure that the write
protect tab is set to WRITE (tab closed). Insert the disk into the
floppy drive. To view the contents of the floppy disk enter the
command:

$ dosls /dev/rfloppy/c0t1d0:

(The exact name device file depends on your machine type.) To copy
files to or from the floppy disk, use the doscp command. For example:

$ doscp somefile /dev/rfloppy/c0t1d0:
$ doscp /dev/rfloppy/c0t1d0:/somefile ~

For details of these commands and other related commands (dosmkdir,
dosrm, etc.), consult dosif(4). To eject the floppy disk, press the
button located below and to the right of the slot where you inserted
the floppy disk.

The dosif commands are very slow; a faster alternative that can handle
long filenames and also works with ZIP drives and similar devices is
the free Mtools package, available from the HP-UX Porting and Archive
Center (see 7.1.2.1) and .

------------------------------

Subject: 5.8.2 How can I format a floppy under HP-UX?

There is no HP-fully-supported way of getting an MS-DOS floppy formatted
on HP-UX. (Once you have a PC-compatible floppy, the series of commands
referenced in the dosif(4) manpage allow you to read and write the
floppies).

However, there is a workaround. Perform the basic mediainit with the
-f16 switch (this causes the floppy to bbbbbeeeeeeeee formatted with the
full 80
tracks, rather than HP's default safer-but-nonstandard 77+3spare tracks,
512-byte sectors, no sector skew: just like the most basic PC floppies).
Then copy on the FAT, directory, label, and other such magic from an
honest-to-goodness formatted-on-a-real-PC drive into the first N sectors.
For sizes up to 1.44MB floppies, N=20 is more than enough; I don't have
the values for the rarely used 2.88MB size (and I don't think the drives
in the s700 handle that size anyway). This header magic should be copied
off an honest-to-goodness PC floppy once with the command

# dd if=/dev/rfloppy of=/a/good/place/to/store/the/header bs=512 \
count=20

and then written back to each "cloned" floppy with the same command,
reversing "if" and "of". (Slightly faster performance is possible using
the variant:

# dd of=/dev/rfloppy if=/the/copied/header ibs=512 count=20 obs=9k \
conv=sync

This causes floppy I/O to be done in multiples of 9kB, i.e. one cylinder
at a time.)

You should of course have two such headers, one for 720kB and one for
1.44MB floppies: lying to MS-DOS or the dos* utilities about the floppy
capacity would be a bad idea. If you're writing a script to automate
all this, you can determine the capacity of a floppy loaded in the drive
using the following fragment of Korn shell:

kbsize=$( diskinfo -b /dev/rfloppy 2>/dev/null )
if (( $? != 0 || $kbsize == 0 )) ; then
print -u2 "$0: Wot, no media!?"
rm -f core # 9.01s700 diskinfo coredumps
exit 1
fi

------------------------------

Subject: 5.8.3 How can I get an Exabyte to work on an HP?
Updated: 01/23/03

A number of Exabyte drives are supported by HP-UX, though, in some cases,
the tape drive's firmware may need to be updated. Information on
upgrading your tape drive to the latest firmware can be obtained here:

o

To determine the level of firmware installed in a tape drive, try:

# ioscan -funC tape

It is also not a bad idea to upgrade the system's SCSI tape drivers -
stape (tape2 also, on 10.x). However, this will require a reboot...

o For HP-UX 10.10, install PHKL_19804.
o For HP-UX 10.20, install PHKL_22855.
o For HP-UX 11.00, install PHKL_28216.
o For HP-UX 11.11, install PHKL_28217.

Several third-party vendors of backup software (to be specific - BakBone,
Computer Associates, Legato, SCH, SOPRA, and VERITAS) support certain
Exabyte drives on HP-UX. For a complete listing of which vendors support
which drives, see:

o

What about OmniBack, you may ask. Though

indicates that HP's OpenView OmniBack II software supports Exabytes only
on the Windows platform, HP does support the Exabyte 8505XL drive
(internal and external) with OmniBack 2.1 and later for HP-UX systems.

------------------------------

Subject: 5.8.4 How can I get a stuck DDS tape out of the drive?

1) Power down your machine (remember shutdown!!! ;-))
2) Open it up (you'll prob. need Torx screwdrivers).
3) On the side of the drive, you should see a small rectangular piece
of plastic. Gently pry it off... it should come off quite easily.
4) The aforementioned piece of plastic covers a hole, which houses a
small dial. Spinning this dial ejects the tape.
5) Replace plastic piece, close machine... and Bob's your uncle.

p.s. The dial has very little torque (ie. the tape comes out quite
slowly, but you can see it move. It'll take about 2-3 minutes of
spinning before the tape comes out.

------------------------------

Subject: 5.8.5 Do I need to terminate the internal SCSI on a 700?

According to some people, an unterminated internal SCSI on a 700
will cause interrupts which are ignored but slow down the machine.
Terminate to be safe.

------------------------------

Subject: 5.8.6 How can I play audio CDs on an HP workstation's CD-ROM
drive?
Updated: 03/29/01

Use xmcd.

Xmcd is a full-featured CD Player utility package including xmcd, a CD
Player for the X window system using the Motif graphical user interface,
and cda, a command-line driven, text-mode CD Player which also features a
curses-based, screen-oriented mode. Both utilities transform your
CD-ROM,
CD-R or CD-RW drive into a stereo CD player, allowing you to play music
CDs on your computer.

A CD database feature is supported, maintaining the disc artist/title,
track titles, and arbitrary text (such as band information and song
lyrics). A large Xmcd database can be downloaded from the Liverpool
archive; the name of the package is xmcd_cddb.

Moreover, xmcd supports CD recognition via CDDB[TM], and even supports
using a proxy server to get to CDDB[TM] servers from behind a firewall.

Xmcd controls the CD-ROM drive only, and does not control the built-in
audio hardware on SGI, Sun, HP and some other workstations. Thus, there
is no way to make the CD-ROM play via the workstation's internal
speakers,
unless an external program is used to control the audio hardware.

Use headphones or high quality external amplified speakers,
connected to the front jack on your CD-ROM drive. This setup should
provide sound quality that is superior to the system's internal speakers.

If you are running HP-UX 10.x or later, you may need to install an
"Audio Subsystem" patch from HP in order for the system to recognize the
CD-ROM drive as an input source:

o 10.01/10/20: PHSS_22935
o 11.00: PHSS_22936

Xmcd is free, Open Source software, released under the GNU General Public
License.

Precompiled binaries can be downloaded from the Xmcd homepage
() or the Liverpool HP-UX archive.

------------------------------

Subject: 5.8.7 How can I set up /dev/audio to point to the external jack
on a 700?

Alter the /dev/audio device file as follows:

crw-rw-rw- 1 root sys 57 0x208011 /dev/audio ; external
jack
crw-rw-rw- 1 root sys 57 0x208000 /dev/audio ; internal
speaker

The command is:

# mknod /dev/audio c 57 0x2080?? # replace ?? w/ 00 or 11

------------------------------

Subject: 5.8.8 How can I configure the parallel port handshake on a 700?

Check out cent(7).

------------------------------

Subject: 5.8.9 What are the specs of the audio hardware on the 700
series?

This is a summary of the audio features supported by the model 715, 725,
735, and 755 workstations. The 705 and 710 also have audio, but the
specs
are not available. The 720, 730, and 750 models DO NOT have audio.

Audio features Programmable sample rates (kHz): 8, 11.025, 16,
22.05,32, 44.1, 48
Programmable output attenuation: 0 to -96 dB in 1.5 dB
steps
Programmable input gain: 0 to 22.5 dB in 1.5 dB steps
Input monitoring
Coding formats: 16-bit linear, 8-bit mulaw, or A-law

Audio inputs Line in
(not on all models) Mono microphone with 1.5V phantom power

(Editorial comment - a Sun microphone appears to work just fine.)

Audio outputs Line out
(not on all models) Headphone
Mono speaker jacks
Built-in mono speaker

Audio CODEC Crystal CS4215

Typical specifications measured on a stock 715. Values will differ only
slightly on other models.

Frequency response 25 - 20,000 Hz

Input Sensitivity/Impedance
Line In 2.0 V(pk) / 47 kohms
Microphone 22 mV(pk) / 1 kohm

Output Impedance (nominal)
Line out 619 ohms
Headphone 118 ohms
Speaker (ext) 11 ohms

Max Output Level/Impedance
Line Out 2.8 V (p-p) / 47 kohms
Headphone 2.75 V (p-p) / 50 ohms
Speaker (ext) 5.88 V (p-p) / 48 ohms

Signal to Noise
Line In 61 dB
Line Out 65 dB
Microphone 57 dB
Headphone 61 dB
Speaker (ext) 63 dB

THD (at nominal load)
Line In -75 dB
Line Out -73 dB
Microphone -73 dB
Headphone -70 dB
Speaker (ext) -68 dB

------------------------------

Subject: 5.8.10 Is there a trackball for the 700?
Updated: 04/04/01

Yes, there are two options.

BKS manufactures and markets THE ORIGINAL HP M1309A HP-HIL Trackball,
plug-compatible with HP's standard 3-button HP-HIL mouse (~$350):

o
o

Various MOUSE-TRAK trackballs are available for s700 HP workstations -
no quad port adapter required (~$99-$325)

o

------------------------------

Subject: 5.8.11 What keyboards and mice are compatible with HP9000
workstations?
Added: 04/30/01

Michael Piotrowski has assembled a web page that lists PS/2 and USB
keyboards and mice that have been reported to work on HP9000
workstations:

o

As for serial mice, most Logitech or Microsoft models should work. The
following entry would need to be in /etc/X11/X0devices:

Begin_Device_Description
Name pcmouse.1
Use Pointer
Path /dev/tty0p0
End_Device_Description

Be sure to change the device file if needed, and chmod it to 666 (the
Xserver runs as 'daemon', not 'root', and it must have read/write access
to the device file).

------------------------------

Subject: 5.8.12 How do I change the keyboard type (e.g. from UK to
German
or vice versa) after HP-UX is already installed?
Updated: 12/30/03

To change the keyboard type only until the next system reboot, execute
the
following commands as root:

# /sbin/itemap -i -L

To persist the new keyboard type setting across system reboots, execute
the
following commands as root:

# rm /etc/kbdlang
# /sbin/itemap -i -L -w /etc/kbdlang

In either case, you will be prompted for the keyboard type, as you were
during the OS installation.

------------------------------

Subject: 5.8.13 How do I ascertain which device file corresponds to my
CD-ROM or DVD-ROM drive?
Added: 03/05/02

To get the path of your CD-ROM or DVD-ROM device file:

$ CDROM=`ioscan -fkn -C disk | awk '{if(match($0,"(CD|DVD)-"))\
{getline;print $1}}'`
$ echo $CDROM

To verify that this device file path is correct:
$ ioscan -k $CDROM
or, as root:
# diskinfo `echo $CDROM | sed 's:^/dev/:/dev/r:'`

------------------------------

Subject: 5.9 Printers and Plotters

------------------------------

Subject: 5.9.1 What happened to lpr?
Updated: 04/05/01

lpr is part of the BSD-style print queue system, which is being phased
out
over the next few years in favor of the System-V-style system. As of
HP-UX 10.00, the SYSV system is bundled. Here's a quick cheatsheet:

lpr -Pvaxps -> lp -dvaxps
lpq -Pvaxps -> lpstat vaxps
lprm -Pvaxps ID -> cancel vaxps ID

Why would I want to switch over to the System-V-style HP-UX LP spooler?

Because you can do neat things like:

$ lp -dvaxps -odouble FILENAME

which will print double-sided, that is, on both sides of the paper, if
your printer supports it.

How do I send output from nroff to HP LaserJet printers?

Try this:

$ nroff -Tlj ... | lp -onroff

------------------------------

Subject: 5.9.2 Why does lpstat report the printer down, even though it's
not?

You may be missing the following line in your /etc/passwd, required for
the LP system to function properly:

lp:*:9:7::/var/spool/lp:/sbin/sh

------------------------------

Subject: 5.9.3 How can I turn off the LP banner page?
Updated: 04/04/01

Depending on the type of spooler script, do either:

a) Edit your /var/spool/lp/interface/"printer name" file, and disable
the banner page. Note that if you are using the JetAdmin tool, the
script will instead be /var/spool/lp/interface/model.orig/"printer
name" The most commonly used means of diabling the banner page is
changing the BANNER variable's value from "yes" to "no"

b) Newer interface files (in /var/spool/lp/interface/*) may call
/usr/sbin/rlp; if your model script does this then insert the
following line before the /usr/sbin/rlp statement:

BSDh="-h"

The model script would now look something like:

...
shift; shift; shift; shift; shift
# Added the no banner option here
BSDh="-h"
/usr/sbin/rlp -I$requestid $BSDC $BSDJ $BSDT $BSDi $BSD1 $BSD2
...

------------------------------

Subject: 5.9.4 How can I print man pages without losing the formatting?
Updated: 04/07/01

To get the italic and bold fonts from the man file on a LaserJet:

$ zcat manfile.1 | nroff -man -Tlj | lp ...

On a PostScript printer (you'll need GNU groff):

$ zcat manfile.1 | groff -man -Tps | lp ...

If your man file is a complex one including tables, pipe it through 'tbl'
before piping it through 'nroff'.

Some man pages like ioctl(2) may need the HP macros:

$ zcat manfile.1 | groff -t -e -C -M/usr/lib/tmac -man -Tps | lp ...

Note, on man files that are not compressed, use cat in place of zcat.

------------------------------

5.9.5 How can I view and print Postscript (.ps) files?
Added: 07/08/02

To view PostScript files, install the GhostScript package as well as the
GhostView (gv) package. Then you can use gv (an X app) to display .ps
files.

To print PostScript (.ps) files, it is necessary to have a
PostScript-compatible printer.

If you do have a PostScript printer, simply use the 'lp' command as
follows:

$ lp foo.ps

If you do not, there are public domain programs, for example,
ghostscript,
that can convert PostScript to other printer languages such as PCL.

------------------------------

Subject: 5.10 Process Management

------------------------------

Subject: 5.10.1 How much memory can a process use?
Updated: 04/07/01

There are three kernel parameters that control this.

The maximum user-stack segment size for a process is specified via the
'maxssiz' kernel parameter. The user-stack segment is where dynamically
allocated (ie - malloc'ed) data is stored.

The maximum shared-text segment size for a process is specified via the
'maxtsiz' kernel parameter. The shared-text segment is where executable
code is stored.

The maximum data segment size for a process is specified via the
'maxdsiz'
kernel parameter. The data segment is where statically allocated data
(ie - arrays) is stored.

The max[std]siz parameters are fences, not consumable resources.
Therefore, you can set them to large values with no impact on the kernel.
Their sole purpose is to prevent poorly written programs from using
massive amounts of memory.

For the values of both maxssiz maxdsiz, use integers that are multiples
of 4096 bytes, the system pagesize.

More information on maxdsiz, maxssiz, and other process-related kernel
parameters is provided online (see section 5.5.3 for more info).

Another potential limiter is swap space. The combined virtual data space
of all running processes can't exceed swap size. Run /etc/swapinfo -t
and
look at the "total" line. That's what you have left.

------------------------------

Subject: 5.10.2 Why do my processes keep dying at 64 MB memory usage?
Updated: 04/08/01

You need to increase the kernel parameter "maxdsiz". By default, the
per-process data space is limited to 64 MB. More information on maxdsiz
can be found online (see section 5.5.3).

------------------------------

Subject: 5.10.3 How do I set per-process limits?
Added: 09/13/01

Many system-wide per-process limits can be set by root by modifying
kernel
parameters. Regular users can also set some per-process limits via shell
builtins. Of course, system-wide limits cannot be exceeded.

In the POSIX and Korn shells, the 'ulimit' builtin command can be used to
set pre-process limits. Though both builtins have the name ulimit, their
capabilities and syntax are different.

For the Korn shell (ksh), ulimit only affects the filesize limit, which
defaults to 4194303, which ksh interprets to mean unlimited. See ksh(1).

For the POSIX shell (sh), there are several variables that can be set
with ulimit. The 'ulimit -a' command lists all the variables that can be
set. There are soft and hard limits for these variables, and some ulimit
maximum values are based on certain kernel parameters:

Soft Limit Relevant Kernel Params
================================================== ======
$ ulimit -aS
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 65536 max determined by maxdsiz
stack(kbytes) 8192 max determined by maxssiz
memory(kbytes) unlimited
coredump(blocks) 4194303
nofiles(descriptors) 60 max determined by maxfiles

Hard Limit Relevant Kernel Params
================================================== ======
$ ulimit -aH
time(seconds) unlimited
file(blocks) unlimited
data(kbytes) 65536
stack(kbytes) 8192
memory(kbytes) unlimited
coredump(blocks) unlimited
nofiles(descriptors) 1024 max determined by maxfiles_lim

See also sh-posix(1).

The C shell (csh) has similar variables. These variables can be set
using
the csh 'limit' builtin command. See csh(1).

------------------------------

Subject: 5.10.4 How can I tell what files, ports, etc.. a process has
open?
Added: 11/10/01

You need to download and install lsof (LiSt Open Files), an indispensable

freeware utility. The lsof homepage is:

o

HP-UX binaries can be downloaded from one of the below sites:

o
o

However, the author discourages using precompiled binaries, and instead
recommends compiling lsof yourself on the same system on which you'll be
running it.

------------------------------

Subject: 5.10.5 How can I get the ps command to display more than 64
characters of process command lines?
Added: 01/22/03

It is finally possible on any 11.x system!

11i adds a new option -x to ps that will display up to 1K of the command
line. On 11.00, this functionality can be added by installing the
following patches:

o PHKL_28202
o PHKL_26008
o PHCO_26274

------------------------------

Subject: 5.11 Routine Tasks

------------------------------

Subject: 5.11.1 How can I track log files and core files?

SAM allows you to track all standard log files and trim them if desired.
It will also find all core files on a file system and allow you to get
rid of them.

------------------------------

Subject: 5.11.2 What's a good strategy for clearing /tmp and /var/tmp?
Updated: 03/29/01

Run the below shell script from root's crontab:

#!/bin/sh
DAYS=7
DIRS="/tmp /var/tmp"
find $DIRS -depth -fsonly vxfs -fsonly hfs -atime +$DAYS \
-exec rm -rf {} \;

The -depth option ensures no directory is removed before its contents,
-fsonly options are to avoid attempting ttttttttto remove files
beneath NFS or
CDFS mountpoints that might exist.

------------------------------

Subject: 5.12 Software Management

------------------------------

Subject: 5.12.1 General Software Management

------------------------------

Subject: 5.12.1.1 Where can I find out more about Software Distributor
(SD-UX)?
Updated: 03/30/01

HP Software Distributor, also known as SD-UX, is used to install, update,
remove, and package software on HP-UX 10.0 and later. SD-UX is often
informally shortened to just SD (even though there is also an unbundled
HP OpenView product called SD-OV that offers enhancements over SD-UX).
All HP-UX 10.x and 11.x software is shipped on media compatible with SD.

SD offers three user interfaces:

1. An interactive graphical user interface available for the swinstall,
swcopy, and swremove commands.

2. An interactive user interface suitable for ASCII terminals (on S800)
for the swinstall, swcopy, and swremove commands.

3. A non-interactive command-line user interface for all commands.

The SD-UX manual ("Managing HP-UX Software With SD-UX") is available
online:

o for 11.11:

o for 11.00:

o for 10.xx:


There are also several excellent whitepapers available on SD-UX's
patch-related features:

For 11.x:

o

For 10.x:

o

For additional information on SD commands and features, see the SD manual
pages (start with sd(5)) and the SD GUI's online help.

------------------------------

Subject: 5.12.1.2 How can I tell what products have been loaded on my
system?

Use the swlist command. See swlist(1M).

------------------------------

Subject: 5.12.1.3 How do I safely remove software from my system?

Use the swremove command. See swremove(1M).

------------------------------

Subject: 5.12.1.4 How is the unique node ID used for licensing
determined?
Added: 04/16/01

Most licensing systems (LicensePower/iFOR, FLEX/lm, SentinelLM, NetLS,
etc..) uniquely identify a system by the MAC address of the system's
primary network interface (the interface with the lowest ID number -
usually lan0). The MAC address (aka - Station Address or Physical
Address) can be obtained by running lanscan, like so:

$ lanscan

HP-UX 10.x/11.x comes with the LicensePower/iFOR product, which uses only
the rightmost eight bytes of the MAC address as the "target ID." This
number can be obtained using the following iFOR command:

$ /opt/ifor/ls/bin/i4target -v

There is also the hardware identification number which is stored on the
SPU board. This is the number that is used by HP Software Distributor to
uniquely identify a system. The SPU ID can also be used on systems that
have no network interface. SPU IDs can only be reset by certified HP
technicians.

------------------------------

Subject: 5.12.1.5 What is Ignite-UX?
Added: 04/16/01

Ignite-UX is an HP-UX administration toolset to help you:

o Install HP-UX 10.x, 11.0 and 11i on multiple systems in your network.
o Create custom install configurations.
o Recover HP-UX systems remotely.
o Monitor system-installation status.

Ignite can be downloaded free of charge from:

o

This page also contains links to Ignite documentation, release notes,
FAQ,
specifications, mailing lists, and training.

------------------------------

Subject: 5.12.2 Patch Management

------------------------------

Subject: 5.12.2.1 Where do I get HP-UX patches?
Added: 04/06/01

All customers with a valid software agreement are sent quarterly releases
titled "Support Plus" (previously called "Extension Software"). On each
CD are the latest patch bundles for ALL supported OS/platform
combinations. If you are not receiving "Support Plus" CDs and would like
to start receiving them, contact HP.

Note that you can get "Support Plus" on tape, but HP is encouraging folks
to use CD-ROM. If you have a support contract you can call the Response
Center (800-633-3600) and have the patches sent to you on tape.

For information on how to download "Support Plus" patch bundles, or
individual patches, from the Internet, see question 7.1.1.1.

------------------------------

Subject: 5.12.2.2 How can I list all installed patches?
Updated: 04/16/01

On 10.00 and later, use:

$ swlist -l product 'PH??_*'

------------------------------

Subject: 5.12.2.3 How can I tell what patches are in the kernel?
Updated: 03/23/01

Kernel patches are required to register their presence when they are
installed into the system's kernel (/stand/vmunix). The what(1) utility
will list this information:

$ what /stand/vmunix | grep PH.._

You can compare the output of the above with the output of the command
"swlist -l product 'PH??_*'" command.

A typical kernel patch string is in HP-UX 10.x or 11.0 looks like:

PATCH_11.00: pty.o 1.6.118.4 00/03/29 PHNE_21433

And in 11.x, patch strings look like:

mem.c $Date: 2001/01/29 17:53:59 $Revision: r11.11/1 PATCH_11.11...
...(PHKL_23250)

All patches named PHKL*, and some patches named PHNE*, are kernel
patches.
See question x.x.x for a description of the patch naming scheme used by
HP.

------------------------------

Subject: 5.12.2.4 How do I get rid of old 10.x patches or superseded
patches?
Updated: 05/06/03

DO NOT USE SWREMOVE! swremove will check the scripts for the patch you
ask it to remove, and happily remove whatever file you tell it to, and
replace it with an earlier version of the patch from /var/adm/sw/patch/
(if one exists).

NOTE: If you have already removed previous OS version patches with
swremove, you will either 1) need to restore from backup, or 2) reload
the OS.

First download and install one of the following patches, which contain
the HP-UX patch tools:

o 10.x: PHCO_20824 ('cleanup' only)
o 11.00: PHCO_27779 ('cleanup', 'check_patches', & 'show_patches')
o 11.11: PHCO_27780 ('cleanup', 'check_patches', & 'show_patches')

The patch tools come with 11.00, but you should still install patch
PHCO_24347 to fix several bugs that exist in it.

The 'cleanup' tool is used to commit patches while preserving a set level
of rollback, remove HP-UX 10.x patch information from the IPD, and prune
superseded patches from a depot. The 'check_patches' utility checks for
partially installed (split) patches, incorrect patch_state, patch
attribute corruption, and objects within an archive library. The
'show_patches' tool can display the set of active or superseded patches
on a system.

To remove old 10.x patches from /var/adm/sw/patch/, use the command:

# cleanup -i

Committing a patch causes rollback files associated with that patch to be

deleted from /var/adm/sw/save/.

To commit all patches that have been superseded at least twice, use
the command:

# cleanup -c 2

On 11.x, to commit a patch that has not been superseded, use the command:

# swmodify -x patch_commit=true

In case you were wondering, 'cleanup -c 0' does not work.

WARNING: Once the above swmodify command has been executed, you CANNOT
roll back (remove) the patch unless you remove the associated
base software that the patch modified. For this reason, I do
not recommend doing it unless you desperately need to free up
space under /var, and you have exhausted all other means of
doing so.

------------------------------

Subject: 5.12.2.5 How can I install multiple patches, without having to
reboot more than once?
Updated: 04/10/01

Use swcopy(1M) on each patch to copy the patch into a local depot, then
use swinstall(1M) to install all patches contained in the local depot.

# swcopy -s /tmp/PHCO_12345.depot -x enforce_dependencies=false \* \
@ /tmp/my_patch_depot
# swcopy -s /tmp/PHCO_67890.depot -x enforce_dependencies=false \* \
@ /tmp/my_patch_depot

etc..

# swinstall -s /tmp/my_patch_depot -x autoreboot=true \*

The following script automates the process of creating the depot:

#!/sbin/sh
# cd to the directory where the patches are (PHxx_xxxx) and start
# this script. it will extract the patches one by one and create
# a patch-depot in $PDEPOT.

PATH=/usr/bin:/usr/sbin
PDEPOT=/tmp/my_patch_depot
for PFILE in PH*[0-9]; do
sh $PFILE
rm $PFILE
done
# It's a good habit first reading the PHxx_xxxx.text files before
deleting
# them.
# rm *.text
for PFILE in PH*depot; do
swcopy -s -x enforce_dependencies=false $PWD/$PFILE \* @ $PDEPOT
done
clear
echo
"************************************************** *******************"
echo " PLEASE NOTE: The Patch depot $PDEPOT has been created."
echo
"************************************************** *******************"
echo "Please start swinstall with $PDEPOT as the source, and don't"
echo "forget to unregister the depot (e.g. swreg -u -l depot $PDEPOT)."

------------------------------

Subject: 5.12.2.6 How do I configure swlist to not display superseded
patches?
Added: 04/10/01

A new option to swlist, "show_superseded_patches", was introduced in
HP-UX
11.00 via the SD-UX cumulative patch PHCO_20078. In 11.00, by default,
swlist displays all installed patches, including superseded ones. In
11.10+, by default, swlist does not display superseded patches.

Assuming you have PHCO_20078, or any more recent SD-UX cumulative
patch installed, you may change the default behavior of swlist in 11.00.
To do so, add the following line to the file /var/adm/sw/defaults:

swlist.show_superseded_patches = false

------------------------------

Subject: 5.12.2.7 What is the naming convention used for HP-UX patch
names?
Added: 04/05/01

A patch name consists of the characters "PH" (Patch HP-UX), followed by
a two-character type-identifier, followed by an underscore, followed by
a four or five-digit number.

The currently defined patch types are:

CO - COmmands & libraries
KL - KerneL
NE - NEtworking
SS - SubSystems

An example name of a Kernel patch name would be "PHKL_23507."

Kernel patches always require a system reboot, so that the newly updated
kernel can be loaded. Many Networking patches (PHNE*) also make
modifications to the kernel, and hence require a reboot.

Note that the numerical portion of any given patch name is unique, among
ALL patches. So there would never be a patch named "PHCO_23507", in
addition to a patch named "PHKL_23507." This lends itself nicely to
grepping for a particular patch (ie - to see if "PHKL_23507" is
installed, one could use "swlist -l product | grep 23507"

------------------------------

Subject: 5.12.2.8 Where can I get OpenView patches?
Added: 04/17/01

Patches for the various HP OpenView products, can be obtained at:

o

(registration required)

------------------------------

Subject: 5.13 Time

------------------------------

Subject: 5.13.1 How can I change the timezone?
Updated: 05/03/02

The timezone is dtermined by reading the 'TZ' environment variable.

This variable is set when you execute 'set_parms timezone'. Set_parms
edits the file '/etc/TIMEZONE,' which exports the 'TZ' environment
variable. When you reboot after executing set_parms, the file
/etc/TIMEZONE will be read and your TZ variable set to the value you
specified. The value is in the format:

[:]STDoffset[DST[offset][,rule]]

For example: PST8PDT for the U.S. Pacific Time Zone

See the environ(5) manpage for a detailed description of the format.

Note, the offset for daylight savings time is supplied by the
'/usr/lib/tztab' configuration file.

libc functions like ctime use the 'TZ' variable to determine the
timezone.

------------------------------

Subject: 5.13.2 How can I print yesterday's or tomorrow's date?
Updated: 07/31/01

From the command-line:
======================
[Using Perl]
To print yesterday's date:

$ perl -e
'@T=localtime(time-86400);printf("%02d/%02d/%02d",$T[4]+1,$T[3],($T[5]+1900)%100)'

To print tomorrow's date:

$ perl -e
'@T=localtime(time+86400);printf("%02d/%02d/%02d",$T[4]+1,$T[3],($T[5]+1900)%100)'

[the TZ trick]
If the system is located WEST of the Greenwich Meridian (ie - in the
Americas), you can determine tomorrow's date by temporarily subtracting
24 hours from the timezone offset, like so:

$ offset=`echo $TZ | tr -d '[A-Z+]'`
$ new_offset=`echo $offset - 24 | bc`
$ TZ=`echo $TZ | sed "s/[+-]\{0,1\}[1-9][0-9]\{0,1\}/$new_offset/` \
date +%D

Unfortunately, in this part of the world, a similar method method cannot
be used to obtain yesterday's date, because, under HP-UX, the timezone
offset can not be greater than +24.

If the system is located EAST of the Greenwich Meridian (ie - in Europe),
you can determine yesterday's date by temporarily adding 24 hours to the
timezone offset, like so:

$ offset=`echo $TZ | tr -d '[A-Z+]'`
$ new_offset=`echo $offset + 24 | bc`
$ TZ=`echo $TZ | sed "s/[+-]\{0,1\}[1-9][0-9]\{0,1\}/$new_offset/` \
date +%D

Unfortunately, in this part of the world, a similar method method cannot
be used to obtain tomorrow's date, because, under HP-UX, the timezone
offset cannot be less than -24.

[GNU date]
The GNU date command has a powerful -d option that the HP-UX date command
does not have. You can do things like:

$ date -d yesterday
$ date -d '2 days ago'
$ date -d '1 week ago'
$ date -d tomorrow
$ date -d '2 days'
$ date -d '1 week'

GNU date is part of the GNU sh_utils package. You can grab precompiled
HP-UX binaries from the Liverpool archive.

Programmatically
================
You can write a simple (and portable) C program that does the job using
the good ol' time() function:

#include
time_t today = time(null);
time_t yesterday = today - (time_t)(24 * 60 * 60);
time_t tomorrow = today + (time_t)(24 * 60 * 60);
char *date_yesterday = ctime(&yesterday);
char *date_tomorrow = ctime(&tomorrow);

NOTE: Daylight Savings Time causes problems with the above code, since
there are two days in the year when this program would fail due to
the fact that some days don't have 24 hours. Calling this program
early in the morning, the day after a 23-hour day, will give you
the day before yesterday. Calling this program late at night, on
a 25-hour day would give you the same day.

------------------------------

Subject: 5.13.3 How can I convert a timestamp (seconds since the Epoch)
to a date/time string?
Added: 04/06/01

This can be accomplished using 'adb' as follows:

echo "0d$timer=Y" | adb | tr -d '\011'

where $timer is the timestamp you wish to convert.

------------------------------

Subject: 5.13.4 What is the purpose of the 'timezone' and 'dst' kernel
parameters?
Added: 05/03/02

The 'TZ' environment variable and the 'timezone' and 'dst' kernel
parameters are two independent features to handle timezones and daylight
savings time. The former is meant to replace the latter. Unless your
application programs use out-of-date system calls, you do not have to
configure the 'timezone' or 'dst' kernel parameters.

According to the SAM help menu, the 'timezone' and 'dst' kernel
parameters
should be kept in sync with the 'TZ' variable. This was true in the past,
when older system calls were used which referenced the kernel parameters.
These two system calls are gettimeofday(2) and ftime(2). HP-UX
applications and most third party applications do not use these system
calls any more. The manpage for gettimeofday(2) states: "Programs should
use this time zone information only in the absence of the 'TZ'
environment
variable."

As long as your application programs use standard libc functions to
obtain
timezone information, you do not have to set the 'timezone' or 'dst'
kernel
parameters.

If you still need to set these parameters, here is how to do so:

o for 'timezone': multiply the TZ_offset by 60; i.e. for EST5EDT:
TZ_offset = 5, so timezone = 5 * 60 = 300
(Valid values range from -720 to 720)
o for 'dst': check the DST setting and select the proper 'dst' kernel
value (valid dst values are listed in the SAM help menu
for 'dst' kernel parameter)

------------------------------

Subject: 5.14 Users and Groups

------------------------------

Subject: 5.14.1 How can I tell if I need more than a 2-user license?
Updated: 04/10/01

For Series 700/800 machines running HP-UX 10.20 or 11.00, this is no
longer an issue, since HP is giving away unlimited user licenses!
Simply go to and search for "unlimited
license".
Then, download the UnlimUserLic bundle, and install it. No more 2-user
limit!

An unlimited license is included with 11.11 and later.

For earlier HP-UX releases, there are several fundamental things to
remember about HP-UX licensing:

o Display console counts as one user
o Each ASCII terminal counts as a user, regardless of how it is
connected
o The LAN connection counts as one user

ASCII Terminals
===============
The simple rule to remember is any ASCII terminal that is logged in
counts as a user.

ASCII terminal connections can come in several different forms:
o Direct-connected via a serial terminal multiplexer
o Connected via Data Terminal Concentrators (DTCs) or via
terminal servers
o Personal Computers (PCs) acting in terminal emulation mode,
whether connected via serial line or via Local Area Network (LAN)

X-terminals and workstations
============================
When a customer buys an X-terminal or workstation from HP or from
another vendor, HP acknowledges that the customer has also bought a
single UNIX license-to-use.

Therefore, the customer has the right to an unlimited number of logins
and
terminal windows _over_the_LAN_ to a Series 700 or Series 800 from either
X-terminals or workstations. These logins can be via X terminal windows
(_hpterm_ and _xterm_), _telnet_, _rlogin_, or other means.

PC's that use X-terminal emulation software such as XView each count the
same as an X terminal. This is because the PC essentially becomes an
X-terminal when it is running the X server software. Therefore, when a PC
is running an X-terminal emulator, the PC has the right to an unlimited
number of logins to an HP-UX system.

To purchase license upgrades for HP-UX 10.10 and earlier, go to
and search for "operating license upgrade".
You'll be provided with a link to a reseller from which you can purchase
upgrades.

------------------------------

Subject: 5.14.2 How can I set up group-based FTP access?
Updated: 04/20/01
See-Also: item 7.1.1.3

Here is how to set up ftp so that a group of users only have ftp access,
they all have their own individual passwd, but they all access the same
set of files (i.e., the system thinks they are all really the same ftp
user). With only a slight change, you can have a group of users that
only have ftp access, each with their own individual passwd, and access
only to their own set of files (this is left as an exercise for the
reader).

1) Set up anonymous ftp (assumed in later instructions to be at
/users/ftp).

2) Add a user and group to /etc/passwd and /etc/group.

For example, in /etc/passwd:

ftpuser:*:1000:1000:FTP User:/users/ftp/ftpusers:/bin/false

and in /etc/group:

ftpgroup:*:1000:ftpuser

Note that ftpuser login is disabled (a "*" in the password field).
This allows various utilities (such as "ls") to recognize files
that belong to an ftp user (particularly important for backups).

3) In /users/ftp/etc, you must have a group and passwd file, of the same
format as their related system files. For example, in
/users/ftp/etc/group add:

ftpgroup:*:1000:

and in /users/ftp/etc/passwd add:

ftpuser:*:1000:1000:FTP User:/ftpusers:/bin/false

Also, for each individual that you want to give access, add an
additional entry. Note that these have passwords (see passwd(1)
for instructions on setting passwords in this file).

george:3RgfBzfnipJPQ:1000:1000:George Smith \
(FTP User):/ftpusers:/bin/false

A few things to notice. "ftpuser" is disabled. The home directory
for ftpuser is simply "/ftpusers", since anonymous ftp performs a
chroot to the home directory specified for ftp in /etc/passwd (see
chroot(2) and chroot(1M) for details). "george" has the
same uid, gid, and home directory that ftpuser has. "george"
will login as george with his own password.

4) Under /users/ftp, create a directory "ftpusers". Make this
directory with owner "ftpuser" and group "ftpgroup", with 770
permissions. This effectively prevents anonymous ftp access to this
directory, since it is not world readable/writable.

That's it.

Users access the system via anonymous:

$ ftp sysname
Connected to sysname.whatever.
220 sysname FTP server
Name (something:someuser): ftp
331 Guest login ok, send ident as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Then, they use a sublogin to access their files:

ftp> user george
331 Password required for george.
Password:
230 User george logged in.
ftp> pwd
257 "/ftpusers" is current directory.
ftp>

Users are placed in whatever directory is specified as their
home directory in /users/ftp/etc/passwd (relative to the
chroot at /users/ftp).

To remove access, remove their passwd entry from
/users/ftp/etc/passwd.

This is all documented (though poorly) in the various ftp-related
manpages.

------------------------------

Subject: 5.14.3 Has /etc/logingroup functionality changed in 11.x?
Added: 05/03/02

HP has confirmed the change from 10.x to 11.x in the setting of the
group id at login time vis-a-vis /etc/logingroup.

It's not documented, but now the behavior is sort of the *reverse* of
10.x behavior:

10.x:
o no /etc/logingroup --> only GID is that from /etc/passwd.
The user must execute 'newgrp' to change GID.
o /etc/logingroup exists --> user is effectively the member of every
group in which he is listed in /etc/logingroup, without
having to do a 'newgrp'.

A common trick is simply 'ln -s /etc/group /etc/logingroup' if you want
membership in all groups listed in /etc/group.

11.x:
o no /etc/logingroup --> user is effectively the member of *every*
group in which he is listed in /etc/group
o /etc/logingroup exists --> user is effectively the member of *only*
the groups in which he is listed in /etc/logingroup.

So, the "workaround" to get 11.x to behave as 10.x did, is simply:

# >/etc/logingroup

Now the user is now not listed in any groups in /etc/logingroup and so is
only a member of the group listed /etc/passwd. I'm not sure why you'd
ever
want to fall back to the 10.X behavior except, maybe, legacy situations
of
some sort.

------------------------------

Subject: 5.15 X-Windows and CDE

------------------------------

Subject: 5.15.1 X Window System (X11)

------------------------------

Subject: 5.15.1.1 Where can I get X11R6?
Updated: 04/09/01

Despite the fact that the top of the X(1) manpage says "X Version 11
Release 5", HP-UX 10.20 and later actually come with Release 6. If you
want proof, just do a "what /usr/bin/X11/X". 10.20 comes with X11R6.1,
and 11.x comes with X11R6.3. If you want to run the very latest release,
you'll have to download the source from
and build it yourself - probably
not worth the hassle.

The basic core distribution of X11R6.1.1 can also be obtained from the
Liverpool archive. The package names are:

o XR6src - source
o XR6built - binaries

Notes:

- the binaries are meant to be installeddddd in /usr/local/X11R6
(if you want them elsewhere, use a symbolic link, or grab the source)
- most libraries come with archive and ssssshhhhhhhhhared versions
(and the built binaries mostly use the .sl versions)
- this is JUST the core distribution (xccccc/////////)
- xc/test and xc/workInProgress aren't iiiiinnnnnnnnncluded in the built
package
(the source is present, but hasn't been looked at in the src packages)

------------------------------

Subject: 5.15.1.2 Where can I get the missing X11 header files?
Updated: 02/27/02

As you may have noticed, HP does not ship a "full" set of X11 header
(.h) files. You can obtain the missing files from one of three places:

o HP ANSI C or HP ANSI C++ (aCC) optional products

o HP's free HP-UX Linux Porting Kit:
- order CD:

- download:

o the InterWorks FTP site:

------------------------------

Subject: 5.15.1.3 How can I set up an HP-UX workstation as an X
terminal?
Updated: 01/08/01

Add the following lines to /etc/inittab:

# X server:
X0:3:respawn:env PATH=/usr/bin/X11:/usr/bin X -query

Replace with the hostname or IP address of the host running
xdm, vuelogin, dtlogin, etc..

See Xserver(1) for additional X server options.

To prevent the login process from rapidly restarting at the console,
disable getty (login) at runlevel "3".

Edit /etc/inittab, and change the line:
cons:123456:respawn:/usr/sbin/getty console console # system console
to:
cons:12456:respawn:/usr/sbin/getty console console # system console

------------------------------

Subject: 5.15.1.4 How do I get a scroll bar on hpterms?
Updated: 04/01/01

There are two ways to do this...

At the command-line, enter:

$ hpterm -sb -sl 1000 &

The second way is to execute the following series of commands, prior to
running hpterm:

$ xrdb -m
HPterm*scrollBar: True
HPterm*saveLines: 1000
(Ctrl-D)

You can set saveLines to 1000 or some other arbitrarily large number.
Alternatively, you can set saveLines to something like "4s", which
indicates four screens. You can also set the above resources in an
app-default file (/usr/lib/X11/app-defaults/HPterm).

------------------------------

Subject: 5.15.1.5 How can I change the title in my hpterm titlebar?
Updated: 03/25/01

From the command-line
=====================
LEN=`echo "$1\c" | wc -c`
echo "\033&f0k${LEN}D${1}\c" # set title bar name
echo "\033&f-1k${LEN}D${1}\c" # set icon name

You can stick the following lines in your .profile or .kshrc to display
the system name and current directory in your hpterm title bar & icon:

if [ "$TERM" = hpterm ]; then
alias cd=Hcd
Hcd ()
{
if [ $# -ne 0 ]; then
'cd' "$@"
else
'cd'
fi
NAME="$(uname -n):${PWD}"
LEN=`echo "$NAME\c" | wc -c`
# reset name of hpterm title bar & icon to $NAME
echo "\033&f0k${LEN}D${NAME}\c" # set title bar name
echo "\033&f-1k${LEN}D${NAME}\c" # set icon name
}
Hcd .
fi

Programmatically:
=================
Here's a two-line C program that'll do the trick:

/* Quick and dirty program to put argv[1] in the title bar of an hpterm
Tom Arons, March 1992
*/
#include
main(argc,argv)
int argc; char **argv;
{
printf("\033&f0k%dD%s", strlen(argv[1]), argv[1]);
printf("\033&f-1k%dD%s", strlen(argv[1]), argv[1]);
}

------------------------------

Subject: 5.15.1.6 Why do my terminal windows keep going away by
themselves?
Updated: 03/31/01

You are probably using C Shell (/bin/csh) and have the autologout
variable
set (it is set to 60 minutes by default). Put an "unset autologout" in
your .cshrc.

If you are using the Korn (/bin/ksh) or POSIX shell (/bin/sh) it is
probably due to the value set for the shell variable TMOUT. Set it to 0
(infinite timeout) in your .kshrc or .profile.

------------------------------

Subject: 5.15.1.7 How can I get console messages to go to an hpterm?
Updated: 04/01/01

You can avoid console messages writing to your graphics planes and
trashing your CDE session by starting an hpterm and designating it to
receive console messages, and to de-iconify, when console messages are
received. Put something like this in your ~/.dt/sessions/sessionetc:

# Start up the Terminal Console as iconic, and raise it if any output
hpterm -C -iconic -ls -sb -sl 256 -name Console -T Console -map \
-xrm *mapOnOutputDelay:\ 30 -xrm Consoleeeee*********clientFunctions:\
-close \
-xrm *workspaceList:\ all &

------------------------------

Subject: 5.15.1.8 What's a good termcap entry for hpterm?
Updated: 04/07/01

Although it is not supported for hpterm use, the 262x entry in
/usr/newconfig/usr/share/lib/termcap will do the trick.

------------------------------

Subject: 5.15.1.9 My screen is wedged. What should I do?

One thing you can try is to unplug the keyboard for about 5 seconds.
Note
that you will have to rerun "xset -r" to get autorepeat to work after
doing
this.

------------------------------

Subject: 5.15.1.10 How can I get an X app to come up in an alternate
workspace?

Try:

$ client -xrm "*workspaceList: "

------------------------------

Subject: 5.15.2 Common Desktop Environment (CDE)

------------------------------

Subject: 5.15.2.1 What happened to VUE?

VUE has been replaced with CDE, which debuted with HP-UX 10.10. Starting
with 10.20, CDE became the default windowing environment, though VUE was
still provided as an option. As of 11.00, VUE is no longer part of
HP-UX.

The design of the CDE desktop incorporates and enhances many HP VUE
features. Although the CDE desktop has a similar appearance to HP VUE,
there are important differences. The differences include:

o New and more customizable Front Panel
o Graphical MIME-enabled mail application
o Graphical Calendar
o Graphical Print Queue Manager
o New terminal emulator
o Action and datatype syntax changes
o ToolTalk messaging support
o Desktop application registration

------------------------------

Subject: 5.15.2.2 How do I start/stop/reset CDE (dtlogin)?
Added: 04/03/01

First off, to start/stop/reset CDE, you must first su to root.

To start CDE (/usr/dt/bin/dtlogin):

# /sbin/init.d/dtlogin.rc start

To stop CDE (kill the dtlogin process):

# /sbin/init.d/dtlogin.rc stop

To Reset CDE (tell the dtlogin process to reread CDE config files to
incorporate any changes):

# /sbin/init.d/dtlogin.rc reset

------------------------------

Subject: 5.15.2.3 How can I enable/disable CDE (dtlogin)?
Added: 04/03/01

To disable CDE:

o Become root
o Stop CDE as described in the previous item in this FAQ.
o Execute the command "/usr/dt/bin/dtconfig -d"

To enable CDE:

o Become root
o Start CDE as described in the previous item in this FAQ.
o Execute the command "/usr/dt/bin/dtconfig -e"

Under the covers, what "dtconfig -d" and "dtconfig -e" actually do is
modify the file /etc/rc.config.d/desktop, which is the config file that
is read by the CDE rc script, /sbin/init.d/dtlogin.rc.

------------------------------

Subject: 5.15.2.4 Why does id/groups not show secondary groups in
dtterm/CDE?
Updated: 04/22/03

Under HP-UX 10.20 with CDE, if your account (at least with NIS[TM]) has
multiple groups associated with it, the id/groups commands will not show
the secondary groups inside a dtterm window ... and they in fact do not
work. What is confusing is that they *do* work when you fire up an
xterm.
Note that /etc/logingroup is correctly symlinked to /etc/group.

Installing the latest CDE Runtime patch will correct this problem, along
with numerous other defects:

o 11.20: patch PHSS_28058
o 11.11: patch PHSS_27872
o 11.00: patch PHSS_27869
o 10.20: patch PHSS_27877
o 10.10: patch PHSS_26488

------------------------------

Subject: 5.15.2.5 How can I improve CDE's performance?
Added: 04/03/01

Performace can be substantially by disabling the 'enableMultiKeyBindings'
resource as follows:

o [ ! -f /etc/dt/config/C/sys.resources ] && \
cp /usr/dt/config/C/sys.resources to /etc/dt/config/C/sys.resources
o Edit /etc/dt/config/C/sys.resources, and find the resource:
*enableMultiKeyBindings: True
o Change the resource value from "True" to "False"
*enableMultiKeyBindings: False
!*enableMultiKeyBindings: True
o Save /etc/dt/config/C/sys.resources and re-log into CDE.

------------------------------

Subject: 5.15.2.6 Is there a CDE FAQ?
Added: 04/11/01

Yes, it lives at:

o

------------------------------

Subject: 5.15.2.7 When I log on to CDE, I want certain applications to
automatically start. How can this be done ?
Added: 04/11/01

Create a script in ~/.dt/sessions named 'sessionetc' containing any
commands you want CDE to execute at startup.

If necessary, you can also use ~/.dt/sessions/sessionexit to execute
commands at CDE exit time.

------------------------------

Subject: 5.15.2.8 How do I get cut-n-paste to work correctly with CDE?
Updated: 04/22/03

Text cut-n-paste (with the mouse buttons) does not work correctly between
applications under HP-UX 10.x CDE, as delivered by HP. To fix this,
set the 'enableBtn1Transfer' resource to 'False' as follows:

o [ ! -f /etc/dt/config/C/sys.resources ] && \
cp /usr/dt/config/C/sys.resources to /etc/dt/config/C/sys.resources
o Edit /etc/dt/config/C/sys.resources, and find the resource:
*enableBtn1Transfer: button2_transfer
o Change the resource value from "button2_transfer" to "False"
!*enableBtn1Transfer: button2_transfer
*enableBtn1Transfer: False
o Save /etc/dt/config/C/sys.resources and re-log into CDE.

For 10.20, installing the latest CDE Runtime patch will fix the problem:

o 10.20: patch PHSS_27877

------------------------------

Subject: 5.15.2.9 Why do NCD X-terminals hang when trying to connect via
XDMCP to an HP-UX 10.20 host running CDE?
Updated: 04/09/01

This is probably a language negotiation problem. Copy the file
/usr/dt/config/Xconfig into /etc/dt/config, then edit it. Find the bit
that reads:

################################################## ########################
# To specify a default language for the display.
#
# Dtlogin*language:

and modify it so it looks something like:

################################################## ########################
# To specify a default language for the display.
#
# Dtlogin*language:
Dtlogin*language: en_GB.iso88591

i.e. - Specify a language/locale rather than letting dtlogin use the
default value of "C", which may not be acceptable to the client.

------------------------------

6. DEVELOPMENT

------------------------------

Subject: 6.1 General

------------------------------

Subject: 6.1.1 What threads support is provided?
Added: 04/13/01

The HP DCE package (version 1.5) shipped with HP-UX 10.x provides support
for a threads package derived from The Open Group[TM]'s DCE 1.2.1 version
which is based on the POSIX.4a draft 4 API and several extensions. In
addition, it provides an exception support not specified in the POSIX.4a.
HP-UX 10.x DCE threads are user-space threads.

For more information on DCE threads, see thr_intro(3).

HP-UX 11.x ships with DCE v1.7. In addition, 11.x provides a POSIX
threads package based on the POSIX.1c-1996 standard. 11.x POSIX threads
are kernel-space threads.

For more information on POSIX.1c threads, see pthread(3T).

For an in-depth look at threads, pick up a copy of the book:

"ThreadTime" by Scott J. Norton and Mark D. DiPasquale, Prentice-Hall,
ISBN 0131900676, 1996.

Another valuable resource is the comp.programming.threads FAQ:

o

------------------------------

Subject: 6.1.2 What's the deal with _INCLUDE_xxxx_SOURCE?

The ANSI standard clearly states what identifiers it reserves, and says
the rest are available to you, the programmer. Many "important things"
like "ulong" are *not* specified by ANSI, so ANSI header files are not
allowed by the standard to define them. Each standard supported by HP-UX
(POSIX1, POSIX2, XPG2, XPG3, XPG4, AES, etc) has its own set of reserved
identifiers and header files, and the convention is to require
"-D_POSIX_SOURCE" (et al) to enabled their respective namespaces. Since
HP could not predict what future standards would come along and claim
more header files and identifiers, it proved much simpler to make the
namespace as restrictive as possible unless "-D_HP-UX_SOURCE" is
specified. While this has turned into one the most frequently asked of
FAQs about HP-UX, at least once you learn this, you don't have to deal
with inconsistencies again. Whereas, had we allowed all non-standard
headers to define all non-standard symbols, you'd find identifiers
randomly "disappearing" from headers over time as they were claimed by
various standards.

Also check the man page for "cc -Ae"; it enables the HP-UX_SOURCE
namespace.

------------------------------

Subject: 6.1.3 Where can I find a list of all available system calls?
Added: 04/19/01

o On 11.x, see /usr/include/sys/scall_define.h
o On 10.x, see /usr/include/sys/syscall.h

------------------------------

Subject: 6.1.4 How can I tell if something was built debuggable?

If the output of "/usr/contrib/bin/odump -spaces file.o" shows a space
named $DEBUG$, then it was compiled with -g.

------------------------------

Subject: 6.1.5 Why is syslog() call not doing what i want it to?

My program looks like:

#include
void main(int argc,char *argv[])
{
syslog(LOG_EMERG,"This is an emergency message\n"));
syslog(LOG_ALERT,"This is an alert message\n");
syslog(LOG_CRIT,"This is a critical message\n");
syslog(LOG_ERR,"This is an error message\n");
syslog(LOG_WARNING,"This is a warning\n");
syslog(LOG_NOTICE,"This is a notice\n");
syslog(LOG_INFO,"This is an informal message\n");
syslog(LOG_DEBUG,"This is a debug message\n");
}

It doesn't log all the messages to /var/adm/syslog - why not?

First of all, the LOG_EMERG can not be used with user processes and
should
return -1 (if you check the return status). This is not documented in
the
man page! All the other messages should appear, but your /etc/syslog.conf
file might not be configured correctly. To test it, replace the
/etc/syslog.conf with the following line:

*.debug /var/adm/syslog

Then do: kill -HUP `cat /etc/syslog.pid`
Then run the test program and then tail the /var/adm/syslog file
and you should see all the messages, ie:

Nov 23 09:02:54 orca syslogd: restart
Nov 23 09:02:58 orca syslog: This is an alert message
Nov 23 09:02:58 orca syslog: This is a critical message
Nov 23 09:02:58 orca syslog: This is an error message
Nov 23 09:02:58 orca syslog: This is a warning
Nov 23 09:02:58 orca syslog: This is a notice
Nov 23 09:02:58 orca syslog: This is an informal message
Nov 23 09:02:58 orca syslog: This is a debug message

------------------------------

Subject: 6.1.6 How can I get C programs to automatically generate stack
dumps?

Here is how you get a C program automatically generate a stack dump
when they abend:

U_STACK_TRACE() is an undocumented function that resides in libcl. Set
up
the signal handling like this:

#include
extern void U_STACK_TRACE();
signal(SIGSEGV, U_STACK_TRACE);

------------------------------

Subject: 6.1.7 HP C++ email discussion lists

Rich Rauenzahn has set up majordomo
based Email lists for the discussion of HP C++ compilers (both ANSI
C++/aCC and Cfront/CC).

The available lists are as follows:

o cxx-dev HP C++ Development Discussion List
o cxx-dev-announce HP C++ Development Announcements
o cxx-dev-digest HP C++ Development Discussion List Digest

cxx-dev-announce is also broadcast to cxx-dev, so there is only a need
to subscribe to one of the lists. The digest also includes both
cxx-dev and cxx-dev-announce.

To subscribe to the list, send a message to
with the following command in the body of the message:

subscribe list-name

For additional help/information, send a message to
with the word "help" in the body of the
message.

------------------------------

Subject: 6.1.8 HP-UX development email discussion lists

Rich Rauenzahn has set up majordomo based
Email lists for the discussion of the HP toolchain, from compilers to
linkers, libraries to debuggers.

The available lists are as follows:

o hpux-devtools HP-UX Development Discussion List
o hpux-devtools-announce HP-UX Development Announcements
o hpux-devtools-digest HP-UX Development Discussion List Digest

hpux-devtools-announce is also broadcast to hpux-devtools, so there is
only a need to subscribe to one of the lists. The digest also includes
both hpux-devtools and hpux-devtools-announce.

To subscribe to the list, send a message to
with the following command in the body of the message:

subscribe list-name

For additional help/information, send a message to
with the word "help" in the body of the
message.

------------------------------

Subject: 6.2 Compiling and Linking

------------------------------

Subject: 6.2.1 Why is the default C compiler brain-dead?
Updated: 04/13/01

The C compiler shipped with HP-UX is intended only to rebuild the kernel
with, not for program development. To get a "real" C compiler, you have
two options:

o buy HP's ANSI C product
o use the GNU C Compiler (gcc), downloadable in binary form from the
Liverpool archive

------------------------------

Subject: 6.2.2 How do I make Perl on HP-UX?
Updated: 04/02/01

Reply like this to the Configure script's prompts:

1. When it asks for optimization flags answer
-O
2. When it asks for additional flags to cc answer
-DJMPCLOBBER
3. When it asks for additional libraries answer
-lndbm -lm (ignore the other libraries Configure finds).
You can also safely add -lBSD if you want BSD signal semantics.
4. When it asks if you want to use perl's malloc answer
n
5. When perl asks on which boundary a double must be aligned answer
8

NOTE: Precompiled versions of Perl 5.6.0 for 10.20 and 11.x can be
found on the Liverpool archive.

------------------------------

Subject: 6.2.3 How do I deal with "too many defines"?

Use the "-Wp,-Hxxxxxxx" where xxxxxxxx is the number of bytes to add
to cpp's table size.

There is no equivalent in lint or cflow to the cc driver's -W flag to
pass options to subprocesses like cpp. However, both lint and cflow
invoke cpp via the cc driver, so you can achieve the same effect by
setting the CCOPTS environment variable. For example,

CCOPTS="-Wp,-H500000"
export CCOPTS
lint large_file.c

------------------------------

Subject: 6.2.4 Why do I get "_builtin_va_start" undefined when I build
with gcc?

The and include files define va_start in terms of
this function, which is built-in on the HP C compiler.

If you're using GCC you should be picking up include files
from the gcc library directory. These include files do the right
thing for both GCC and HP C.

More often than not these files were never installed, or someone has
placed a copy of varargs.h/stdarg.h into /usr/local/include (gcc searches
there *first*).

When all else fails, you can replace the definition of va_start as
follows, depending on whether you are using varargs or stdarg (K&R or
ANSI, respectively).

#include
#ifdef __hppa
#undef va_start
#define va_start(a) ((a)=(char *)&va_alist+4)
#endif

#include
#ifdef __hppa
#undef va_start
#define va_start(a,b) ((a)=(va_list)&(b))
#endif

For , this replacement should always work.

For , this replacement will work unless the last fixed
parameter ("b" in the call to va_start) is a structure larger
than 8 bytes. Large structures are passed by reference, with the
callee responsible for copying the structure to a temporary area
if it will be modified. In this case, "&b" will take the address
of that temporary area instead of the position in the argument
list, and va_next won't work. That's why HP uses a compiler
built-in.

------------------------------

Subject: 6.2.5 Is there some kind of problem with using FLT_MIN in ANSI
mode?

The C compiler dislikes this construct in ANSI mode:

x = FLT_MIN; /* <---- warning here */

The problem is that the ANSI mode (_PROTOTYPES) version of
FLT_MIN/FLT_MAX in end their constants with an F, which seems
to upset the compiler.

The workaround is to temporarily undef _PROTOTYPES around the
inclusion:

#ifdef _PROTOTYPES
#undef _PROTOTYPES
#include
#define _PROTOTYPES
#else
#include
#endif

------------------------------

Subject: 6.2.6 Why do I get the error "*Initialization*:1: missing
token-sequence in `#assert'" when I compile with gcc?
Updated: 04/18/01

This error is caused by the HP and GNU compilers using the -A command
line option for different things.

The HP compiler uses -A to set which dialect of C the compiler expects
to see in the input files, K&R (-Ac), ANSI (-Aa) or Extended ANSI (-Ae).
In recent versions, Extended ANSI mode is the default. In earlier
versions, K&R mode is the default.

The GNU compiler has a conditional compilation mechanism that allows
questions to be asked during the compilation using the construct '#if
#question(answer)' and a mechanism of telling the compiler in advance
the answers to questions with the construct '#assert question(answer)'.
For the GNU compiler the -A optoion is equivalent to a #assert
directive.

The error message above occurs when the GNU compiler gets the option -Aa
intended for the HP compiler and reads it as an attempt to provide the
answer to the question 'a' but the answer itself (which would appear in
brackets) is missing.

The problem can be resolved by removing the -Aa option from the command
line used for the compiler (check Makefiles for CC and CFLAGS settings)
as the GNU compiler defaults to understanding ANSI C anyway.

------------------------------

Subject: 6.2.7 How can I detect the HP-UX version at compile time?
Added: 05/02/02

The below macro sequence allows you to figure out the HP-UX major
version number:

#include
#if defined(PRIV_PSET)
#define _hpux_11i
#elif defined(PRIV_SPUCTL)
#define __hpux_11x
#elif defined(PRIV_SERIALIZE)
#define __hpux_10x
#elif defined(PRIV_SETRUGID)
#define __hpux_9x
#endif

------------------------------

Subject: 6.3 Porting

------------------------------

Subject: 6.3.1 Porting from an Earlier Release of HP-UX
Updated: 01/10/03

See the HP-UX 11.x STK: Source Code Transitions page at:

o

Also refer to the release notes for the release of HP-UX that you are
porting TO (release notes are in /usr/share/doc).

------------------------------

Subject: 6.3.2 Porting from Other Platforms (Solaris, AIX, etc..)
Updated: 06/12/02

Porting Guides & Kits from HP
=============================
o Solaris to HP-UX 11.0 Porting Guide:
+


o IRIX to HP-UX Migration Guide:
+


o Linux Porting Kit 1.0 for HP-UX 11.x (porting from Linux to HP-UX
11.x):
+

Porting Guides from Interex
===========================
o HP-UX/Sun Interoperability Cookbook, Version 2:
+

o AIX/HP-UX Interoperability Guide, Version 2:
+

o SunOS to HP-UX 9.05 Porting Guide:
+

o All three Interex porting & interoperability guides are also available
via FTP, in ASCII, HTML, and Postscript format at:
+

Other Porting Resources
=======================
o Mike Peterson's HP-UX porting tricks (last updated 06/16/99):
+

o HP-UX to Compaq Tru64 UNIX Porting Guide:
+
(reverse everything it says :-)

------------------------------

Subject: 6.3.3 How do I know if binaries built on a one release of HP-UX
are compatible with a different release of HP-UX?
Added: 12/03/01

The general rule is binaries built on a given release of HP-UX will
always
run on that release and all later releases, but will never run on earlier
releases. Of course, if you will be limited to the APIs provided by the
release of HP-UX running on the build machine. So a binary compiled on a
10.20 system will run on 10.20, 11.00, and 11i.

------------------------------

Subject: 6.4 Tools

------------------------------

Subject: 6.4.1 Where can I get Interviews for HP-UX?
Updated: 03/28/01

HP released a product called Interviews Plus in 1992, which is now
officially obsolete. However, the public-domain version of Interviews
can still be obtained from:

o

------------------------------

Subject: 6.4.2 Is there a disassembler included with HP-UX?
Added: 01/23/03

First off, if you have the source code for the program, the best way to
produce assembly code is to use cc's -S option, which writes out the
assembly language code into a file with a .s extension.

Now, as for disassembling a binary...

The dis command is possibly the only XPG4 command that is not included
with HP-UX.

If you simply wish to disassemble a function in a program, gdb can do
this. If you don't have it in /opt/langtools/bin already, get it from
. For a given executable, if you know the name
of a function:

$ gdb
(gdb) disassem
... disassembly produced ...

If you wish to decode machine codes yourself, I asked this question a
little earlier in the week: the solution I opted for was to fork off an
"adb" process and use that to disassemble. I only wanted to decode a
single instruction so that is what my code does. It should be reasonably
easy to send more than one command before closing the adb session if
that's what you need, although I'm not sure how practical this is for
large scale disassembly; Dave's suggestion of investigating the gdb
source may be better in this instance. It also lacks any support for
helpful annotations and symbolic names some disassemblers can add to aid
understanding.

I've included my function for your information; I make no guarantees
about its correctness or that it makes sufficient checks for errors:

#include
#include
#include
#include
#include

const char *ProcInfo::disassemble(long long unsigned int mc) {

static char result[200];
// First create a couple of pipes for the new I and O, and fork the
// process.
int fildes_in[2], fildes_out[2];
pid_t pid;
fildes_in[0] = fildes_in[1] = fildes_out[0] = fildes_out[1] = -1;
bool fail = true;

if (pipe(fildes_in) == 0 && pipe(fildes_out) == 0) {
switch (pid = fork()) {
case 0:
{
// I'm the child, I have to setup the pipes to be stdin,
// and stdout and then start adb.
close(0); dup(fildes_in[0]); close(fildes_in[1]);
close(1); dup(fildes_out[1]); close(fildes_out[0]);
execlp("adb", NULL);
// If the exec returns, we've failed. Just report the
// error to the parent and exit.
perror("adb");
exit(1);
}
default:
{
// I'm the parent, I'll just close the appropriate sides
// of the pipe and send the request and expect an answer.
// I'd rather not block on the write, but if it does I'm
// not going to check.
close(fildes_in[0]);
close(fildes_out[1]);
char command[20];
sprintf(command, "0x%X=i\n", mc);
write(fildes_in[1], command, strlen(command));
int readlen = read(fildes_out[0], result, sizeof(result)
- 1);
result[readlen] = '\0';
if (readlen == 0) {
strcpy(result, "No translation");
}
// We've got an answer, let's bin the pipes and let 'adb'
// tidy up for itself.
close(fildes_in[1]);
close(fildes_out[0]);
fail = false;
}
case -1:
{
// Just drop out since the fork() call failed.
break;
}
}
}

if (fail) {
// We've failed... let's return an error and clean up.
strcpy(result, strerror(errno));
close(fildes_in[0]);
close(fildes_in[1]);
close(fildes_out[0]);
close(fildes_out[1]);
}

// Now reformat the result to get rid of any excess space.
int len = strlen(result);
bool need_space = false;
for (int s = 0, d = 0; s != len && result[s] != '\n'; s++) {
if (isspace(result[s])) {
need_space = true;
} else {
if (need_space && d != 0) {
result[d++] = ' ';
}
result[d++] = result[s];
need_space = false;
}
}
result[d] = '\0';
return result;
}

There are a couple 3rd-party PA-RISC disassemblers available:

o Allegro's AVATAR Disassembler (~$2000):

A disassembler/patcher/code-explorer for PA-RISC based HP-UX systems,
by Allegro Consultants, Inc. See:

+

o DataRescue's IDA Pro HP-PA RISC Disassembler (~$495):

IDA Pro is a Multi-Processor Interactive DisAssembler that combines a
powerful automatic analysis engine with your interactivity to achieve
outstanding reverse engineering results. See:

+

If you are looking to decompile PA-RISC assembly code to C or some other
high-level language, it can not easily be done, especially via an
automated process. The problem is that with optimizing compilers, a
given output of the compiler has an infinite (or thereabouts number of
possible source programs. The fact is, that a decompiler can produce
perfectly valid C code, that makes barely any sense to normal humans.

Source Recovery has recently released a HP-UX C/C++ SOM decompiler called
DOC C/C++! SOM is the file format of 32-bit PA-RISC executables. For more
information, see:

o

Or if you want to take a shot at doing it manually, you should look over
the following web sites:

o PA-RISC Resources:
+


o HP Assembler Reference Manual, 9th Edition - 06/98:
+

o The Decompilation Wiki:
+

o fravia's pages of reverse engineering:
+

------------------------------

7. APPS AND UTILS

------------------------------

Subject: 7.1.1 HP Freeware

------------------------------

Subject: 7.1.1.1 Patches
Updated: 04/22/03

Individual patches for HP-UX, MPE/iX, and HP firmware can be downloaded
from the HP IT Resource Center (ITRC):

ITRC web site, Americas / Asia Pacific
======================================
URL:
Alt URL 1:
Alt URL 2:
Note: Go to "maintenance / support" -> "patching" ->
"individual patches"

ITRC ftp site, Americas / Asia Pacific
======================================
URL:
- or -


ITRC web site, European
=======================
URL:
Alt URL 1:
Alt URL 2:

Note: Go to "maintenance / support" -> "patching" ->
"individual patches"

ITRC ftp site, European
=======================
URL:

HP-UX Support Plus patch bundles can be downloaded from the HP Software
Depot web site:

o

There are three varieties of patch bundles available:

o General Release
+ tested sets of HP-UX core patches
+ superset of Hardware/Critical bundle
+ formerly known as eXtension SoftWare (XSW)
o Hardware/Critical
+ hardware-enablement & critical OS patches only
+ subset of General Release Bundle
+ formerly known as Independent Peripheral Release (IPR)
o Quality Pack (QPK)
+ contains defect fixes and performance enhancements
+ some patches in the QPK are also in the General Release bundle,
and others are not

------------------------------

Subject: 7.1.1.2 Drivers
Added: 04/19/01

Drivers are normally found on the HP-UX Applications CDs.

------------------------------

Subject: 7.1.1.3 I heard there is a new ftpd available. Where do I get
it?
Added: 04/11/01

The "new ftpd" is WU-FTPD 2.4 ported to HPUX, with added bug and security
fixes. It was released by HP in June '98, as a patch for 11.00.

WU-FTPD contains a slew of enhancements over the "legacy ftpd."

To get the new ftpd for 11.00, download and install PHNE_21936. After
installing the patch, you can get information on the new features
introduced by this new version of ftpd from the file:

o /usr/share/doc/RelNotes_newftp.txt

This version of FTP has some new configuration files that can be used to
take advantage of new functionality. Sample of the new configuration
files are provided in /usr/newconfig/etc/ftpd. You can edit these files
as per your need and copy them to the location /etc/ftpd.

NOTE: WU-FTPD has a problem with passwords starting with a '-': if a
password starts with a '-', you need to prepend another '-' to the
password.

The new ftpd is not available for 10.x, and it is included with 11.10 and
later.

Note, WU-FTPD 2.6.1 binaries for 10.20 and 11.00 can be downloaded from
the Liverpool archive (the package name is 'wu_ftpd'). Of course, this
version is not supported by HP.

------------------------------

Subject: 7.1.1.4 HPRC FTP Site
Added: 04/20/01

The HP Response Center (HPRC) maintains an FTP site containing a
collection of unsupported tools, FAQs and white papers. The tools are
NOT supported, although the author may allow email communication for bug
reports. You can email bugs about the FAQs, config guides, & white
papers to . General help or support is NOT
available from this site.

The URL of the HPRC FTP site is:

o

Here are some of the more useful bits available from the HPRC site:

XVG
===
XVG is an LVM display program for Xwindows. It will
show disk layouts, volume groups, unused space, device
files, non-contiguous volumes, etc. Can be run on
workstations or servers with any version of HP-UX
from 9.xx and higher, and displayed on any Xwindow
device including PCs with Xwindow emulators. The latest
version can be downloaded at:

o

pdcinfo
=======
The pdcinfo programs allow you to retrieve PDC (PIM) information from HP
computer systems. On some systems (such as the T-Class), this program can
retrieve HPMC tombstone data. The latest version can be downloaded at:

o

memwin_stats
============
The memwin_stats command is intended for usage with the new memory
windows
functionality. For 11.00, memory windows functionality is installed via
two patches:

o patch PHKL_18543 (kernel)
o patch PHCO_23705 (commands)

For future releases, memory windows is part of the core release.
Download
memwin_stats from:

o

various sys-admin scripts
=========================
o various "cool" scripts:
+
o system inventory scripts:
+
o scripts to run as cron jobs:
+
o improved versions of /etc/profile, /.profile, and /etc/skel/.profile:
+

------------------------------

Subject: 7.1.1.5 GNOME
Added: 12/30/03

Ximian GNOME for HP-UX is a modern, highly customizable desktop
environment that runs on top of the X Window System, as an alternative to
CDE. It runs on all 11.x releases of HP-UX. Binaries, source, and
documentation are available at:

o

Note, HP does not provide support for GNOME for HP-UX.

------------------------------

Subject: 7.1.2 Non-HP Freeware

------------------------------

Subject: 7.1.2.1 The Software Porting And Archive Centre for HP-UX
Updated: 01/22/03

The Software Porting And Archive Centre for HP-UX, commonly referred to
as the Liverpool Archive contains over 2,100 packages ported to HP-UX
10.20, 11.00 and/or 11.20, conveniently packaged in SD-UX format.

As of June 2002, HP-UX 10.20 binaries are no longer produced by the
Porting Centre for new package releases.

Send comments and porting requests to .

WWW
---
URL: United Kingdom
Mirrors: Unites States
Germany
France
Netherlands
Canada


FTP
---
URL: United Kingdom
Mirrors: United States

Germany
France
Netherlands
Canada

------------------------------

Subject: 7.1.2.2 InterWorks FTP site
Updated: 04/18/01

The anonymous FTP server for what used to be InterWorks (see question
4.10.1.2). It contains lots of HP-UX utilities and information, most of
which are outdated. The site also keeps the last 4-6 months of
comp.sys.hp.hpux online (via an Interex member logon. An archive going
back to June 1990 is available -- contact the InterWorks librarian for
details. Additionally, a large (~1300 line) "HP-UX Troubleshooting
Guide" is available under the Interex member logon.

o

------------------------------

Subject: 7.1.2.3 Netperf
Added: 04/04/01

Netperf is a benchmark that can be used to measure the performance of
many different types of networking. It provides tests for both
unidirectional throughput, and end-to-end latency. The environments
currently measureable by netperf include:

o TCP and UDP via BSD Sockets
o DLPI
o UNIX Domain Sockets
o Fore ATM API
o HP HiPPI Link Level Access

Note that, though it is written and maintained by an HP employee (Rick
Jones), Netperf is not an official HP product, and its use is in no way
supported by HP.

o

------------------------------

Subject: 7.1.2.4 SLIP and CSLIP

Both SLIP and CSLIP come with HP-UX 10.00 and later. As of HP-UX 10.30,
the PPP daemon (pppd) also handles incoming SLIP and CSLIP connections.
In HP-UX 10.x, SLIP and CSLIP were handled by a program called ppl.
See slip(1).

For more information on CSLIP and SLIP refer to the manual:

o Installing SLIP/PPL Software on HP-UX ((Part No. 98194-90051):
+

------------------------------

Subject: 7.1.2.5 PPP
Updated: 11/24/01

PPP comes with HP-UX 10.30 and later.

The PPP manual "Installing and Adminsistering PPP" (Part No. B2355-90137)
can be viewed online at:

o

Or purchased in hardcopy form from:

o


Follow these steps to configure PPP on your 11.x system:

1. Execute the GSP (Guardian Service Processor) DR command to
disable
the remote.

Note: It is not necessary to run this command if the modem is on
the MUX (mulitplexer) port.

2. Modify the 19200 entry in /etc/gettydefs to include the following
information:

19200 #B19200 HUPCL CS8 SANE ISTRIP IXANY TAB3
#B19200 SANE CS8 ISTRIP IXANY TAB3 HUPCL
#login: #19200

3. Create a device file for calling into a remote console port:

mksf -C tty -H 0/0/4/0 -m 0x000202 /dev/ttyd0p2

Note: For MUX cards, use SAM (System Administration Manager) or
use the following command:

mksf -d -H -I \
-p -a 2

4. Add the following line in /etc/inittab:

a1:3:respawn:/usr/bin/pppd : netmask
idle 150 requireauth 19200

Note: See the pppd(1) man page for more information.

5. Re-initialize the /etc/inittab file so that the changes will take
effect:

init q

6. Edit /etc/ppp/Auth against authentication of dial-up networking
users:

...
...

Note: Please see the ppp.Auth(4) man page for more
information.

7. Next, test the ppp connection from a PC. Launch:

Start
--> Programs
--> Accessories
--> Dial-up Networking

Use the same username/passwd pair that was entered into the
/etc/ppp/Auth file.

As for HP-UX 9.x and 10.x, there are a couple options:

o iij-ppp: a public-domain PPP implementation that has been ported to
HP-UX

Unfortunately, the homepage for the HP-UX port of iij-ppp appears to
no longer exist.

o Sun/Cobalt/Progressive Systems/Morningstar PPP: Once upon a time,
this
was a fine, supported product. Due to merger-mania, Sun now owns
this
product, but offers no support for it. Expect no further
development.
But, you can still buy a license for the product if you ask your Sun
salesperson. The product offers PPP and SLiP on HP-UX 9.x or 10.x
systems. Works with SecurID[R] cards and dialback modems.

It is a good idea to install the latest Mux/Pty patch before using PPP:

o 11.11: patch PHNE_27760
o 11.00: patch PHNE_27788
o 10.20: patch PHNE_21872
o 10.10: patch PHNE_20838
o 10.0x: patch PHNE_9436

For additional general information on PPP and SLIP, check out:

o

------------------------------

Subject: 7.1.2.6 SMTP
Added: 08/02/04

Sendmail comes with HP-UX. See item 5.7.14 for information on upgrading
to a more recent version of Sendmail.

Postfix is a popular alternative to Sendmail. The Postfix homepage is:

o

Ralf Hildebrandt provides Postfix binaries for HP-UX at:

o

There are a number of other alternatives:

o Exim:
o Courier:
o Qmail:

------------------------------

Subject: 7.1.2.7 POP and IMAP
Updated: 08/02/04

QUALCOMM[R], makers of the Eudora[R] email client for Macs and PCs, is
currently maintaining Qpopper[TM], a modified version of Berkeley's
1.831beta popper. It can be downloaded for free (in source form) from:

o

The Qpopper homepage is:

o

When building, use the 'sysv' target for HP/UX (i.e. "make sysv").

Do NOT install popper 1.831beta (or any version of Berkeley POP). It is
vulnerable to buffer overflow attacks. Use qpopper instead.

A second alternative is the free IMAP developer's kit from The University
of Washington, Computing & Communications department. The kit includes
sources for an imapd server, an `ms' demo client, pop2 and pop3 servers,
and a C-client library. Download from:

o

If you are running Qmail, Exim, or Postfix as your mail server and you
have maildirs configured, the best way to go is Courier IMAP, available
at:

o

------------------------------

Subject: 7.1.2.8 Sudo
Added: 03/26/01

Sudo binaries can be downloaded from the Sudo FTP site
() or the Liverpool archive.
The binaries on the Sudo site may be a more recent version of Sudo.

------------------------------

Subject: 7.1.2.9 Ntalk
Updated: 03/26/01

There are several problems with the version of Ntalk that comes with
HP-UX
9.x. A patched version of the Ntalk source, ported to run on HP-UX, can
be
downloaded from:

o

------------------------------

Subject: 7.1.2.10 TTCP
Added: 04/19/01

TTCP (Test TCP Program) can be used to test network TCP and UDP
throughput. A separate use of this tool is to create network pipes for
transferring user data. Cisco routers now incorporate a version of this
tool, enabling you to easily evaluate network performance. Source code
and manpages are provided here for this useful tool:

o

NOTE: Do not confuse this with "ttcp - copy files and inform the ToolTalk
service"!!

------------------------------

Subject: 7.1.2.11 Free SCSI utilities for HP-UX workstations
Added: 03/25/01

MDL Corporation provides several free SCSI uitlities for HP-UX and
DomainOS.

o

------------------------------

Subject: 7.1.2.12 PSCREEN/uX
Added: 04/25/01

PSCREEN/uX is a screen-capture utility for HP-UX. pscreen runs on HP-UX
9.x and later, on both S800s and S700s, and assumes that you have either
an HP-compatible terminal (or emulator) or hpterm.

PSCREEN can be downloaded from Allegro Consultants, Inc., at:

o

------------------------------

Subject: 7.1.2.13 GNU software
Added: 04/19/01

Check the Liverpool archive (see question 7.1.2.1) for the latest GNU
packages compiled for HP-UX 10.x and 11.x.

Also, for 11.x, you can order a free Linux Porting Kit CD, which contains
the HP Open Source Developer's Toolkit, from
(search for "linux porting").

The toolkit includes the following popular open source tools:

autoconf, automake, bash, bison, bzip2, ddd, dejagnu, diffutils, emacs,
enscript, expect, fileutils, flex, gawk, gcc, gdb, gdbm, gettext,
ghostscript, glib, gmake, grep, gtk+, gv, gzip, imake, inc, jpeg,
lclint, less,libgd, libpng, m4, ncurses, patch, perl, python, readline,
sed, tar, tcl, tcp_wrappers, tcsh, texinfo, textutils, tiff, tk, unzip,
vim, xalan, xaw3d, xemacs, xerces, xpm, zip, zlib

For descriptions of each of the tools, or to download tools on an
individual basis, go to:

o


------------------------------

Subject: 7.1.2.14 Web browsers
Updated: 09/12/03

HP-UX 10.20 and 11.00 come with Netscape Navigator Gold 3.01 (installed
under /opt/navgold/). HP-UX 11.11 includes Netscape Communicator 4.75
(installed under /opt/netscape/).

The open source Mozilla browser will be the supported browser on HP-UX
going forward. Packaged Mozilla binaries for HP-UX 11.x can be
obtained from HP at:

o

Packaged binaries of Netscape 7.0 for 11.x, Netscape Communicator 4.8 for
11.x, and Netscape Communicator 4.75 for 10.20 can be obtained from HP
at:

o

Microsoft no longer officially provides Internet Explorer and Outlook
Express 5 for HP-UX or any other UNIX platform. For more information,
see:

o

However, it can still be downloaded from:

o


Lynx binaries can be downloaded from the Liverpool archive, or the source
is available at:

o

------------------------------

Subject: 7.1.2.15 Miscellaneous freeware
Added: 04/16/01

URL:
Contents: Various HP-UX binaries (has not been updated since '94)

------------------------------

Subject: 7.1.2.16 RealAudio Player
Added: 05/02/02

A Helix Universal Server (aka RealServer) evaluation version can be
downloaded from:

o

It runs on 11.x only.

------------------------------

Subject: 7.1.2.17 CD Burning Software
Updated: 02/04/03

Please see section 5.2.4.

------------------------------

Subject: 7.2 Shareware

------------------------------

Subject: 7.3.1 HP Commercial Software

------------------------------

Subject: 7.3.1.1 Where can I find release histories for various HP
software products?
Added: 11/14/01

Up-to-date release histories for the following products are available:

o HP aC++:


o HP C:


o HP Fortran:



------------------------------

Subject: 7.3.1.2 Where can I find a list of all applications that are
available for HP-UX?
Added: 01/08/02

The HP-UX Application Availability Matrix shows what HP-UX Application
Software is available on particular HP-UX Operating System releases.
This matrix will be continuously updated at least once monthly to reflect
changes in software availability:

o

------------------------------

Subject: 7.3.2 Non-HP Commercial Software

------------------------------

Subject: 7.3.2.1 Interex FastStart Toolbox
Updated: 03/24/01

Interex is now packaging HP-UX freely available software, ported
to HP-UX 11.00 in depot format, on a CD called the FastStart 11.0
Toolbox. See for more
information.

------------------------------

Subject: 7.3.2.2 Is there anything remotely like the Apollo DM editor
available?
Updated: 06/27/03

HP had a product called DMX, which ran on both Domain & HP-UX, and
enabled
a standard "Domain-like" interface for both platforms. Unfortunately,
this product is no longer available. It was replaced by VUE/vuepad,
which has since been replaced by CDE/dtpad.

Nevertheless, for all you hardcore DM-junkies, there is still hope...

The ARPUS[TM]/ce[TM] editor is a full-screen, X-Windows-based editor that
provides easy-to-use text editing across a variety of UNIX platforms.
Developed originally for users migrating from Apollo's Domain
environment,
ce was modeled after the Display Manager (DM) editor. ETG has
incorporated the features of the DM editor that Apollo users liked best,
as well as adding new features. Some features of ce include: ceterm,
multiple edit sessions, rectangular cut & paste, global bounded search
and replace, coordinated mouse and text cursor control, command macros,
unlimited UNDO & REDO, customized keyboard mapping, vertical and
horizontal scrolling, and automatic file backup and save.

To download an evaluation copy of ce for HP-UX, go to:

o

A university in France also maintains a copy of the web pages at:

o http://www.lmd.jussieu.fr/informatic/jussieu/docs/ce/

See the "README" file for detailed instructions.

The eval files normally expire 30-60 days from the date you downloaded
them. See the "README.Pricing" file for pricing information.

For more information, contact:

Robert E. Styma
Principal Engineer
AG Communication Systems, Phoenix - A subsidiary of Lucent
Email: stymar@agcs.com
Phone: 623-582-7323
FAX: 623-581-4884
Company: http://www.agcs.com/
Personal: http://www.swlink.net/~styma

------------------------------

Subject: 8. MISCELLANEOUS

------------------------------

Subject: 8.1 How can I find the HP-UX equivalent for a given
Solaris/AIX/etc.. command?
Added: 03/31/01

Rosetta Stone for UNIX (A Sysadmin's Universal Translator; or "What do
they call that in this world?") provides a very nice
AIX/DG-UX/FreeBSD/HP-UX/IRIX/Linux/NetBSD/OpenBSD/Solaris/SunOS/Tru64/...
....Ultrix equivalency table at:

o

UNIXguide.net also provides a
AIX/FreeBSD/HP-UX/Linux(RedHat)/Solaris/Tru64 equivalency table, at:

o

------------------------------

Subject: 8.2 What do I need to do to make my HP-UX system Year 2000
compliant?
Updated: 03/16/01

This isn't exactly a question burning on people's minds anymore, but the
answer is to install the latest HP-UX hardware/critical patch bundle
(previously known as the Indepedent Product Release (IPR) bundle). The
bundle is freely available from the HP Software Depot
(), in the "Enhancement Releases" section.

------------------------------

Subject: 8.3 How do I boot into single user mode?

Press ESC to stop the auto-boot.
When the list of boot devices is presented:

b PX ISL (where X is your root disc)

And at the ISL> prompt:

HP-UX9.x: ISL> hpux -iS disc(;0)/hp-ux
HP-UX-10.x: ISL> hpux -iS disc(;0)/stand/vmunix

The '-iS' are the flags to init which says come up single user. The rest
of the command is what the bootprocess does automatically.

------------------------------

Subject: 8.4 How can I send mail to an MPE/iX HPDESK address?

For a person whose DESK address is:
JANE DOE /HP1234/XY

Ignore the subentity (XY) and use the form:
jane_doe@hp1234.desk.hp.com

Send them a test message and tell them to make a note of the return
address, as forming internet addresses on DESK is a little more
complicated. If there is an X.400 system between you and the DESK
person, what you get back may look like a very strange internet address,
but it generally works.

Notice the underscore between names. Names can be first_last or
last_first, but first_last is easier to remember and get correct,
especially if they have initials in their name as in
fred_l_doe@hpatc1.desk.hp.com. Be sure that the DESK address they give
you is exactly what is reported by DESK when they send a message to
themselves or look at the distribution list on a piece of mail the
recipient already has to verify the address.

------------------------------

Subject: 8.5 How can I limit core files?
Updated: 04/03/01

In the POSIX shell (/usr/bin/sh):

$ ulimit -c 0

To disable core dump generation for all POSIX shell users on the system,
add the following line to your /etc/profile:

ulimit -c 0 2>/dev/null # swallow ksh error msg

In the C shell (/usr/bin/csh):

% limit coredumpsize 0

To disable core dump generation for all C shell users on the system, add
the following line to your /etc/csh.login:

limit coredumpsize 0

There is no coredump limit facility available in the Korn shell
(/usr/bin/ksh) or the Bourne shell (/usr/old/bin/sh).

As originally shipped, HP-UX 10.01/10/20 create a 0-byte core file if the
core dump limit has been set to 0. The following patches will change
the behavior to not creating a core file at all if the limit is 0 (the
commonly expected behavior):

o 10.20 700: PHKL_22701
o 10.20 800: PHKL_22702
o 10.10 700: PHKL_23477
o 10.10 800: PHKL_23478
o 10.01 700: PHKL_23512
o 10.01 800: PHKL_23513

Prior to 10.01, HP-UX had no built in function to limit core file
generation from the standard shells.

One way to limit core file generation is to create a directory called
"core" with 000 permissions in the directory in which you expect a core
dump to occur. Additionally, two programs are available (nocore and
corelimit) that can be used as wrappers around other programs that you
may expect to dump. And, many publicly available shells (tcsh, bash,
etc..) allow core file limits. Or, you can place a link called "core"
to /dev/null in the directory you expect the core dump to occur.

Here is the source for corelimit. It is completely unsupported; the
Response Center will disavow all knowledge of you and your mission should
you call them with a problem relating to this. Build it in the usual way
(cc -o corelimit corelimit.c) and use it like so: "corelimit hpterm 0".
This example will limit the core file size of all children of the hpterm
process to 0.

#include
#include
#define RLIMIT_CORE 4 /* core file size */

main(argc, argv)
int argc;
char **argv;
{
int res;
struct rlimit rlp;
if (argc != 3) {
fprintf(stderr, "%s: wrong number of parameters\n", argv[0]);
fprintf(stderr, "\tformat: %s command core_size\n", argv[0]);
exit(-1);
}
rlp.rlim_cur = atoi(argv[2]);
res = setrlimit(RLIMIT_CORE, &rlp);
if (res < 0) {
perror("setrlimit: RLIMIT_CORE");
exit(-2);
}
system(argv[1]);
}

To start all of CDE with core dumps disabled:

o compile corelimit (above) and copy the binary to /usr/local/bin/
o edit /usr/dt/config/dtrc.d/90_dtlogin_st

replace:
exec $DTLOGIN $VL_ARGS /dev/null 2>&1
with:
/usr/local/bin/corelimit exec $DTLOGIN $VL_ARGS
>/dev/null 2>&1

------------------------------

Subject: 8.6 How do I disable the Caps Lock key?
Updated: 04/07/01

To disable the "placement challenged" Caps Lock key on the ITF keyboard,
use an xmodmap script:

Add the below lines to your ~/.dt/sessions/sessionetc:

/usr/bin/X11/xmodmap - <<'EoF'
clear lock
keycode 55 = Control_L
keycode 86 = Caps_Lock
keycode 39 = grave asciitilde guillemotleft guillemotright
keycode 71 = Escape
add Lock = Caps_Lock
add Control = Control_L
EoF

This works until logout/login, when Caps Lock toggles the control
feature,
even though 'xmodmap -pm' shows that Lock has no assignments. You have
to
restart the X server to reset completely, which can be automated by
uncommenting the line:

Dtlogin*terminateServer: True

in the file {/usr,/etc}/dt/config/Xconfig.

------------------------------

Subject: 8.7 Why does my Korn shell login hang?

This can happen if your home directory is across an NFS mount point;
you can workaround the problem by completely unprotecting (chmod 777)
~/.sh_history, or by pointing HISTFILE to somewhere local.

------------------------------

Subject: 8.8 How can I avoid those annoying copyright notices on login?

The following code in /etc/profile prints the copyright notice only the
very first time a user logs in:

NUMLOGINS=`/etc/last -2 $LOGNAME | wc -l`
[ $NUMLOGINS -lt 2 ] && cat /etc/copyright

And, for /etc/csh.login:

set NUMLOGINS=`/etc/last -2 $LOGNAME | wc -l`
if ( $NUMLOGINS<2 ) cat /etc/copyright

Technically, each user will get the copyright on their first login after
each time the /etc/wtmp file is pruned, but that needn't be often.

------------------------------

Subject: 8.9 How can I turn off quota checking?

There are a few ways to go about this:

1) # chmod -x /usr/bin/quota
This prevents quota from running. It's also a self documenting flag
in that a future system manager who tries to run /etc/quota will get
the "can not execute" error message.

2) # chmod -x /usr/bin/quote /etc/edquota
This appears to turn quota's completely off (which is what I
suspect the vast majority of people want) and not only speeds
up the login process, but you don't get any annoying messages.

3) # mv /usr/bin/quota /usr/bin/quota_check ; cp /bin/true /usr/bin/quota
This will still make the login program do the quota-check, but at
least
it goes by very very quickly now (as opposed to actualy checking every
single NFS mount with quota, and so on). Then, just run quota_check
whenever you want.

4) Remove the DiskQuota product ("swremove DiskQuota"). This will still
allow you to keep using quotas, as long as the NFS server still has
quota enabled, and is exporting the home directory filesystems with
all
the quotas enabled. Watch out though, since this deletes
/usr/bin/quota. So make a copy before removing the package, if you
still want to have the ability to do "quota -v", etc..

------------------------------

Subject: 8.10 Why can't I start Aserver?

Often this is because "localhost" isn't configured in DNS. Try:

$ nslookup localhost

If that command fails, you will want to have an entry added to your
name server(s) or /etc/hosts file for "localhost.your.particular.domain"
pointing at 127.0.0.1.

------------------------------

Subject: 8.11 How can I get a daemon to successfully start from an rc
script?
Updated: 03/08/01

When /sbin/rc exits, all child processes, including daemons that have not
yet daemonized themselves (called setsid()), will be killed.

To ensure that a process is not killed, invoke it via nohup(1). This
will
work for all programs, not just daemons.

Another trick is to start the command via at(1), as follows:

/usr/bin/at now < mydaemon
EoF

------------------------------

Subject: 8.12 How do I convert the uname string to a model string?
Updated: 04/09/01

BTW, if you're running 9.00 or later, on hardware that was released in
'92
or later, you can use the model(1) command to get an expanded model
string. For example:

$ uname -m
9000/829
$ model
9000/829/K400

Here are the mappings for older HP9000 Series 800 machines:

Model number on the String returned
outside of the box by uname -m
=============================================
default ----------> 9000/800
E25 --------------> 9000/806
E35 --------------> 9000/816
E45 --------------> 9000/826
E55 --------------> 9000/856
F10 --------------> 9000/807
F20 --------------> 9000/817
H20 --------------> 9000/827
K400 -------------> 9000/829
F30 --------------> 9000/837
G30/H30 ----------> 9000/847
I30 --------------> 9000/857
G40/H40 ----------> 9000/867
I40 --------------> 9000/877
G50/H50 ----------> 9000/887
I50 --------------> 9000/897
G70/H70 ----------> 9000/887
I70 --------------> 9000/897
G60/H60 ----------> 9000/887
I60 --------------> 9000/897
T500 -------------> 9000/891

On earlier machines, "9000/800" was returned by "uname -m" when HP-UX
could not determine the model number of the machine. This generally
indicated that the machine was not properly configured.

On more recent machines (As, Rs, Ls, Ns, etcx..), "uname -m" ALWAYS
returns "9000/800." To ascertain the machine's model string you MUST
use the model command.

------------------------------

Subject: 8.13 Is Perl included with HP-UX?
Added: 04/09/01

Yes, HP-UX releases 10.10 through 11.10 are shipped with Perl v4.0.1.8.
11.11 comes with Perl 5.005_02. The perl executable is
/usr/contrib/bin/perl. A little known gem of knowledge is that the Perl
4
exectuable that is included with 10.10 through 11.10 is statically
linked!
Since the binary is only 532k, you should consider the option of placing
a copy in /sbin. That way, if you ever need to boot into single-user
mode
to do system maintenance or emergency recovery, you'll have all the power
of Perl at your disposal! :-)

Perl 5.6.0 binaries for 10.20 and 11.x can be obtained from on the
Liverpool archive.

------------------------------

Subject: 8.14 Why can't I type an '@' character?

If you do a 'stty -a' and you will see that your 'kill' character is
set to '@'. You need to set your 'kill' character to be something
other than the '@' character by doing something like 'stty kill '^U''.
You should add this to your .profile or .cshrc file.

------------------------------

Subject: 8.15 Why can't I get my machine into boot admin mode?

When i reboot my workstation I do not get the "..push and hold the ESCAPE
key to ..." - why?

The machine is configured in secure boot mode. To get into boot admin
mode you will need to remove all bootable media (i.e. disconnect disks,
LAN, etc.) and then power on - the boot will fail and you can then get
to boot admin and switch off secure boot mode.

------------------------------

Subject: 8.16 What happened to "less"?
Updated: 04/05/01

Use "more" or "pg" instead. Under HP-UX 10.00 and later, "more" is just
as robust as "less". If you really want "less", you can grab it from the
Liverpool archive.

------------------------------

Subject: 8.17 What should go in my PATH and MANPATH environment
variables?
Updated: 03/05/01

PATH
----
At least:

/usr/bin /usr/contrib/bin /usr/bin/X11 /usr/contrib/X11/bin
/usr/contrib/bin/X11 /usr/local/bin

If you have the HP ANSI C compiler installed:

/opt/ansic/bin /opt/langtools/bin /usr/ccs/bin

And, for system management stuff:

/usr/sbin /sbin

Alternately, you can simply add the following to your .profile:

PATH=`cat /etc/PATH` # for sh or ksh
setenv PATH `cat /etc/PATH` # for csh

The "/etc/PATH" file is supposed to be updated every time new software
is installed under /opt/. /etc/PATH will contain everything mentioned
above, except for "/usr/sbin" and "/sbin".

Simply add any additonal command directories you need. For example:

PATH="$HOME/bin:$PATH"

MANPATH
-------
First pull in /etc/MANPATH (works the same way as /etc/PATH):

MANPATH=`cat /etc/MANPATH` # for sh or ksh
setenv MANPATH `cat /etc/MANPATH` # for csh

Then add any additonal manual directories you need. For example:

MANPATH="$HOME/man:$MANPATH"

------------------------------

Subject: 8.18 Why does the 10.x/11.x cksum command produce a different
checksum than the 9.x cksum command?
Updated: 04/05/01

The 9.x cksum was defective - it did not correctly implement the POSIX
spec. That is understandable, because the POSIX cksum spec does not
supply a test suite to easily verify an implementation is correct.

The 10.x/11.x cksum is correct. Unfortunately that means it can not
match 9.x cksum.

Another implementation that did not match POSIX spec was in AIX 3.*; I
haven't checked AIX 4.* or Solaris.

Other good implementations (they give the same answer as 10.x/11.x
cksum):
- GNU cksum
- Solaris 7/8
- HP Software Distributor swpackage program, on both 9.x and 10.x

------------------------------

Subject: 8.19 Can I run Linux on an HP9000 system?
Updated: 04/22/02

Yes!

PA-RISC Linux is an activevly developed (and working) native port of
Linux
to the PA-RISC architecture, which will eventually be merged into the
mainstream kernel tree and into commercial distributions. HP officially
supports and endorses the project. Currently, PA-RISC Linux supports
practically any HP workstation, as well as the A180 server. Support for
Ls and Ns is in the works. See:

o

MkLinux was successfully ported to PA-RISC 1.1. This project has not
been
active since '97:

o

There is also an HP9000/300 Linux port that has been merged with the
Linux/m68k kernel tree as of about Linux 2.1.119. The homepage for this
effort is:

o

------------------------------

Subject: 8.20 Can I run *BSD on an HP9000 system?
Added: 04/18/01

Yes!

There are HP9000 ports of both OpenBSD and NetBSD. Check out the
following links:

o Series 700/800 (32-bit only):
+
+

o Series 300/400:
+
+
+

------------------------------

Subject: 8.21 What happened to /usr/local? What are these /usr/contrib
and /opt directories?
Updated: 04/04/01

As of HP-UX 10.00, things have been moved around some -- probably for
the better:

/opt
optional HP software packages like the ANSI C & C++ compilers and
debuggers, and the Java[TM] SDK; larger 3rd-party apps (ie - emacs,
Perl 5)
/usr/contrib
Unsupported, 3rd-party or public-domain software compiled and
maintained by the local IT group on their software depot
(ie - nn, gzip & other GNU utils)
/usr/local
workstation-unique software packages that users have installed
themselves, or are local to a specific machine. This directory
is world-writable (ack!).

For more information on the SVR4 filesystem layout, see hier(5).

------------------------------

Subject: 8.22 Is it OK to change root's shell?
Updated: 04/05/01

No! root's shell has to be /sbin/sh, the default setting, or another
shell that resides on the root filesystem (ie - /sbin/csh). The /usr
filesystem isn't mounted in single-user mode, so changing root's shell
to /usr/bin/ksh, or any other shell not on the root filesystem, can
potentially cause you serious grief.

A nice compromise is to add something like the following at the very end
of /.profile:

# if /usr/ is mounted, change our shell to ksh...
/usr/bin/true 2>/dev/null && exec /usr/bin/ksh

------------------------------

Subject: 8.23 Why does HP-UX 10 generate copious "Sti_save" syslog
messages?
Updated: 04/05/01

HP-UX 10 generates a FLOOD of syslog messages that look like this:
vmunix: Warning! [82194698 ticks since boot] Sti_save:IteLock not...
...available for 60 seconds

From what I can gather, these are spurious messages than can be ignored.

One way to turn them off (any suggestions for others?) is to uncomment
the "Dtlogin@grabServer: False" line in {/usr,/etc}/dt/config/Xconfig.

After this, reset CDE (see question 4.15.2), and you won't see 'em again!

------------------------------

Subject: 8.24 How can I tell which kernel was booted?
Updated: 01/02/02

In 11.x, this can be done using the kmpath command (must be root):

# /usr/sbin/kmpath
/stand/vmunix

Prior to 11.20, the kmpath command was undocumented. The 11.20 manpage
can be viewed online at:

o

I don't know how to do ascertain the running kernel in 10.x. If you
know of a way to do it, please let me know, and I'll update this item.

------------------------------

Subject: 8.25 What is the equivalent of ldd under HP-UX?
Updated: 04/05/01

In 10.x, you can use one of the below methods:

o chatr yourprog
o odump -sllibload yourprog
o _HP_DLDOPTS="-ldd" yourprog

ldd is actually shipped with HP-UX 11.x, though, in many cases, chatr is
still a good alternative.

------------------------------

Subject: 8.26 How do I configure a program to automatically start up or
shutdown when the system starts up or shuts down?

In 10.x and 11.00, this is documented in the following files in the
/usr/share/doc directory:

o file_sys.txt
o sequence.txt
o start_up.txt

As of 11i, these white papers are no longer available in the
/usr/share/doc directory. However, the "10.0 File System Layout"
white paper can be viewed online at:

o

Also refer to rc(1M), init(1M), and inittab(4).

------------------------------

Subject: 8.27 How can I do regular expression matching?
Added: 04/13/01

First of all, refer to regexp(5) for the definitions of basic and
extended
regular expressions.

From the command-line
=====================
The following commands support basic regular expression matching:

o grep(1)
o sed(1)
o ed(1)
o ex(1)
o vi(1)

The following commands support extended regular expression matching:

o egrep(1) (grep -E)
o awk(1)

Perl supports Perl regular expressions, a superset of extended regular
expressions.

Programmatically
================
Use regcomp(3C). Do not use regcmp(3X) or re_comp(3X); these are
obsolescent and may be removed in a future HP-UX release.

------------------------------

Subject: 8.28 How can I play MP3s?
Added: 03/29/01

Use mpg123.

mpg123 is a real time MPEG Audio Player for Layers 1, 2, and 3. It can
play MP3s in stereo on reasonably fast machines. mpg123 is only for
non-commercial use. Precompiled binaries for 10.20 or 11.00 can be
obtained from the Liverpool archive.

------------------------------

Subject: 8.29 How can I use audio on HP-UX 10.x/11.x without a network?
Updated: 04/24/01

The problem is that audio relies on the DCE rpcd, which doesn't start if
there's no network. Consequently, the audio server (Aserver) fails to
start either.

You can always access /dev/audio directly, but you won't be able to
use HP's audio software, such as the Audio Control Panel or the Audio
Editor. Furthermore, this method is not documented by HP.

To get Aserver to work, you basically have to make the machine believe
it's on a network. You have to get the lan interface up; loopback is
not enough. Plugging a transceiver into the AUI port is reported to
work on 715s and 712s.

Another solution is to restore /usr/audio/*, llbd and libAt.* from a
9.x backup tape and replace rpcd with a symbolic link to llbd. Then,
you can use audio in much the same way as on HP-UX 9.x. The only
problem is that the buttons in the audio_editor don't have any text in
them, so one has to guess which one does what.

Unfortunately, SD-UX doesn't work with this configuration, which makes it
impossible to install or remove SD packages. To fix this, you have to
recreate the standard RPC symlinks - link /usr/bin/rpcd to
/opt/dce/sbin/rpcd,
and /opt/dce/sbin/rpcd to dced.

Michael Piotrowski created a page to collect solutions for this problem:

o

----------------------------------------------------------------------------------

Subject: 8.30 Is there a tool to trace system calls?

Yes, for HP-UX 11.x, the tusc command provides system call tracing
functionality. It is available from:

o

Tusc is made available by the good graces of Chris Bertin of HP.

For earlier HP-UX releases, the situation is murkier. A system call
tracing program called trace is available from Interworks, as well as the
Liverpool archive. However, this program only works on some systems
(mostly 700s). The author, Kartik Subbarao. has declared trace obsolete
in favor of tusc, and has discontinued further development and bug fixes.

------------------------------

Subject: 8.31 What OS capacity limits exist?
Updated: 12/11/02

Attribute 10.01 10.10
==================================================
Physical RAM: 2 GB 3.75 GB
Shared Memory: 1.75 GB 1.75 GB
Process Data Space: 0.9 GB 1.9 GB
# File Descriptors: 60,000 60,000
# User Ids: 60,000 60,000
CPUs: ? ?

10.20,
Attribute 32-bit 11.0/11i 64-bit 11.0/11i v1.x
================================================== =============
Physical RAM: 3.75 GB 256 GB
Shared Memory: 2.75 GB 512 GB?
Process Data Space: 1.9 GB 256 GB?
# File Descriptors: 60,000 60,000
# User Ids: 2,147,483,647 2,147,483,647
CPUs: 16? 32/64

Attribute 11i v2.x
======================================
Physical RAM: 1 TB
Shared Memory: 2 TB?
Process Data Space: 1 TB?
# File Descriptors: 60,000
# User Ids: 2,147,483,647
CPUs: 128

Beginning with Release 10.10, the supported sizes for files and file
systems on HP-UX have gradually increased. Below is a summary of the
supported sizes for Releases 10.01 through 11i.

NOTE: Although it may be possible to create files or file systems larger
than these documented limits, such files and file systems are not
supported, and the results of using them may be unpredictable.

HFS Supported Sizes
===================
The maximum file and filesystem sizes supported by HFS are listed in the
table below.

TABLE 1. HFS Supported File and File System Sizes
====================================
HP-UX File Filesystem
Release Size Size
====================================
10.01 2 GB 4 GB
10.10 2 GB 128 GB
*10.20,11.x 128 GB 128 GB
====================================

* On these releases it is possible to exceed the 128 GB limit to 256
GB, but it is not supported.

JFS (VxFS) Supported Sizes
==========================
The maximum file and file system sizes supported by the Journaled File
System (JFS), also known as the VERITAS File System (VxFS), are listed in
the table below.

TABLE 2. VxFS Supported File and Filesystem Sizes
================================================== ============
HP-UX JFS Disk Layout File Filesystem
Release Version Version Size Size
================================================== ============
10.01 - Version 2** 2 GB 4 GB

10.10 - Version 2** 2 GB 128 GB

10.20 Version 3.0 Version 2 2 GB 128 GB
10.20 Version 3.0 Version 3** 128 GB 128 GB

11.00 Version 3.1 Version 2 2 GB 128 GB
*11.00 Version 3.1 Version 3** 1 TB 1 TB

11.00 Version 3.3 Version 2 2 GB 128 GB
11.00 Version 3.3 Version 3** 1 TB 1 TB
11.00 Version 3.3 Version 4 1 TB 1 TB

11i Version 3.3 Version 2 2 GB 128 GB
11i Version 3.3 Version 3 2 TB 2 TB
11i Version 3.3 Version 4** 2 TB 2 TB
11i v2.x Version ? Version ? 4 TB 4 TB
================================================== ============
* PHKL_22719 is needed to avoid mount problems if extending
or creating file systems beyond 128 GB.

** default disk layouts for particular HP-UX Releases.

Related JFS Patches
===================
On HP-UX 10.20, several patches have been introduced to prevent the
creation or extension of JFS filesystems beyond the supported maximum
size of 128 GB:

o PHCO_23035 - extendfs_vxfs(1M) cumulative patch
o PHCO_23036 - fsadm_vxfs(1M) cumulative patch
o PHCO_23037 - mkfs_vxfs(1M) cumulative patch

Corresponding patches for HP-UX 11.00 and 11i are being prepared. The
patch numbers were not known when this document was written. For the
latest information about available patches, see the IT Resource Center:

o

If you have a support contract, select Browse Support Info By Product.
If
you do not have a support contract, select Individual Patches to search
the Patch Database. Then select HP-UX Patches, select 11.00 or 11i or
11.11 as the OS version, and search for the keyword JFS to get a list of
JFS patches.

NOTE: You must register with the IT Resource Center to search the
patch database

------------------------------

Subject: 8.32 How can I determine how much RAM my system has?
Updated: 06/14/02

From SAM
========
1) goto Performance Monitors -> System Properties -> Memory
2) check Clock Frequency: value

From the command-line
=====================
If you are root, you can use adb to query the kernel:

# echo "memory_installed_in_machine/D" | adb -k /stand/vmunix /dev/mem
| \
tail -1 | awk '$2 > 0 { print $2 / 256 }'

Or if /etc/dmesg is still current, you can grep it:

$ /etc/dmesg | grep "real mem" | tail -1 | \
awk '$4 > 0 { print $4 / 1048576 }'

A few more methods that can be used (as root only):

o As of 10.x, the following SAM command will show memory in MB:
# /usr/sam/lbin/getmem
However, getmem reportedly does not work on systems with >512 MB of
RAM,
and it is not supported by HP.

o It's painfully slow, but the following cute method will also give the
total MB:
# expr `wc -c /dev/mem | cut -d' ' -f1` / 1048576

o The following creative method suggested by Siem Korteweg
prints the size in MB but works only on 10.x:
# dd if=/dev/mem of=/dev/null bs=1024k 2>&1 | grep in | cut -d+ -f1

Programmatically
================
Here is a short program that will print the system's RAM size (can be run
by any user):

/* mem.c - To compile: cc +DAportable -o mem mem.c */
#include
#include
#include
#include
#define BYTES_PER_MB 1048576
main()
{
struct pst_static pst;
union pstun pu;

pu.pst_static = &pst;
if ( pstat( PSTAT_STATIC, pu, (size_t)sizeof(pst), (size_t)0, 0 ) != -1
) {
printf( "Physical RAM = %ld MB\n",
(long)( (double)pst.physical_memory * pst.page_size / BYTES_PER_MB
) );
exit( 0 );
} else {
perror("pstat_getstatic");
exit( errno );
}
}

------------------------------

Subject: 8.33 What are the various revisions of PA-RISC?
Updated: 01/23/03

Rev Bits Rel Models
================================================== ========================
1.0 32-bit '86 TS1, NS, NS1, CS1, NS2, PCx
1.1 32-bit '89 PA7000 (PCx-S), PA7100 (PCx-T), PA7150 (PCx-T+),
PA7100LC (PCx-L), PA7200 (PCx-T'), PA7300LC (PCx-L2)
2.0 64-bit '94 PA8000 (PCx-U), PA8200 (PCx-U+), PA8500 (PCx-W),
PA8600 (PCx-W+),PA8700 (PCx-W2), PA8800, PA8900

o The PA8700 is scheduled for release in the first half of 2001.
o The PA8800 is slated for release in the first half of 2002.
o The PA8900 is slated for release in the first half of 2003, and will
probably be the final processor in the PA-RISC family.

o HP-UX 10.10 is the last supported release for all PA-RISC 1.0 systems.
o HP-UX 10.20 is the first supported release for PA-RISC 2.0 systems.
o HP-UX 11.00 is the first release to utilize the 64-bit capacity of
PA-RISC 2.0.

PA-RISC architecture evolution
==============================
When the original PA-RISC 1.0 Architecture was designed in the early
eighties, its goal was to be a single architecture that efficiently spans
Hewlett-Packard's three computer lines: the HP3000 commercial
minicomputers, the HP9000 technical workstations and servers, and the
HP1000 realtime controllers. Before introduction, the program was
codenamed SPECTRUM. At introduction in 1986, it was known as HP's
Precision Architecture, HP-PA, or just PA. Subsequently, the
architecture was called PA-RISC, with the first version of the
architecture known as PA-RISC 1.0.

Since its introduction, the PA-RISC architecture has remained remarkably
stable. Only minor changes were made over the next decade, to facilitate
higher performance in floating-point and system processing. When PA-RISC
1.0 was designed, floating-point performance was not essential for the
majority of the HP computer systems targeted at that time. Hence, the
architecture defined floating-point support as optional coprocessor
instructions, without emphasizing high performance. In 1989, driven by
the performance needs of the HP9000 technical workstation line, PA-RISC
1.1 was introduced. This included additional floating-point capabilities,
such as more floating-point registers, doubling the amount of register
space for single-precision floating-point numbers, and introducing
combined operation floating-point instructions[3]. These floating-point
features enabled higher performance in technical computations, including
graphics, where single-precision floating-point numbers are extensively
used.

In the system area, PA-RISC 1.1 architectural extensions were made to
speed up the processing of performance-sensitive abnormal events, such as
misses in the address translation cache (also called the TLB). Such
architectural changes are only visible to the operating system, and do
not affect any applications programs. Minor system changes have been
added to the three editions of the PA-RISC 1.1 architecture, known as
editions 1, 2 and 3, respectively, of the architecture manual.

PA-RISC 1.1 also added bi-endian support. Previously, PA-RISC 1.0 was a
consistently big endian machine, but in PA-RISC 1.1, support for little
endian was also provided by means of a mode bit.

The PA-RISC 2.0 architecture represents the first time that user-visible
changes have been made to the core integer architecture. In addition to
support for 64-bit integer data and 64-bit flat addresses, other
user-visible changes have also been added to enhance the performance of
new user workloads. For example, Multimedia Acceleration eXtensions (MAX)
have been added to speedup multimedia processing by software running on
the main processor, rather than on separate optional hardware. Some
additional floating-point and system-level changes have also been added.

(Excerpt from "64-bit and Multimedia Extensions in the PA-RISC 2.0
Architecture" by Ruby Lee and Jerry Huck
, (c)Hewlett-Packard, 01/15/97)

You can expect programs compiled on a particular release of HP-UX to run
on that release, or on any later release, but NOT on an earlier release.
Hence, a program compiled on 11.00 can not be expected to run on 10.20.

The HP compilers' scheduling option, +DS xxx, does not affect the
compatibility of the generated object code. It affects only how the
optimizer schedules instructions that have long latencies, so it is
usually to your advantage to schedule the code for the fastest machine
currently shipping, even if you are generating code for an earlier
architecture.

HP will gradually transition its servers from PA-RISC to the new
Itanium[TM] processor family (IPF), also known as IA-64, starting in mid
2001. The IA-64 architecture was co-developed by Intel and HP, and so it
inherits many features (and instructions) from PA-RISC. PA-RISC binaries
will run on IA-64 systems.

Intel's Itanium roadmap can be viewed at:

o

For more information on Itanium[TM], visit:

o

Information on transitioning to IA-64 is available as part of the HP-UX
11.x Software Transition Kit:

o

------------------------------

Subject: 8.34 How do I find the clock speed of my system's CPU(s)?
Updated: 04/03/01

From the command-line
=====================
# echo "itick_per_usec/D" | adb /stand/vmunix /dev/mem | tail -1
itick_per_usec: 552

From SAM
========
o Go to Performance Monitors -> System Properties -> Memory
o Check Clock Frequency: value

------------------------------

Subject: 8.35 How can I view/print PDF files?
Added: 04/16/01

You must install the HP-UX version of Adobe Acrobat Reader, which can be
downloaded for free from:

o

or:

o .

------------------------------

Subject: 8.36 How do I read an SGI-written tar format DDS tape?

The secret (at least in this case) is to byte-swap the tape before
passing it to tar:

# dd if=/dev/rmt/0m conv=swab | tar -xvf -

Byte swapping is believed to only be necessary if the device which
created the tape was a swapping one (swapping tape devices are the
default on IRIX 4, but not in IRIX 5). One can use /dev/nrtapens on
either system to produce tapes which are not byte-swapped.
If the SGI is running Irix 5.0x and above, a large (512k) block
size is used:

# dd if=/dev/rmt/0m ibs=512k obs=10k| tar -xvf -

------------------------------

Subject: 8.37 Is the Euro supported?
Added: 04/17/01

11i, as well as later 11.00 refresh releases, includes Euro support.

Euro support can be added to 10.20 or 11.00 by installing a set of
patches. These patches are listed at:

o

------------------------------

Subject: 8.38 How can I view various Windows-format files (Word docs,
Excel spreadsheets, etc..) on an HP-UX system?
Added: 04/17/01

There is an excellent product called Quick View Plus[R] that is made by
IntraNet Solutions (INSo). You can purchase a single copy of Quick View
Plus for HP-UX from IntraNet Solutions. The cost is $59.00 and annual
support can be purchased for an additional $8.85. Support provides
technical assistance and any product enhancements for a 12-month period.
Call INSo if you are interested in purchasing; they accept credit cards
or purchase orders:

Laura Pierce
Corporate Sales
IntraNet Solutions
800.989.9774 x2090
952.903.2090
952.829.5424 fax



------------------------------

Subject: 8.39 How is the system load average, as reported by the uptime
and top commands, calculated?
Added: 04/17/01

The load average is the average number of processes in the queue waiting
for CPU time, over the last 1, 5, and 15 minutes.

------------------------------

Subject: 8.40 Where can I get HP9000 firmware updates?
Added: 04/19/01

Firmware updates can be downloaded from the HP ITRC (see question 4.2.1.3
for info on the ITRC). Go to:

maintenance and support ---> patching: individual patches ---> firmware

Check the "CPU patches" checkbox, before clicking the "SEARCH" button.

------------------------------

Subject: 8.41 Where can I look up HP part numbers?
Added: 12/18/01

Go to the HP PartSurfer web site:

o

or purachase the HP Service Parts Information (HP-SPI) CD-ROM:

o

Once you know the part numbers, you can order parts from the HP Parts
Direct web site:

o

------------------------------

Subject: 8.42 How can I create a /dev/zero special file?
Updated: 10/14/02

Prior to 11.11, HP-UX did not come with the special device file
/dev/zero.
However, it is possible to create one in 11.0 using the following
command:

# mknod /dev/zero c 3 4

Of course, use of the device file on an 11.0 system is unsupported by HP.

In conjunction with the dd command, /dev/zero can be used to fill a file
with a given number of the '\0' (nul) character. For example, to create a
1 MB file named "foo" full of nul characters, use the command:

$ dd bs=1024k count=1 if=/dev/zero of=foo

Note the same thing can be accomplished in 10.x using the prealloc(1)
command as follows:

$ prealloc foo 1048576

Note, filling a file with zeroes is not a secure way to wipe file data
from disk. For this, you must use a utility such as 'shred', which is
part of the GNU fileutils package.

A device file with slightly similar behavior to /dev/zero can be created
on 10.x as follows:

# mknod /dev/full c 3 3

Reading from this device will always succeed and report that the
requested number of bytes were read. However, no data will actually be
copied to the read buffer.

------------------------------

Subject: 8.43 Why is tail's output truncated for large amounts of input?
Added: 05/02/02

From the tail(1) manpage:

WARNINGS: Tails relative to end-of-file are stored in a 20-Kbyte
buffer,
and thus are limited in length. Therefore, be wary of the
results when piping output from other commands into tail.

For HP-UX 11.11, the 20K limitation is corrected by PHCO_24707. For
HP-UX
11.0 and earlier, GNU tail, part of the GNU textutils package, can be
used
instead.

------------------------------

Subject: 8.44 What commands or scripts exist for gathering and
summarizing
system information?
Updated: 08/14/02

If Ignite-UX is installed, the print_manifest command provides a good
amount of information, including model, serial number, device info, swap
& LVM info, IP and kernel parameters, and installed filesets.

# /opt/ignite/bin/print_manifest

Ignite-UX comes preinstalled on newer boxes, or the latest version can be
obtained for free from:

o

If you're running 11.20 or later, the new machinfo command provides
similar information:

# /usr/contrib/bin/machinfo

------------------------------

Subject: 8.45 How can I convert numbers from one base to another?
Added: 05/03/02

You can use adb(1) to convert decimal to hexadecimal and hexadecimal to
decimal as follows:

To convert decimal 127 to hex:

$ echo '0d127=X' | adb

You should receive the following output:

7F

To convert hex 7F to decimal:

$ echo '0x7f=D' | adb

You should receive the following output:

127

Alternatively, the 'typeset' and 'set' shell builtins can be used to do
base conversions. See sh-posix(1) or ksh(1).

------------------------------

Subject: 8.46 What are the machine ID and serial number used for?
Added: 05/03/02

The machine (or software) ID # is not the same as the system serial #.
Here is my attempt at summarizing what the two #'s mean and how they can
be obtained:

Machine ID #
============
This number uniquely identifies a machine. It is usually 10 digits. It
is used by HP and some 3rd party vendors for associating a software
license with a particular machine. The number is stored on the system
board and can only be changed by an HP support technician. It can be
obtained using one of the following methods:

$ uname -i # standard method

$ getconf CS_MACHINE_IDENT # 11.11 and later only

# print_manifest | grep "Software ID:" # if Ignite-UX is installed
# (must be root)

According to Dave Peter , some older
workstations (735s for example) do not have unique machine ID #s.

System Serial #
==============
I don't think this number is unique among all HP systems. I'm guessing
that it's at least unique only among systems with the same model #.
Unlike the machine ID #, it is not stored on the system board. In fact,
on older machines and non-factory-installed machines, it is not stored
anywhere on the system, even on disk.

On more recent factory-Ignited machines (As, Ls, Ns, etc..), the serial
number is stored in the file
'/var/opt/ignite/local/manifest/manifest.seed'
You can check if the serial number is stored in this file by executing
the
following command as root:

# print_manifest | grep "Serial number:"

If the above command doesn't produce any output, you'll have to find the
serial number the old-fashioned way. Look for it in the documents that
shipped with the machine or on a sticker somewhere on the machine itself.
Once you've found the serial number, use the following undocumented
method
to store it, along with your company's name, in the 'manifest.seed' file:

# echo 'SERIAL xxxxxxxxxx'
>>/var/opt/ignite/local/manifest/manifest.seed

# echo 'CUSTOMER "My Company, Inc."' \
>>/var/opt/ignite/local/manifest/manifest.seed


Now give 'print_manifest' another try. You should see the serial # and
your company's name in the output.

Another command that is supposed to print the serial # on 11.11 and later
is:

# getconf CS_MACHINE_SERIAL

However, I have not been able to get this command to print anything other
than a blank line. It apparently does not read from the 'manifest.seed'
file is used by Ignite-UX.

---

If you have a system which does not support FRU IDs (currently every
system
except the N- and L-Class) take a look into the predictive configuration.
The serial no. should be entered there. On a V2500/V2600 you can execute
the
command 'jf-ccmd_info' on the TestStation.

------------------------------

Subject: 8.47 How can I tell what commands SAM is executing under the
hood?
Added: 07/08/02

From within SAM, select the 'View SAM Log' option to view part or all of
the SAM log file at varying levels of detail. The log viewer can also be
accessed by executing '/usr/sam/bin/samlog_viewer'.

------------------------------

Subject: 8.48 How can I view a file in octal or hexadecimal?
Added: 07/08/02

For octal, use:

$ od -b file

For hexadecimal, use:

$ xd -b file

------------------------------

Subject: 8.49 How do I configure the kernel to write corefiles as
core.?
Added: 07/24/02

If you are using 11.00 or later, set the 'core_addpid' kernel parameter
to a non-zero value. The kernel will now create corefiles as core..
SAM can be used to easily modify kernel paramters. Note, a reboot will
be necessary.

------------------------------

Subject: 8.50 How do I analyze a system crash dump?
Added: 07/24/02

The tool to read them is called q4, although you can also get some info
from adb by going into the the directory and running:

# echo "msgbuf+8/s" | adb -m vmunix .

Don't forget the dot on the end :-)

If you really want to learn as much as possible for a customer about the
HP-UX kernel, and so gain some insight as to what's going on inside a
dump, then the best thing is to take the "Inside HP-UX" course from HP;
it's course number is H5081S.

The normal way to deal with crash dumps is to have an HP support
contract,
and then get their Responce Center to have a look at the dump, ascertain
if it's a known problem, and if so tell you which patch(es) you need to
apply.

Analyzing a crash dump takes a great deal of experience, knowledge and
access to the source code for HP-UX and a large data mine full of
similar crash dumps. The msgbuf will say something like:

data segmentation violation

which means: the kernel made a mistake and a pointer to an integer has an
odd address (must be an even address). However, this is of no use until
you try to unwind why the kernel made this mistake, look at the source
code to see if a fix has been made, and finally recommend a patch.

Here are a few reasons that you'll see in msgbuf (and also
/etc/shutdownlog):

freeing free frag
freeing free inode

This means severe filesystem corruption exists on the disk (not to be
confused with I/O errors unless the error is undetected).

HPMC

This is a hardware failure and a board will have to be replaced.
Determining which board is actually easier than finding a patch for a
software problem.

The vast majority of crash mistakes have been corrected through patches,
so you can save your self a lot of time by applying the complete set of
patch bundles from your SupportPlus CDROM. Any CD from the past year is a
good choice. Or you can download the latest SupportPlus patch bundles
from:

o

------------------------------

Subject: 8.51 Is HP-UX free for non-profit users (students, hobbyists,
etc..)?
Updated: 01/10/03

In the past, if you owned an HP-UX workstation (series 700) system, HP-UX
11.0 media could be obtained for free as part of HP's Easy Setup
initiative. Unfortunately, since Easy Setup functionality is now built
into the standard HP-UX 11.0 and 11i distributions, free media is no
longer provided.

If you own a server (series 800) system, you must either purchase an
HP-UX media kit from HP, or make a copy of someone else's OS media.

As for HP-UX licenses, they basically come with the hardware, though for
used _servers_, a license transfer request form, signed by the buyer and
the seller, has to be submitted to HP. For 10.20 and later,
unlimited-user license upgrades can be obtained for free from HP; see
5.14.1 for details.

------------------------------

Subject: 8.52 Where can I obtain a free HP-UX shell account?
Added: 08/14/02

The HP test drive program allows you to test drive some of the latest
HP hardware running HP-UX or other HP-supported operating systems:

o

------------------------------

Subject: 8.53 How do I grep for an exact word as with "grep -w" in
Linux?
Added: 09/12/03

From 11.11 onwards, the -w option is supported. Otherwise, use:

$ grep -E "(^|[^[:alnum:]_])()([^[:alnum:]_]|$)"

or install GNU grep and use its -w option.

------------------------------

Subject: 9. ACKNOWLEDGEMENTS

------------------------------

Subject: 9.1 Contributors

Thanks to all those who have contributed to this FAQ over the years!

And special thanks to all former maintainers of this FAQ:

o Greg Cagle of HP, Portland (OR) site,
was the maintainer until Nov '94.

o Colin Wynd formerly of HP, was the maintainer until Nov '95.

o Craig Gilmore of HP, Mountain View
(CA) site, was the maintainer until Feb '96.

o Alek Komarnitsky got conned into doing this
by Greg starting in Aug '96 (where's that six-pack of Hank's?!? ;-)

o Ian P. Springer of HP, Mount
Laurel (NJ) site, took over maintaining the FAQ in Mar '01.

------------------------------

Subject: 9.2 Trademarks

Adobe[R] and Adobe Acrobat[R] are trademarks of Adobe Systems, Inc.

AIX[R] is a registered trademark of IBM Corp.

ARPUS and Ce are trademarks of Enabling Technologies Group, Inc.

DLT is a trademark of Quantum Corp.

Eudora[R] is a registered trademark of the University of Illinois Board
of
Trustees, licensed to QUALCOMM, Inc.

HP-UX[R] and PA-RISC[R] are registered trademarks of Hewlett Packard
Company.

Intel[R] is a U.S. registered trademark of Intel Corp.

Itanium[TM] is a trademark or registered trademark of Intel Corp. in the
U.S. and other countries.

Java[TM], NIS[TM], and Solaris[TM] are trademarks of Sun Microsystems,
Inc., in the U.S. and other countries.

Linux[R] is a registered trademark of Linus Torvalds.

Oracle[R] is a registered U.S. trademark of Oracle Corp., Redwood City,
CA.

The Open Group[TM] and X Window System[TM] are trademarks of the Open
Software Foundation in the U.S. and other countries.

OSF/1[R], Motif[R], and UNIX[R] are registered trademarks of the Open
Software Foundation in the U.S. and other countries.

POSIX[TM] is a trademark of the The Institute of Electrical and
Electronics Engineers, Inc.

QUALCOMM[R] is a registered trademark and Qpopper[TM] is a trademark of
QUALCOMM, Inc.

Quick View Plus[R] is a registered trademark of IntraNet Solutions, Inc.

SecurID is a registered trademark of RSA Security Inc.

Sun[R] and NFS[R] are registered trademarks of Sun Microsystems, Inc., in
the U.S. and other countries.

Windows[R] and Windows NT[R] are U.S. registered trademarks of Microsoft
Corp.

All other trademarked brand or product names mentioned in this FAQ are
the
properties of their respective owners.

------------------------------




__________________________________
Start your day with Yahoo! - Make it your home page!
http://www.yahoo.com/r/hs