从ISO安装TeXLive

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

并尝试使用“打开存档安装程序”(通过右键单击它)以及“打开方式 – >磁盘映像安装程序”来安装它

他们都成功安装。

当我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的前60行

 #!/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运行应用程序之前遇到了问题。 它仍然给我上述错误。

问题: 如何使用texlive2017-20170524.iso将TeXLive安装到我的系统?
(我更倾向于使用离线安装程序而不是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$ 

我认为这个问题是一个XY问题 :你的最终目标是离线安装texlive ,并且不需要从ISO而不是其他替代方案中进行。

如果是这种情况,那么您可以考虑获取texlive及其依赖项的deb文件,而不是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总和。 最好是你的朋友在下载后validationMD5总和。

一旦你有deb文件,你可以用dpkg -i *.deb安装它们,应该很好。

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

在TeXLive的情况下,我认为使用官方安装程序总是比使用.debs更好(事实上,这是我自己使用的),主要是因为它允许更好地管理CTAN包和更好的社区支持(如果你问一个问题,例如,在Tex.SE上,假设您使用了官方安装程序,因此如果您使用.debs,解决方案可能无法正常工作)

事实certificate,文件没有正确传输。

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

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