从 ISO 安装 TeXLive

从 ISO 安装 TeXLive

我已经texlive2017-20170524.iso从下载http://muug.ca/mirror/ctan/systems/texlive/Images/

并尝试使用“使用存档加载程序打开”(右键单击它)以及“使用 --> 磁盘映像加载程序打开”来加载它

他们都成功登上了。

当我cd到达安装位置并运行./install-tl(也尝试过./install-tl)时,它给出了此错误:

TeXLive/TLUtils.pm did not return a true value at ./install-tl line 54.
BEGIN failed--compilation aborted at ./install-tl line 54.

以下是install-tl

#!/usr/bin/env perl
# $Id: install-tl 44407 2017-05-18 21:25:39Z karl $
# 
# Copyright 2007-2017
# Reinhard Kotucha, Norbert Preining, Karl Berry, Siep Kroonenberg.
# This file is licensed under the GNU General Public License version 2
# or any later version.
#
# Be careful when changing wording: *every* normal informational message
# output here must be recognized by the long grep in tl-update-tlnet.
#
# TODO:
# - with -gui pop up a transient window showing:
#      testing for compressed archive packages ...
#      testing for uncompressed live system ...
#      testing for network access ...
#      loading tlpdb, this can take some time ...
#   (that, and maybe some others can be done with the waitVariableX
#   thingy as described in the Perl/Tk book in the chapter that can be
#   found on the net)   (Werner 28.10.08)

my $svnrev = '$Revision: 44407 $';
$svnrev =~ m/: ([0-9]+) /;
$::installerrevision = ($1 ? $1 : 'unknown');

# taken from 00texlive.config: release, $tlpdb->config_release;
our $texlive_release;

BEGIN {
  $^W = 1;
  my $Master;
  my $me = $0;
  $me =~ s!\\!/!g if $^O =~ /^MSWin/i;
  if ($me =~ m!/!) {
    ($Master = $me) =~ s!(.*)/[^/]*$!$1!;
  } else {
    $Master = ".";
  }
  $::installerdir = $Master;

  # All platforms: add the installer modules
  unshift (@INC, "$::installerdir/tlpkg");
}

use Cwd 'abs_path';
use Getopt::Long qw(:config no_autoabbrev);
use Pod::Usage;
use POSIX ();

use TeXLive::TLUtils qw(platform platform_desc sort_archs
   which getenv win32 unix info log debug tlwarn ddebug tldie
   member process_logging_options rmtree wsystem
   mkdirhier make_var_skeleton make_local_skeleton install_package copy
   install_packages dirname setup_programs native_slashify forward_slashify);
use TeXLive::TLPOBJ;
use TeXLive::TLPDB;
use TeXLive::TLConfig;
use TeXLive::TLCrypto;
use TeXLive::TLDownload;
use TeXLive::TLPaper;

我还尝试将内容复制到硬盘上(这样它就不再是 ISO 格式了),因为之前直接从 ISO 运行应用程序时我遇到了问题。它仍然会给出上述错误。

问题:如何使用 安装 TeXLive 到我的系统texlive2017-20170524.iso
(我宁愿使用离线安装程序而不是sudo apt-get install texlive


以下是我在终端上看到的内容:

Me@Computer:~/Desktop$ cd ~/Desktop
Me@Computer:~/Desktop$ mkdir mountpoint
Me@Computer:~/Desktop$ sudo mount -o loop texlive2017-20170524.iso mountpoint
[sudo] password for Me: 
mount: /dev/loop0 is write-protected, mounting read-only
Me@Computer:~/Desktop$ cd mountpoint/
Me@Computer:~/Desktop/mountpoint$ ./install-tl
TeXLive/TLUtils.pm did not return a true value at ./install-tl line 54.
BEGIN failed--compilation aborted at ./install-tl line 54.
Me@Computer:~/Desktop/mountpoint$ 

答案1

我认为问题是XY问题:你的最终目标是texlive离线安装,并且不需要通过 ISO 而不是其他替代方案来执行此操作。

如果是这种情况,那么您可以考虑获取文件deb及其texlive依赖项,而不是 ISO。这应该可以简化安装并消除问题。

texlive您可以通过以下方式获取其依赖项的 URL 和 MD5 总数列表:在您的系统上运行此命令

apt-get --print-uris --yes install texlive | grep "^'" | sed -e "s/'//g" | awk '{ print $1, $4 }' > packages.info

这将生成一个packages.info包含要下载的 URL 及其 MD5 值的文件。最好让您的朋友在下载后也验证一下 MD5 值。

一旦您有了这些deb文件,您就可以安装它们,dpkg -i *.deb然后就可以开始了。

话虽如此,正如 @fkraiem 在评论中指出的那样,使用deb而不是 ISO 有一些缺点:

对于 TeXLive 来说,我认为使用官方安装程序总是比使用 .debs 更好(事实上,我自己就是用的这个),主要是因为它可以更好地管理 CTAN 包,并提供更好的社区支持(如果你在 Tex.SE 上提问,它会假定你使用了官方安装程序,所以如果你使用 .debs,解决方案可能不起作用)

答案2

事实证明,文件没有被正确传输。

我朋友的计算机上(最初下载该文件的人)的该文件的哈希值具有正确的哈希值。

但是,传输介质上的文件哈希值(以及我计算机上的文件)具有相同的不正确哈希。

相关内容