From Fedora Project Wiki
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page. This is an update to the existing guidelines on /srv, /opt, and /usr/local

Changes:

  • Clarify that we mean modifications of any type (adding files, modifying files, removing files, etc)
  • Add a different section for /opt that explains its use in Fedora.
  • Add /home directories

No Files or Directories under /srv, /usr/local, or /home/$USER

The FHS says :

"...no program should rely on a specific subdirectory structure of /srv existing
or data necessarily being stored in /srv. However /srv should always exist on FHS
compliant systems and should be used as the default location for such data.

Distributions must take care not to remove locally placed files in these
directories without administrator permission."

The FHS is explicitly handing control of the directory structure under /srv to the system administrator rather than the distribution. Therefore, no Fedora packages can have any files or directories under /srv, come preconfigured to use specific files or directories under /srv, to remove files there, or to modify the files there in any way.

In addition, no Fedora package can contain files or directories or modify files under:

  • /usr/local as these directories are not permitted to be used by Distributions in the FHS
  • /home/$USER as users can arbitrarily modify the files in their home directories and rpm packages that modify those files run the risk of destroying user data. Additionally, sites may be nfs mounting /home on many different types of systems or even network automounting them on demand. Modifying files in home directories that are thus configured will have negative effects in both of these situations.

It is important to note that the software in a Fedora package, once installed and configured by a user, can use /srv as a location for data. The package simply must not do this out of the box

Limited usage of /opt, /etc/opt, and /var/opt

/opt and its related directories (/etc/opt and /var/opt) is reserved for the use of vendors in the FHS. We have reserved the fedora name with LANANA for our use. If a package installs files into /opt it may only use directories in the /opt/fedora hierarchy. Fedora attempts to organize this directory by allocating a subdirectory of our /opt/fedora directory for specific subsystems. If you think you need to use /opt/fedora please file an FPC ticket to decide whether it's a valid use of /opt and what subdirectory should be allocated for your use.

Currently, we have allocated /opt/fedora/scls, /etc/opt/fedora/scls, and /var/opt/fedora/scls for use by Software Collections.