Customizing the cron, uucp, and mail utilities for a read-only root file system

As of z/OS® V1R13, ServerPac is delivered with the /usr/lib/cron, /usr/mail and /usr/spool directories as symbolic links. The required directories and symbolic link structure are created during installation by the BPXMKDIR REXX exec in SYS1.SAMPLIB. The exec is invoked by BPXISMKD and can also be invoked at other times as needed.

For systems without shared file support, symbolic links must be created for the cron, uucp, and mail utilities before the root file system can be mounted in read-only mode. Files that were written to by those utilities must be moved out of the root file system and into a directory in a file system that was mounted in read/write mode.

Typically, no action is needed in order for the BPXMKDIR exec to set up the required directories and symbolic links. However, if files have been generated by a previous customization of the cron, uucp, and mail utilities, they must be moved to the appropriate /var directories before BPXMKDIR can create the needed files and symbolic links. The procedure is described in Customizing the cron, uucp, and mail utilities. In order to retain the customization, they should be moved to the directories that the symbolic links will point to.

The symbolic links are directed to /var directories as follows:
File Linked to
/usr/lib/cron ../../var/cron
/usr/spool ../var/spool
/usr/mail ../var/mail
For files used by uucp, these files are delivered as symbolic links that are directed to the /var/uucp directories as follows:
File Linked to
/usr/lib/uucp/Systems ../../../var/uucp/System
/usr/lib/uucp/Devices ../../../var/uucp/Devices
/usr/lib/uucp/Dialers ../../../var/uucp/Dialers
/usr/lib/uucp/Dialcodes ../../../var/uucp/Dialcodes
/usr/lib/uucp/Permissions ../../../var/uucp/Permissions
/usr/lib/uucp/config ../../../var/uucp/config
Certain directories must be in the /var directory and have the appropriate permissions.
  • For the mail utility:
    • /var/mail with permissions set to 755../../../var/uucp/config
  • For the cron utility:
    • /var/cron with permissions set to 755
    • /var/spool with permissions set to 755
    • /var/spool/cron with permissions set to 755
    • /var/spool/cron/atjobs with permissions set to 755
    • /var/spool/cron/crontabs with permissions set to 755
  • For the uucp utility:
    • /var/uucp with permissions set to 774
    • /var/spool with permissions set to 755
    • /var/spool/locks with permissions set to 774
    • /var/spool/uucp with permissions set to 774
    • /var/spool/uucppublic with permissions set to 777
    • /var/spool/uucp/.Xqtdir with permissions set to 774
    • /var/spool/uucp/.Sequence with permissions set to 774
    • /var/spool/uucp/.Status with permissions set to 774
    The uucp files must be in the /var directory:
    • /var/uucp/Systems
    • /var/uucp/Devices
    • /var/uucp/Dialers
    • /var/uucp/Dialcodes
    • /var/uucp/Permissions
    • /var/uucp/config