Archive-name: hp/hpux-faq Comp-sys-hpux-archive-name: hp/hpux-faq Version: 11.22.0302.01 Last-modified: 2003/02/04 Maintainer: Ian P. Springer <[email protected]> URL: ftp://rtfm.mit.edu/pub/faqs/hp/hpux-faq Revision-Frequency: monthly Posting-Frequency: every 10 days Disclaimer: Approval for *.answers is based on form, not content. Copyright: (c)2001-2003 Ian P. Springer comp.sys.hp.hpux FAQ (Frequently Asked Questions) [HTML version of this FAQ also available - please see section 4.1.1] 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-2003, Ian P. Springer, all rights reserved. It may be freely redistributed in its entirety, provided that this copyright notice is not removed. It may not be sold for profit or incorporated in commercial documents without the written permission of the copyright holder. Permission is expressly granted for this document to be made available for file transfer from installations offering unrestricted anonymous file transfer on the Internet. This article is provided as is, without any express or implied warranty. While every effort has been made to ensure the accuracy of the information contained in this FAQ, the maintainer and contributors assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. The content of this FAQ does not necessarily represent the opinions of the maintainer's employer, contributors' employers, or the Hewlett-Packard Company. Distribution ============ Refer to section 4.1.1 for details on where to obtain this FAQ. Format ====== This FAQ is written in "minimal digest format" as described at <http://www.faqs.org/faqs/faqs/minimal-digest-format/>. You can skip from one section to the next by pressing ^G in many newsreaders, such as rn, trn, and strn (but not nn or tin). What's New? =========== In the table of contents below, questions marked with a "+" were recently added, and questions marked with a "!" were recently updated. Unanswered Questions ==================== For other questions and answers not included in this FAQ, please search for the answer in the newsgroup archives at <http://groups.google.com/> (formerly DejaNews). Many times, what you want to know has been asked and answered many times before, and you will get your answer quicker searching through <http://groups.google.com/>. When searching, include the expression "group:comp.sys.hp.hpux" along with your keywords to narrow the search to only comp.sys.hp.hpux. If you are unable to find the answer to your question in the newsgroup archives, then go ahead and post your question to comp.sys.hp.hpux. Submitting Feedback =================== All feedback is appreciated. Submissions, corrections, comments, and complaints should be directed to Ian P. Springer <[email protected]>. ------------------------------ 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.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.<pid>? + 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? 9. ACKNOWLEDGEMENTS 9.1 Contributors 9.2 Trademarks ------------------------------ Subject: 3. GENERAL INFORMATION ------------------------------ Subject: 3.1 What does HP-UX stand for? HP-UX is short for Hewlett-Packard UNIX[R]. (Added by Ian, 04/16/01) ------------------------------ Subject: 3.2 Where can I find a good overview of HP-UX? For starters, there is the HP-UX homepage: o <http://unix.hp.com/> Also, check out the HP-UX page at OSdata.com: o <http://osdata.com/oses/hpux.htm> If you have an HP-UX 11.x system, read the introduction(9) manpage. It contains a lot of good background information. (Updated by Ian, 08/23/01) ------------------------------ Subject: 3.3 What is the release history of HP-UX? Rel Date Major Features Introduced ========================================================================== 1.0 '83? 1.1 '83? 1.2 '83? 2.0 '83? 2.1 '84? 2.2 '84? 3.0 '84? 3.1 '85? 3.2 '85? 4.0 '85? 5.0 2H/85 5.05 '86? 5.1 '88 5.2 '89? 5.21 '89? 5.3 04/89 6.0 '89 6.0.1 '89 6.0.2 '89 6.1 '89 6.2 '89 6.3 '89 6.5 02/89 7.00 mid '90 Motif[R] 7.01 '89 7.02 '90 7.03 <08/89 7.04 '90 7.05 '90 7.06 '90 7.07 '90 7.08 '90 7.09 '90 8.00 01/91 8.01 '91 8.02 04/92 8.03 '91 8.04 '91 8.05 07/91 8.06 '92 8.07 '92 9.00 07/92 PA7100 support, POSIX[TM] shell, VUE 3.0, fastlinks, ioscan(1M), model(1) 9.01 '93 added hardware support 9.02 '93 added hardware support 9.03 '93 added hardware support, including support for floppy disks 9.04 11/93 added hardware support 9.05 11/93 added hardware support 9.06 '94 9.07 '94 Multi-Buffered-X, Single-Logical-Screen 9.08 '94 9.09 '94 9.10 03/95 10.x compatibility 10.00 03/95 SVR4 filesys layout, NFS, SD-UX, XNTP, traceroute(1M) 10.01 07/95 JFS(v2) 10.10 02/96 large filesys/physmem/dsize, NLS, SLVM, UNIX95, CDE(1.0), DHCP, perl(4) 10.20 08/96 JFSv3, large files/uids, MPC, RARP 10.30 08/97 kernel (POSIX) threads, NFS PV3, streams TCP/IP, ASE, PPP, Y2K compliance 11.00 11/97 64-bit OS, DLKM, iCOD, CDE 2.1 11.10 03/00 SCA, JFS 3.3, 128-CPU, AutoFS, new ftpd 11.11 11/00 OEs, SuperDome, IO board OLAR, dynamic tunables, TCP NFS, Linux APIs & ABIs, perl5, JRE(1.2.2.04), X11R6.2 11.20 06/01 IPF, BTL DLKM, kernel logging, VxVM 11.22 06/02 Itanium 2, MxN threads, 64-CPU, kernel config GUI, system inventory manager, IPv6, IPSec, CPU/RAM board OLAR (*) 11.23 '03? PA & IPF, select Tru64 components, 128-CPU (@), limited self-healing & self-tuning (@) 11.24? '04? TruCluster (@) 11.30 '05? complete self-healing & self-tuning (@) * Source: <http://www.interex.org/advocacy/survey/99uxsib.html> @ Source: <http://www.interex.org/hpworldnews/hpw207/news1.jsp> Hardware Processor HP-UX Platform Architecture Releases ========================================================================== Series 100 Motorola 680x0? n/a Series 200 Motorola 680x0 2.x, 5.1 Series 300 Motorola 680x0 6.x, 7.x, 8.0/01/05/07, 9.0/01/03/10 Series 400 Motorola 680x0 7.x, 8.0/01/05/07 Series 500 HP Focus 1.x, 5.x Series 600 HP PA-RISC 2.x, 3.x, 7.0, 8.0/02/06, 9.0/02/04 Series 700 HP PA-RISC 7.03/05/09, 8.0/01/05/07, 9.01/03/05/07/09, 10.x, 11.x Series 800 HP PA-RISC 1.x, 2.x, 3.x, 7.0, 8.0/02/06, 9.0/02/04, 10.x, 11.0/10/11/23 Itanium Intel IPF 11.2x HP9000 Series 100 machines did not run HP-UX. They ran HPL, BASIC or Pascal. These languages were usually stored on disks and loaded from there, but you could also get the languages on plug-in ROM cards. (Thanks to Joe <[email protected]> for the above blurb on s100) (Thanks to John Chin <[email protected]> for information on s200) 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. (Thanks to <[email protected]> for the above blurb on s400) 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 <http://www.hp.com/go/hp3000> o <http://jazz.external.hp.com/> 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. (Thanks to Julian Perry <[email protected]> for the above blurb) 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. For futher info on HP software discontinuance & obsolescense dates, see: o <http://software.hp.com/RELEASES-MEDIA/history/slide2.html> o <http://software.hp.com/RELEASES-MEDIA/discon/index.htm> 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.3 11.23 PA+IPF Independence Release 2T 11.24? PA+IPF TruCluster Release 3.0 11.30 PA+IPF Self-Healing/Tuning Release Notice that once the IA64 and PA64 branches merge back together in 11.23, the versions will correlate better with each other, and are expected to maintain this correlation beyond that point. For a release history of HP-UX that includes discontinuance and obsolescence dates for the various releases, see: o <http://software.hp.com/RELEASES-MEDIA/history/slide2.html> For more information on the various HP-UX releases, refer to: o <http://software.hp.com/RELEASES-MEDIA/> (Updated by Ian, 01/10/03) ------------------------------ Subject: 3.4 Where can I find definitions of various HP-UX terms? Refer to the glossary(9) manpage. (Added by Ian, 04/16/01) ------------------------------ Subject: 3.5 What is HP's address and phone number? 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 <http://www.hp.com/hps/parts/> (Updated by Ian, 10/09/01) ------------------------------ Subject: 3.6 How does HP-UX rank among other enterprise Unixes? 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 <http://www.hp.com/hpinfo/newsroom/press/30may02b.htm> The report itself is available at: o <http://www.dhbrown.com/dhbrown/02UnixFunRev.cfm> (Added by Ian, 06/17/02) ------------------------------ Subject: 3.7 How does the Compaq merger affect the HP-UX roadmap? 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. (Added by Ian, 06/17/02) ------------------------------ Subject: 4. RESOURCES ------------------------------ Subject: 4.1 FAQs ------------------------------ Subject: 4.1.1 Where can I get a copy of this FAQ file? An ASCII text version of this FAQ is available at: o <ftp://rtfm.mit.edu/pub/faqs/hp/hpux-faq> An HTML version of this FAQ is available at: o <http://www.faqs.org/faqs/hp/hpux-faq/> A Japanese version of this FAQ is available from CUA (HP Computer Users Association); send mail to <[email protected]>. The original translation was done by Masataka Isoya <[email protected]>. Subsequent translations have been done by Kumiko Watanabe. o <http://www.hpcua.gr.jp/FREEFAQ.html> There is also a legacy version of this FAQ, which contains information on HP-UX 9.x and earlier. This is available at: o <http://www.geocities.com/ian_springer/legacy_hpux_faq.txt> (ASCII) o <http://www.geocities.com/ian_springer/legacy_hpux_faq.html> (HTML) Note, the legacy FAQ is no longer updated. It is archived for the benefit of those still running old versions of HP-UX. If all else fails, contact the maintainer (<[email protected]>). (Updated by Ian, 10/09/01) ------------------------------ Subject: 4.1.2 What other HP-UX-related FAQs exist? There is an HP-UX 11i FAQ at: o <http://www.hp.com/workstations/risc/operating/hpux11i/faqs.html> HP provides an "HP-UX 11.x FAQ" on the HP-UX 11.x STK website. This FAQ focuses on differences between HP-UX 11.x and earlier releases of HP-UX. One subject that is covered throughly is upgrading to 11.x: o <http://devrsrc1.external.hp.com/STK/hpux_faq.html> There is a "Certified for HP-UX FAQ" that discusses the offical certification of 3rd part applications for HP-UX: o <http://www.keylabs.com/certified4hp-ux/hpux_faq.html> There is an HP3000 FAQ available at: o <http://www.3k.com/faq/hpfaqi.html> (thanks to Chris Bartram, 3K Associates <[email protected]>) CERN's IT department has assembled an HP-UX 10.0 FAQ, comprised of documents from HP ITRC: o <http://wwwinfo.cern.ch/pdp/ose/file/hpux10/tree.html> There is an Ignite-UX (IUX) FAQ available from HP: o <http://software.hp.com/products/IUX/faq.html> (HTML) o <mailto:[email protected]> (ASCII) There is a Java on HP-UX FAQ available from HP: o <http://www.hp.com/products1/unix/java/java2/sdkrte1_3/faq.html> There are a number of FAQs describing building and/or using various 3rd party products on HP-UX: o Ximian GNOME for HP-UX 11.x FAQ: + <http://www.hp.com/workstations/support/software/hpux/gnome/doc.html#faq> o Building Mozilla on HP-UX FAQ: + <http://www.mozilla.org/unix/hpux.html> o Building Jikes on HP-UX FAQ: + <http://oss.software.ibm.com/developerworks/opensource/jikes/faq/dev-hp-ux.s html> o SarCheck for HP-UX FAQ: + <http://www.sarcheck.com/hptech.htm> o Domino for HP-UX FAQ: + <http://www.lotus.com/products/r5web.nsf/4efced3d866c2c2d852566cc0050ffd5/bf f012fb1137d90f85256b4b00532f0a?OpenDocument> (Updated by Ian, 01/23/03) ------------------------------ 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? There are several mirrors, spread across various continents: o U.S.: <http://www.hp.com/> or <http://hp.com/> o Europe: <http://www.europe.hp.com/> o Asia: <http://www.asia.hp.com/> Russia and Germany also have their own translated mirrors: o Russia: <http://www.hp.ru/> (in Russian) o Germany: <http://www.hewlett-packard.de/> or <http://hewlett-packard.de/> (in German) (Added by Ian, 04/10/01) ------------------------------ Subject: 4.2.1.2 Where can I browse HP documentation on the Web? The HP Technical Documentation website is at <http://docs.hp.com/>. 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 <http://docs.hp.com/> 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: <http://devresource.hp.com/> o HP Microprocessor Design Labs: <http://cpus.hp.com/> o HP Itanium[TM] Homepage: <http://ia-64.hp.com/> o HP OpenView Homepage: <http://openview.hp.com/> ("support" section) (Updated by Ian, 04/06/01) ------------------------------ Subject: 4.2.1.3 Where can I get support from HP on the Web? Go to the HP IT Resource Center (ITRC) web site; there are several mirrors: o America/Asia-Pacific <http://us.itrc.hp.com/> or Sites: <http://us-support.external.hp.com/> or <http://us-support2.external.hp.com/> or <http://us-support3.external.hp.com/> or <http://itresourcecenter.hp.com/> o European <http://europe.itrc.hp.com/> or Sites: <http://europe-support.external.hp.com/> or <http://europe-support2.external.hp.com/> or <http://www.itresourcecenter.hp.com/> or <http://www.itrc.hp.com/> or <http://itrc.hp.com/> 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) (Thanks to Skunk Schouten <[email protected]>) 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 <http://www.hp.com/racksolutions/pduprog/us/eng/callcenters.html> (Updated by Ian, 10/09/01) ------------------------------ Subject: 4.2.1.4 Other HP Sites HP Software =========== HP Software Depot: o <http://software.hp.com/> HP Software Release Information: o <http://software.hp.com/SW-INFO/> Exploring HP-UX Releases and Media: o <http://software.hp.com/RELEASES-MEDIA/> E-Speak Homepage: o <http://e-speak.hp.com/> Process Manager (formerly ChangeEngine) Homepage: o <http://ice.hp.com/> HP/Bluestone Software: o <http://www.bluestone.com/> HP OpenView Homepage: o <http://openview.hp.com/> HP Hardware =========== HP PartSurfer: o <http://partsurfer.hp.com/> HP Microprocessor Design Labs: o <http://cpus.hp.com/> HP Itanium[TM] Homepage: o <http://ia-64.hp.com/> General ======= Search All of HP: o <http://search.hp.com/> HP Technical Computing Solutions Center: o <http://www.hp-tcsc.com/> (Added by Ian, 04/17/01) ------------------------------ Subject: 4.2.2 Non-HP Sites ------------------------------ Subject: 4.2.2.1 EnterpriseUnix.org 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 <http://www.enterpriseunix.org/> or <http://www.hpunix.org/> (Added by Ian, 01/22/03) ------------------------------ Subject: 4.2.2.2 EPFL Support HP / HPLine 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 <http://hpwww.epfl.ch/> (Added by Ian, 04/16/01) ------------------------------ Subject: 4.3 Newsgroups ------------------------------ Subject: 4.3.1 List of HP-UX-related Usenet newsgroups ------------------------------ o <comp.sys.hp.hpux> newsgroup devoted to HP-UX o <comp.sys.hp.hardware> newsgroup devoted to HP hardware o <comp.sys.hp.apps> newsgroup devoted to HP applications o <japan.comp.hpux> HP-UX newsgroup for Japanese-speaking users o <pl.comp.os.hp-ux> HP-UX newsgroup for Polish-speaking users o <uvic.mlist.hpux-admin> Usenet gateway of the hpux-admin mailing list (Thanks to Mike O'Connor <[email protected]>) (Added by Ian, 04/19/01) ------------------------------ 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 The HP-UX Forum on the HP ITRC web site contains a wealth of useful information: o <http://forums.itrc.hp.com/cm/FamilyHome/0,,117,00.html> As with all ITRC pages, you must be registered on the ITRC in order to access it. (Updated by Ian, 01/23/03) ------------------------------ Subject: 4.4 Mailing Lists ------------------------------ Subject: 4.4.1 HPUX-Admin Mailing List 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: * <mailto:[email protected]> - To send a message to ALL MEMBERS of the list. * <mailto:[email protected]> (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 * <http://www.dutchworks.nl/htbin/hpsysadmin/> - Browse & search the archives. * <ftp://ftp.dutchworks.nl/pub/digests/hpux-admin/> - 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 <mailto:[email protected]> (Updated by Ian, 04/30/02) ------------------------------ 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 <[email protected]> with the word subscribe (or unsubscribe) in the subject line. (Thanks to Chris Osborn, <[email protected]>) ------------------------------ Subject: 4.4.3 HPMINI-L Mailing List ------------------------------ 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 <http://www.am.qub.ac.uk/world/lists/hpmini-l/> (Added by Ian, 04/16/01) ------------------------------ Subject: 4.5 Periodicals ------------------------------ Subject: 4.5.1 hp-ux/usr - A newsletter devoted to HP-UX, published by Interex in hardcopy form & online - The archives can be viewed, by Interex members only, at: o <http://www.interex.org/hpuxusr/> Interex also publishes several other magazines related to HP-UX. For a complete list, see: o <http://www.interex.org/publications/> (Updated by Ian, 03/29/01) ------------------------------ Subject: 4.5.2 The HP Chronicle The HP Chronicle was a tabloid-sized newspaper containing news from HP and other vendors of compatible hardware, software and peripherals - recently acquired and dissolved by ServerWorld Magazine. Archive issues can be viewed at: o <http://www.serverworldmagazine.com/hpchronicle/> (Thanks to Bill Hassell, HP) (Updated by Ian, 01/23/03) ------------------------------ 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 "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 (Updated by Ian, 04/01/01) ------------------------------ Subject: 4.6.4 CDE Books "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 (Thanks to Pat Godwin <[email protected]>) "CDE and Motif: A Practical Primer" by Antonino N. Mione, 12/97 ISBN: 0137608284 (Updated by Ian, 04/02/01) ------------------------------ Subject: 4.6.5 Books from HP 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 <http://www.hp.com/hpbooks/> All of the books are available for purchase from Amazon.com Books (<http://books.amazon.com/>). (Added by Ian, 04/10/01) ------------------------------ Subject: 4.6.6 HP Product Manuals 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. (Added by Ian, 04/10/01) ------------------------------ Subject: 4.7 Local Files ------------------------------ Subject: 4.7.1 The HP-UX Reference Manual 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). (Added by Ian, 04/17/01) ------------------------------ Subject: 4.7.2 /usr/share/doc 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 <http://docs.hp.com/> 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 (<http://us.itrc.hp.com/>) 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 (Added by Ian, 04/17/01) ------------------------------ Subject: 4.8 Conferences and Workshops ------------------------------ Subject: 4.8.1 HP World Conference & Expo The next HP World conference is August 20-24, 2001 in Chicago, IL. You can find more details about the conference and register on the Web at <http://www.hpworld.com/>, or by contacting Interex (see subject 4.3). (Updated by Ian, 03/17/01) ------------------------------ Subject: 4.8.2 InterWorks Conference The next InterWorks conference is at the Hyatt Regency, San Francisco, CA, May 6-9, 2001. The annual InterWorks Conference is internationally recognized as the best place for technical professionals using HP technology to get in-depth training on today's most compelling computing issues. As an attendee, you'll gather the technical tips and techniques that can make your environment perform optimally. HP-UX, Linux[R], and Windows[R] 2000/NT[R] are just some of the critical topics that will be explored during the 4-day event. For more details go to <http://www.interex.org/conference/iworks2001/>, or contact Interex (see subject 4.3). (Updated by Ian, 03/17/01) ------------------------------ Subject: 4.8.3 HP/Works Technical Workshops HP/Works holds technical workshops throughout the year. For a schedule of past and upcoming events, visit: o <http://www.hpworks.org.uk/events/> (Updated by Ian, 04/02/01) ------------------------------ Subject: 4.9 Courses on HP-UX ------------------------------ Subject: 4.9.1 Courses offered by HP HP offers many courses related to HP-UX. For details, visit the following web sites: o <http://www.hp.com/education/> o <http://education.itresourcecenter.hp.com/> (updated by Ian, 04/02/01) ------------------------------ 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 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 <http://www.interex.org/> (Updated by Ian, 04/02/01) ------------------------------ Subject: 4.10.1.2 InterWorks 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 <ftp://interworks.org/pub/comp.hp/> See Item 4.13 for a more detailed description of this site's content. (Updated by Ian, 04/03/01) ------------------------------ Subject: 4.10.2 Organizations outside the U.S. ------------------------------ Subject: 4.10.2.1 Interex Netherlands HP User Group (AKA DutchWorks) 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. Since October '94, it also runs a full mirror of the Liverpool HP-UX Archive (<http://hpux.tn.tudelft.nl/>). The URL for the DutchWorks website is <http://www.dutchworks.nl/>. Membership details are available from: Hans Hartwijk, Weidezoom 11, 2742 EX Waddinxveen The Netherlands 31 (0)1828 15086 or by e-mail to <mailto:[email protected]> (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. (Updated by Ian, 03/26/01) ------------------------------ Subject: 4.10.2.2 HP/Works 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 <http://www.hpworks.org.uk/> (Updated by Ian, 04/02/01) ------------------------------ Subject: 4.10.2.3 Japanese HP Computer Users Association In Japan, there is an HP users group called HP CUA (Hewlett-Packard Computer Users Association). For more information, visit: o <http://www.hpcua.gr.jp/> or contact HP CUA: Hewlett-Packard Japan, Ltd. 9-1 Takakura-cho Hachioji Tokyo, Japan 192 Tel: 81-426-60-2949 Fax: 81-426-60-8535 (Updated by Ian, 04/02/01) ------------------------------ Subject: 4.11 Third-Party Vendors ------------------------------ Subject: 4.11.1 Hewlett-Packard Vendor Listing There is an extensive listing of third-party HP vendors that is maintained by volunteers and updated on a regular basis: o <http://www.triolet.com/HPVend/hpvend.html> (Added by Ian, 03/24/01) ------------------------------ Subject: 5. SYSTEM ADMINISTRATION ------------------------------ Subject: 5.1 Auditing and Security ------------------------------ Subject: 5.1.1 How do group privileges work? 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). (Thanks to Paul Taffel <[email protected]>) (Updated by Ian, 07/11/01) ------------------------------ 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". (Thanks to Jim Richardson <[email protected]>) ------------------------------ Subject: 5.1.3 How can I restrict regular users from logging in at the console? 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. (Thanks to Cyrille Lefevre <[email protected]>) (Added by Ian, 04/02/01) ------------------------------ 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 (Thanks to Nils Gerloff <[email protected]>) ------------------------------ Subject: 5.1.5 Where can I find a list of all patches corresponding to security advisories? See the HP-UX Patch Security Matrix at: o <http://us.itrc.hp.com/cki/bin/doc.pl/sid=9cc8a9cd05f671d16f/screen=ckiSecur ityBulletin/?docId=PATCHMATRIX> - or - o <ftp://ftp.itrc.hp.com/export/patches/hp-ux_patch_matrix/> Also, 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 <http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl ?productNumber=B6834AA> 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 <http://www.software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInf o.pl?productNumber=PERL> 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 <http://itrc.hp.com/cki/bin/doc.pl/screen=ckiSecurityBulletin> (Updated by Ian, 11/13/01) ------------------------------ Subject: 5.1.6 How can I protect my systems against SATAN? Read CIAC Information Bulletin F-19 ("Protecting HP-UX Systems Against SATAN") at: o <http://ciac.llnl.gov/ciac/bulletins/f-19.shtml> 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 <http://www.fish.com/satan/> Also, for those less inclined toward evil, check out the SAINT homepage: o <http://www.wwdsi.com/saint/> (Added by Ian, 04/17/01) ------------------------------ Subject: 5.1.7 What are the major differences between trusted and non-trusted systems? 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 <http://docs.hp.com/hpux/onlinedocs/B2355-90121/B2355-90121.html> 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? (HP ITRC document ID 2100067383 - thanks to HP) (Added by Ian, 05/15/01) ------------------------------ Subject: 5.1.8 How can I configure things like minimum password length, password history, and maximum simultaneous logins? 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 <http://devrsrc1.external.hp.com/STKLI/man/11iv1.5/security_4.html> The following summarizes how each of the 'security' settings were introduced: o ABORT_LOGIN_ON_MISSING_HOMEDIR (introduced in 11.00 via PHCO_24083) o MIN_PASSWORD_LENGTH (introduced in 11.00 via PHCO_24390) o NOLOGIN This parameter controls whether non-root login can be (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 SU_ROOT_GROUP (introduced in 11.00 via PHCO_16127) o SU_DEFAULT_PATH (introduced in 11.11; not available in 11.00) (Added by Ian, 07/25/01) ------------------------------ Subject: 5.1.9 What is the sticky bit's purpose? 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 24111664 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 (Added by Ian, 08/23/01) ------------------------------ 5.1.10 Does HP-UX have a /dev/random, /dev/urandom, or similar device? No, there is still no kernel-based entropy collector in 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 <http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html> 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 (<http://www.rainbow.com/cryptoswift/>), aka IVEA, which also has a UK subsidiary. (Thanks to Volker T. Mueller <[email protected]>) (Added by Ian, 08/23/01) ------------------------------ Subject: 5.1.11 How can I protect my system from viruses? There are several antivirus products available: o Sophos Anti-Virus for Unix Info: <http://www.sophos.com/products/software/antivirus/savunix.html> Download Eval: <http://www.sophos.com/downloads/products/unix_505.html> o InterScan VirusWall Info: <http://www.trendmicro.com/en/products/gateway/isvw/evaluate/overview.htm> Download 30-day Trial: <http://www.trendmicro.com/download/product.asp?productid=13> o McAfee VirusScan + Info: <http://www.mcafeeb2b.com/products/virusscan/default-desktop-protection.asp> + Download Eval: <http://www.nai.com/naicommon/buy-try/try/products-evals.asp> o CyberSoft VFind Security Toolkit Info: <http://www.cyber.com/products/vfind/> (Added by Ian, 09/20/01) ------------------------------ Subject: 5.1.12 What information is available on configuring HP-UX for maximum security? Kevin Steves has written a couple excellent whitepapers on building HP-UX bastion hosts: o <http://people.hp.se/stevesk/bastion.html> (Added by Ian, 05/02/02) ------------------------------ Subject: 5.1.13 Does HP-UX support /etc/shadow like Solaris and Linux? The shadow functionality is available as of 11i v1.6 (11.22). For more information, see: o <http://www.docs.hp.com/hpux/onlinedocs/5187-0701/00/00/82-con.html#shadowpa sswords> (Added by Ian, 01/22/03) ------------------------------ 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. :-) (Thanks to Tapani Tarvainen <[email protected]> and David Kinsell <[email protected]>) ------------------------------ 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) (Thanks to Cary Coutant, HP) ------------------------------ Subject: 5.2.3 Why do cpio/tar/dump/pax all backup to tape painfully slowly? 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. (Thanks to Bill Hassell <[email protected]>) (Added by Ian, 04/17/01) ------------------------------ Subject: 5.2.4 What CD burning software is available? You can use Cdrecord (aka CdrTools), a freeware application, available at: o <http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private /cdrecord.html> Additonally, Cdrecord-ProDVD can be used to burn DVDs; see: o <ftp://ftp.berlios.de/pub/cdrecord/ProDVD/> There are numerous X GUI frontends for CDrecord. One of the most popular is X-CD-Roast, available at: o <http://www.xcdroast.org/xcdr098/rpms-a8.html#hpux> (Updated by Ian, 02/03/03) ------------------------------ Subject: 5.3 Disks and Filesystems ------------------------------ Subject: 5.3.1 How can I enable long file names? 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. (Thanks to Ken Burke and Masataka Isoya <[email protected]>) (Updated by Ian, 04/02/01) ------------------------------ Subject: 5.3.2 Is it possible to create a RAM disk? 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. (Thanks to Stuart Abramson <[email protected]>) 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 (Thanks to Kiyoshi Yoda <[email protected]>) 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. (Thanks to Mike Stroyan <[email protected]>) A description and pricing info for the OnlineJFS product is available at <http://software.hp.com/> (just search for "onlinejfs"). A third way =========== JTL Technical Services, LLC, sells a software product for HP-UX called RamDisc. There are two versions - RamDisc plus and RamDisc classic. For more information see their web site: o <http://www.jtlltd.com/ramdsk.html> (Updated by Ian, 05/10/01) ------------------------------ Subject: 5.3.3 What happened to DUX and context dependent files (CDFs)? 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. (Added by Ian, 03/29/01) ------------------------------ Subject: 5.3.4 Why can't I use all of my swap space? 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). (Updated by Ian, 04/08/01) ------------------------------ Subject: 5.3.5 How can I determine which disk is the boot disk? 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). (Updated by Ian, 01/03/02) ------------------------------ Subject: 5.3.6 Why does pfs_mount fail with the message 'Not Owner' when I try to use it? 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. (Updated by Ian, 03/28/01) ------------------------------ 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 (Thanks to Brad Bass <[email protected]>) 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. (Alek) ------------------------------ Subject: 5.3.8 Why are CDROM filenames all UPPERCASE with ;1 attached? 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. (Thanks to Ed Horch <[email protected]>) 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) (Ian) 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. (Thanks to Allan Marillier <[email protected]> for the fact that NFS must be running) 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: <device> <mount_dir> pfs-rrip xlat=rrip 0 0 Where: <device> is the path to your CD-ROM reader (e.g. /dev/dsk/c1t2d0) <mount_dir> 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 <device> | <mount_dir> Or unmount it with: pfs_umount <device> | <mount_dir> Where <device> and <mount_dir> are the same as in 2). The CD-ROM should be now readable with long and mixed-case filenames. (Thanks to Giovanni Bobbio <[email protected]>) 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. (Thanks to Bill Hassell <[email protected]>) (Updated by Ian, 11/20/02) ------------------------------ Subject: 5.3.9 How can I start the PFS daemons automatically at system startup? 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 (Thanks to Shannon Petry) (Updated by Ian, 11/20/01) ------------------------------ Subject: 5.3.10 Where can I get updated disktab entries for third-party disks? Disktabs are obsolete for HP-UX 10.00 and later. For HP-UX 9.x and earlier, see: o <http://hpwww.epfl.ch/HPUX/tools/disktab.html> 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. (Thanks to Ion Cionca <[email protected]>) (Updated by Ian, 04/20/01) ------------------------------ Subject: 5.3.11 How can I determine whether a disk is bootable? To display the different bootstrings for a disk: # lifls <rawdevice> 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 <blockdevice>:<STRING> - For example: # lifcp /dev/dsk/c0t6d0:AUTO - hpux (Thanks to Florian Anwander <[email protected]>) For further information on LIF, refer to lif(4). (Added by Ian, 08/29/01) ------------------------------ Subject: 5.3.12 How do I defragment my filesystems? 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. (Added by Ian, 05/02/02) ------------------------------ Subject: 5.4 Display ------------------------------ Subject: 5.4.1 How do I define a new terminal type? 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 <http://www.cs.utk.edu/~shuford/terminal_index.html> (Added by Ian, 04/26/01) ------------------------------ Subject: 5.4.2 How can I change the video mode on my workstation? 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. (Thanks to Dave Larson <[email protected]>) (Added by Ian, 06/17/02) ------------------------------ Subject: 5.5 Kernel Configuration ------------------------------ Subject: 5.5.1 How can I tell if I have a 32-bit or 64-bit kernel? 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 (Thanks to Brian Hackley <[email protected]> and Ian) (Added by Ian, 04/19/01) ------------------------------ Subject: 5.5.2 How do I determine if a system supports a 32 and/or a 64-bit kernel? 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+) (Added by Ian, 09/13/01) ------------------------------ Subject: 5.5.3 Where can I find detailed documentation of the various kernel parameters? The following URLs provide documentation for kernel parameters on 11.00 and 11i: o 11.00: <http://docs.hp.com/hpux/onlinedocs/939/KCParms/KCparams.OverviewAll.html> o 11i: <http://docs.hp.com/hpux/onlinedocs/TKP-90202/TKP-90202.html> 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 <http://docs.hp.com/hpux/onlinedocs/B3921-90010/00/20/2040-con.html> (Added by Ian, 01/22/03) ------------------------------ Subject: 5.6 Monitors, Diagnostics, and Performance ------------------------------ Subject: 5.6.1 How can I look at what my system is doing? 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. (Updated by Ian, 04/08/01) ------------------------------ Subject: 5.6.2 What happened to the sysdiag command? 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 <http://software.hp.com/>. For Support Tools documentation, see <http://docs.hp.com/hpux/diag/>. (Updated by Ian, 03/27/01) ------------------------------ Subject: 5.6.3 How can I improve overall system performance? 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. (Thanks to Mike O'Connor <[email protected]>) 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: <http://www.hp-partners.com/tcl_public/html/technical_support/tuning.html> o HP-UX Kernel Tuning and Performance Guide v3.1, 03/15/00: <http://docs.hp.com/hpux/onlinedocs/os/11.0/tuningwp.html> (Updated by Ian, 05/03/02) ------------------------------ Subject: 5.7 Networking and Communications ------------------------------ Subject: 5.7.1 How can I change the order of hostname resolution? Edit /etc/nsswitch.conf. See nsswitch.conf(4). (Updated by Ian, 03/22/01) ------------------------------ 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 <ftp://ftp.ee.lbl.gov/> 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. (Thanks to Rick Jones <[email protected]> and Brian Hackley <[email protected]>) ------------------------------ Subject: 5.7.3 How to get the MAC address for a particular network interface? 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 <http://docs.hp.com/hpux/onlinedocs/98194-90053/00/00/1-con.html>. 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 <http://docs.hp.com/hpux/onlinedocs/B2355-90139/B2355-90139.html>. Side Note ========= To figure out what vendor made your Ethernet card based on the MAC address, check out <http://www.cavebear.com/CaveBear/Ethernet/vendor.html>. (Added by Ian, 04/09/01) ------------------------------ 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. (Thanks to Mike Krause <[email protected]> and Rick Jones <[email protected]>) ------------------------------ 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. (Thanks to Rick Jones <[email protected]>) ------------------------------ 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. (Thanks to Colin Wynd) ------------------------------ Subject: 5.7.7 How do I change the hostname, IP address, DNS Server, etc? 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. (Thanks to Brad Bass <[email protected]>) (Updated by Ian, 06/20/01) ------------------------------ Subject: 5.7.8 How do I determine the speed and duplexity of my network interface? 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). (Thanks to Bruce Hamilton <[email protected]>) (Updated by Ian, 04/19/01) ------------------------------ Subject: 5.7.9 How do I display all active Internet (TCP and UDP) connections? # netstat -anf inet (Added by Ian, 06/01/01) ------------------------------ Subject: 5.7.10 How can multiple IP addresses be configured on one interface? 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 <address_list> where X is the interface number, and <address_list> 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. (Thanks to Rick Jones <[email protected]> for the cmmodnet info) VIF === Similar functionality for HP-UX 9.x can be obtained using the VIF kernel driver by Steinar Haug <[email protected]>. For more info, see: o <http://www.nethelp.no/net/vif/readme.html> (Updated by Ian, 11/18/01) ------------------------------ 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? 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 <http://docs.hp.com/hpux/onlinedocs/J2237-90005/00/00/1-con.html> Or purchased in hardcopy form from: o <http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl ?productNumber=B8679BA:J2237-90005> 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). (Updated by Ian, 03/30/01) ------------------------------ Subject: 5.7.13 What version of BIND (named) comes with HP-UX? 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 <http://software.hp.com/> ("enhancement releases" section). Note there are substantial differences between BIND 4.x and BIND 8.x/9. (Updated by Ian, 12/11/02) ------------------------------ Subject: 5.7.14 What version of sendmail comes with HP-UX? 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 <http://software.hp.com/> ("enhancement releases" section). Note there are substantial differences between sendmail 5.x and sendmail 8.x. (Updated by Ian, 12/11/02) ------------------------------ Subject: 5.7.15 What version of NFS comes with HPUX? 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. (Thanks to Brian Hackley <[email protected]>) (Updated by Ian, 01/03/02) ------------------------------ Subject: 5.7.16 What is the difference between automount and AutoFS? 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 upports 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 avaialble 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 reconfiguring and rebooting. (Thanks to Brian Hackley <[email protected]>) (Added by Ian, 04/19/01) ------------------------------ Subject: 5.7.17 Can I configure multiple network interfaces on the same subnet? 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. (Thanks to Rick Jones <[email protected]>) (Added by Ian, 05/14/01) ------------------------------ Subject: 5.7.18 Does HP-UX come with a DHCP server? 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. (Thanks to Gary Butler <[email protected]>) (Added by Ian, 08/23/01) ------------------------------ 5.7.19 Is there a port management tool / firewall for HP-UX? 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 <http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl ?productNumber=B9901AA> 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 <http://www.ipfilter.org/> (Ian) (Updated by Ian, 01/23/03) ------------------------------ Subject: 5.8 Peripheral Devices ------------------------------ Subject: 5.8.1 How do I use the floppy drive on my HP-UX workstation? 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 <http://www.tux.org/pub/knaff/mtools/>. (Excerpt from Purdue University, Engineering Computer Network, HP FAQ, with additions from Michael Piotrowski <[email protected]>) (Updated by Ian, 04/30/01) ------------------------------ 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 beee 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 (Thanks to Stefek Zaba <[email protected]>) ------------------------------ Subject: 5.8.3 How can I get an Exabyte to work on an HP? 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 <http://www.exabyte.com/downloads> 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 <http://www.exabyte.com/support/online/documentation/os.cfm?id=11> What about OmniBack, you may ask. Though <http://www.exabyte.com/support/online/documentation/software.cfm?id=31> 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. For details, see: o <http://www.managementsoftware.hp.com/products/omniback/specifications/> (Updated by Ian, 01/23/03) ------------------------------ 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. (Thanks to Edlin Seebick.) ------------------------------ 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? 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 (<http://www.ibiblio.org/tkan/xmcd/>) or the Liverpool HP-UX archive. (Updated by Ian, 03/29/01) ------------------------------ 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 (Thanks to Lou Kvitek) ------------------------------ 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 (Thanks to Rocky Craig, HP) ------------------------------ Subject: 5.8.10 Is there a trackball for the 700? Yes, there are two options. BKS manufactures and markets THE ORIGINAL HP M1309A HP-HIL Trackball, plug-compatible with HP's standard 3-button HP-HIL mouse (~$350): o <http://www.trackballs.com/xlhil.htm> o <http://www.trackballs.com/xx.htm> Various MOUSE-TRAK trackballs are available for s700 HP workstations - no quad port adapter required (~$99-$325) o <http://www.mousetrak.com/> (Updated by Ian, 04/04/01) ------------------------------ Subject: 5.8.11 What keyboards and mice are compatible with HP9000 workstations? Michael Piotrowski has assembled a web page that lists PS/2 and USB keyboards and mice that have been reported to work on HP9000 workstations: o <http://www.linguistik.uni-erlangen.de/~mxp/kbd.en.html> (Thanks to Michael Piotrowski <[email protected]>) 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). (Thanks to Chuck Slivkoff <[email protected]>, HP) (Added by Ian, 04/30/01) ------------------------------ 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? Remove /etc/kbdlang and reboot. You will be prompted for the keyboard type when the system starts up. (Thanks to John G. Burns <[email protected]>) (Added by Ian, 05/11/01) ------------------------------ Subject: 5.8.13 How do I ascertain which device file corresponds to my CD-ROM or DVD-ROM drive? 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:'` (Added by Ian, 03/05/02) ------------------------------ Subject: 5.9 Printers and Plotters ------------------------------ Subject: 5.9.1 What happened to lpr? 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 (Thanks to Brad Bass <[email protected]>) (Updated by Ian, 04/05/01) ------------------------------ 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 (Thanks to Brad Bass <[email protected]>) ------------------------------ Subject: 5.9.3 How can I turn off the LP banner page? 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 ... (Thanks to Dan Silva <[email protected]> and Daniel Wexler <[email protected]>) (Updated by Ian, 04/04/01) ------------------------------ Subject: 5.9.4 How can I print man pages without losing the formatting? 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 ... (Thanks to Poul Moller, Markus Gyger) Note, on man files that are not compressed, use cat in place of zcat. (Updated by Ian, 04/07/01) ------------------------------ 5.9.5 How can I view and print Postscript (.ps) files? 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. (Ian) (Added by Ian, 07/08/02) ------------------------------ Subject: 5.10 Process Management ------------------------------ Subject: 5.10.1 How much memory can a process use? 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. (Thanks to Bob Montgomery, HP) (Updated by Ian, 04/07/01) ------------------------------ Subject: 5.10.2 Why do my processes keep dying at 64 MB memory usage? 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). (Updated by Ian, 04/08/01) ------------------------------ Subject: 5.10.3 How do I set per-process limits? 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). (Added by Ian, 09/13/01) ------------------------------ Subject: 5.10.4 How can I tell what files, ports, etc.. a process has open? You need to download and install lsof (LiSt Open Files), an indispensable freeware utility. The lsof homepage is: o <http://www-rcd.cc.purdue.edu/~abe/> HP-UX binaries can be downloaded from one of the below sites: o <ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/binaries/hpux/> o <http://hpux.connect.org.uk/hppd/hpux/Sysadmin/lsof-4.64/> However, the author discourages using precompiled binaries, and instead recommends compiling lsof yourself on the same system on which you'll be running it. (Added by Ian, 11/10/01) ------------------------------ Subject: 5.10.5 How can I get the ps command to display more than 64 characters of process command lines? 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 (Added by Ian, 01/22/03) ------------------------------ 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? 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 ttto remove files beneath NFS or CDFS mountpoints that might exist. (Thanks to Tapani Tarvainen and Michael Sternberg <[email protected]>) (Updated by Ian, 03/29/01) ------------------------------ 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)? 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: <http://docs.hp.com/hpux/onlinedocs/B2355-90699/00/00/1-con.html> o for 11.00: <http://docs.hp.com/hpux/onlinedocs/B2355-90154/00/00/1-con.html> o for 10.xx: <http://docs.hp.com/hpux/onlinedocs/B2355-90127/00/00/1-con.html> There are also several excellent whitepapers available on SD-UX's patch-related features: For 11.x: o <http://devrsrc1.external.hp.com/STK/hpuxpatch.html> o <http://devrsrc1.external.hp.com/STK/partner/hpuxpatching.html> o <http://docs.hp.com/hpux/os/11.0/index.html#Patch%20Management> For 10.x: o <http://docs.hp.com/hpux/os/10.x/index.html#Patch%20Management> For additional information on SD commands and features, see the SD manual pages (start with sd(5)) and the SD GUI's online help. (Updated by Ian, 03/30/01) ------------------------------ 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? 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. (Added by Ian, 04/16/01) ------------------------------ Subject: 5.12.1.5 What is Ignite-UX? 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 <http://software.hp.com/products/IUX/> This page also contains links to Ignite documentation, release notes, FAQ, specifications, mailing lists, and training. (Added by Ian, 04/16/01) ------------------------------ Subject: 5.12.2 Patch Management ------------------------------ Subject: 5.12.2.1 Where do I get HP-UX patches? 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. (Added by Ian, 04/06/01) ------------------------------ Subject: 5.12.2.2 How can I list all installed patches? On 10.00 and later, use: $ swlist -l product 'PH??_*' (Updated by Ian, 04/16/01) ------------------------------ Subject: 5.12.2.3 How can I tell what patches are in the kernel? 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. (Updated by Ian, 03/23/01) ------------------------------ Subject: 5.12.2.4 How do I get rid of old 10.x patches or superseded patches? 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. (Thanks to Skunk Schouten <[email protected]>) 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_24347 ('cleanup', 'check_patches', & 'show_patches') o 11.11: PHCO_24630 ('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 To commit a patch that has not been superseded, use the command: # swmodify -x patch_commit=true <patch-name(s)> 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. (Ian) (Updated by Ian, 11/12/01) ------------------------------ Subject: 5.12.2.5 How can I install multiple patches, without having to reboot more than once? 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)." (Thanks to Robert Sakic <[email protected]> for the shell script) (Updated by Ian, 04/10/01) ------------------------------ Subject: 5.12.2.6 How do I configure swlist to not display superseded patches? 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 (Added by Ian, 04/10/01) ------------------------------ Subject: 5.12.2.7 What is the naming convention used for HP-UX patch names? 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" (Added by Ian, 04/05/01) ------------------------------ Subject: 5.12.2.8 Where can I get OpenView patches? Patches for the various HP OpenView products, can be obtained at: o <http://support.openview.hp.com/cpe/patches/> (Added by Ian, 04/17/01) ------------------------------ Subject: 5.13 Time ------------------------------ Subject: 5.13.1 How can I change the timezone? 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. (Updated by Ian, 05/03/02) ------------------------------ Subject: 5.13.2 How can I print yesterday's or tomorrow's date? 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.h> 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. (Thanks to Michael Kohl <[email protected]>) (Updated by Ian, 07/31/01) ------------------------------ Subject: 5.13.3 How can I convert a timestamp (seconds since the Epoch) to a date/time string? 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. (Thanks to Rich Kensicki) (Added by Ian, 04/06/01) ------------------------------ Subject: 5.13.4 What is the purpose of the 'timezone' and 'dst' kernel parameters? 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) (Added by Ian, 05/03/02) ------------------------------ Subject: 5.14 Users and Groups ------------------------------ Subject: 5.14.1 How can I tell if I need more than a 2-user license? 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 <http://software.hp.com/> 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. (Ian) 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. (Thanks to Tony Hart, HP) To purchase license upgrades for HP-UX 10.10 and earlier, go to <http://software.hp.com/> and search for "operating license upgrade". You'll be provided with a link to a reseller from which you can purchase upgrades. (Updated by Ian, 04/10/01) ------------------------------ Subject: 5.14.2 How can I set up group-based FTP access? 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. (Thanks to Aaron Friesen <[email protected]>) SEE ALSO: question 7.1.1.3 (Updated by Ian, 04/20/01) ------------------------------ Subject: 5.14.3 Has /etc/logingroup functionality changed in 11.x? 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. (Thanks to Bob Vance <[email protected]>) (Added by Ian, 05/03/02) ------------------------------ 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? 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 <http://www.x.org/Downloads_XWinSys.htm> 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 in /usr/local/X11R6 (if you want them elsewhere, use a symbolic link, or grab the source) - most libraries come with archive and shhhared versions (and the built binaries mostly use the .sl versions) - this is JUST the core distribution (xc///) - xc/test and xc/workInProgress aren't innncluded in the built package (the source is present, but hasn't been looked at in the src packages) (Thanks to Dave Shield, Liverpool) (Updated by Ian, 04/09/01) ------------------------------ Subject: 5.15.1.2 Where can I get the missing X11 header files? 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: <http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl ?productNumber=B9891AA> - download: <http://devrsrc1.external.hp.com/LPK/> o the InterWorks FTP site: <ftp://interworks.org/pub/comp.hp/X11R6/> (Updated by Ian, 02/27/02) ------------------------------ Subject: 5.15.1.3 How can I set up an HP-UX workstation as an X terminal? Add the following lines to /etc/inittab: # X server: X0:3:respawn:env PATH=/usr/bin/X11:/usr/bin X -query <hostname> Replace <hostname> 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 (Updated by Ian, 01/08/01) ------------------------------ Subject: 5.15.1.4 How do I get a scroll bar on hpterms? 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). (Thanks to Greg Cagle <[email protected]> and John Kemp <[email protected]>) (Updated by Ian, 04/01/01) ------------------------------ Subject: 5.15.1.5 How can I change the title in my hpterm titlebar? 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 (Thanks to Tom Arons <[email protected]> & John T. Beck) 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 (Ian) 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 <string.h> 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]); } (Updated by Ian, 03/25/01) ------------------------------ Subject: 5.15.1.6 Why do my terminal windows keep going away by themselves? 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. (Thanks to Jim Sharpe <[email protected]> for the Korn Shell information.) (Updated by Ian, 03/31/01) ------------------------------ Subject: 5.15.1.7 How can I get console messages to go to an hpterm? 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 Console***clientFunctions:\ -close \ -xrm *workspaceList:\ all & (Thanks to Steve Jumonville, HP) (Updated by Ian, 04/01/01) ------------------------------ Subject: 5.15.1.8 What's a good termcap entry for hpterm? Although it is not supported for hpterm use, the 262x entry in /usr/newconfig/usr/share/lib/termcap will do the trick. (Thanks to Frank Slootweg, HP) (Updated by Ian, 04/07/01) ------------------------------ 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. (Thanks to Paul Liebert, HP) ------------------------------ Subject: 5.15.1.10 How can I get an X app to come up in an alternate workspace? Try: $ client -xrm "*workspaceList: <name>" (Thanks to <[email protected]>) ------------------------------ 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)? 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 (Added by Ian, 04/03/01) ------------------------------ Subject: 5.15.2.3 How can I enable/disable CDE (dtlogin)? 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. (Added by Ian, 04/03/01) ------------------------------ Subject: 5.15.2.4 Why does id/groups not show secondary groups in dtterm/CDE? 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.00: patch PHSS_23517 o 10.20: patch PHSS_23516 o 10.10: patch PHSS_23355 (Thanks to Mike Stroyan <[email protected]> and Greg Cagle <[email protected]>) (Updated by Ian, 04/01/01) ------------------------------ Subject: 5.15.2.5 How can I improve CDE's performance? 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. (Added by Ian, 04/03/01) ------------------------------ Subject: 5.15.2.6 Is there a CDE FAQ? Yes, it lives at: o <http://www.math.unizh.ch/locinfo/cde.html> (Added by Ian, 04/11/01) ------------------------------ Subject: 5.15.2.7 When I log on to CDE, I want certain applications to automatically start. How can this be done ? 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. (Excerpt from the CDE FAQ maintained by Aditya Talwar <[email protected]>) (Added by Ian, 04/11/01) ------------------------------ Subject: 5.15.2.8 How do I get cut-n-paste to work correctly with CDE? 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. (Thanks to Luis P. Caamano <[email protected]>) For 10.20, installing the latest CDE Runtime patch will fix the problem: o PHSS_23516 (Thanks to Michael Piotrowski <[email protected]>) (Updated by Ian, 04/30/01) ------------------------------ 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? 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: <lang> and modify it so it looks something like: ########################################################################## # To specify a default language for the display. # # Dtlogin*language: <lang> 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. (Thanks to Steve Fosdick <[email protected]>) (Updated by Ian, 04/09/01) ------------------------------ 6. DEVELOPMENT ------------------------------ Subject: 6.1 General ------------------------------ Subject: 6.1.1 What threads support is provided? 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 <http://www.serpentine.com/~bos/threads-faq/> (Added by Ian, 04/13/01) ------------------------------ 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. (Thanks to Marc Sabatella, HP) ------------------------------ Subject: 6.1.3 Where can I find a list of all available system calls? o On 11.x, see /usr/include/sys/scall_define.h o On 10.x, see /usr/include/sys/syscall.h (Added by Ian, 04/19/01) ------------------------------ 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. (Thanks to Fran Litterio) ------------------------------ Subject: 6.1.5 Why is syslog() call not doing what i want it to? My program looks like: #include <syslog.h> 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 message should appear, but you're /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 (Thanks to Colin Wynd) ------------------------------ 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 <signal.h> extern void U_STACK_TRACE(); signal(SIGSEGV, U_STACK_TRACE); (Thanks to <[email protected]>) ------------------------------ Subject: 6.1.7 HP C++ email discussion lists Rich Rauenzahn <mailto:[email protected]> 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 <[email protected]> with the following command in the body of the message: subscribe list-name For additional help/information, send a message to <[email protected]> with the word "help" in the body of the message. ------------------------------ Subject: 6.1.8 HP-UX development email discussion lists Rich Rauenzahn <mailto:[email protected]> 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 <[email protected]> with the following command in the body of the message: subscribe list-name For additional help/information, send a message to <[email protected]> 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? 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 (Updated by Ian, 04/13/01) ------------------------------ Subject: 6.2.2 How do I make Perl on HP-UX? 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. (Updated by Ian, 04/02/01) ------------------------------ 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 <varargs.h> and <stdarg.h> 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 <varargs.h> #ifdef __hppa #undef va_start #define va_start(a) ((a)=(char *)&va_alist+4) #endif #include <stdarg.h> #ifdef __hppa #undef va_start #define va_start(a,b) ((a)=(va_list)&(b)) #endif For <varargs.h>, this replacement should always work. For <stdarg.h>, 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. (Thanks to Cary Coutant, HP for the original and Jeff Law <[email protected]> for the followup) ------------------------------ 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 <float.h> end their constants with an F, which seems to upset the compiler. The workaround is to temporarily undef _PROTOTYPES around the <float.h> inclusion: #ifdef _PROTOTYPES #undef _PROTOTYPES #include <float.h> #define _PROTOTYPES #else #include <float.h> #endif (Thanks to Richard Lloyd) ------------------------------ Subject: 6.2.6 Why do I get the error "*Initialization*:1: missing token-sequence in `#assert'" when I compile with gcc? 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. (Thanks to Steve Fosdick <[email protected]>) (Updated by Ian, 04/18/01) ------------------------------ Subject: 6.2.7 How can I detect the HP-UX version at compile time? The below macro sequence allows you to figure out the HP-UX major version number: #include <sys/privgrp.h> #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 (Added by Ian, 05/02/02) ------------------------------ Subject: 6.3 Porting ------------------------------ Subject: 6.3.1 Porting from an Earlier Release of HP-UX See the HP-UX 11.x STK: Source Code Transitions page at: o <http://devrsrc1.external.hp.com/STK/srctransitions.html> Also refer to the release notes for the release of HP-UX that you are porting TO (release notes are in /usr/share/doc). (Updated by Ian, 01/10/03) ------------------------------ Subject: 6.3.2 Porting from Other Platforms (Solaris, AIX, etc..) Porting Guides & Kits from HP ============================= o Solaris to HP-UX 11.0 Porting Guide: + <http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701, 980,00.html> o IRIX to HP-UX Migration Guide: + <http://h20000.www2.hp.com/bc/docs/support/SupportManual/lpv37626/lpv37626.p df> o Linux Porting Kit 1.0 for HP-UX 11.x (porting from Linux to HP-UX 11.x): + <http://devrsrc1.external.hp.com/LPK/> Porting Guides from Interex =========================== o HP-UX/Sun Interoperability Cookbook, Version 2: + <http://www.interex.org/tech/9000/Tech/sun_hpux_interop/> o AIX/HP-UX Interoperability Guide, Version 2: + <http://www.interex.org/tech/9000/Tech/aix_hpux_interop_v2/> o SunOS to HP-UX 9.05 Porting Guide: + <http://www.interex.org/tech/9000/Tech/sun_hpux_port/> o All three Interex porting & interoperability guides are also available via FTP, in ASCII, HTML, and Postscript format at: + <ftp://interworks.org/pub/comp.hp/porting_info/> Other Porting Resources ======================= o Mike Peterson's HP-UX porting tricks (last updated 06/16/99): + <http://www.noc.utoronto.ca/~mikep/unix/HPTRICKS> o HP-UX to Compaq Tru64 UNIX Porting Guide: + <http://www.tru64unix.compaq.com/docs/porting/HP-Porting/TITLE.HTM> (reverse everything it says :-) (Updated by Ian, 06/12/02) ------------------------------ 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? 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. (Added by Ian, 12/03/01) ------------------------------ Subject: 6.4 Tools ------------------------------ Subject: 6.4.1 Where can I get Interviews for HP-UX? 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 <ftp://foofoo.stanford.edu/pub/interviews/> (Updated by Ian, 03/28/01) ------------------------------ Subject: 6.4.2 Is there a disassembler included with HP-UX? 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 <http://www.hp.com/go/wdb>. For a given executable, if you know the name of a function: $ gdb <name of executable> (gdb) disassem <name of function> ... 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 <stdio.h> #include <unistd.h> #include <string.h> #include <errno.h> #include <ctype.h> 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; } (Thanks to Andy Bennett <[email protected]>) 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: + <http://www.allegro.com/products/hp9000/avatar.hpux.info.html> 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: + <http://www.datarescue.com/idabase/idahp-pa.htm> 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 <http://www.sourcerecovery.com/abstract.htm> Or if you want to take a shot at doing it manually, you should look over the following web sites: o PA-RISC Resources: + <http://h21007.www2.hp.com/dspp/tech/tech_TechTypeListingPage_IDX/1,1704,104 03,00.html> o HP Assembler Reference Manual, 9th Edition - 06/98: + <http://docs.hp.com/hpux/onlinedocs/92432-90012/92432-90012.html> o The Decompilation Page: + <http://www.program-transformation.org/twiki/bin/view/Transform/DeCompilatio n> o fravia's pages of reverse engineering: + <http://www.instinct.org/fravia/> (Added by Ian, 01/23/03) ------------------------------ 7. APPS AND UTILS ------------------------------ Subject: 7.1.1 HP Freeware ------------------------------ Subject: 7.1.1.1 Patches 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: <http://us.itrc.hp.com/> Alt URL 1: <http://us-support.external.hp.com/> Alt URL 2: <http://us-support2.external.hp.com/> Alt URL 3: <http://us-support3.external.hp.com/> Note: Go to "maintenance / support" -> "patching" -> "individual patches" ITRC ftp site, Americas / Asia Pacific ====================================== URL: <ftp://ftp.itrc.hp.com/> - or - <ftp://us-ffs.external.hp.com/> ITRC web site, European ======================= URL: <http://europe.itrc.hp.com/> Alt URL 1: <http://europe-support.external.hp.com/> Alt URL 2: <http://europe-support2.external.hp.com/> Alt URL 3: <http://home.itrc.hp.com/> Alt URL 4: <http://itrc.hp.com/> Note: Go to "maintenance / support" -> "patching" -> "individual patches" ITRC ftp site, European ======================= URL: <ftp://europe-ffs.external.hp.com/> HP-UX Support Plus patch bundles can be downloaded from the HP Software Depot web site: o <http://software.hp.com/SUPPORT_PLUS/> 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 (Updated by Ian, 11/13/01) ------------------------------ Subject: 7.1.1.2 Drivers Drivers are normally found on the HP-UX Applications CDs. See: o <http://software.hp.com/RELEASES-MEDIA/> (Thanks to Brian Hackley <[email protected]>) (Added by Ian, 04/19/01) ------------------------------ Subject: 7.1.1.3 I heard there is a new ftpd available. Where do I get it? 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. (Thanks to Michael Kohl <[email protected]>) 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. (Added by Ian, 04/11/01) ------------------------------ Subject: 7.1.1.4 HPRC FTP Site The HP Response Center (HPRC) maintains an FTP site containing a collection of unsupported tools, FAQs and white papers. The tools are NOT supported, although the author may allow email communication for bug reports. You can email bugs about the FAQs, config guides, & white papers to <[email protected]>. General help or support is NOT available from this site. The URL of the HPRC FTP site is: o <ftp://contrib:[email protected]/> For more information on the purpose of the FTP site, see the HPRC homepage at: o <http://hprc.external.hp.com/> Here are some of the more useful bits available from the HPRC site: XVG === XVG is an LVM display program for Xwindows. It will show disk layouts, volume groups, unused space, device files, non-contiguous volumes, etc. Can be run on workstations or servers with any version of HP-UX from 9.xx and higher, and displayed on any Xwindow device including PCs with Xwindow emulators. The latest version can be downloaded at: o <ftp://contrib:[email protected]/sysadmin/xvg/> pdcinfo ======= The pdcinfo programs allow you to retrieve PDC (PIM) information from HP computer systems. On some systems (such as the T-Class), this program can retrieve HPMC tombstone data. The latest version can be downloaded at: o <ftp://contrib:[email protected]/hardware/pdc/> memwin_stats ============ The memwin_stats command is intended for usage with the new memory windows functionality. For 11.00, memory windows functionality is installed via two patches: o PHCO_13811 (Commands) o PHKL_13810 (Kernel) For future releases, memory windows is part of the core release. Download memwin_stats from: o <ftp://contrib:[email protected]/sysadmin/memwin/> various sys-admin scripts ========================= o various "cool" scripts: + <ftp://contrib:[email protected]/sysadmin/coolscripts/> o system inventory scripts: + <ftp://contrib:[email protected]/sysadmin/inventory/> o scripts to run as cronjobs: + <ftp://contrib:[email protected]/sysadmin/cronjobs/> o improved versions of /etc/profile, /.profile, and /etc/skel/.profile: + <ftp://contrib:[email protected]/sysadmin/profiles/> (Added by Ian, 04/20/01) ------------------------------ Subject: 7.1.2 Non-HP Freeware ------------------------------ Subject: 7.1.2.1 The Software Porting And Archive Centre for HP-UX 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 <[email protected]>. WWW --- URL: <http://hpux.connect.org.uk/> United Kingdom Mirrors: <http://hpux.cs.utah.edu/> Unites States <http://hpux.asknet.de/> Germany <http://hpux.cict.fr/> France <http://hpux.tn.tudelft.nl/> Netherlands <http://hpux.ee.ualberta.ca/> Canada FTP --- URL: <ftp://hpux.connect.org.uk/> United Kingdom Mirrors: <ftp://hpux.cs.utah.edu/> United States <ftp://hpux.asknet.de/> Germany <ftp://hpux.cict.fr/> France <ftp://hpux.tn.tudelft.nl/> Netherlands <ftp://hpux.ee.ualberta.ca/> Canada (Updated by Ian, 01/22/03) ------------------------------ Subject: 7.1.2.2 InterWorks FTP site 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 <ftp://interworks.org/pub/comp.hp/> (Updated by Ian, 04/18/01) ------------------------------ Subject: 7.1.2.3 Netperf 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 <http://www.netperf.org/netperf/NetperfPage.html> (Added by Ian, 04/04/01) ------------------------------ 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): + <http://docs.hp.com/hpux/onlinedocs/98194-90051/00/00/1-con.html> ------------------------------ Subject: 7.1.2.5 PPP 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 <http://docs.hp.com/hpux/onlinedocs/B2355-90137/B2355-90137.html> Or purchased in hardcopy form from: o <http://software.hp.com/cgi-bin/swdepot_parser.cgi/cgi/displayProductInfo.pl ?productNumber=B8679BA:B2355-90137> 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 <mux_driver> -H <hw_path> -I <instance> \ -p <port_number> -a 2 4. Add the following line in /etc/inittab: a1:3:respawn:/usr/bin/pppd <hostname>:<remote_host_IP> netmask <netmask> idle 150 requireauth <port_device_file> 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: <username> <password_in_cleartext> ... ... <optional_address_restrictions> 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 Check out Barthold Lichtenbelt's "PPP for HP-UX" web page at: o <http://www.interex.org/~borg/ppp.html> This page provides instructions for installing and configuring iij-ppp. (Thanks to Barthold Lichtenbelt <[email protected]>) 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 SecureID cards and dialback modems. Vartan Narinian <[email protected]> recommends installing the latest Mux/Pty patch before using PPP: o For 11.11: PHNE_23594 o For 11.00: PHNE_25346 o For 10.20: PHNE_21872 o For 10.10: PHNE_20838 o For 10.0x: PHNE_9436 For additional general information on PPP and SLIP, check out: o <http://www.stokely.com/unix.serial.port.resources/ppp.slip.html> (Updated by Ian, 11/24/01) ------------------------------ Subject: 7.1.2.6 SMTP 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 <http://www.postfix.org/> Ralf Hildebrandt provides Postfix binaries for HP-UX at: o <http://www.stahl.bau.tu-bs.de/~hildeb/postfix/> There are a number of other alternatives: o Exim: <http://www.exim.org/> o Courier: <http://courier.sourceforge.net/> o Qmail: <http://www.cgiscripts.net/mirrors/qmail/> (Added by Ian, 08/24/75) ------------------------------ Subject: 7.1.2.7 POP and IMAP QUALCOMM[R], makers of the Eudora[R] email client for Macs and PCs, is currently maintaining Qpopper[TM], a modified version of Berkeley's 1.831beta popper. It can be downloaded for free (in source form) from: o <ftp://ftp.qualcomm.com/eudora/servers/unix/popper> The Qpopper homepage is: o <http://www.eudora.com/qpopper/> When building, use the 'sysv' target for HP/UX (i.e. "make sysv"). Do NOT install popper 1.831beta (or any version of Berkeley POP). It is vulnerable to buffer overflow attacks. Use qpopper instead. (Thanks to David D. Kilzer <[email protected]>) 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 <ftp://ftp.cac.washington.edu/mail/> 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 <http://www.inter7.com/courierimap/> (Updated by Ian, 08/24/01) ------------------------------ Subject: 7.1.2.8 Sudo Sudo binaries can be downloaded from the Sudo FTP site (<ftp://ftp.courtesan.com/pub/sudo/binaries/>) or the Liverpool archive. The binaries on the Sudo site may be a more recent version of Sudo. (Added by Ian, 03/26/01) ------------------------------ Subject: 7.1.2.9 Ntalk 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 <ftp://ftp.amtp.cam.ac.uk/pub/HP/> (Thanks to Jon Peatfield <[email protected]>) (Updated by Ian, 03/26/01) ------------------------------ Subject: 7.1.2.10 TTCP 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 <http://www.pcausa.com/Utilities/pcattcp.htm> NOTE: Do not confuse this with "ttcp - copy files and inform the ToolTalk service"!! (Thanks to Brian Hackley <[email protected]>) (Added by Ian, 04/19/01) ------------------------------ Subject: 7.1.2.11 Free SCSI utilities for HP-UX workstations MDL Corporation provides several free SCSI uitlities for HP-UX and DomainOS. o <http://www.mdlcorp.com/bugfixes.html> (Added by Ian, 03/25/01) ------------------------------ Subject: 7.1.2.12 PSCREEN/uX 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 <http://www.allegro.com/software/hp9000/> (Added by Ian, 04/25/01) ------------------------------ Subject: 7.1.2.13 GNU software 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 <http://software.hp.com/> (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 <http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701, 4682,00.html> (Ian) (Added by Ian, 04/19/01) ------------------------------ Subject: 7.1.2.14 Web browsers 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/). Packaged binaries of Netscape 7.0 for 11.x, Netscape Communicator 4.8 for 11.x, and Netscape Communicator 4.75 for 10.20 can be obtained from HP at: o <http://www.hp.com/go/netscape> Netscape Communicator 4.79 binaries for 10.20 can be downloaded from Netscape at: o <http://home.netscape.com/download/1126101/10000-en-hpux10.20-4.79-complete- 128_qual.html> or: o <ftp://ftp.netscape.com/pub/communicator/english/4.79/unix/supported/hpux102 0/> Microsoft no longer officially provides Internet Explorer and Outlook Express 5 for HP-UX or any other UNIX platform. For more information, see: o <http://www.microsoft.com/unix/ie/> However, it can still be downloaded from: o <http://download.microsoft.com/download/ie5/128bit/5.0/HPUX/EN-US/ie5setup_1 28> Lynx binaries can be downloaded from the Liverpool archive, or the source is available at: o <http://lynx.isc.org/release/> (Updated by Ian, 01/02/03) ------------------------------ Subject: 7.1.2.15 Miscellaneous freeware URL: <ftp://ftp.lut.fi/pub/hpux/> Contents: Various HP-UX binaries (has not been updated since '94) (Added by Ian, 04/16/01) ------------------------------ Subject: 7.1.2.16 RealAudio Player RealPlayer can be downloaded from: o <http://scopes.real.com/real/player/unix/unix.html> A Helix Universal Server (aka RealServer) evaluation version can be downloaded from: o <http://licensekey.realnetworks.com/rnforms/products/servers/eval/> Both are for 11.x only. (Added by Ian, 05/02/02) ------------------------------ Subject: 7.1.2.17 CD Burning Software See section 5.2.4. (Updated by Ian, 02/04/03) ------------------------------ 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? Up-to-date release histories for the following products are available: o HP-UX: <http://software.hp.com/RELEASES-MEDIA/> o HP aC++: <http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703, 1743,00.html> o HP C: <http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701, 1255,00.html> o HP Fortran: <http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703, 1847,00.html> (Added by Ian, 11/14/01) ------------------------------ Subject: 7.3.1.2 Where can I find a list of all applications that are available for HP-UX? 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 <http://www.software.hp.com/MATRIX/> (Added by Ian, 01/08/02) ------------------------------ Subject: 7.3.2 Non-HP Commercial Software ------------------------------ Subject: 7.3.2.1 Interex FastStart Toolbox Interex is now packaging HP-UX freely available software, ported to HP-UX 11.00 in depot format, on a CD called the FastStart 11.0 Toolbox. See <http://www.interex.org/index/fstart.html> for more information. (Updated by Ian, 03/24/01) ------------------------------ Subject: 7.3.2.2 Is there anything remotely like the Apollo DM editor available? 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... Enabling Technologies Group sells the ARPUS[TM]/ce[TM] editor. "ce" 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 <ftp://ftp.std.com/vendors/ETG/> 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: Enabling Technologies Group, Inc. 8601 Dunwoody Place, Suite 300 Atlanta, Georgia 30350 404.642.1500 (64.ARPUS) FAX: 404.993.4667 E-mail: <[email protected]> (Updated by Ian, 04/11/01) ------------------------------ Subject: 8. MISCELLANEOUS ------------------------------ Subject: 8.1 How can I find the HP-UX equivalent for a given Solaris/AIX/etc.. command? 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 <http://bhami.com/rosetta.html> UNIXguide.net also provides a AIX/FreeBSD/HP-UX/Linux(RedHat)/Solaris/Tru64 equivalency table, at: o <http://www.unixguide.net/unixguide.shtml> (Added by Ian, 03/31/01) ------------------------------ Subject: 8.2 What do I need to do to make my HP-UX system Year 2000 compliant? 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 (<http://software.hp.com/>), in the "Enhancement Releases" section. (Updated by Ian, 03/16/01) ------------------------------ 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. (Thanks to Stuart Jarriel <[email protected]> & Bill Larson <[email protected]>) ------------------------------ 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: [email protected] 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 [email protected]. 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. (Thanks to Bob Niland and Bill Hassell) ------------------------------ Subject: 8.5 How can I limit core files? 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 (thanks to John Agosta, HP). 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 in the format of: "corelimit hpterm 0". This will limit the core file size of all children of the hpterm process to 0. #include <stdio.h> #include <sys/resource.h> #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 >/dev/null 2>&1 with: /usr/local/bin/corelimit exec $DTLOGIN $VL_ARGS </dev/null \ >/dev/null 2>&1 (Updated by Ian, 04/03/01) ------------------------------ Subject: 8.6 How do I disable the Caps Lock key? 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. (Updated by Ian, 04/07/01) ------------------------------ 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.) (Thanks to Paul Gootherts <[email protected]>, Steve Dum <[email protected]> and John Pelan <[email protected]>) ------------------------------ 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.. (Thanks to Paul Hirose <[email protected]>, and Alek O. Komarnitsky <[email protected]>) ------------------------------ 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. (Thanks to Rick Jones <[email protected]>) ------------------------------ Subject: 8.11 How can I get a daemon to successfully start from an rc script? 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 <<EoF mydaemon EoF (Thanks to Mike Peterson, <[email protected]> and Noel Hunter <[email protected]>) (Updated by Ian, 03/08/01) ------------------------------ Subject: 8.12 How do I convert the uname string to a model string? BTW, if you're running 9.00 or later, on hardware that was released in '92 or later, you can use the model(1) command to get an expanded model string. For example: $ uname -m 9000/829 $ model 9000/829/K400 Here are the mappings for older HP9000 Series 800 machines: Model number on the String returned outside of the box by uname -m ============================================= default ----------> 9000/800 E25 --------------> 9000/806 E35 --------------> 9000/816 E45 --------------> 9000/826 E55 --------------> 9000/856 F10 --------------> 9000/807 F20 --------------> 9000/817 H20 --------------> 9000/827 K400 -------------> 9000/829 F30 --------------> 9000/837 G30/H30 ----------> 9000/847 I30 --------------> 9000/857 G40/H40 ----------> 9000/867 I40 --------------> 9000/877 G50/H50 ----------> 9000/887 I50 --------------> 9000/897 G70/H70 ----------> 9000/887 I70 --------------> 9000/897 G60/H60 ----------> 9000/887 I60 --------------> 9000/897 T500 -------------> 9000/891 On earlier machines, "9000/800" was returned by "uname -m" when HP-UX could not determine the model number of the machine. This generally indicated that the machine was not properly configured. On more recent machines (As, Rs, Ls, Ns, etcx..), "uname -m" ALWAYS returns "9000/800." To ascertain the machine's model string you MUST use the model command. (Thanks to Wayne Krone <[email protected]> and Colin Wynd) (Updated by Ian, 04/09/01) ------------------------------ Subject: 8.13 Is Perl included with HP-UX? Yes, HP-UX releases 10.10 through 11.10 are shipped with Perl v4.0.1.8. 11.11 comes with Perl 5.005_02. The perl executable is /usr/contrib/bin/perl. A little known gem of knowledge is that the Perl 4 exectuable that is included with 10.10 through 11.10 is statically linked! Since the binary is only 532k, you should consider the option of placing a copy in /sbin. That way, if you ever need to boot into single-user mode to do system maintenance or emergency recovery, you'll have all the power of Perl at your disposal! :-) Perl 5.6.0 binaries for 10.20 and 11.x can be obtained from on the Liverpool archive. (Added by Ian, 04/09/01) ------------------------------ 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. (Thanks to Michael J. O'Connor <[email protected]>) ------------------------------ 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. (Thanks to Julian Perry <[email protected]>) ------------------------------ Subject: 8.16 What happened to "less"? 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. (Thanks to Brad Bass <[email protected]>) (Updated by Ian, 04/05/01) ------------------------------ Subject: 8.17 What should go in my PATH and MANPATH environment variables? 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" (Thanks to Brad Bass <[email protected]>) (Updated by Ian, 03/05/01) ------------------------------ Subject: 8.18 Why does the 10.x/11.x cksum command produce a different checksum than the 9.x cksum command? 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 (Thanks to Michael Taylor <[email protected]>) (Updated by Ian, 04/05/01) ------------------------------ Subject: 8.19 Can I run Linux on an HP9000 system? 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 <http://parisc-linux.org/> MkLinux was successfully ported to PA-RISC 1.1. This project has not been active since '97: o <http://www.openpa.net/other.html#mk> 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 <http://www.tazenda.demon.co.uk/phil/linux-hp/> (Updated by Ian, 04/22/02) ------------------------------ Subject: 8.20 Can I run *BSD on an HP9000 system? Yes! There are HP9000 ports of both OpenBSD and NetBSD. Check out the following links: o Series 700/800 (32-bit only): + <http://www.openbsd.org/hppa.html> + <http://www.netbsd.org/Ports/hp700/> o Series 300/400: + <http://www.openbsd.org/hp300.html> + <http://www.openbsd.org/hp300/hp300faq.html> + <http://www.netbsd.org/Ports/hp300/> (Thanks to Mike O'Connor <[email protected]>) (Added by Ian, 04/18/01) ------------------------------ Subject: 8.21 What happened to /usr/local? What are these /usr/contrib and /opt directories? 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). (Thanks to Brad Bass <[email protected]>) (Updated by Ian, 04/04/01) ------------------------------ Subject: 8.22 Is it OK to change root's shell? 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. (Thanks to Brad Bass <[email protected]>) 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 (Ian) (Updated by Ian, 04/05/01) ------------------------------ Subject: 8.23 Why does HP-UX 10 generate copious "Sti_save" syslog messages? 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! (Unknown contributor) (Updated by Ian, 04/05/01) ------------------------------ Subject: 8.24 How can I tell which kernel was booted? 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 <http://devrsrc1.external.hp.com/STKLI/man/11iv1.5/kmpath_1m.html> 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. (Updated by Ian, 01/02/02) ------------------------------ Subject: 8.25 What is the equivalent of ldd under HP-UX? 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. (Thanks to Rich Rauenzahn <[email protected]>) (Updated by Ian, 04/05/01) ------------------------------ 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 <http://docs.hp.com/hpux/onlinedocs/5963-8942/00/00/1-con.html> Also refer to rc(1M), init(1M), and inittab(4). (Thanks to Rich Rauenzahn <[email protected]>) ------------------------------ Subject: 8.27 How can I do regular expression matching? 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. (Added by Ian, 04/13/01) ------------------------------ Subject: 8.28 How can I play MP3s? 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. (Added by Ian, 03/29/01) ------------------------------ Subject: 8.29 How can I use audio on HP-UX 10.x/11.x without a network? The problem is that audio relies on the DCE rpcd, which doesn't start if there's no network. Consequently, the audio server (Aserver) fails to start either. You can always access /dev/audio directly, but you won't be able to use HP's audio software, such as the Audio Control Panel or the Audio Editor. Furthermore, this method is not documented by HP. To get Aserver to work, you basically have to make the machine believe it's on a network. You have to get the lan interface up; loopback is not enough. Plugging a transceiver into the AUI port is reported to work on 715s and 712s. Another solution is to restore /usr/audio/*, llbd and libAt.* from a 9.x backup tape and replace rpcd with a symbolic link to llbd. Then, you can use audio in much the same way as on HP-UX 9.x. The only problem is that the buttons in the audio_editor don't have any text in them, so one has to guess which one does what. Unfortunately, SD-UX doesn't work with this configuration, which makes it impossible to install or remove SD packages. To fix this, you have to recreate the standard RPC symlinks - link /usr/bin/rpcd to /opt/dce/sbin/rpcd, and /opt/dce/sbin/rpcd to dced. Michael Piotrowski created a page to collect solutions for this problem: o <http://www.linguistik.uni-erlangen.de/~mxp/audio> (Thanks to Michael Piotrowski <[email protected]> and Rainer Koehler <[email protected]>) (Updated by Ian, 04/24/01) ------------------------------------------------------------------------ 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 <ftp://ftp.cup.hp.com/dist/networking/tools/> 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. (Thanks to Kartik Subbarao <[email protected]> & Rick Jones <[email protected]>) ------------------------------ Subject: 8.31 What OS capacity limits exist? 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: PHCO_23036 - fsadm_vxfs(1M) cumulative patch PHCO_23037 - mkfs_vxfs(1M) cumulative patch PHCO_23035 - extendfs_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 <http://ITresourcecenter.hp.com/> 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 (Updated by Ian, 12/11/02) ------------------------------ Subject: 8.32 How can I determine how much RAM my system has? 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 }' (Thanks to Richard Lloyd <[email protected]>, Mike Frison <[email protected]>, and Les Peters <[email protected]>) 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 <[email protected]> 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 <errno.h> #include <stdio.h> #include <sys/param.h> #include <sys/pstat.h> #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 ); } } (Ian) (Updated by Ian, 06/14/02) ------------------------------ Subject: 8.33 What are the various revisions of PA-RISC? 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 <[email protected]> and Jerry Huck <[email protected]>, (c)Hewlett-Packard, 01/15/97) For further information on PA-RISC processors, see the below URLs: o <http://cpus.hp.com/technical_references/parisc.shtml> o <http://www.hp.com/products1/itanium/infolibrary/information/pa-risc_illumin ata.pdf> For a description of considerations for 32-bit and 64-bit program development, including cross-platform development, see: o <http://devrsrc1.external.hp.com/STK/crossplatform.html> 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. (Thanks to Cary Coutant, HP) 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 <http://www.openvms.org/hp/intel_itanium_roadmap.jpg> For more information on Itanium[TM], visit: o <http://www.hp.com/products1/itanium/> Information on transitioning to IA-64 is available as part of the HP-UX 11.x Software Transition Kit: o <http://devrsrc1.external.hp.com/STK/> (Updated by Ian, 01/23/03) ------------------------------ Subject: 8.34 How do I find the clock speed of my system's CPU(s)? 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 (Updated by Ian, 04/03/01) ------------------------------ Subject: 8.35 How can I view/print PDF files? You must install the HP-UX version of Adobe Acrobat Reader, which can be downloaded for free from: o <ftp://ftp.adobe.com/pub/adobe/acrobatreader/unix/> or: o <http://www.adobe.com/products/acrobat/readstep2.html>. (Added by Ian, 04/16/01) ------------------------------ 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 - (Thanks to Paul Booth <[email protected]> and Christian L. Claiborn) ------------------------------ Subject: 8.37 Is the Euro supported? 11i, and later 11.00 refresh releases include 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 <http://software.hp.com/products/EURO/> (Added by Ian, 04/17/01) ------------------------------ Subject: 8.38 How can I view various Windows-format files (Word docs, Excel spreadsheets, etc..) on an HP-UX system? 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 <mailto:[email protected]> <http://www.intranetsolutions.com/> (Added by Ian, 04/17/01) ------------------------------ Subject: 8.39 How is the system load average, as reported by the uptime and top commands, calculated? The load average is the average number of processes in the queue waiting for CPU time, over the last 1, 5, and 15 minutes. (Thanks to Glen Bauder) (Added by Ian, 04/17/01) ------------------------------ Subject: 8.40 Where can I get HP9000 firmware updates? 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. (Added by Ian, 04/19/01) ------------------------------ Subject: 8.41 Where can I look up HP part numbers? Go to the HP PartSurfer web site: o <http://partsurfer.hp.com/> or purachase the HP Service Parts Information (HP-SPI) CD-ROM: o <http://partsurfer.hp.com/hp-spi/> Once you know the part numbers, you can order parts from the HP Parts Direct web site: o <http://partsdirect.hp.com/> (Added by Ian, 12/18/01) ------------------------------ Subject: 8.42 How can I create a /dev/zero special file? 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. (Thanks to Andy Walls <[email protected]> for the /dev/full info) (Updated by Ian, 10/14/02) ------------------------------ Subject: 8.43 Why is tail's output truncated for large amounts of input? 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. (Added by Ian, 05/02/02) ------------------------------ Subject: 8.44 What commands or scripts exist for gathering and summarizing system information? 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 <http://software.hp.com/products/IUX/> If you're running 11.20 or later, the new machinfo command provides similar information: # /usr/contrib/bin/machinfo (Updated by Ian, 08/14/02) ------------------------------ Subject: 8.45 How can I convert numbers from one base to another? 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). (Added by Ian, 05/03/02) ------------------------------ Subject: 8.46 What are the machine ID and serial number used for? 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 <[email protected]>, 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. (Thanks to Patrick Wessel (HP)) (Added by Ian, 05/03/02) ------------------------------ Subject: 8.47 How can I tell what commands SAM is executing under the hood? 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'. (Added by Ian, 07/08/02) ------------------------------ Subject: 8.48 How can I view a file in octal or hexadecimal? For octal, use: $ od -b file For hexadecimal, use: $ xd -b file (Added by Ian, 07/08/02) ------------------------------ Subject: 8.49 How do I configure the kernel to write corefiles as core.<pid>? 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.<pid>. SAM can be used to easily modify kernel paramters. Note, a reboot will be necessary. (Added by Ian, 07/24/02) ------------------------------ Subject: 8.50 How do I analyze a system crash dump? 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. (Thanks to Ken Green) 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 <http://software.hp.com/SUPPORT_PLUS/> (Thanks to Bill Hassell) (Added by Ian, 07/24/02) ------------------------------ Subject: 8.51 Is HP-UX free for non-profit users (students, hobbyists, etc..)? 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. (Updated by Ian, 01/10/03) ------------------------------ Subject: 8.52 Where can I obtain a free HP-UX shell account? The HP/Compaq test drive program allows you to test drive some of the latest HP/Compaq hardware running HP-UX or other HP-supported operating systems: o <http://www.testdrive.compaq.com/> (Thanks to Yong Huang) (Added by Ian, 08/14/02) ------------------------------ Subject: 9. ACKNOWLEDGEMENTS ------------------------------ Subject: 9.1 Contributors Thanks to all contributors, who are individually credited throughout this document. And special thanks to all former maintainers of this FAQ: o Greg Cagle <[email protected]> of HP, Portland (OR) site, was the FAQ maintainer until Nov '94. o Colin Wynd formerly of HP, was the maintainer until Nov '95. o Craig Gilmore <[email protected]> of HP, Mountain View (CA) site, was the maintainer until Feb '96. o Alek Komarnitsky <[email protected]> got conned into doing this by Greg starting in Aug '96 (where's that six-pack of Hank's?!? ;-) o Ian P. Springer <[email protected]> of HP, Mount Laurel (NJ) site, took over maintaining the FAQ in Mar '01. ------------------------------ Subject: 9.2 Trademarks Adobe[R] and Adobe Acrobat[R] are trademarks of Adobe Systems, Inc. AIX[R] is a registered trademark of IBM Corp. ARPUS and Ce are trademarks of Enabling Technologies Group, Inc. DLT is a trademark of Quantum Corp. Eudora[R] is a registered trademark of the University of Illinois Board of Trustees, licensed to QUALCOMM, Inc. HP-UX[R] and PA-RISC[R] are registered trademarks of Hewlett Packard Company. Intel[R] is a U.S. registered trademark of Intel Corp. Itanium[TM] is a trademark or registered trademark of Intel Corp. in the U.S. and other countries. Java[TM], NIS[TM], and Solaris[TM] are trademarks of Sun Microsystems, Inc., in the U.S. and other countries. Linux[R] is a registered trademark of Linus Torvalds. Oracle[R] is a registered U.S. trademark of Oracle Corp., Redwood City, CA. The Open Group[TM] and X Window System[TM] are trademarks of the Open Software Foundation in the U.S. and other countries. OSF/1[R], Motif[R], and UNIX[R] are registered trademarks of the Open Software Foundation in the U.S. and other countries. POSIX[TM] is a trademark of the The Institute of Electrical and Electronics Engineers, Inc. QUALCOMM[R] is a registered trademark and Qpopper[TM] is a trademark of QUALCOMM, Inc. Quick View Plus[R] is a registered trademark of IntraNet Solutions, Inc. 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. ------------------------------
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |