From: hpux.faq@gmail.com
Newsgroups: comp.sys.hp.hpux,comp.answers,news.answers
Subject: comp.sys.hp.hpux FAQ
Followup-To: comp.sys.hp.hpux
Approved: news-answers-request@MIT.EDU
Summary: This is the FAQ for the HP-UX operating system, version 10 and 
         later.
Keywords: HP-UX, HPUX, FAQ, 10.0, 10.20, 10.x, 11.0, 11.x, 11i, 11.22, 
          11.23, 11.30
Lines: 7810

Archive-name: hp/hpux-faq
Version: 11.30.0802.00
Last-modified: 2008/02/25
Maintainer: Ian 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-2008 Ian 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-2008, Ian 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 represent the opinions
of the maintainer's employer, contributors' employers, or the Hewlett-
Packard Company.

Format
======
This FAQ is written in "minimal digest format" as described at 
.

Unanswered Questions
====================
For other questions and answers not included in this FAQ, please search
for the answer in the newsgroup archives at  
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 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: 05/17/07

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     '05?  PA & IPF, select Tru64 components, 128-CPU, limited self-
                healing & self-tuning
11.30   02/07   Virtual Server Environment (VSE); HP Serviceguard
                clustering enhancements; up to 100 million ZB storage;
                new hot-swap and online patching capabilities             

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, 11.30?
Itanium       Intel IPF          11.2x, 11.30

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
3.0              11.30             (PA+?)IPF  Virtualization 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 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


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

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.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: 11/12/06

The HP World conference is no longer held, since Interex shut down in 2005. See
.

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

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         2444444444111111111664 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: 11/06/06

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
===========
AppMate Performance Software sells a software product for HP-UX called
RamDisc Plus. 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 bbbbbbbbbeeeeeeeee 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: 11/12/06

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 previously published a web page that lists PS/2 and
USB keyboards and mice that have been reported to work on HP9000
workstations. It can now only be found in Google's page cache:

  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?
Updated: 11/12/06

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: 11/12/06

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 installed innnn /usr/local/X11R6
  (if you want them elsewhere, use a symbolic link, or grab the source)
- most libraries come with archive and sharrrred versions
  (and the built binaries mostly use the .sl versions)
- this is JUST the core distribution (xc/)
- xc/test and xc/workInProgress aren't inclllluded 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 Consoleeeeeeeee*********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: 11/12/06

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: 11/12/06

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):
  + 

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: 11/12/06

The HP Response Center (HPRC) previously maintained an FTP site at
 containing a collection of unsupported
tools, FAQs and white papers. This site is no longer open to the public.

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

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: 11/12/06

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
                      Canada                      

FTP
---
URL:                   United Kingdom
Mirrors:                  United States           
                            Germany           
                       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: 11/12/06

Qpopper is the most widely-used server for the POP3 protocol. Qpopper
supports the latest standards, and includes a large number of optional
features. The Qpopper homepage is:

  o 

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: 11/12/06

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 

Additonally, packaged binaries of Firefox and Thunderbird for 11.x 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  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 < 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!  :-)

More recent Perl 5 binaries for 11i can be obtained from 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: 11/12/06

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.

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

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 

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.

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.

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.

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

    Source: geocities.com/ian_springer/hpux

               ( geocities.com/ian_springer)