16.2. /etc: Host-specific system configuration

In addition to the requirements for /etc in the Filesystem Hierarchy Standard, an LSB conforming system shall also provide the following directories or symbolic links to directories:

/etc/cron.d 

A directory containing extended crontab files; see Cron Jobs.

/etc/cron.daily 

A directory containing shell scripts to be executed once a day; see Cron Jobs.

/etc/cron.hourly 

A directory containing shell scripts to be executed once per hour; see Cron Jobs.

/etc/cron.monthly 

A directory containing shell scripts to be executed once per month; see Cron Jobs.

/etc/cron.weekly 

A directory containing shell scripts to be executed once a week; see Cron Jobs.

/etc/init.d 

A directory containing system initialization scripts; see Installation and Removal of Init Scripts.

/etc/profile.d 

A directory containing shell scripts. Script names should follow the same conventions as specified for cron jobs (see Cron Jobs, but should have the suffix .sh. The behavior is unspecified if a script is installed in this directory that does not have the suffix .sh.

The sh utility shall read and execute commands in its current execution environment from all the shell scripts in this directory that have the suffix .sh when invoked as an interactive login shell, or if the -l (the letter ell) is specified (see Shell Invocation).

Future Directions: These directories are required at this version of the LSB since there is not yet an agreed method for abstracting the implementation so that applications need not be aware of these locations during installation. However, Future Directions describes a tool, lsbinstall, that will make these directories implementation specific and no longer required.

16.2.1. File Naming Conventions

Conforming implementations and applications installing files into any of the above locations under /etc may only use filenames from the following managed namespaces:

Note: A non-conforming application may still have polluted these managed namespaces with unregistered filenames; a conforming application should check for namespace collisions and take appropriate steps if they occur.

In general, if a package or some system function is likely to be used on multiple systems, the package developers or the distribution should get a registered name through LANANA, and distributions should strive to use the same name whenever possible. For applications which may not be essential or may not be commonly installed, the hierarchical namespace may be more appropriate. An advantage to the hierarchical namespace is that there is no need to consult with the LANANA before obtaining an assigned name.

Short names are highly desirable, since system administrators may need to manually start and stop services. Given this, they should be standardized on a per-package basis. This is the rationale behind having the LANANA organization assign these names. The LANANA may be called upon to handle other namespace issues, such as package/prerequisites naming.