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.20: HP 9000 Computers > Chapter 4 Major Changes for HP-UX 10.0 and 10.01

The HP-UX 10.0 File System Layout

» 

Technical documentation

Complete book in PDF
» 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 4-1 9.x to 10.0 Directory Map

9.x Directory10.0 DirectoryDescription/CommentsPrivate/Shared
/dev/devDevice files for local devicesPrivate
/etc/etcMachine-specific configuration and administration databases; no executables invoked by usersPrivate
N/A/etc/opt/<application>Application-specific configuration filesPrivate
N/A/etc/rc.config.dStartup configuration filesPrivate
N/A/exportDefault root of exported file systemsServer directory
N/A/export/private_rootsFor host-specific filesServer directory
N/A/export/shared_rootsFor shared OS and applications Server directory
/users/homeDefault for user directoriesPrivate
/users/<username>/home/<username>User home directoryPrivate directory or local mountpoint
/lost+found/lost+foundStorage directory for fsckPrivate
/mnt/mntMounting point for local file systemsPrivate
/net/netMounting point for remote file systemsPrivate
N/A/opt Root for optional applicationsPrivate
/usr/<application>/opt/<application>Application executables, libraries, and support filesShared
N/A/sbinEssential system commands (those needed to boot system and mount file systems)Shared
N/A/sbin/init.dStartup and shutdown scriptsShared
N/A/sbin/rc#.dStartup and shutdown link files for script sequencingShared
N/A/standStandalone machine-dependent binaries and kernel configsPrivate
/tmp/tmpSystem-generated temporary filesPrivate
/usr/usrMount point for sharable user commands, libraries, and documentationShared
/usr/bin and /bin/usr/binOperating system user commandsShared
N/A/usr/ccsUnbundled development packageShared
N/A/usr/ccs/binDevelopment binariesShared
N/A/usr/ccs/libDevelopment librariesShared
/etc/conf/usr/confKernel configurationShared
/usr/contrib/usr/contribContributed softwareShared
/usr/include/usr/includeHeader filesShared
N/A/usr/lbinBackends to other commandsShared
/usr/lib and /lib/usr/libObject code and object code librariesShared
/usr/local/usr/localUser-contributed softwareShared
/etc/newconfig/usr/newconfigDefault operating system configuration data filesShared
N/A/usr/oldObsolete filesShared
N/A/usr/sbinSystem administration commandsShared
N/A/usr/shareArchitecture-independent sharable filesShared
/usr/lib/spell/usr/share/dictDictionaries for spell and ispellShared
N/A/usr/share/libMiscellaneous sharable filesShared
/usr/man/usr/share/manOperating system manpagesShared
N/A/varHolds files created at runtime, such as log files and temporary filesPrivate
/usr/adm/var/admCommon administrative files and log filesPrivate
/tmp/syscore/var/adm/crashKernel crash dumpsPrivate
/usr/lib/cron/var/adm/cronCron queueingPrivate
N/A/var/adm/swSD directoryPrivate
N/A/var/adm/sw/patchSoftware patch storage directoryPrivate
N/A/var/adm/syslogFiles generated by syslogPrivate
/usr/mail/var/mailIncoming mailPrivate
/usr/news/var/newsNewsPrivate
N/A/var/opt/<application>Application-specific temporary or data filesPrivate
/usr/preserve/var/preservePreserved editor filesPrivate
N/A/var/runPID filesPrivate
/usr/spool/var/spoolSpooled filesPrivate
/usr/spool/cron/var/spool/cronCrontabs and at jobsPrivate
/usr/spool/locks/var/spool/locksUUCP Lock filesPrivate
/usr/spool/lp/var/spool/lpPrinter spoolingPrivate
/usr/spool/mqueue/var/spool/mqueue Outgoing mailPrivate
N/A/var/spool/swDefault location for SD depot Private
/usr/spool/uucp /var/spool/uucpUUCP spool directory Private
/usr/spool/ uucppublic/var/spool/uucppublic Incoming UUCP filesPrivate
/usr/tmp/var/tmp Application-generated temporary filesPrivate
/usr/spool/uucp/var/uucp UUCP admin. filesPrivate

 

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
© Hewlett-Packard Development Company, L.P.