[tex-live] Messed up TL installation
Haines Brown
haines at histomat.net
Wed Oct 19 15:30:15 CEST 2011
I am running Debian Squeeze and installed its version of TeXLive 2009.
However, I needed to upgrade TL to 2011 from CTAN. I read on line the
advice to delete an old version of TL before installing a newer
version. What I did was to delete the texmf directories, and that got
me into trouble that I've been trying to rectify.
My initial question is, if one is upgrading to CTAN 2011, is it true
that old versions of TL should be removed first? If so, does this
refer to both TL 2010 and TL 2009? By "removal" does that use of a
package manager, such as aptitude purge? But if the old TL was
installed manually, what is the best way to remove it?
I not only removed the old texmf directories, but also ran # aptitude
purge texlive. I then installed TL 2011 from CTAN using the install-tl
binary. This procedure messed things up in various ways it seems, and
I'm trying to recover.
Although I can run latex, lualatex, biber commands on .tex documents,
when I tried to install a CTAN package using $ sudo tlmgr, I could not
do it because I was told texlive-common and texlive-base were not
configured. Then I tried to run # tlmgr (using su rather than sudo),
and this time it installed the package but also configured
texlive-common and texlive-base. However, this configuration was
applied to TL 2009!
# dpkg --configure texlive-base
Setting up texlive-base (2009-11) ...
...
So apparently, although I removed texmf driectories and purged
texlive, my system still thinks it has TL 2009. While aptitude says
"no":
$ aptitude show texlive
Package: texlive
State: not installed
Version: 2009-11
...
apt cache sees it:
$ ls /var/cache/apt/archives/ | grep texlive
texlive_2009-11_all.deb
...
Should I have first removed all texlive_2009 packages from the
archive?
In going through this, somehow I messed up my environment for texlive.
For example, user can run tlmgr:
$ which tlmgr
/usr/local/texlive/2011/bin/i386-linux/tlmgr
But I can't run it by using sudo:
$ sudo tlmgr -gui
sudo: tlmgr: command not found
unless the full path is provided:
$ sudo /usr/local/texlive/2011/bin/i386-linux/tlmgr -gui
Loading local TeX Live Database
This may take some time, please wait!
Completed.
If I use su to become root, I can run tlmgr:
# which tlmgr
/usr/local/texlive/2011/bin/i386-linux/tlmgr
But it seems that tlmgr is in the environment in either case:
$ sudo echo $PATH
/usr/local/texlive/2011/bin/i386-linux:
/usr/local/texlive/2011/bin/i386-linux:
/usr/local/bin:
/usr/bin:
/bin:
/usr/local/games:/usr/games
# echo $PATH
/usr/local/texlive/2011/bin/i386-linux:
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/sbin:/bin
Sudo uses user's environment (sudo user's the double path to texlive
because the path is defined in both ~/.bashrc and in ~/.profile), but
root looks to /etc/bash.bashrc where I had to manually append:
PATH=/usr/local/texlive/2011/bin/i386-linux:$PATH; export PATH
I've spent so much time running around in circles on this that I'm
tempted to buy a new hard disk and install debian from scratch. It
would be far less costly to do so, but I still am not comfortable
about installing texlive from CTAN without messing things up, such as
where to manually define paths.
Haines Brown
More information about the tex-live
mailing list