3

After having version issues with default installed sudo apt-get install texlive, which was a 2013 version of Tex Live that comes with Ubuntu 14.04 LTS, I had to completely remove and get a newer version. This guide by mcbetz turned extremely helpful in the course. Lately I have been following this answer guide for installing TexLive through "netinstaller", however the default installation process goes through an overwhelming long run.

To add to my misery, On the halfway through installation, I had a network interruption causing it to come to an abrupt end. I now regret not going for using C option that sets the collection packages to reduce the burden overall. Meanwhile, I followed a piece of information that appeared at the bottom of the terminal to execute again the install-tl with --installation.profile flag. I thought for once, This may be the unique way of saying resume the installation. I went for it, only to be later disappointed. This started the whole process again of downloading all packages while installing.

But, what's poking me, is how could I possibly have had saved myself from looping all over again with the entire process of downloading packages for installation? I don't mind if somebody dumbs me down over this, but I didn't quite get the documentation.

dd_rookie
  • 185
  • 1
  • 12

1 Answers1

4

I ran into this problem when trying to install TeX Live 2017. The best approach appears to be first downloading the entire TeX Live repo (from a nearby mirror), and then pointing the installer to your local copy. So first you want to download the files (see the TUG docs):

rsync -a -v --delete --progress rsync://somectan/somepath/systems/texlive/tlnet/ /your/local/dir

Be careful with that command, as it will make an exact mirror by deleting anything in the local directory that doesn't exist on the remote directory! If the download fails, running the above command again will resume the download from the last failed file transfer.

After that's done, you would run the installer like this:

./install-tl -repository /your/local/dir

If you have a very poor connection then you might like to have rsync auto-resume on disconnects, and also resume partial file transfers. I used the following script:

#!/usr/bin/env bash

# remote mirror
MIRROR=rsync://somectan/somepath/systems/texlive/tlnet/
# local directory (local files NOT on the mirror will be DELETED)
LOCAL=/your/local/dir
# flags for the transfer
RSYNC_FLAGS="--archive --delete --timeout=10 --partial-dir=.rsync-partial $MIRROR $LOCAL"

# some colours for output
RED='\e[1;31m'
NC='\033[0m'

# test run (i.e., don't really download or delete anything)
cd $LOCAL
rsync --dry-run --stats $RSYNC_FLAGS

# prompt to check the output
echo -e "\n${RED}Warning${NC}: About to ${RED}delete${NC} all non-mirror files in ${RED}$LOCAL${NC}\n"

# confirmation to continue
read -p "Continue (y/N)? " confirm
if [ "$confirm" != "y" ]; then
    echo "Aborting"
    exit 1
fi

# do the real rsync transfer (and loop until it's finished)
RESULT=1
while [ $RESULT -ne 0 ]; do
    echo "STARTING ($RESULT) @" `date`;
    # add flags to see what's being transferred
    rsync --verbose --progress $RSYNC_FLAGS
    RESULT=$?
    echo "Sleeping for 10 seconds"
    sleep 10
done
drgibbon
  • 141