[tex-live] Default installation violates filesystem hierarchy standards

Tristan Miller psychonaut at nothingisreal.com
Sun Sep 27 10:41:50 CEST 2015


Dear all,

I recently installed TeX Live 2015 on a GNU/Linux system and noted that, by 
default, the installer suggests installing everything (that is, binaries, 
documentation, configuration files, etc.) in a directory hierarchy rooted 
at /usr/local/texlive/2015.

I understand the motivations for keeping the installation rooted in a 
single directory, rather than spread out in the usual places 
(/usr/local/bin, /usr/local/share, etc.).  However, I believe that 
/usr/local/texlive/2015 is the wrong place to root the installation, as 
this violates the Filesystem Hierarchy Standard (FHS) used by GNU/Linux, 
and probably similar specifications used by other Unix-like OSes, such as 
the System V Application Binary Interface and the Intel Binary 
Compatibility Standard.

Section 4.9.2 of the FHS [1] provides an exhaustive list of directories 
that must appear in /usr/local, and refers to another exhaustive list of 
directories that may also appear there.  The "texlive" directory is in 
neither of these lists.  (The lists of prescribed directories largely 
mirror the ones for /usr, whose specification says that "large software 
packages must not use a direct subdirectory under the /usr hierarchy".)

Installing TeX Live in /usr/local/texlive/2015 therefore makes it difficult 
for other users to predict its location, and could interfere with automated 
package management tools and other software which expects a clean 
filesystem hierarchy.

I believe the proper place to root the TeX Live installation is under /opt 
(e.g., /opt/tug/texlive/2015).  The /opt hierarchy (see Section 3.13 of the 
FHS) was specifically created for add-on application software that uses its 
own internal filesystem hierarchy.  Provided a "provider name" such as 
"tug" is registered with the Linux Assigned Names And Numbers Authority 
(LANANA) [2], software packages installed under /opt/tug can use any 
directory structure they wish.  (On the other hand, if a package is 
installed into an immediate subdirectory of /opt, such as /opt/texlive, it 
is expected to contain the usual bin and share/man subdirectories.  For 
instance, binaries would need to go in /opt/texlive/bin, not 
/opt/texlive/2015/bin/x86_64-linux.)

I suggest that the easiest way of fixing this is for TUG to register the 
provider name "tug" with LANANA (which seems to be free of charge, and 
involves little more than someone in a position of authority sending them 
an e-mail) and to update the TeX Live 2015 installer so that it suggests a 
default directory of /opt/tug/texlive/2015 instead of 
/usr/local/texlive/2015.

Regards,
Tristan

[1] http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf

[2] http://www.lanana.org/lsbreg/providers/index.html

-- 
   _
  _V.-o         Tristan Miller          ><  Space is limited
 / |`-'  -=-=-=-=-=-=-=-=-=-=-=-=-=-=-  <>  In a haiku, so it's hard
(7_\\    http://www.nothingisreal.com/  ><  To finish what you
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://tug.org/pipermail/tex-live/attachments/20150927/216d0281/attachment.bin>


More information about the tex-live mailing list