source: pst/typesetting/tl-installer.xml@ 6e095ff

12.2 gimp3 ken/TL2024 lazarus trunk xry111/for-12.3 xry111/spidermonkey128
Last change on this file since 6e095ff was 6e095ff, checked in by Ken Moffat <zarniwhoop@…>, 6 months ago

texlive - Comment on user ownership and prefix.

Since I am increasingly suggesting that anyone wanting to install
the binary might prefer to do it as a normal user, clarify that
root should not do any updates.

At the start of 'setting the PATH' explain why we do things like
this, and mention that we used to bootstrap the source build - that
is to give a clue if a reader decides they want to install ConTeXt
and LuaMetaTeX where I suggest doing a similar thing.

  • Property mode set to 100644
File size: 13.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY tl-installer-download-http "https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz">
8
9 <!ENTITY tl-installer-download-ftp " ">
10 <!ENTITY tl-installer-md5sum "cec36f23d7d4e1a4a2a90f77bad8e667">
11 <!ENTITY tl-installer-date "20230313"> <!-- in the directory name -->
12 <!ENTITY tl-installer-size "5.5 MB">
13
14 <!ENTITY tl-installer-buildsize "310 MB for basic TeX and latex, 7.9GB if everything is included">
15 <!ENTITY tl-installer-time "varies, depending on network speed and traffic">
16]>
17
18<sect1 id="tl-installer" xreflabel="install-tl-unx">
19 <?dbhtml filename="tl-installer.html"?>
20
21
22 <title>install-tl-unx</title>
23
24 <indexterm zone="tl-installer">
25 <primary sortas="a-install-tl-unx">install-tl-unx</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to TeX Live and its installer</title>
30
31 <para>
32 The <application>TeX Live</application> package is a comprehensive
33 TeX document production system. It includes TeX, LaTeX2e, LuaLaTeX,
34 Metafont, MetaPost, BibTeX and many other programs; an extensive
35 collection of macros, fonts and documentation; and support for
36 typesetting in many different scripts from around the world.
37 </para>
38
39 <para>
40 This page is for people who wish to use the binary installer to
41 provide the programs, the scripts, and a lot of supporting files and
42 documentation. The installer is updated frequently, so any published
43 md5sum will soon be out of date. Newer versions of the
44 installer are expected to work with these instructions, for so long as
45 they install to a
46 <filename class="directory">&texlive-year;/</filename> directory.
47 </para>
48
49 <para>
50 There are two reasons why you may wish to install the binaries in BLFS:
51 either you need a smaller install (e.g. at a minimum plain TeX without
52 LaTeX, ConTeXt, etc), or you wish to use <command>tlmgr</command> to
53 get updates whilst this version is supported (typically, until March of
54 the year after it was released). For the latter, you might prefer to
55 install in your <filename class="directory">/home</filename> directory
56 as an unprivileged user, and to then make corresponding changes to the
57 PATH in your <filename>~/.bashrc</filename> or equivalent.
58 </para>
59
60 <note>
61 <para>
62 If you wish to use ConTeXt with <command>luametatex</command> (most of
63 the old MKII and MKIV code was removed from TeX Live 2023 by the ConTeXt
64 developer), using the binary is probably the easiest option. The source
65 no-longer ships with TeX Live and is poorly adapted to building with
66 systems except those running Mac and Windows. See comments 1 to 5 of
67 <ulink url="&blfs-ticket-root;17823">#17823</ulink>.
68 </para>
69 </note>
70
71 <!-- editors: latex-test-20230819.tar.xz at ~/ken/tex-testfiles and the
72 ABOUT.pdf now deal with specifying which collections are needed when using
73 binary texlive. Please do not sign off this package without at least
74 testing asy to ensure that the symlinks are as needed. Please also be aware
75 that removing a collection might leave huge backups in tlpkg/backups -->
76
77 &lfs121_checked;
78
79 <bridgehead renderas="sect3">Package Information</bridgehead>
80 <itemizedlist spacing="compact">
81 <listitem>
82 <para>
83 Download (HTTP): <ulink url="&tl-installer-download-http;"/>
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Download (FTP): <ulink url="&tl-installer-download-ftp;"/>
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 <!--Download MD5 sum: &tl-installer-md5sum; (for &tl-installer-date;)-->
94 Download MD5 sum: Varies frequently
95 </para>
96 </listitem>
97 <listitem>
98 <para>
99 Download size: &tl-installer-size;
100 </para>
101 </listitem>
102 <listitem>
103 <para>
104 Estimated disk space required: &tl-installer-buildsize;
105 </para>
106 </listitem>
107 <listitem>
108 <para>
109 Estimated build time: &tl-installer-time;
110 </para>
111 </listitem>
112 </itemizedlist>
113
114 <bridgehead renderas="sect4">Recommended</bridgehead>
115 <para role="recommended">
116 <xref linkend="gnupg2"/> (to validate both the initial downloads, and also
117 any updates you might later make using <command>tlmgr</command>.)
118 <xref linkend="perl-libwww-perl"/> (to use a single connection to the server,
119 which will reduce its load and speed things up.)
120 </para>
121
122 <bridgehead renderas="sect4">Recommended (at runtime)</bridgehead>
123 <para role="recommended">
124 The binaries are mostly linked to included static libraries or
125 general (LFS) system libraries, but a few of the programs
126 and several scripts will fail if the following packages are not present:
127 </para>
128 <para role="recommended">
129 <xref role="runtime" linkend="gs"/> is dynamically loaded by
130 the external application <ulink url="https://dvisvgm.de/">dvisvgm</ulink>,
131 which is used by <application>asy</application> when that creates SVG
132 files.
133 </para>
134 <para role="recommended">
135 <xref role="runtime" linkend="xorg7-lib"/> and
136 <xref role="runtime" linkend="libxcb"/> are needed for inimf, mf,
137 pdfclose, pdfopen and xdvi-xaw. But if you are using asy, or using a
138 <application>TeX</application> engine to create a PDF file, you will
139 need <xref role="runtime" linkend="x-window-system"/> (for PDF files,
140 this is to support a PDF viewer of your choice, for example
141 <xref role="nodep" linkend="epdfview"/>).
142 </para>
143<!-- seems to not be needed in 2021
144 <para role="recommended">
145 the optional non-wide-character ncurses library (for "some binary-only
146 application") from the bottom of the <application>Ncurses</application>
147 page in LFS is needed
148 for xindy.run which is used by <application>xindy</application>
149 </para> -->
150 <para role="recommended">
151 The binary version of <application>asy</application> needs
152 <xref linkend="freeglut"/>.
153 </para>
154 <para> <!-- needed, but cannot recommend :-) -->
155 The binary version of asy is linked to libGLX.so.0 from
156 <ulink url="https://gitlab.freedesktop.org/glvnd/libglvnd/">libglvnd</ulink>,
157 but installing that will break future updates of BLFS packages such as
158 <xref linkend="mesa"/>. Work around that by creating a symlink as the
159 <systemitem class="username">root</systemitem> user:
160 </para>
161 <screen role="nodump"><userinput>ln -sv libGL.so.1 /usr/lib/libGLX.so.0</userinput></screen>
162 <para role="recommended">
163 The binary versions of <application>biber</application> and
164 <application>xindy</application> are linked to <filename
165 class='libraryfile'>libcrypt.so.1</filename> from old versions
166 of <application>glibc</application>. To use these two applications, follow the
167 Note about binary-only applications in <application>libxcrypt</application> in
168 LFS to install the ABI version 1 crypt library.
169 </para>
170 <note>
171 <para>
172 As always with contributed binary software, it is possible that the
173 required dependencies may change when the installer is updated. In
174 particular, these dependencies have only been checked on x86_64.
175 </para>
176 </note>
177 <!-- text for runtime deps, shared with texlive -->
178 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
179 href="../../xincludes/texruntime.xml"/>
180
181 </sect2>
182
183 <sect2 role="installation">
184 <title>Binary Installation of TeX Live</title>
185
186 <para>
187 The <application>TeX Live</application> set of programs with its
188 supporting documents, fonts, and utilities is very large. The upstream
189 maintainers recommend placing all files in a single directory structure.
190 BLFS recommends <filename class='directory'>/opt/texlive</filename>.
191 </para>
192
193 <note>
194 <para>
195 If you have chosen to install the binary as a normal user, the directory
196 for the prefix needs to be writable by that user. The
197 <systemitem class="username">root</systemitem> user can chown
198 <filename class="directory">/opt/texlive/2024</filename> to that
199 user before the user starts the install.<!-- Problem was reported on
200 texlive list, at least ls-R was involved and maybe other files,
201 suggestion was to remove, chown prefix, reinstall. --> If any later
202 change in that directory is made by the <systemitem
203 class="username">root</systemitem> user <emphasis>that will change the
204 ownership</emphasis> which breaks usage by normal users.
205 </para>
206 </note>
207
208 <para>
209 As with any other package, unpack the installer and change into its
210 directory, <filename class='directory'>
211 install-tl-&lt;CCYYMMDD&gt;</filename>.
212 This directory name changes when the installer is updated, so replace
213 &lt;CCYYMMDD&gt; by the correct directory name.
214 </para>
215
216 <note>
217 <para>
218 The distribution binaries installed below may use static linking
219 for general linux system libraries. Additional libraries or
220 interpreters as specified in the dependencies section do not need to
221 be present during the install, but the programs that need them will
222 not run until their specific dependencies have been installed.
223 </para>
224
225 <!-- please keep something like this in the future -->
226 <para>
227 With all contributed binary software, there may be a mismatch between
228 the builder's toolchain and your hardware. In most of TeX this will
229 probably not matter, but in uncommon corner cases you might hit
230 problems. For example, if your x86_64 processor does not support 3dnowext or
231 3dnow, the 2014-06-28 binary failed in conTeXt when running LuaTeX,
232 although lualatex worked, as did the i686 binaries on the same
233 machine. In such cases, the easiest solution is to install texlive
234 from source. Similarly, the x86_64 binary version of
235 <command>asy</command> runs very slowly when creating 3-D diagrams.
236 </para>
237 </note>
238
239 <para>
240 Now, as the <systemitem class="username">root</systemitem> user:
241 </para>
242
243<screen role="root"><userinput>TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl</userinput></screen>
244
245 <para>
246 This command is interactive and allows selection or modification of
247 platform, packages, directories, and other options. The full installation
248 scheme will require about 4.9 gigabytes of disk space. The time to
249 complete the download will depend on your internet connection speed
250 and the number of packages selected.
251 </para>
252
253 <para>
254 It has been established by Debian that the <command>python</command>
255 scripts in <filename class="directory">latex-make</filename> will work
256 with <command>python3</command>, so update them to invoke that by running
257 the following command as the <systemitem class="username">root</systemitem>
258 user:
259 </para>
260
261<screen role="root"><userinput>for F in /opt/texlive/&texlive-year;/texmf-dist/scripts/latex-make/*.py ; do
262 test -f $F &amp;&amp; sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F || true
263done
264</userinput></screen>
265
266 </sect2>
267
268 <sect2 role="commands">
269 <title>Command Explanations</title>
270
271 <para>
272 <command>test -f $F &amp;&amp; sed ...</command>: in a small install these
273 files might not be present, so test if they exist and if not return 'true'
274 to avoid any error if this command has been copied into one of your own install scripts.
275 </para>
276
277 <para>
278 <option>./install-tl --location
279 http://mirror.aut.ac.nz/CTAN/systems/texlive/tlnet/</option>: use a
280 variation of this if you wish to use a different mirror, for example, because
281 you are in New Zealand but the installer chooses to use an Australian
282 mirror. The list of mirrors is at
283 <ulink url='https://ctan.org/mirrors/'/>.
284 </para>
285
286 </sect2>
287
288 <sect2 role="content">
289 <title>Contents</title>
290
291 <segmentedlist>
292 <segtitle>Installed Programs</segtitle>
293 <segtitle>Installed Libraries</segtitle>
294 <segtitle>Installed Directories</segtitle>
295
296 <seglistitem>
297 <seg>Over 300 binaries and symlinks to scripts</seg>
298 <seg>None</seg>
299 <seg>/opt/texlive</seg>
300 </seglistitem>
301 </segmentedlist>
302
303 <variablelist>
304 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
305 <?dbfo list-presentation="list"?>
306 <?dbhtml list-presentation="table"?>
307
308 <varlistentry id="tl-installer-programs">
309 <term><command>TeX&nbsp;programs</command></term>
310 <listitem>
311 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
312 href="../../xincludes/texprogs.xml"/>
313 <indexterm zone="tl-installer tl-installer-programs">
314 <primary sortas="b-tl-installer-programs">TeX Live programs</primary>
315 </indexterm>
316 </listitem>
317 </varlistentry>
318 </variablelist>
319
320 </sect2>
321
322</sect1>
Note: See TracBrowser for help on using the repository browser.