4.7. /usr/libexec : Binaries run by other programs (optional)

4.7.1. Purpose

/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts. Applications may use a single subdirectory under /usr/libexec.

Applications which use /usr/libexec in this way must not also use /usr/lib to store internal binaries, though they may use /usr/lib for the other purposes documented here.

Rationale

Some previous versions of this document did not support /usr/libexec, despite it being standard practice in a number of environments. [27] To accomodate this restriction, it became common practice to use /usr/lib instead. Either practice is now acceptable, but each application must choose one way or the other to organize itself.



[27] See, for example, the "GNU Coding Standards" from the Free Software Foundation.