web-dev-qa-db-ja.com

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$ 
1
tfstwbbnb

ファイルが適切に転送されなかったことが判明しました。

友人のコンピューター(最初にダウンロードした人)のファイルのハッシュには正しいハッシュがあります。

ただし、転送媒体上のファイル(および私のコンピューター上のファイル)のハッシュは同じ不正解ハッシュを持っています。

0
tfstwbbnb

質問は XY問題 :最終的な目標はtexlive offlineをインストールすることであると信じています他の代替の代わりにISOからの要件ではありません。

その場合は、ISOではなく、debtexliveファイルとその依存関係を取得することを検討できます。これにより、インストールが簡素化され、問題の問題が解消されます。

texliveとその依存関係のURLとMD5合計のリストを取得するには、 システムでこのコマンドを実行 を使用します。

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

これにより、ダウンロードするURLとそのMD5合計を含むファイルpackages.infoが生成されます。ダウンロード後に友人がMD5の合計額も確認するのが最適です。

debファイルを入手したら、dpkg -i *.debを使用してインストールできます。

とはいえ、@ fkraiemがコメントで指摘したように、ISOの代わりにdebを使用すると、いくつかの欠点があります。

TeXLiveの場合、公式インストーラーを使用することは.debs(実際、私が使用するもの)を使用するよりも常に優れていると思います。 、Tex.SEでは、公式インストーラーを使用したと想定されるため、.debsを使用した場合、ソリューションが機能しない可能性があります)

1
janos