Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Release Notes for HP-UX 10.30: HP 9000 Computers > Chapter 6 Major Changes for HP-UX 10.0 and 10.01

The HP-UX 10.0 File System Layout

» 

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index

A new, completely different file system layout was introduced at HP-UX 10.0. It is modeled after the AT&T SVR4 and OSF/1 file systems and is implemented on both Series 700 and Series 800 computers. The new layout provides benefits such as the separation of operating system software from application software, a foundation for diskless and client/server file-sharing models, and consistency with file system layouts used by many other computer companies.

  • You will notice fewer differences between the layouts of other vendors' file systems and that of HP-UX 10.0.

  • The file system layout is logical. Files are organized into categories such as static versus dynamic, executable versus configuration data, and so forth.

  • To support a client/server file-sharing model, operating system software is kept in separate directories from application software.

  • Files that are meant to be shared by different hosts are kept in separate directories from host-specific files.

Major Changes

Two main areas have changed because of the new file system model:

  • file and directory locations

  • system startup and shutdown control

File and Directory Locations

File and directory locations were completely changed at HP-UX 10.0. Static files — such as binaries, libraries, documentation, and headers — are separate from dynamic files — such as logs, temporary files, and configuration data. Static files, which are also called shared files, are grouped together because they usually do not change during system execution. Dynamic files, which are also called private files, are grouped together because of their tendency to change size and content during system execution.

A further division is made between the operating system and applications. The static portion of the operating system and applications reside under separate directories. In pre-10.0 releases, applications are co-resident with the operating system, typically under the /usr directory. At 10.0, HP applications were moved to a separate directory: /opt.

The following table lists most of the HP-UX 10.0 directories and maps them to the equivalent 9.x directories. The 10.0 directories are explained in more detail in the HP-UX 10.0 File System Layout White Paper.

Table 6-1 9.x to 10.0 Directory Map

9.x Directory

10.0 Directory

Description/Comments

Private/ Shared

/dev

/dev

Device files for local devices

Private

/etc

/etc

Machine-specific configuration and administration databases; no executables invoked by users

Private

N/A

/etc/opt/<application>

Application-specific configuration files

Private

N/A

/etc/rc.config.d

Startup configuration files

Private

N/A

/export

Default root of exported file systems

Server directory

N/A

/export/private_roots

For host-specific files

Server directory

N/A

/export/shared_roots

For shared OS and applications

Server directory

/users

/home

Default for user directories

Private

/users/<username>

/home/<username>

User home directory

Private directory or local mountpoint

/lost+found

/lost+found

Storage directory for fsck

Private

/mnt

/mnt

Mounting point for local file systems

Private

/net

/net

Mounting point for remote file systems

Private

N/A

/opt

Root for optional applications

Private

/usr/<application>

/opt/<application>

Application executables, libraries, and support files

Shared

N/A

/sbin

Essential system commands (those needed to boot system and mount file systems)

Shared

N/A

/sbin/init.d

Startup and shutdown scripts

Shared

N/A

/sbin/rc#.d

Startup and shutdown link files for script sequencing

Shared

N/A

/stand

Standalone machine-dependent binaries and kernel configs

Private

/tmp

/tmp

System-generated temporary files

Private

/usr

/usr

Mount point for sharable user commands, libraries, and documentation

Shared

/usr/bin and /bin

/usr/bin

Operating system user commands

Shared

N/A

/usr/ccs

Unbundled development package

Shared

N/A

/usr/ccs/bin

Development binaries

Shared

N/A

/usr/ccs/lib

Development libraries

Shared

/etc/conf

/usr/conf

Kernel configuration

Shared

/usr/contrib

/usr/contrib

Contributed software

Shared

/usr/include

/usr/include

Header files

Shared

N/A

/usr/lbin

Backends to other commands

Shared

/usr/lib and /lib

/usr/lib

Object code and object code libraries

Shared

/usr/local

/usr/local

User-contributed software

Shared

/etc/newconfig

/usr/newconfig

Default operating system configuration data files

Shared

N/A

/usr/old

Obsolete files

Shared

N/A

/usr/sbin

System administration commands

Shared

N/A

/usr/share

Architecture-independent sharable files

Shared

/usr/lib/spell

/usr/share/dict

Dictionaries for spell and ispell

Shared

N/A

/usr/share/lib

Miscellaneous sharable files

Shared

/usr/man

/usr/share/man

Operating system manpages

Shared

N/A

/var

Holds files created at runtime, such as log files and temporary files

Private

/usr/adm

/var/adm

Common administrative files and log files

Private

/tmp/syscore

/var/adm/crash

Kernel crash dumps

Private

/usr/lib/cron

/var/adm/cron

Cron queueing

Private

N/A

/var/adm/sw

SD directory

Private

N/A

/var/adm/sw/patch

Software patch storage directory

Private

N/A

/var/adm/syslog

Files generated by syslog

Private

/usr/mail

/var/mail

Incoming mail

Private

/usr/news

/var/news

News

Private

N/A

/var/opt/<application>

Application-specific temporary or data files

Private

/usr/preserve

/var/preserve

Preserved editor files

Private

N/A

/var/run

PID files

Private

/usr/spool

/var/spool

Spooled files

Private

/usr/spool/cron

/var/spool/cron

Crontabs and at jobs

Private

/usr/spool/locks

/var/spool/locks

UUCP Lock files

Private

/usr/spool/lp

/var/spool/lp

Printer spooling

Private

/usr/spool/mqueue

/var/spool/mqueue

Outgoing mail

Private

N/A

/var/spool/sw

Default location for SD depot

Private

/usr/spool/uucp

/var/spool/uucp

UUCP spool directory

Private

/usr/spool/ uucppublic

/var/spool/uucppublic

Incoming UUCP files

Private

/usr/tmp

/var/tmp

Application-generated temporary files

Private

/usr/spool/uucp

/var/uucp

UUCP admin. files

Private

 

System Startup and Shutdown

The system startup and shutdown control mechanism was also completely new for 10.0. In pre-10.0 releases, /etc contains large rc scripts that are executed during system boot. System configuration data was embedded in the rc scripts along with calls to commands. The mingling of system-specific data and commands made updating the scripts very difficult. This has been replaced by a model that separates the script execution and script variables into different locations. You can set and modify the behavior of the system by changing script variables. The execution scripts, which read the variables and start/stop subsystems, are not user-modifiable. All control is supplied through the script variables.

Execution scripts perform actions on subsystems, such as starting the cron and sendmail deamons or stopping the NFS deamons. Applications developers may control the run-level at which these subsystem functions are initiated.

The /etc/shutdown.d directory is not supported. All scripts in this directory must be redesigned to fit the new startup/shutdown model. See the HP-UX 10.0 File System Layout White Paper and the shutdown(1M) manpage for more information.

How This Affects Your System

The biggest impact of the new file and directory locations is on embedded pathnames in program headers and sources, scripts, libraries, object code, binaries, build and test environments, documentation, and path environment variables. For more information, see the Upgrading from HP-UX 9.x to 10.x manual.

The 10.0 startup and shutdown model requires you to modify configuration variables that are separate from the execution scripts. The only form of control is through the variables because the execution scripts are not modifiable and will be written over in subsequent releases of HP-UX. If you have modified rc scripts to include customized functionality, you need to move the script information to comply with the new startup/shutdown model. For information on the new shutdown and startup model, see the HP-UX 10.0 File System Layout White Paper and the HP-UX System Administration Tasks manual. If you have scripts in /etc/shutdown.d, you will need to migrate them to the new method. For instructions, see the section on startup and shutdown scripts in Chapter 7 of the Upgrading from HP-UX 9.x to 10.x manual.

Using 9.x Pathnames for Files in /etc

You can safely use 9.x pathnames in most circumstances on a 10.x system because transition links link the 9.x pathnames to the 10.x pathnames. But if you are in single-user mode, this may not work.

The names of program files and scripts that were in /etc in 9.x are in most cases links to corresponding files in /usr/sbin in 10.x; for example /etc/reboot is a link to /usr/sbin. But in single-user mode, /usr is unmounted. In this case, you need to use the version of the program that is in /sbin.

For example, if you are running in single-user mode and enter the command,

/etc/reboot

the system will respond:

/etc/reboot:  not found

The command you need in this case is:

/sbin/reboot

Run Levels

In 10.01, run levels are generally higher by one to perform the same function; for example, initiating run level 4 starts VUE. For more information, see Chapter 1 of the HP-UX System Administration Tasks manual.

Interoperating with 9.x Systems

HP has provided tools to make it easier to operate 9.x systems with 10.0 and 10.01 systems.

In addition, files such as /etc/profile supplied on 10.01 systems contain code that checks to see if these scripts are running on a 9.x or a 10.x system, and takes appropriate action (setting the PATH variable differently, for example).

For more information, see the HP-UX 9x/10.x Interoperability Guide supplied with the "HP-UX Upgrade Tools for 9.x to 10.x" package which includes the 9.x-to-10.01 upgrade tools.

What Will Happen During the Upgrade to 10.01

To ease the upgrade to HP-UX 10.x, HP has supplied transition links (essentially symbolic links) that allow applications to reference pre-10.0 pathnames. Although the links provide a vital component to the 10.x upgrade, they do not by themselves guarantee full forward compatibility.

Preparing for the Upgrade

A 10.x system will look different in many ways from a 9.x system; you will need to manage the transition carefully. For example, you may need to modify pathnames and device file names in code and scripts, and if your system is short of disk space you may need to provide more.

Because HP-UX 10.x introduces many changes from previous releases of HP-UX, a number of tools are provided to help you upgrade your system from 9.x releases to 10.x. These tools analyze your 9.x system, warn you of potential problems, and do routine conversion tasks such as converting pathnames to their 10.x equivalents.

Refer to the Upgrading from HP-UX 9.x to 10.x manual for specific pre-upgrade tasks and information on the tools that are provided.

NOTE: If you are already running 10.x releases, you do not need to run any pre-upgrade tools.

Administering the 10.0 File System

Refer to the HP-UX 10.0 File System Layout White Paper and to the HP-UX System Administration Tasks manual for details on file system administration policies and guidelines.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1997, Hewlett-Packard Development Company, L.P.