FHS compliance

John Phillips lfs at linux.demon.co.uk
Tue Aug 8 22:57:25 PDT 2000


I was browsing the FHS-2.1 standard.  It's rather badly written if
you wish to determine compliance.  However there seems to be one clear
non-compliance in LFS and a few other debatable points.

This seems clear:

*  /usr/tmp (if present) should be a link to /var/tmp.  At present it's
   a separate directory.  If it's a link, the chmod for /usr/tmp becomes
   unnecessary.  FHS also says the link could be dropped if not needed.
   Is it still needed?

These are debatable points:

*  /usr/include/asm should link to /usr/src/linux/include/asm-<arch>
   (currently it's just /usr/src/linux/asm in LFS).  Note that "make
   config" does set asm -> asm-i386, which fixes this.  This is compliant
   only if "make config" is an essential part of the kernel installation.
   I'm not sure.

*  There are some missing directories (which are in FHS-2.1, but not
   in LFS).  For example, /usr/games is not explicitly made, but is
   created during the install (it's only got "banner" in it).  

   I think LFS compliance is probably OK if a listed directory is missing
   because there's nothing to put in it.

*  The above applies to the missing /opt as well.  However, /opt is not 
   made during installation. (There are some other examples.)

*  /usr/var seems to be a contradiction in terms unless it's a static
   link into the /var hierarchy (/usr is shareable read-only, /var is
   variable data files, i.e. not read-only).

   Note however, /usr/var *is* listed in FHS-2.1 if you want to put /usr
   and /var in the same partition, separate from the root partition.  YUK!

*  /usr/etc is not listed in FHS 2.1.  

   /usr isn't stand-alone - it can only work when mounted on a root
   partition with /etc available.  The only argument for it seems to
   be the "unnecessary" space taken up in a small root partition by the
   files in /etc for software in the /usr partition.

*  /usr/local should either be empty or contain only the listed directory

   - bin, games, include, lib, sbin, share, src.

   Currenly it contains a lot more.  The arguments above for and against
   /usr/etc apply here.

John Phillips           john at linux.demon.co.uk
Mail archive: http://www.pcrdallas.com/mail-archives/lfs-discuss
IRC access: server: irc.linuxfromscratch.org port: 6667 channel: #LFS
Unsubscribe: email lfs-discuss-request at linuxfromscratch.org and put
"unsubscribe" (without the quotation marks) in the body of the message
(no subject is required)

More information about the lfs-dev mailing list