Which Filesystem Hierarchy Standard is in Ubuntu?

Solution 1:

The current version is still 2.3 (2004) and Ubuntu, like Debian, is based on that. At the Linux Foundation it is noted that

The FHS 3 specification is currently under development.

They aimed to release it by 1 July this year as this article describes, so the date you saw on wikipedia was merely this date they had earmarked. It hasn't actually been released yet at the time I am writing (12 September 2012). The changes haven't been decided fully, but there are some useful links in the link above (such as the fhs mailing-lists discussion and there is a discussion at lwn.net.

More details on the existing specifications are available at the Linux Foundation.


For more general information, two great questions on this site explain the filesystem hierarchy well:

  • How to understand the Ubuntu file system layout?
  • https://askubuntu.com/questions/165677/which-book-should-i-buy-to-learn-file-system-in-ubuntu

Solution 2:

The mentioned version FHS 3.0 is still in Draft 01 state . As above in Mik's answer , they aimed for July release but not yet finalized.

Ubuntu will most probably inherit the Debian FHS standard as mentioned in The Ubuntu-Policy also locally available under /var/share/doc/ubuntu-policy/fhs provided you install ubuntu-policy package to see the implemented File System in Ubuntu.

If you are concerned with what does Ubuntu Implements of Standard FHS 2.3 and changes or makes exception to it , to integrate itself within it .

The following exceptions to the FHS apply:

The optional rules related to user specific configuration files for applications are stored in the user's home directory are relaxed. It is recommended that such files start with the '.' character (a "dot file"), and if an application needs to create more than one dot file then the preferred placement is in a subdirectory with a name starting with a '.' character, (a "dot directory"). In this case it is recommended the configuration files not start with the '.' character.

The requirement for amd64 to use /lib64 for 64 bit binaries is removed.

The requirement that /usr/local/share/man be "synonymous" with /usr/local/man is relaxed to a recommendation.

The requirement that windowmanagers with a single configuration file call it system.*wmrc is removed, as is the restriction that the window manager subdirectory be named identically to the window manager name itself.

The requirement that boot manager configuration files live in /etc, or at least are symlinked there, is relaxed to a recommendation.