From 180f8633e0d631a7ce9dec4b51641bc37a1955fe Mon Sep 17 00:00:00 2001 From: Thomas Kuschel Date: Mon, 21 Sep 2026 03:33:16 +0200 Subject: [PATCH] DEL old backuped update file --- texlive_update_.sh | 216 --------------------------------------------- 1 file changed, 216 deletions(-) delete mode 100644 texlive_update_.sh diff --git a/texlive_update_.sh b/texlive_update_.sh deleted file mode 100644 index 65b4f2c..0000000 --- a/texlive_update_.sh +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/bash -set -e # Bricht bei Fehlern sofort ab -# spell:ignore tlmgr texhash texliveonfly beamer biblatex ieee booktabs bigdelim ccicons circuitikz -# spell:ignore Ghostscript biber cleveref concmath csquotes currfile enumitem everypage extdash -# spell:ignore filehook fmtcount fontawesome fontaxes fontmfizz fontspec fontsrecommended ghostscript -# spell:ignore gitea imakeidx infraonly isbn koma latexmk ltablex luatexbase marginnote mathtools -# spell:ignore microtype ncctools newpx newtx newunicodechar nextpage parskip pdfcol pdflscape pdfpages -# spell:ignore pgfplots pict setspace sidecap siunitx stix subfigure tcolorbox tikzfill titlesec -# spell:ignore trimspaces unicode upquote vmargin wrapfig xcharter xltabular xpatch xstring -TLMGR=$(which tlmgr) -TEXHASH=$(which texhash) - -echo "=== Starte optimierte LaTeX-Konfiguration ===" - -# ============================================================================== -# AUTOMATISCHE SERVER-FALLBACK LOGIK -# ============================================================================== -# Liste von zuverlässigen Spiegelservern (Der erste ist der automatische CTAN-Verteiler) -SERVERS=( - "http://ctan.org" - "https://tu-chemnitz.de" - "https://netcologne.de" -) - -UPDATE_SUCCESS=false -ACTIVE_SERVER="" - -echo "Aktualisiere tlmgr und alle installierten Pakete..." - -for SERVER in "${SERVERS[@]}"; do - echo "Versuche Verbindung zu Spiegelserver: $SERVER" - - # Durch die Verwendung in der if-Bedingung wird 'set -e' für diesen Befehl ausgesetzt. - # So fangen wir Offline-Server ab, ohne dass das Skript abstürzt. - if $TLMGR update --repository "$SERVER" --self --all; then - echo "--> Update erfolgreich über $SERVER durchgeführt!" - UPDATE_SUCCESS=true - ACTIVE_SERVER="$SERVER" # Speichert den funktionierenden Server für spätere Befehle - break - else - echo "⚠️ Warnung: Server $SERVER war nicht erreichbar. Versuche nächsten Spiegelserver..." - fi -done - -# Wenn kein einziger Server funktionierte, bricht das Skript kontrolliert ab -if [ "$UPDATE_SUCCESS" = false ]; then - echo "❌ ERROR: Alle TeX Live Spiegelserver sind offline oder es gibt keine Internetverbindung." >&2 - exit 1 -fi -# ============================================================================== - - -# 2. Nur deinstallieren, falls überhaupt vorhanden -# Nutzen den ermittelten ACTIVE_SERVER, um erneute Verbindungsfehler zu vermeiden -if $TLMGR info --repository "$ACTIVE_SERVER" texliveonfly | grep -q "installed: Yes"; then - echo "Deinstalliere veraltetes texliveonfly..." - $TLMGR remove --repository "$ACTIVE_SERVER" texliveonfly -fi - -# 3. ALLE Pakete gebündelt in EINEM Rutsch installieren (only scheme-minimal installed) -# Hinweis: scheme-basic beinhaltet bereits scheme-infraonly sowie scheme-minimal -echo "Installiere alle benötigten LaTeX-Pakete parallel/gebündelt..." -$TLMGR install --repository "$ACTIVE_SERVER" \ - background \ - beamer \ - biblatex \ - biblatex-ieee \ - booktabs \ - cancel \ - caption \ - ccicons \ - circuitikz \ - cleveref \ - cm-unicode \ - collection-fontsrecommended \ - concmath-otf \ - contour \ - csquotes \ - currfile \ - datetime2 \ - datetime2-english \ - datetime2-german \ - ean \ - ean13isbn \ - enumitem \ - epigraph \ - everypage \ - filehook \ - fmtcount \ - fontawesome5 \ - fontaxes \ - fontmfizz \ - fontspec \ - imakeidx \ - koma-script \ - latexmk \ - lastpage \ - lineno \ - listings \ - ltablex \ - luatexbase \ - marginnote \ - mathtools \ - microtype \ - minted \ - multirow \ - ncctools \ - newpx \ - newtx \ - newunicodechar \ - nextpage \ - ocr-b \ - parskip \ - pdfcol \ - pdflscape \ - pdfpages \ - pgf \ - pgfplots \ - physics \ - pict2e \ - ragged2e \ - scheme-basic \ - setspace \ - sidecap \ - siunitx \ - steinmetz \ - stix2-otf \ - subfigure \ - tcolorbox \ - tikzfill \ - titlesec \ - translations \ - trimspaces \ - unicode-math \ - upquote \ - vmargin \ - wrapfig \ - xcharter \ - xltabular \ - xpatch \ - xstring - -echo "Deinstalliere unerwünschte LaTeX-Pakete..." -# 'ae' und 't1enc' wurden entfernt, da sie geschützte Systempakete sind. -# Liste der Pakete, die deinstalliert werden sollen (einfach mit Leerzeichen trennen) -PACKETS=("truncate") - -for packet in "${PACKETS[@]}"; do - if tlmgr info "$packet" --only-installed >/dev/null 2>&1; then - echo "Lösche Paket: $packet..." - tlmgr remove "$packet" || true - else - echo "Paket '$packet' ist nicht installiert oder wurde bereits gelöscht." - fi -done - -# extdash (in ncctools) \ - -# 4. Datenbank-Refresh (tlmgr install macht das oft automatisch, sicherheitshalber am Ende einmal) -echo "Aktualisiere LaTeX-Dateidatenbank..." -$TEXHASH - -# 5. System-Abhängigkeiten prüfen und installieren (Biber & Ghostscript) -echo "Überprüfe Linux-Systemkomponenten..." - -# Liste der zu installierenden Apt-Pakete -SYSTEM_PACKAGES="" -INSTALLED_PACKAGES="" - -if ! command -v biber >/dev/null 2>&1; then - echo " -> biber fehlt und wird vorgemerkt." - SYSTEM_PACKAGES="$SYSTEM_PACKAGES biber" -else - echo " -> biber ist bereits installiert ($(biber --version | head -n 1))." - INSTALLED_PACKAGES="$INSTALLED_PACKAGES biber" -fi - -if ! command -v gs >/dev/null 2>&1; then - echo " -> ghostscript (gs) fehlt und wird vorgemerkt." - SYSTEM_PACKAGES="$SYSTEM_PACKAGES ghostscript" -else - echo " -> ghostscript (gs) ist bereits installiert ($(gs --version | head -n 1))." - INSTALLED_PACKAGES="$INSTALLED_PACKAGES ghostscript" -fi - -# Paket-Installation basierend auf dem verfügbaren Paketmanager -if [ -n "$SYSTEM_PACKAGES" ]; then - if command -v apt-get >/dev/null 2>&1; then - echo "Debian/Ubuntu-System erkannt. Installiere:$SYSTEM_PACKAGES..." - sudo apt-get update && sudo apt-get install -y $SYSTEM_PACKAGES - elif command -v pacman >/dev/null 2>&1; then - echo "Arch Linux erkannt. Installiere:$SYSTEM_PACKAGES..." - # Arch nutzt andere Paketnamen für ghostscript (ghostscript) und biber (biber) - sudo pacman -Sy --noconfirm $SYSTEM_PACKAGES - else - echo "⚠️ Unbekanntes System (kein apt oder pacman gefunden)." - echo "Bitte installiere die folgenden Pakete manuell: $SYSTEM_PACKAGES" - fi -else - # Formatierung: Entfernt führende Leerzeichen und ersetzt verbleibende durch Kommata - CLEAN_LIST=$(echo $INSTALLED_PACKAGES | sed 's/ /, /g') - echo " -> Alle notwendigen Systemkomponenten ($CLEAN_LIST) sind bereits installiert!" -fi - -echo "" -echo "=== Speicherplatz-Optimierung ===" -read -p "Möchtest du alle alten tlmgr-Paktebackups unwiderruflich löschen? (j/N): " response -if [[ "$response" =~ ^[jJ][aA]?$ || "$response" = "j" ]]; then - echo "Lösche alte Backups..." - $TLMGR backup --clean=0 --all -else - echo "Backups wurden beibehalten." -fi - -echo "=== Fertig! ===" -echo "Reminder: Please update pull/push the ~/gitea/scripts : scripts.git repository!"