Question
How can I install packages for system-wide use, but without requiring the ls-R
database to be updated?
Background
The texlive documentation indicates that user specific packages should be placed in TEXMFHOME
while packages for multiple users should be placed in TEXMFLOCAL
(both of which are organized by the TeX Directory Structure (TDS)).
On your system, these locations can be found by using kpsewhich
(they are configured as part of the installation, not just as environmental variables):
kpsewhich -expand-var '$TEXMFHOME'
kpsewhich -expand-var '$TEXMFLOCAL'
As pointed out in this answer, the TEXMFHOME
solution does not require the ls-R
database to be updated: packages can just be added here and they will be found.
The TEXMFLOCAL
location, however, requires that mktexlsr
(texhash
) be run to update the ls-R
database (which must be done as root
if permissions are properly set).
Is there a similar location to TEXMFHOME
that does not require an ls-R
database for system-wide use?
The use case is that a user on a shared system maintains a package that we host in TEXMFLOCAL
. Whenever they change the names of files, the local ls-R
database needs to be updated by an administrator. How can we allow the user to modify the package – including changing file names if needed – without requiring an admin to update ls-R
?
I realize that there will be a performance hit if the database is not used, a separate tree should probably be used. Also, I am sure that the settings for TEXMFLOCAL
could probably be adjusted (by removing it from the TEXMFDBS
?) to obviate the need for ls-R
, but I am looking for a "standard" solution that meshes with the documented texlive
system behaviour.