texlive-20230313-source
      
      
        
          Introduksjon til TeX Live fra kilden
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            I følge https://www.tug.org/historic/
            master nettstedet i Frankrike støtter bare ftp og rsync. Nå som
            ftp generelt er utdatert, den siden har lenker til speil, hvorav
            noen støtter https, f.eks. i Utah og Chemntiz samt i Kina. Hvis
            du foretrekker å bruke et annet speil fra eksempelkoblingene her,
            må du navigere til systems/historic/texlive/2023 eller
            systems/texlive/2023 som tilfellet kan være.
          
         
        
          Det meste av TeX Live kan bygges fra kilden uten en
          forhåndseksisterende installasjon, men xindy (for indeksering) trenger en fungerende
          versjon av latex og
          pdflatex når
          konfigurering kjøres, og testpakken og installere asy (for vektorgrafikk) vil
          mislykkes hvis TeX ikke allerede er installert. I tillegg,
          biber er ikke gitt innenfor
          texlive kilden og versjonen av
          dvisvgm i texlive treet kan ikke bygges hvis delte
          systembiblioteker brukes.
        
        
          Alle disse pakkene behandles på deres egne sider og kan bli bygget
          etter installasjon av denne pakken. Hvis du ikke allerede har gjort
          det, burde du starte med Sette PATH for TeX
          Live slik at de siste kommandoene til å initialisere den nye
          installasjonen vil bli funnet.
        
        
          Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
          LFS 12.0 plattform.
        
        
          Pakkeinformasjon
        
        
        
          Påkrevd Ytterligere Nedlastinger
        
        
          Mye av texlive miljøet (inkludert skript, dokumentasjon, fonter og
          diverse andre filer) er ikke en del av kilde tarballen. Du må laste
          de ned separat. Dette vil gi deg alt av tilleggsfiler som leveres
          av en full installasjon av binærfil versjonen, det er ingen
          realistisk måte å begrense hvilke deler som blir installert.
        
        
          På grunn av størrelsen på denne pakken er det usannsynlig at den
          speiles av BLFS speil. I tilfelle problemer, gå til
          http://www.ctan.org/mirrors/ for å finne et mer tilgjengelig speil.
        
        
        
          Fra året 2019 er tlpdb databasen over pakkene i texlive ikke lenger
          installert med kilden. Men texdoc trenger en cache-fil
          avledet fra denne (og vil lage cachen på sin første kjøring).
        
        
        
          TeX Live fra kilden Avhengigheter
        
        
          Anbefalt
        
        
          et grafiske miljø
        
        
          Kilden leveres med sine egne versjoner av mange biblioteker, og vil bruke dem med
          mindre den blir tvunget til å bruke systemversjoner. Følgende
          anbefales slik at systemversjonen vil bli brukt: Cairo-1.17.6,
          Fontconfig-2.14.2, FreeType-2.13.1, GC-8.2.4, Graphite2-1.3.14, HarfBuzz-8.1.1 (bygget med graphite2
          aktivert), ICU-73.2, libpaper-2.1.1 (brukt av minst context og
          xelatex), og libpng-1.6.40
        
        
          Videre forutsetter instruksjonene nedenfor at du bruker oppsettet
          beskrevet i Sette PATH for TeX Live.
        
        
          Valgfri
        
        
          Kilden leveres med egne versjoner av flere biblioteker som enten
          ikke er under aktiv utvikling, eller kun brukt for begrenset
          funksjonalitet. Hvis du installerer disse, som med noen andre
          valgfrie avhengigheter i denne boken må fortelle configure til å bruke
          systemversjonene. GD, t1lib, ZZIPlib, 
          TECkit
        
        
          Kjøretids avhengigheter
        
        
          Python-2.7.18 brukes av ikke-vedlikeholde ebong
          CTAN modulen (ment for å skrive bengali i Rapid Roman Format).
          /usr/bin/python er også i shebang
          linjen for lateks papirstørrelse og lilyglyphs skript, og
          dokumentasjon hos CTAN sier begge moduler har blitt oppdatert for å
          fungere med python3. I pythontex er det skript for å starte python3
          eller python2 i henhold til systemets versjon av python. Ruby-3.2.2 brukes av
          to skript, det ene er for pTex (japansk vertikal skrift) og det
          andre er match_parens som kan være generelt nyttig. Perl modulen
          
          Tk, som må kjøres fra en X11 økt for å kjøre testene og krever
          Tk-8.6.13 brukes av et av skriptene for ptex og er
          nødvendig for texdoctk (et GUI grensesnitt for å finne
          dokumentasjonsfiler og åpne dem med riktig viser). ps2pdf, fra ghostscript-10.01.2, blir
          brukt av noen verktøy og skript.
        
       
      
        
          Installasjon av TeX Live
        
        
          Installer TeX Live ved å kjøre følgende kommandoer:
        
        
          ![[Caution]](../images/caution.png) 
          
            Caution
          
          
            Hvis du ønsker å oppgradere til gjeldende texlive på et eldre system hvor ekstrapakker
            (asymptote, biber, dvisvgm, eller xindy) har blitt installert, må du installer
            disse på nytt i tillegg til å fikse opp PATH for $TEXLIVE_PREFIX.
          
         
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            En vellykket installasjon krever litt texlive kommandoer skal
            kjøres som root bruker, så vi eksporterer TEXARCH variabel for å
            la root bruke det.
          
         
        
          Nå, som en vanlig bruker:
        
        export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') &&
patch -Np1 -i ../texlive-20230313-source-security_fix-1.patch &&
mkdir texlive-build &&
cd    texlive-build &&
../configure -C                                   \
    --prefix=$TEXLIVE_PREFIX                      \
    --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH         \
    --datarootdir=$TEXLIVE_PREFIX                 \
    --includedir=$TEXLIVE_PREFIX/include          \
    --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \
    --libdir=$TEXLIVE_PREFIX/lib                  \
    --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man   \
    --disable-native-texlive-build                \
    --disable-static --enable-shared              \
    --disable-dvisvgm                             \
    --with-system-cairo                           \
    --with-system-fontconfig                      \
    --with-system-freetype2                       \
    --with-system-gmp                             \
    --with-system-graphite2                       \
    --with-system-harfbuzz                        \
    --with-system-icu                             \
    --with-system-libgs                           \
    --with-system-libpaper                        \
    --with-system-libpng                          \
    --with-system-mpfr                            \
    --with-system-pixman                          \
    --with-system-zlib                            \
    --with-banner-add=" - BLFS" &&
make
        
          For å teste resultatene, utsted: make
          -k check. To tester, psutils.test og eptexdir/wcfname er kjent for å mislykkes.
        
        
          Nå, som root bruker:
        
        make install-strip &&
/sbin/ldconfig     &&
make texlinks      &&
mkdir -pv                                $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ &&
tar -xf ../../texlive-20230311-tlpdb-full.tar.gz -C $TEXLIVE_PREFIX/tlpkg
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Bare kjør make
            texlinks en gang. Hvis den kjøres på nytt, kan
            den endre alle programsymlinkene slik at de peker til seg selv og
            er ubrukelige.
          
         
        
          Installer nå tilleggsfilene som root bruker:
        
        tar -xf ../../texlive-20230313-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1
        
          Det har blitt fastslått av Debian at python skriptet i l\atex-make vil fungere med python3, så oppdater dem for å
          påkalle det ved å kjøre følgende kommando som root bruker:
        
        for F in $TEXLIVE_PREFIX/texmf-dist/scripts/latex-make/*.py ; do
  sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F
done
        
          Fortsatt som root bruker,
          initialiser det nye systemet (kommandoen fmtutil-sys --all vil produsere
          masse utdata):
        
        mktexlsr &&
fmtutil-sys --all
        
          For å tillate Evince-44.3 or dvisvgm-3.1 å lenke til
          libkpathsea.so, som root bruker (gjen)opprette en symbolkobling fra
          /usr/lib:
        
        ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            TeXLive inkluderer noen filer for ConTeXt, men kilden til det er
            separert og har gått videre fra å bruke luatex i forrige 'mkiv'
            versjon til å bruke luametatex som kan hentes med git fra
            github
            luametatex. LuaMetaTeX bruker meson og ninja, men det passer
            ikke lett inn i BLFS oppsettet til TeXLive.
          
          
            Men med litt ekstra arbeid kan 'mkiv' filer fortsatt behandles
            ved å bruke filene som ble sendt i texmf.
          
          
            Rettelser for å bruke ConTeXt vil bli
            fjernet neste gang texlive kilden må oppdateres enten for en
            sårbarhetsretting som krever tilbakeportering luatex endringer,
            eller for TeXLive 2024. Hvis du er en BLFS bruker av ConTeXt bør
            du være forberedt på å bruke den siste taggen fra github (lenken
            er i første ledd i denne merknaden). Bygge og installere det for
            å jobbe med en BLFS installasjon av TeXLive vil ikke være en
            triviell øvelse.
          
         
        
          Følgende trinn, kjør som root
          bruker, vil opprette mtxrun og context.
        
        sed -e '/local template=\[\[--ini/s/\(primaryflags%\)\(.*\)/\1 --socket --shell-escape \2/' \
 -e '/local template=\[\[%primaryflags%/s/\(primaryflags%\)\(.*\)/\1 --socket --shell-escape \2/' \
  -i $TEXLIVE_PREFIX/texmf-dist/scripts/context/lua/mtxrun.lua &&
mkdir -pv $TEXLIVE_PREFIX/texmf-var/luatex-cache/context/ &&
ln -sfv /$TEXLIVE_PREFIX/texmf-dist/scripts/context/lua/mtxrun.lua \
        /$TEXLIVE_PREFIX/bin/$TEXARCH/mtxrun &&
cat > $TEXLIVE_PREFIX/bin/$TEXARCH/context << EOF
#!/bin/sh
export TEXMF=$TEXLIVE_PREFIX/texmf-dist;
export TEXMFCNF=$TEXLIVE_PREFIX/texmf-dist/web2c;
export TEXMFCACHE=$TEXLIVE_PREFIX/texmf-var/luatex-cache/context/;
$TEXLIVE_PREFIX/bin/$TEXARCH/mtxrun --script context "\$@"
EOF
chmod -v 0755 $TEXLIVE_PREFIX/bin/$TEXARCH/context
        
          Du kan nå gå videre til asymptote-2.86, biber-2.19, dvisvgm-3.1 og / eller
          xindy-2.5.1 hvis du ønsker å installere dem.
        
       
      
        
          Parameterforklaringer
        
        
          patch -Np1 -i
          ../texlive-20230313-source-security_fix-1.patch:
          dette oppdaterer luatex kilden til v1.17.0 for å fikse
          sikkerhetsproblemer.
        
        
          sed -e '/local template (...)'
          (...)mtxrun.lua: dette gjør en endring i et
          texmf-dist skript slik at ConTeXt nå kan kjøres med luatex-v1.17.0.
        
        
          -C: opprette
          config.cache, dette sparer betydelig tid i et parallellbygg.
        
        
          --prefix=, --bindir=, --datarootdir=,
          --infodir=, --mandir= ... : disse bryterne sikrer at
          filene som er installert fra kilden vil overskrive alle tilsvarende
          filer som tidligere er installert av install-tl-unx slik at alternative metoder for
          å installere texlive er
          konsistente.
        
        
          --includedir=, --libdir=
          ... : disse bryterne sikrer at bibliotekene og
          inkluderte filer vil være innenfor mappen for dette års texlive.
        
        
          --disable-static: Denne
          bryteren forhindrer installasjon av statiske versjoner av
          bibliotekene.
        
        
          --enable-shared: Bruk delte
          versjoner av libkpathsea,
          libptexenc, libsynctex, libtexlua52 og libtexluajit.
        
        
          --with-system-...: Med
          mindre denne parameteren brukes, vil de inkluderte versjonene av
          disse bibliotekene bli statisk kompilert inn i programmene som
          trenger dem. Hvis du bestemte deg for ikke å installere et anbefalt
          bibliotek, utelat den tilsvarende bryteren.
        
        
          --disable-dvisvgm:
          Som nevnt ovenfor, den sendte versjonen av dvisvgm, som har
          modifiserte konfigurasjonsfiler, kan ikke bygges med delte
          systembiblioteker.
        
        
          /sbin/ldconfig: dette
          må kjøres her slik at make
          texlinks kan bruke kpsewhich.
        
        
          make texlinks : dette
          kjører skriptet texlinks.sh for å lage symbolske lenker fra
          formater til motorer. I praksis, flere av målene som f.eks
          xetex er nå separate
          binærfiler og for disse vil den rapportere "file already exists".
        
        
          tar -xf texlive-20230313-texmf.tar.xz
          -C $TEXLIVE_PREFIX --strip-components=1: tarballen
          inneholder filene for texmf-dist mappen, og fordi dens størrelse
          ønsker vi ikke å kaste bort tid og plass på å pakke den ut og
          etterpå kopiere filene.
        
        
          install -v -m644
          ../texk/tests/TeXLive/*
          $TEXLIVE_PREFIX/tlpkg/TeXLive/: Dette setter perl
          modulene TLConfig.pm og TLUtils.pm inn i mappen der det binære
          installasjonsprogrammet plasserer dem - det er på starten av perl
          @INC@ PATH i texlive når installert ved hjelp av ovenstående
          konfigurasjons brytere. Uten disse modulene er texlive ubrukelig.
        
        
          mkdir -pv
          $TEXLIVE_PREFIX/texmf-var/luatex-cache/context/:
          kontekstskriptet opprettet etter dette vil ikke kjøre riktig hvis
          denne mappen ikke er til stede.
        
        
          --without-x: bruk dette hvis du ikke
          har Xorg installert.
        
        
          Det er mange andre "--disable" eller "--without" alternativer. Noen
          av dem slik som --without-texinfo blir
          akseptert, men ikke lenger gjør noe, andre vil forhindre at et
          program bygges - men desto større mengde plass brukt til de
          relaterte elementene i texmf betyr at det ikke er noen åpenbar
          fordel fra å deaktivere noen av programmene.
        
        
          fmtutil-sys --all:
          Dette initialiserer TeX formatene, Metafont baser og Metapost mems.
        
        
          mtxrun --generate:
          Dette initialiserer ConTeXt systemet.
        
       
      
        
          Innhold
        
        
          
            
              Installerte Programmer:
              Over 300 binærfiler og symbolkoblinger
              til skript
            
            
              Installerte Biblioteker:
              libkpathsea.so, libptexenc.so,
              libsynctex.so, libtexlua52.so, libtexluajit.so
            
            
              Installerte Mapper:
              $TEXLIVE_PREFIX/bin,
              $TEXLIVE_PREFIX/include, $TEXLIVE_PREFIX/lib,
              $TEXLIVE_PREFIX/texmf-dist
            
           
         
        
          
            Korte Beskrivelser
          
          
            
              
              
            
            
              
                | 
                    TeX programs
                   | 
                    Programmene som inngår i TeX er for mange til å liste opp
                    hver for seg. Vennligst referer til det enkelte
                    programmets HTML og PDF sider i ulike html, man eller pdf
                    filer i undermappene til 2023/texmf-dist/. Ved bruk av
                    texdoc
                    pdflatex ( erstatt pdflatex med kommandonavnet )
                    kan også være nyttig | 
              
                | 
                    libkpathsea.so | 
                    (kpathsearch) eksisterer for å slå opp en fil i en liste
                    over mapper og brukes av kpsewhich
                   | 
              
                | 
                    libptexenc.so | 
                    er et bibliotek for japansk pTeX (publishing TeX)
                   | 
              
                | 
                    libsynctex.so | 
                    er SyncTeX (Synchronize TeXnology) parserbibliotek
                   | 
              
                | 
                    libtexlua52.so | 
                    gir Lua 5.2, modifisert for bruk med LuaTeX
                   | 
              
                | 
                    libtexluajit.so | 
                    gir LuaJIT, modifisert for bruk med LuaJITTeX
                   |