📝 "Refactor log files and setup script for better maintainability (🐛)"
This commit is contained in:
@ -1,40 +1,4 @@
|
||||
=================================================================
|
||||
MYP Installation DEBUG Log - 2025-06-10 09:09:30
|
||||
MYP Installation DEBUG Log - 2025-06-10 09:33:12
|
||||
=================================================================
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:697
|
||||
Debian erkannt über /etc/debian_version: 12.11
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:765
|
||||
Kein Raspberry Pi erkannt. Hardware-Info:
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:766
|
||||
- Device Tree: nicht verfügbar
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:767
|
||||
- CPU Hardware: nicht verfügbar
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:807
|
||||
Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:863
|
||||
DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup.
|
||||
---
|
||||
|
||||
[2025-06-10 09:09:36] DEBUG von setup.sh:964
|
||||
Externe IP ermittelt über ifconfig.me: 163.116.178.113
|
||||
---
|
||||
|
||||
[2025-06-10 09:11:22] DEBUG von setup.sh:1228
|
||||
flask erfolgreich importiert
|
||||
---
|
||||
|
||||
[2025-06-10 09:11:23] DEBUG von setup.sh:1228
|
||||
requests erfolgreich importiert
|
||||
---
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
=================================================================
|
||||
MYP Installation FEHLER Log - 2025-06-10 09:09:30
|
||||
MYP Installation FEHLER Log - 2025-06-10 09:33:12
|
||||
=================================================================
|
||||
|
||||
|
@ -1,170 +1,22 @@
|
||||
=================================================================
|
||||
MYP Installation Log - 2025-06-10 09:09:30
|
||||
MYP Installation Log - 2025-06-10 09:33:12
|
||||
Script Version: 5.0.0
|
||||
System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux
|
||||
Arbeitsverzeichnis: /mnt
|
||||
Log-Verzeichnis: /mnt/logs
|
||||
=================================================================
|
||||
|
||||
[0;32m[2025-06-10 09:09:30] === MYP VOLLAUTOMATISCHES SETUP GESTARTET ===[0m
|
||||
[0;32m[2025-06-10 09:09:30] Version: 5.0.0[0m
|
||||
[0;32m[2025-06-10 09:09:30] Arbeitsverzeichnis: /mnt[0m
|
||||
[0;32m[2025-06-10 09:09:30] ✅ Root-Berechtigung bestätigt[0m
|
||||
[0;32m[2025-06-10 09:09:30] === VALIDIERE CREDENTIALS KONFIGURATION ===[0m
|
||||
[0;32m[2025-06-10 09:33:12] === MYP VOLLAUTOMATISCHES SETUP GESTARTET ===[0m
|
||||
[0;32m[2025-06-10 09:33:12] Version: 5.0.0[0m
|
||||
[0;32m[2025-06-10 09:33:12] Arbeitsverzeichnis: /mnt[0m
|
||||
[0;32m[2025-06-10 09:33:12] ✅ Root-Berechtigung bestätigt[0m
|
||||
[0;32m[2025-06-10 09:33:12] === VALIDIERE CREDENTIALS KONFIGURATION ===[0m
|
||||
[0;36m[ERFOLG] ✅ Alle Credentials korrekt konfiguriert[0m
|
||||
[0;32m[2025-06-10 09:09:30] 🔑 SECRET_KEY: 74456301... (44 Zeichen)[0m
|
||||
[0;32m[2025-06-10 09:09:30] 🔒 MAIN_PASSWORD: 7445... (13 Zeichen)[0m
|
||||
[0;32m[2025-06-10 09:09:30] 📧 ADMIN_EMAIL: admin@mercedes-benz.com[0m
|
||||
[0;32m[2025-06-10 09:09:30] 📧 TAPO_EMAIL: till.tomczak@mercedes-benz.com[0m
|
||||
[0;32m[2025-06-10 09:09:30] 🐙 GITHUB_CLIENT_ID: 7c5d8bef...[0m
|
||||
[0;32m[2025-06-10 09:09:30] === AUTOMATISCHE INSTALLATIONSMODUS-ERKENNUNG ===[0m
|
||||
[0;32m[2025-06-10 09:09:30] 🔍 Viel RAM ( MB) erkannt (+1 Punkt für Entwicklung)[0m
|
||||
[0;32m[2025-06-10 09:09:30] 🔍 Kein Desktop-Environment erkannt (+1 Punkt für Produktion)[0m
|
||||
[0;32m[2025-06-10 09:09:31] 📊 Bewertung: Produktion=1, Entwicklung=1[0m
|
||||
[0;32m[2025-06-10 09:09:31] ⚖️ Unentschieden - Standard: ENTWICKLUNGS-INSTALLATION[0m
|
||||
[0;32m[2025-06-10 09:09:31] → Verwenden Sie --production für Kiosk-Installation[0m
|
||||
[0;32m[2025-06-10 09:09:36] 🔧 Starte ENTWICKLUNGS-INSTALLATION...[0m
|
||||
[0;32m[2025-06-10 09:09:36] === AUTOMATISCHE ENTWICKLUNGS-INSTALLATION ===[0m
|
||||
[0;32m[2025-06-10 09:09:36] === SYSTEM-RESSOURCEN PRÜFUNG ===[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe RAM...[0m
|
||||
[0;35m[FORTSCHRITT] Verfügbarer RAM: 3914MB[0m
|
||||
[0;36m[ERFOLG] ✅ Ausreichend RAM verfügbar (3914MB)[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Festplattenplatz...[0m
|
||||
[0;35m[FORTSCHRITT] Verfügbarer Festplattenplatz: 12,0GB (12293MB)[0m
|
||||
[0;36m[ERFOLG] ✅ Ausreichend Festplattenplatz verfügbar (12,0GB)[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe CPU...[0m
|
||||
[0;35m[FORTSCHRITT] CPU: 4 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz[0m
|
||||
[0;36m[ERFOLG] ✅ CPU-Information erfolgreich ermittelt[0m
|
||||
[0;32m[2025-06-10 09:09:36] ✅ System-Ressourcen-Prüfung abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Debian/Raspbian-System...[0m
|
||||
[0;34m[DEBUG] Debian erkannt über /etc/debian_version: 12.11[0m
|
||||
[0;32m[2025-06-10 09:09:36] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Raspberry Pi Hardware...[0m
|
||||
[0;34m[INFO] 💻 Standard-PC/Server System (kein Raspberry Pi)[0m
|
||||
[0;34m[DEBUG] Kein Raspberry Pi erkannt. Hardware-Info:[0m
|
||||
[0;34m[DEBUG] - Device Tree: nicht verfügbar[0m
|
||||
[0;34m[DEBUG] - CPU Hardware: nicht verfügbar[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe System-Architektur...[0m
|
||||
[0;34m[INFO] 📐 System-Architektur: x86_64[0m
|
||||
[0;34m[INFO] → 64-Bit x86 Architektur erkannt[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Kernel-Version...[0m
|
||||
[0;34m[INFO] 🐧 Kernel-Version: 6.1.0-37-amd64[0m
|
||||
[0;34m[DEBUG] Vollständige Kernel-Info: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1 (2025-05-22) x86_64 GNU/Linux[0m
|
||||
[0;32m[2025-06-10 09:09:36] ✅ System-Analyse abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Prüfe Internetverbindung (erweiterte Methoden)...[0m
|
||||
[0;35m[FORTSCHRITT] Teste DNS-Auflösung...[0m
|
||||
[0;34m[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. [0m
|
||||
[0;36m[ERFOLG] ✅ Internetverbindung verfügbar[0m
|
||||
[0;34m[INFO] 🔍 Erkannt via: DNS-Auflösung (nslookup: 8.8.8.8)[0m
|
||||
[0;35m[FORTSCHRITT] Ermittle externe IP-Adresse...[0m
|
||||
[0;34m[INFO] 🌐 Externe IP: 163.116.178.113[0m
|
||||
[0;34m[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.178.113[0m
|
||||
[0;32m[2025-06-10 09:09:36] === KONFIGURIERE HOSTNAME ===[0m
|
||||
[0;32m[2025-06-10 09:09:36] ✅ Hostname bereits korrekt: 'raspberrypi'[0m
|
||||
[0;32m[2025-06-10 09:09:36] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1[0m
|
||||
[0;32m[2025-06-10 09:09:36] === ANTI-HÄNGE SYSTEM-UPDATE MIT TIMEOUTS ===[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere APT für bessere Zuverlässigkeit (timeout-gesichert)...[0m
|
||||
[0;35m[FORTSCHRITT] Validiere APT-Repositories (timeout-gesichert)...[0m
|
||||
[0;35m[FORTSCHRITT] Bereinige APT-Lock-Dateien...[0m
|
||||
[0;35m[FORTSCHRITT] Aktualisiere Paketlisten (max 60s timeout)...[0m
|
||||
[0;36m[ERFOLG] ✅ APT Update erfolgreich[0m
|
||||
[0;35m[FORTSCHRITT] Führe System-Upgrade durch (max 120s timeout)...[0m
|
||||
[0;36m[ERFOLG] ✅ System Upgrade erfolgreich[0m
|
||||
[0;35m[FORTSCHRITT] Installiere essenzielle System-Tools...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: ca-certificates[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: gnupg[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: curl[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: wget[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: git[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: nano[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: htop[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: rsync[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: unzip[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: sudo[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: systemd[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: lsb-release[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: apt-transport-https[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: software-properties-common[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: bc[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: dbus[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: systemd-timesyncd[0m
|
||||
[0;35m[FORTSCHRITT] Synchronisiere Systemzeit...[0m
|
||||
[0;32m[2025-06-10 09:09:43] ✅ Robustes System-Update abgeschlossen[0m
|
||||
[0;32m[2025-06-10 09:09:43] === SIMPLE NETZWERK-SICHERHEIT (ANTI-HÄNGE VERSION) ===[0m
|
||||
[0;34m[INFO] 🚀 Netzwerk-Sicherheit übersprungen für schnellere Installation[0m
|
||||
[0;34m[INFO] 📝 Kann später manuell aktiviert werden mit: SKIP_NETWORK_SECURITY=0[0m
|
||||
[0;32m[2025-06-10 09:09:43] === ROBUSTE PYTHON-INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Python 3 und Build-Abhängigkeiten...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-pip[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-setuptools[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-venv[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: python3-wheel[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: build-essential[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libssl-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libffi-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libbz2-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libreadline-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libsqlite3-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libncurses5-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: libncursesw5-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: zlib1g-dev[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: sqlite3[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Python-Installation...[0m
|
||||
[0;32m[2025-06-10 09:09:48] ✅ Python Version: 3.11.2[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere pip für bessere Zuverlässigkeit...[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle systemweite pip-Konfiguration...[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere pip für alle Benutzer...[0m
|
||||
[0;32m[2025-06-10 09:09:48] ✅ pip konfiguriert für Benutzer: user[0m
|
||||
[0;35m[FORTSCHRITT] Aktualisiere pip mit Retry...[0m
|
||||
[0;32m[2025-06-10 09:09:53] ✅ pip Version: 25.1.1[0m
|
||||
[0;32m[2025-06-10 09:09:53] ✅ Robuste Python-Umgebung installiert[0m
|
||||
[0;32m[2025-06-10 09:09:53] === ROBUSTE NODE.JS UND NPM INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Bereinige alte Node.js-Installationen...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Node.js mit Fallback-Strategie...[0m
|
||||
[0;35m[FORTSCHRITT] Verwende Debian Repository als Fallback...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Pakete: nodejs npm[0m
|
||||
[0;32m[2025-06-10 09:11:18] ✅ Node.js via Debian Repository installiert[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Node.js Installation...[0m
|
||||
[0;32m[2025-06-10 09:11:18] ✅ Node.js Version: v18.19.0[0m
|
||||
[0;32m[2025-06-10 09:11:19] ✅ npm Version: 9.2.0[0m
|
||||
[0;35m[FORTSCHRITT] Optimiere npm-Konfiguration...[0m
|
||||
[0;32m[2025-06-10 09:11:20] ✅ Node.js und npm erfolgreich installiert[0m
|
||||
[0;32m[2025-06-10 09:11:20] === ANTI-HÄNGE SSL-ZERTIFIKATE KONFIGURATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere SSL-Grundkomponenten (timeout-gesichert)...[0m
|
||||
[0;36m[ERFOLG] ✅ SSL-Grundkomponenten installiert[0m
|
||||
[0;35m[FORTSCHRITT] Überspringe CA-Update um Hänger zu vermeiden...[0m
|
||||
[0;34m[INFO] 💡 CA-Zertifikate werden beim nächsten Boot automatisch aktualisiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Mercedes-Zertifikate (max 30s)...[0m
|
||||
[0;34m[INFO] Mercedes-Zertifikate werden beim nächsten Boot aktiv[0m
|
||||
[0;35m[FORTSCHRITT] Konfiguriere SSL-Umgebungsvariablen (schnell)...[0m
|
||||
[0;32m[2025-06-10 09:11:21] ✅ SSL-Zertifikate anti-hänge konfiguriert[0m
|
||||
[0;34m[INFO] 📝 CA-Updates werden automatisch beim nächsten Boot durchgeführt[0m
|
||||
[0;32m[2025-06-10 09:11:21] === PYTHON-PAKETE INSTALLATION ===[0m
|
||||
[0;35m[FORTSCHRITT] Installiere Python-Pakete...[0m
|
||||
[0;35m[FORTSCHRITT] Installiere requirements.txt...[0m
|
||||
[0;36m[ERFOLG] ✅ requirements.txt erfolgreich installiert[0m
|
||||
[0;35m[FORTSCHRITT] Validiere essenzielle Python-Module...[0m
|
||||
[0;34m[DEBUG] flask erfolgreich importiert[0m
|
||||
[0;34m[DEBUG] requests erfolgreich importiert[0m
|
||||
[0;36m[ERFOLG] ✅ Essenzielle Python-Module verfügbar[0m
|
||||
[0;32m[2025-06-10 09:11:23] ✅ Python-Pakete Installation abgeschlossen[0m
|
||||
[0;35m[FORTSCHRITT] Zeige installierte Python-Pakete...[0m
|
||||
[0;32m[2025-06-10 09:11:23] === ROBUSTES ANWENDUNGS-DEPLOYMENT ===[0m
|
||||
[0;35m[FORTSCHRITT] Erstelle sicheres Zielverzeichnis: /opt/myp[0m
|
||||
[0;35m[FORTSCHRITT] Validiere Source-Dateien...[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Anwendungsdateien (robust)...[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: app.py[0m
|
||||
[0;36m[ERFOLG] ✅ app.py erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: models.py[0m
|
||||
[0;36m[ERFOLG] ✅ models.py erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere kritische Datei: requirements.txt[0m
|
||||
[0;36m[ERFOLG] ✅ requirements.txt erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: blueprints[0m
|
||||
[0;36m[ERFOLG] ✅ blueprints erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: config[0m
|
||||
[0;36m[ERFOLG] ✅ config erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: database[0m
|
||||
[0;36m[ERFOLG] ✅ database erfolgreich kopiert[0m
|
||||
[0;35m[FORTSCHRITT] Kopiere Verzeichnis: static[0m
|
||||
[0;32m[2025-06-10 09:33:12] 🔑 SECRET_KEY: 74456301... (44 Zeichen)[0m
|
||||
[0;32m[2025-06-10 09:33:12] 🔒 MAIN_PASSWORD: 7445... (13 Zeichen)[0m
|
||||
[0;32m[2025-06-10 09:33:12] 📧 ADMIN_EMAIL: admin@mercedes-benz.com[0m
|
||||
[0;32m[2025-06-10 09:33:12] 📧 TAPO_EMAIL: till.tomczak@mercedes-benz.com[0m
|
||||
[0;32m[2025-06-10 09:33:12] 🐙 GITHUB_CLIENT_ID: 7c5d8bef...[0m
|
||||
[0;32m[2025-06-10 09:33:12] === AUTOMATISCHE INSTALLATIONSMODUS-ERKENNUNG ===[0m
|
||||
[0;32m[2025-06-10 09:33:12] 🔍 Viel RAM ( MB) erkannt (+1 Punkt für Entwicklung)[0m
|
||||
[0;32m[2025-06-10 09:33:12] 🔍 Kein Desktop-Environment erkannt (+1 Punkt für Produktion)[0m
|
||||
|
@ -1,4 +1,4 @@
|
||||
=================================================================
|
||||
MYP Installation WARNUNGEN Log - 2025-06-10 09:09:30
|
||||
MYP Installation WARNUNGEN Log - 2025-06-10 09:33:12
|
||||
=================================================================
|
||||
|
||||
|
427
backend/setup.sh
427
backend/setup.sh
@ -29,18 +29,181 @@ AUTO_INSTALL_MODE=""
|
||||
FORCE_PRODUCTION=false
|
||||
FORCE_DEVELOPMENT=false
|
||||
|
||||
# =========================== CREDENTIALS KONFIGURATION ===========================
|
||||
# Zentrale Credentials-Verwaltung basierend auf CREDENTIALS.md
|
||||
readonly MYP_SECRET_KEY="7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F"
|
||||
readonly MYP_MAIN_PASSWORD="744563017196A"
|
||||
readonly MYP_SSH_PASSWORD="raspberry"
|
||||
readonly MYP_ADMIN_EMAIL="admin@mercedes-benz.com"
|
||||
readonly MYP_TAPO_EMAIL="till.tomczak@mercedes-benz.com"
|
||||
readonly MYP_TAPO_PASSWORD="744563017196A"
|
||||
readonly MYP_ROUTER_USER="admin"
|
||||
readonly MYP_ROUTER_PASSWORD="vT6Vsd^p"
|
||||
readonly MYP_GITHUB_CLIENT_ID="7c5d8bef1a5519ec1fdc"
|
||||
readonly MYP_GITHUB_CLIENT_SECRET="5f1e586204358fbd53cf5fb7d418b3f06ccab8fd"
|
||||
# =========================== DYNAMISCHE CREDENTIALS KONFIGURATION ===========================
|
||||
# Zentrale Credentials-Verwaltung mit dynamischen Override-Möglichkeiten
|
||||
|
||||
# Standard-Credentials (werden ggf. überschrieben)
|
||||
MYP_SECRET_KEY="7445630171969DFAC92C53CEC92E67A9CB2E00B3CB2F"
|
||||
MYP_MAIN_PASSWORD="744563017196A"
|
||||
MYP_SSH_PASSWORD="raspberry"
|
||||
MYP_ADMIN_EMAIL="admin@mercedes-benz.com"
|
||||
MYP_TAPO_EMAIL="till.tomczak@mercedes-benz.com"
|
||||
MYP_TAPO_PASSWORD="744563017196A"
|
||||
MYP_ROUTER_USER="admin"
|
||||
MYP_ROUTER_PASSWORD="vT6Vsd^p"
|
||||
MYP_GITHUB_CLIENT_ID="7c5d8bef1a5519ec1fdc"
|
||||
MYP_GITHUB_CLIENT_SECRET="5f1e586204358fbd53cf5fb7d418b3f06ccab8fd"
|
||||
|
||||
# Funktion: Dynamische Credentials laden/ändern
|
||||
load_dynamic_credentials() {
|
||||
log "🔑 LADE DYNAMISCHE CREDENTIALS..."
|
||||
|
||||
# Credentials aus Umgebungsvariablen überschreiben (falls gesetzt)
|
||||
MYP_SECRET_KEY="${MYP_SECRET_KEY_OVERRIDE:-$MYP_SECRET_KEY}"
|
||||
MYP_MAIN_PASSWORD="${MYP_MAIN_PASSWORD_OVERRIDE:-$MYP_MAIN_PASSWORD}"
|
||||
MYP_SSH_PASSWORD="${MYP_SSH_PASSWORD_OVERRIDE:-$MYP_SSH_PASSWORD}"
|
||||
MYP_ADMIN_EMAIL="${MYP_ADMIN_EMAIL_OVERRIDE:-$MYP_ADMIN_EMAIL}"
|
||||
MYP_TAPO_EMAIL="${MYP_TAPO_EMAIL_OVERRIDE:-$MYP_TAPO_EMAIL}"
|
||||
MYP_TAPO_PASSWORD="${MYP_TAPO_PASSWORD_OVERRIDE:-$MYP_TAPO_PASSWORD}"
|
||||
MYP_ROUTER_USER="${MYP_ROUTER_USER_OVERRIDE:-$MYP_ROUTER_USER}"
|
||||
MYP_ROUTER_PASSWORD="${MYP_ROUTER_PASSWORD_OVERRIDE:-$MYP_ROUTER_PASSWORD}"
|
||||
MYP_GITHUB_CLIENT_ID="${MYP_GITHUB_CLIENT_ID_OVERRIDE:-$MYP_GITHUB_CLIENT_ID}"
|
||||
MYP_GITHUB_CLIENT_SECRET="${MYP_GITHUB_CLIENT_SECRET_OVERRIDE:-$MYP_GITHUB_CLIENT_SECRET}"
|
||||
|
||||
# Credentials aus externer Datei laden (falls vorhanden)
|
||||
local credentials_file="$CURRENT_DIR/CREDENTIALS_OVERRIDE.env"
|
||||
if [ -f "$credentials_file" ]; then
|
||||
progress "Lade Credentials aus: $credentials_file"
|
||||
source "$credentials_file"
|
||||
info "✅ Externe Credentials-Datei geladen"
|
||||
fi
|
||||
|
||||
# Interaktive Credentials-Änderung (falls gewünscht)
|
||||
if [ "${INTERACTIVE_CREDENTIALS:-0}" = "1" ]; then
|
||||
interactive_credentials_setup
|
||||
fi
|
||||
|
||||
# Credentials als readonly setzen
|
||||
readonly MYP_SECRET_KEY MYP_MAIN_PASSWORD MYP_SSH_PASSWORD MYP_ADMIN_EMAIL
|
||||
readonly MYP_TAPO_EMAIL MYP_TAPO_PASSWORD MYP_ROUTER_USER MYP_ROUTER_PASSWORD
|
||||
readonly MYP_GITHUB_CLIENT_ID MYP_GITHUB_CLIENT_SECRET
|
||||
|
||||
success "✅ Dynamische Credentials geladen und fixiert"
|
||||
}
|
||||
|
||||
# Funktion: Interaktive Credentials-Einrichtung
|
||||
interactive_credentials_setup() {
|
||||
log "🔧 INTERAKTIVE CREDENTIALS-EINRICHTUNG"
|
||||
|
||||
echo ""
|
||||
echo "🔑 CREDENTIALS ANPASSEN (Enter = Standard beibehalten)"
|
||||
echo "====================================================="
|
||||
|
||||
# Secret Key
|
||||
echo -n "MYP Secret Key [${MYP_SECRET_KEY:0:8}...]: "
|
||||
read input_secret_key
|
||||
if [ -n "$input_secret_key" ]; then
|
||||
MYP_SECRET_KEY="$input_secret_key"
|
||||
fi
|
||||
|
||||
# Main Password
|
||||
echo -n "MYP Main Password [***]: "
|
||||
read -s input_main_password
|
||||
echo ""
|
||||
if [ -n "$input_main_password" ]; then
|
||||
MYP_MAIN_PASSWORD="$input_main_password"
|
||||
fi
|
||||
|
||||
# SSH Password
|
||||
echo -n "SSH Password [***]: "
|
||||
read -s input_ssh_password
|
||||
echo ""
|
||||
if [ -n "$input_ssh_password" ]; then
|
||||
MYP_SSH_PASSWORD="$input_ssh_password"
|
||||
fi
|
||||
|
||||
# Admin Email
|
||||
echo -n "Admin Email [$MYP_ADMIN_EMAIL]: "
|
||||
read input_admin_email
|
||||
if [ -n "$input_admin_email" ]; then
|
||||
MYP_ADMIN_EMAIL="$input_admin_email"
|
||||
fi
|
||||
|
||||
# TAPO Email
|
||||
echo -n "TAPO Email [$MYP_TAPO_EMAIL]: "
|
||||
read input_tapo_email
|
||||
if [ -n "$input_tapo_email" ]; then
|
||||
MYP_TAPO_EMAIL="$input_tapo_email"
|
||||
fi
|
||||
|
||||
# TAPO Password
|
||||
echo -n "TAPO Password [***]: "
|
||||
read -s input_tapo_password
|
||||
echo ""
|
||||
if [ -n "$input_tapo_password" ]; then
|
||||
MYP_TAPO_PASSWORD="$input_tapo_password"
|
||||
fi
|
||||
|
||||
# Router Credentials
|
||||
echo -n "Router User [$MYP_ROUTER_USER]: "
|
||||
read input_router_user
|
||||
if [ -n "$input_router_user" ]; then
|
||||
MYP_ROUTER_USER="$input_router_user"
|
||||
fi
|
||||
|
||||
echo -n "Router Password [***]: "
|
||||
read -s input_router_password
|
||||
echo ""
|
||||
if [ -n "$input_router_password" ]; then
|
||||
MYP_ROUTER_PASSWORD="$input_router_password"
|
||||
fi
|
||||
|
||||
# GitHub Credentials
|
||||
echo -n "GitHub Client ID [${MYP_GITHUB_CLIENT_ID:0:8}...]: "
|
||||
read input_github_id
|
||||
if [ -n "$input_github_id" ]; then
|
||||
MYP_GITHUB_CLIENT_ID="$input_github_id"
|
||||
fi
|
||||
|
||||
echo -n "GitHub Client Secret [***]: "
|
||||
read -s input_github_secret
|
||||
echo ""
|
||||
if [ -n "$input_github_secret" ]; then
|
||||
MYP_GITHUB_CLIENT_SECRET="$input_github_secret"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
info "✅ Interaktive Credentials-Einrichtung abgeschlossen"
|
||||
|
||||
# Optional: Credentials in Override-Datei speichern
|
||||
echo -n "Sollen die neuen Credentials gespeichert werden? (j/N): "
|
||||
read save_credentials
|
||||
if [[ "$save_credentials" =~ ^[jJ]$ ]]; then
|
||||
save_credentials_override
|
||||
fi
|
||||
}
|
||||
|
||||
# Funktion: Credentials in Override-Datei speichern
|
||||
save_credentials_override() {
|
||||
local override_file="$CURRENT_DIR/CREDENTIALS_OVERRIDE.env"
|
||||
|
||||
progress "Speichere Credentials-Override in: $override_file"
|
||||
cat > "$override_file" << EOF
|
||||
# MYP Credentials Override
|
||||
# Diese Datei überschreibt die Standard-Credentials
|
||||
# Generiert: $(date '+%Y-%m-%d %H:%M:%S')
|
||||
|
||||
export MYP_SECRET_KEY_OVERRIDE="$MYP_SECRET_KEY"
|
||||
export MYP_MAIN_PASSWORD_OVERRIDE="$MYP_MAIN_PASSWORD"
|
||||
export MYP_SSH_PASSWORD_OVERRIDE="$MYP_SSH_PASSWORD"
|
||||
export MYP_ADMIN_EMAIL_OVERRIDE="$MYP_ADMIN_EMAIL"
|
||||
export MYP_TAPO_EMAIL_OVERRIDE="$MYP_TAPO_EMAIL"
|
||||
export MYP_TAPO_PASSWORD_OVERRIDE="$MYP_TAPO_PASSWORD"
|
||||
export MYP_ROUTER_USER_OVERRIDE="$MYP_ROUTER_USER"
|
||||
export MYP_ROUTER_PASSWORD_OVERRIDE="$MYP_ROUTER_PASSWORD"
|
||||
export MYP_GITHUB_CLIENT_ID_OVERRIDE="$MYP_GITHUB_CLIENT_ID"
|
||||
export MYP_GITHUB_CLIENT_SECRET_OVERRIDE="$MYP_GITHUB_CLIENT_SECRET"
|
||||
|
||||
# Verwendung:
|
||||
# source CREDENTIALS_OVERRIDE.env && sudo ./setup.sh
|
||||
# oder
|
||||
# MYP_SECRET_KEY_OVERRIDE="neuer_key" sudo ./setup.sh
|
||||
EOF
|
||||
|
||||
chmod 600 "$override_file"
|
||||
success "✅ Credentials-Override gespeichert: $override_file"
|
||||
info " Verwendung: source $override_file && sudo ./setup.sh"
|
||||
}
|
||||
|
||||
# Log-Dateien - verwende relatives logs-Verzeichnis
|
||||
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || true
|
||||
@ -217,8 +380,8 @@ show_help() {
|
||||
echo -e "${CYAN}=================================================================${NC}"
|
||||
}
|
||||
|
||||
# =========================== CREDENTIALS VALIDIERUNG ===========================
|
||||
validate_credentials() {
|
||||
# =========================== UMFASSENDE CREDENTIALS VALIDIERUNG ===========================
|
||||
validate_credentials_comprehensive() {
|
||||
log "=== VALIDIERE CREDENTIALS KONFIGURATION ==="
|
||||
|
||||
local validation_errors=0
|
||||
@ -1531,87 +1694,176 @@ remove_desktop_environments() {
|
||||
log "✅ Desktop Environments vollständig entfernt"
|
||||
}
|
||||
|
||||
# =========================== VOLLSTÄNDIGE UMGEBUNGSBEREINIGUNG ===========================
|
||||
# =========================== AGGRESSIVE VOLLSTÄNDIGE UMGEBUNGSBEREINIGUNG ===========================
|
||||
complete_environment_cleanup() {
|
||||
log "🧹 VOLLSTÄNDIGE UMGEBUNGSBEREINIGUNG..."
|
||||
log "🧹 AGGRESSIVE VOLLSTÄNDIGE UMGEBUNGSBEREINIGUNG..."
|
||||
|
||||
# Alle laufenden Desktop-Services stoppen
|
||||
progress "Stoppe alle Desktop-Services..."
|
||||
systemctl stop gdm3 2>/dev/null || true
|
||||
systemctl stop lightdm 2>/dev/null || true
|
||||
systemctl stop sddm 2>/dev/null || true
|
||||
systemctl stop xdm 2>/dev/null || true
|
||||
# SCHRITT 1: Alle laufenden Desktop-Services sofort stoppen und MASKIEREN
|
||||
progress "Stoppe und maskiere ALLE Desktop-Services aggressiv..."
|
||||
local desktop_services=(
|
||||
"gdm3" "gdm" "lightdm" "sddm" "xdm" "nodm" "wdm" "kdm" "lxdm"
|
||||
"display-manager" "graphical-session.target"
|
||||
"gnome-session-manager" "kde-session" "xfce4-session" "lxsession"
|
||||
"desktop-session" "x11-session" "wayland-session"
|
||||
)
|
||||
|
||||
# Alle Desktop-Environments vollständig entfernen
|
||||
progress "Entferne alle Desktop-Environments vollständig..."
|
||||
for service in "${desktop_services[@]}"; do
|
||||
systemctl stop "$service" 2>/dev/null || true
|
||||
systemctl disable "$service" 2>/dev/null || true
|
||||
systemctl mask "$service" 2>/dev/null || true
|
||||
progress "Service $service: gestoppt, deaktiviert, MASKIERT"
|
||||
done
|
||||
|
||||
# GNOME komplett entfernen
|
||||
if dpkg -l | grep -q gnome; then
|
||||
progress "Entferne GNOME komplett..."
|
||||
apt-get remove --purge -y gnome* gdm3* ubuntu-desktop* ubuntu-session*
|
||||
apt-get remove --purge -y gnome-shell gnome-desktop* gnome-session* gnome-control-center*
|
||||
apt-get remove --purge -y nautilus gedit evince totem rhythmbox
|
||||
fi
|
||||
# SCHRITT 2: Boot-Target auf multi-user setzen (KEIN automatisches GUI)
|
||||
progress "🚫 Setze Boot-Target auf multi-user - KEIN automatisches GUI mehr!"
|
||||
systemctl set-default multi-user.target
|
||||
systemctl disable graphical.target 2>/dev/null || true
|
||||
systemctl mask graphical.target 2>/dev/null || true
|
||||
systemctl disable graphical-session.target 2>/dev/null || true
|
||||
systemctl mask graphical-session.target 2>/dev/null || true
|
||||
|
||||
# KDE komplett entfernen
|
||||
if dpkg -l | grep -q kde; then
|
||||
progress "Entferne KDE komplett..."
|
||||
apt-get remove --purge -y kde* plasma* kubuntu-desktop*
|
||||
fi
|
||||
warning "⚠️ WICHTIG: Kein Desktop-Environment startet mehr automatisch nach Reboot!"
|
||||
|
||||
# XFCE komplett entfernen
|
||||
if dpkg -l | grep -q xfce; then
|
||||
progress "Entferne XFCE komplett..."
|
||||
apt-get remove --purge -y xfce4* xubuntu-desktop*
|
||||
fi
|
||||
# SCHRITT 3: Alle Desktop-Prozesse brutal beenden
|
||||
progress "💀 Beende alle laufenden Desktop-Prozesse brutal..."
|
||||
local desktop_processes=(
|
||||
"gnome-session" "kde-session" "xfce4-session" "lxsession" "mate-session"
|
||||
"cinnamon-session" "unity" "compiz" "metacity" "kwin" "mutter"
|
||||
"X :0" "Xorg" "xfce4-panel" "gnome-panel" "kde-panel" "lxpanel"
|
||||
"nautilus" "dolphin" "thunar" "pcmanfm" "caja"
|
||||
)
|
||||
|
||||
# LXDE/LXQt komplett entfernen
|
||||
if dpkg -l | grep -q lxde || dpkg -l | grep -q lxqt; then
|
||||
progress "Entferne LXDE/LXQt komplett..."
|
||||
apt-get remove --purge -y lxde* lxqt* lubuntu-desktop*
|
||||
fi
|
||||
for process in "${desktop_processes[@]}"; do
|
||||
pkill -f "$process" 2>/dev/null || true
|
||||
progress "Prozess $process: beendet"
|
||||
done
|
||||
|
||||
# MATE komplett entfernen
|
||||
if dpkg -l | grep -q mate; then
|
||||
progress "Entferne MATE komplett..."
|
||||
apt-get remove --purge -y mate* ubuntu-mate-desktop*
|
||||
fi
|
||||
# SCHRITT 4: Display Manager KOMPLETT deinstallieren
|
||||
progress "🗑️ Entferne ALLE Display Manager komplett..."
|
||||
apt-get remove --purge -y \
|
||||
gdm3* gdm* lightdm* sddm* xdm* nodm* wdm* kdm* lxdm* \
|
||||
display-manager-service* slim* entrance* \
|
||||
2>/dev/null || true
|
||||
|
||||
# Cinnamon komplett entfernen
|
||||
if dpkg -l | grep -q cinnamon; then
|
||||
progress "Entferne Cinnamon komplett..."
|
||||
apt-get remove --purge -y cinnamon*
|
||||
fi
|
||||
# SCHRITT 5: Desktop-Environments AGGRESSIV entfernen
|
||||
progress "🔥 Entferne ALLE Desktop-Environments AGGRESSIV..."
|
||||
|
||||
# Alte Python-Installationen bereinigen
|
||||
progress "Bereinige alte Python-Installationen..."
|
||||
# GNOME - komplett vernichten
|
||||
progress "Vernichte GNOME komplett..."
|
||||
apt-get remove --purge -y \
|
||||
gnome* gdm3* ubuntu-desktop* ubuntu-session* \
|
||||
gnome-shell* gnome-desktop* gnome-session* gnome-control-center* \
|
||||
nautilus* gedit* evince* totem* rhythmbox* \
|
||||
gnome-calculator* gnome-calendar* gnome-contacts* \
|
||||
2>/dev/null || true
|
||||
|
||||
# KDE - komplett vernichten
|
||||
progress "Vernichte KDE komplett..."
|
||||
apt-get remove --purge -y \
|
||||
kde* plasma* kubuntu-desktop* kdebase* kdelibs* \
|
||||
dolphin* konqueror* kate* okular* \
|
||||
2>/dev/null || true
|
||||
|
||||
# XFCE - komplett vernichten
|
||||
progress "Vernichte XFCE komplett..."
|
||||
apt-get remove --purge -y \
|
||||
xfce4* xubuntu-desktop* thunar* xfce4-panel* \
|
||||
xfce4-terminal* xfce4-appfinder* \
|
||||
2>/dev/null || true
|
||||
|
||||
# LXDE/LXQt - komplett vernichten
|
||||
progress "Vernichte LXDE/LXQt komplett..."
|
||||
apt-get remove --purge -y \
|
||||
lxde* lxqt* lubuntu-desktop* pcmanfm* lxpanel* \
|
||||
lxterminal* lxsession* \
|
||||
2>/dev/null || true
|
||||
|
||||
# MATE - komplett vernichten
|
||||
progress "Vernichte MATE komplett..."
|
||||
apt-get remove --purge -y \
|
||||
mate* ubuntu-mate-desktop* caja* pluma* \
|
||||
mate-panel* mate-desktop* \
|
||||
2>/dev/null || true
|
||||
|
||||
# Cinnamon - komplett vernichten
|
||||
progress "Vernichte Cinnamon komplett..."
|
||||
apt-get remove --purge -y \
|
||||
cinnamon* nemo* \
|
||||
2>/dev/null || true
|
||||
|
||||
# Unity (falls noch vorhanden)
|
||||
progress "Vernichte Unity..."
|
||||
apt-get remove --purge -y \
|
||||
unity* ubuntu-unity-desktop* \
|
||||
2>/dev/null || true
|
||||
|
||||
# SCHRITT 6: Desktop-Meta-Pakete entfernen
|
||||
progress "🗑️ Entferne Desktop-Meta-Pakete..."
|
||||
apt-get remove --purge -y \
|
||||
ubuntu-desktop* kubuntu-desktop* xubuntu-desktop* \
|
||||
lubuntu-desktop* ubuntu-mate-desktop* ubuntu-unity-desktop* \
|
||||
desktop-base* tasksel* task-desktop* \
|
||||
2>/dev/null || true
|
||||
|
||||
# SCHRITT 7: Autostart-Verzeichnisse bereinigen
|
||||
progress "🧹 Bereinige Autostart-Verzeichnisse..."
|
||||
rm -rf /etc/xdg/autostart/* 2>/dev/null || true
|
||||
rm -rf /usr/share/xsessions/* 2>/dev/null || true
|
||||
rm -rf /usr/share/wayland-sessions/* 2>/dev/null || true
|
||||
rm -rf ~/.config/autostart/* 2>/dev/null || true
|
||||
|
||||
# SCHRITT 8: Python-Installationen bereinigen
|
||||
progress "🐍 Bereinige alte Python-Installationen..."
|
||||
apt-get remove --purge -y python3-pip python3-venv python3-virtualenv
|
||||
rm -rf /usr/local/lib/python3.*/dist-packages/* 2>/dev/null || true
|
||||
rm -rf ~/.local/lib/python3.*/site-packages/* 2>/dev/null || true
|
||||
rm -rf /home/*/.local/lib/python3.*/site-packages/* 2>/dev/null || true
|
||||
|
||||
# Snap-Pakete entfernen (falls vorhanden)
|
||||
# SCHRITT 9: Snap-Pakete komplett entfernen
|
||||
if command -v snap >/dev/null 2>&1; then
|
||||
progress "Entferne Snap-Pakete..."
|
||||
snap list | awk 'NR>1 {print $1}' | xargs -r snap remove 2>/dev/null || true
|
||||
progress "📦 Entferne alle Snap-Pakete..."
|
||||
snap list 2>/dev/null | awk 'NR>1 {print $1}' | while read snapname; do
|
||||
snap remove "$snapname" --purge 2>/dev/null || true
|
||||
done
|
||||
apt-get remove --purge -y snapd 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Flatpak-Pakete entfernen (falls vorhanden)
|
||||
# SCHRITT 10: Flatpak-Pakete komplett entfernen
|
||||
if command -v flatpak >/dev/null 2>&1; then
|
||||
progress "Entferne Flatpak-Pakete..."
|
||||
progress "📦 Entferne alle Flatpak-Pakete..."
|
||||
flatpak uninstall --all -y 2>/dev/null || true
|
||||
apt-get remove --purge -y flatpak* 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# Umfassende Bereinigung
|
||||
# SCHRITT 11: AGGRESSIVE Bereinigung
|
||||
progress "🧽 Führe aggressive System-Bereinigung durch..."
|
||||
apt-get autoremove --purge -y
|
||||
apt-get autoclean
|
||||
apt-get clean
|
||||
|
||||
# Cache-Verzeichnisse bereinigen
|
||||
# Alle Caches leeren
|
||||
rm -rf /var/cache/apt/archives/*
|
||||
rm -rf /tmp/*
|
||||
rm -rf /var/tmp/*
|
||||
rm -rf /var/cache/fontconfig/*
|
||||
rm -rf /home/*/.cache/* 2>/dev/null || true
|
||||
rm -rf /root/.cache/* 2>/dev/null || true
|
||||
|
||||
success "✅ Vollständige Umgebungsbereinigung abgeschlossen"
|
||||
# SCHRITT 12: Desktop-Konfigurationen entfernen
|
||||
progress "🗑️ Entferne Desktop-Konfigurationen..."
|
||||
rm -rf /etc/gdm3/ 2>/dev/null || true
|
||||
rm -rf /etc/lightdm/ 2>/dev/null || true
|
||||
rm -rf /etc/sddm/ 2>/dev/null || true
|
||||
rm -rf /etc/xdg/ 2>/dev/null || true
|
||||
rm -rf /home/*/.config/autostart/ 2>/dev/null || true
|
||||
rm -rf /home/*/.config/xfce4/ 2>/dev/null || true
|
||||
rm -rf /home/*/.config/lxsession/ 2>/dev/null || true
|
||||
rm -rf /home/*/.gnome/ 2>/dev/null || true
|
||||
rm -rf /home/*/.kde/ 2>/dev/null || true
|
||||
|
||||
success "✅ AGGRESSIVE Umgebungsbereinigung abgeschlossen!"
|
||||
warning "⚠️ WICHTIG: Nach Reboot startet KEIN Desktop automatisch mehr!"
|
||||
warning "⚠️ Nur noch Kiosk-Modus wird automatisch gestartet!"
|
||||
}
|
||||
|
||||
# =========================== SAUBERE PYTHON-UMGEBUNG ===========================
|
||||
@ -5014,7 +5266,7 @@ main() {
|
||||
check_root
|
||||
|
||||
# Credentials validieren
|
||||
validate_credentials
|
||||
validate_credentials_comprehensive
|
||||
|
||||
# Automatische Modus-Erkennung
|
||||
detect_installation_mode "$@"
|
||||
@ -5142,6 +5394,9 @@ install_full_production_system_auto() {
|
||||
check_debian_system
|
||||
check_internet_connection
|
||||
|
||||
# Dynamische Credentials laden
|
||||
load_dynamic_credentials
|
||||
|
||||
# System-Grundkonfiguration
|
||||
configure_hostname
|
||||
|
||||
@ -5237,7 +5492,43 @@ install_full_production_system_auto() {
|
||||
cleanup_old_files
|
||||
|
||||
success "✅ Produktions-Installation abgeschlossen!"
|
||||
warning "🔄 NEUSTART ERFORDERLICH für vollständige Kiosk-Aktivierung!"
|
||||
warning "🔄 AUTOMATISCHER NEUSTART in 10 Sekunden für vollständige Kiosk-Aktivierung!"
|
||||
|
||||
# FINALE PHASE: AUTOMATISCHER NEUSTART
|
||||
log "🔄 FINALE PHASE: AUTOMATISCHER NEUSTART"
|
||||
|
||||
# Zusammenfassung der Installation
|
||||
log ""
|
||||
log "📋 INSTALLATIONS-ZUSAMMENFASSUNG:"
|
||||
log " ✅ Vollständige Umgebungsbereinigung durchgeführt"
|
||||
log " ✅ Python 3.11 mit --break-system-packages installiert"
|
||||
log " ✅ Minimales Desktop-Environment konfiguriert"
|
||||
log " ✅ Robuste Autologin-Konfiguration implementiert"
|
||||
log " ✅ Kiosk-Autostart mit Watchdog aktiviert"
|
||||
log " ✅ Alle Desktop-Environments deaktiviert"
|
||||
log " ✅ Boot-Target auf multi-user gesetzt"
|
||||
log ""
|
||||
log "🎯 NACH DEM NEUSTART:"
|
||||
log " → System startet automatisch ohne Desktop"
|
||||
log " → Kiosk-User loggt sich automatisch ein (tty1)"
|
||||
log " → X11-Server startet automatisch"
|
||||
log " → Browser öffnet MYP-Anwendung im Kiosk-Modus"
|
||||
log " → Vollautomatischer Betrieb ohne Benutzerinteraktion"
|
||||
log ""
|
||||
|
||||
# Countdown für automatischen Reboot
|
||||
progress "Starte automatischen Neustart in 10 Sekunden..."
|
||||
for i in {10..1}; do
|
||||
echo -ne "\r🔄 Neustart in $i Sekunden... (Ctrl+C zum Abbrechen)"
|
||||
sleep 1
|
||||
done
|
||||
echo ""
|
||||
|
||||
log "🚀 STARTE NEUSTART FÜR KIOSK-AKTIVIERUNG..."
|
||||
sync
|
||||
|
||||
# Automatischer Neustart
|
||||
reboot
|
||||
}
|
||||
|
||||
show_final_summary() {
|
||||
|
Reference in New Issue
Block a user