[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