Essential System Software


Any decisions about what constitutes "essential system software" are primarily based on two publications, the Filesystem Hierarchy Standard (FHS) and the Linux Standard Base (LSB).

The Filesystem Hierarchy Standard

The FHS is used to answer the following design questions:

  1. What are the names of the system directories?
  2. How are the directories structured?
  3. Which binaries should be included in /bin and /sbin?

The Linux Standard Base

The LSB's chapter covering commands and utilities helps to determine additional binaries to be included in the system. Many of the binaries are already mentioned in the FHS, so LSB is used to fill in the blanks. Any binaries that are recommended by the LSB, but not mentioned in the FHS requirements for /bin or /sbin are placed in /usr hierarchy. This helps to keep the size of the / filesystem small.

Other Essential Software

Most users of an Architect distribution are probably the do-it-yourself types who build packages from source code. So a C compiler and related tools are considered essential software as well. The definition of essential extends as far as is necessary to build the components in the Architect distribution itself. In other words, in addition to the utilities recommended by the FHS and the LSB, there should be enough tools to build an Architect distribution using an Architect distribution.

Non-essential Software

Any other software to be installed on the system is determined by the local system administrator. It is recommended that locally installed software be placed in the /usr/local hierarchy. Examples of non-essential, locally installed software include server daemons, additional libraries, development tools and graphical user interfaces.