tlbuild: tlmgr USER MODE

 
 B.9 USER MODE
 =============
 
 'tlmgr' provides a restricted way, called "user mode", to manage
 arbitrary texmf trees in the same way as the main installation.  For
 example, this allows people without write permissions on the
 installation location to update/install packages into a tree of their
 own.
 
    'tlmgr' is switched into user mode with the command line option
 '--usermode'.  It does not switch automatically, nor is there any
 configuration file setting for it.  Thus, this option has to be
 explicitly given every time user mode is to be activated.
 
    This mode of 'tlmgr' works on a user tree, by default the value of
 the 'TEXMFHOME' variable.  This can be overridden with the command line
 option '--usertree'.  In the following when we speak of the user tree we
 mean either 'TEXMFHOME' or the one given on the command line.
 
    Not all actions are allowed in user mode; 'tlmgr' will warn you and
 not carry out any problematic actions.  Currently not supported (and
 probably will never be) is the 'platform' action.  The 'gui' action is
 currently not supported, but may be in a future release.
 
    Some 'tlmgr' actions don't need any write permissions and thus work
 the same in user mode and normal mode.  Currently these are: 'check',
 'help', 'list', 'print-platform', 'print-platform-info', 'search',
 'show', 'version'.
 
    On the other hand, most of the actions dealing with package
 management do need write permissions, and thus behave differently in
 user mode, as described below: 'install', 'update', 'remove', 'option',
 'paper', 'generate', 'backup', 'restore', 'uninstall', 'symlinks'.
 
    Before using 'tlmgr' in user mode, you have to set up the user tree
 with the 'init-usertree' action.  This creates _usertree_'/web2c' and
 _usertree_'/tlpkg/tlpobj', and a minimal
 _usertree_'/tlpkg/texlive.tlpdb'.  At that point, you can tell 'tlmgr'
 to do the (supported) actions by adding the '--usermode' command line
 option.
 
    In user mode the file _usertree_'/tlpkg/texlive.tlpdb' contains only
 the packages that have been installed into the user tree using 'tlmgr',
 plus additional options from the "virtual" package
 '00texlive.installation' (similar to the main installation's
 'texlive.tlpdb').
 
    All actions on packages in user mode can only be carried out on
 packages that are known as 'relocatable'.  This excludes all packages
 containing executables and a few other core packages.  Of the 2500 or so
 packages currently in TeX Live the vast majority are relocatable and can
 be installed into a user tree.
 
    Description of changes of actions in user mode:
 

Menu