[tex-live] temp *.lmza files during installation -- running out of [temp] disk space

Harald Koenig koenig at tat.physik.uni-tuebingen.de
Mon Mar 23 17:03:44 CET 2009

On Mar 23, Norbert Preining wrote:

> >      /usr/local/texlive/2008/temp/
> That is to make re-installation if something breaks faster. Today disk
> space is less critical than net bandwidth, so users asked for re-usal of
> already downloaded packages in case an installation broke down (due to
> network errors or whatever).

a) maybe for network installs (but you know today network bandwidth... ;-)
for installation from DVD/CD that's not so much true -- and yes,
disk space is still an issue e.g. on older PCs, PCs for schoolers,
PCs in africa etc. and esp. "my PC" ;)

what about some flag $remove_lzma like the existing $remove_tarfile
which can be set for DVD/CD/... installations (I just found that
media = 'DVD' which might be a good start) and which can be set
via some command line option for install-tl?

can remove_tarfile be set by the user right now?.

b) if there is any install error (e.g. out of disk space;) I typically
remove the whole /usr/local/texlive/ tree before starting another
installation to make sure there are no leftovers or any problems
with next installation.  with _this_ temp dir to save downloads I
really should rethink that cleanup stage;)

am I the only one cleaning up broken stuff (like this) before starting over?

> > how can I tell tlmgr to delete the lzma files immediately after extraction/installation ?
> > this "saves" almost 1 GB disk spaces being required temporarily.
> You mean the installation program or the tlmgr?

oops, install-tl of course.

> > this all can be done in a pipe on _every_ unix system saving lots of  
> > disk I/O and temp space. 
> Yes, but do this portable on windows, unix in 15 dialects etc etc is not
> easy.
> We have tried .. many times.

I see your point with windows and won't argue here, but...

the whole install code in _install_package() is only about 40 lines
(and way too monolithic anyway;).  even duplicating that bit of code
might be doable (if windows ... else unix_and_pipes ...), but
create common functions for download/uncompress/extract might
reduce the amount of code duplication (wish I'd be a better perl
programmer to touch your code;)

1st step of optimisation for DVD/CD:  
what's the reason for

      } else {
        # we are installing from CD
        # copy it to temp
        copy($what, "$target/temp");

is there any problem in windows reading from DVD and writing 
the uncompressed file to temp/ ?  without this, my disk space problem
would not exist and you save copying 1 GB of data to disk...

since you're running $lzmadec with stdin/stdout anyway

      system("$lzmadec < $lzmafile_quote > $tarfile_quote");

it should be possible to do something like

      system("$lzmadec < $what  > $target/temp/$tarfile_quote");

and forget about the copy() ?


All SCSI disks will from now on                     ___       _____
be required to send an email notice                0--,|    /OOOOOOO\
24 hours prior to complete hardware failure!      <_/  /  /OOOOOOOOOOO\
                                                    \  \/OOOOOOOOOOOOOOO\
                                                      \ OOOOOOOOOOOOOOOOO|//
Harald Koenig,                                         \/\/\/\/\/\/\/\/\/
Inst.f.Theoret.Astrophysik                              //  /     \\  \
koenig at tat.physik.uni-tuebingen.de                     ^^^^^       ^^^^^

More information about the tex-live mailing list