🎉 Improved IHK Project Documentation and Logs for smoother installation process 🎨

This commit is contained in:
Till Tomczak 2025-06-03 22:26:24 +02:00
parent d92f4e0cc4
commit db593d0b82
5 changed files with 118 additions and 63 deletions

View File

@ -1,56 +1,56 @@
=================================================================
MYP Installation DEBUG Log - 2025-06-03 22:16:33
MYP Installation DEBUG Log - 2025-06-03 22:24:29
=================================================================
[2025-06-03 22:16:33] DEBUG von setup.sh:451
[2025-06-03 22:24:29] DEBUG von setup.sh:465
Debian erkannt über /etc/debian_version: 12.11
---
[2025-06-03 22:16:33] DEBUG von setup.sh:519
[2025-06-03 22:24:29] DEBUG von setup.sh:533
Kein Raspberry Pi erkannt. Hardware-Info:
---
[2025-06-03 22:16:33] DEBUG von setup.sh:520
[2025-06-03 22:24:29] DEBUG von setup.sh:534
- Device Tree: nicht verfügbar
---
[2025-06-03 22:16:33] DEBUG von setup.sh:521
[2025-06-03 22:24:29] DEBUG von setup.sh:535
- CPU Hardware: nicht verfügbar
---
[2025-06-03 22:16:33] DEBUG von setup.sh:561
[2025-06-03 22:24:29] DEBUG von setup.sh:575
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-03 22:16:33] DEBUG von setup.sh:617
[2025-06-03 22:24:29] DEBUG von setup.sh:631
DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup.
---
[2025-06-03 22:16:34] DEBUG von setup.sh:718
[2025-06-03 22:24:30] DEBUG von setup.sh:732
Externe IP ermittelt über ifconfig.me: 163.116.179.142
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1134
[2025-06-03 22:24:40] DEBUG von setup.sh:1148
sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1190
[2025-06-03 22:24:40] DEBUG von setup.sh:1204
Sysctl-Phase abgeschlossen - fahre mit Installation fort
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1216
[2025-06-03 22:24:40] DEBUG von setup.sh:1230
systemd-networkd nicht aktiv - überspringe
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1242
[2025-06-03 22:24:40] DEBUG von setup.sh:1256
NetworkManager nicht aktiv - überspringe
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1248
[2025-06-03 22:24:40] DEBUG von setup.sh:1262
IPv6 Einträge in /etc/hosts auskommentiert
---
[2025-06-03 22:16:44] DEBUG von setup.sh:1265
[2025-06-03 22:24:40] DEBUG von setup.sh:1279
Netzwerk-Sicherheit ohne Blockierung abgeschlossen
---

View File

@ -1,4 +1,4 @@
=================================================================
MYP Installation FEHLER Log - 2025-06-03 22:16:33
MYP Installation FEHLER Log - 2025-06-03 22:24:29
=================================================================

View File

@ -1,4 +1,4 @@
=================================================================
MYP Installation WARNUNGEN Log - 2025-06-03 22:16:33
MYP Installation WARNUNGEN Log - 2025-06-03 22:24:29
=================================================================

View File

@ -1,25 +1,25 @@
=================================================================
MYP Installation Log - 2025-06-03 22:16:33
MYP Installation Log - 2025-06-03 22:24:29
Script Version: 4.1.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
=================================================================
[2025-06-03 22:16:33] === MODUS: VOLLSTÄNDIGE ROBUSTE KIOSK-INSTALLATION MIT REMOTE-ZUGANG ===
[2025-06-03 22:16:33] ✅ Root-Berechtigung bestätigt
[2025-06-03 22:16:33] === SYSTEM-RESSOURCEN PRÜFUNG ===
[2025-06-03 22:24:29] === MODUS: VOLLSTÄNDIGE ROBUSTE KIOSK-INSTALLATION MIT REMOTE-ZUGANG ===
[2025-06-03 22:24:29] ✅ Root-Berechtigung bestätigt
[2025-06-03 22:24:29] === SYSTEM-RESSOURCEN PRÜFUNG ===
[FORTSCHRITT] Prüfe RAM...
[FORTSCHRITT] Verfügbarer RAM: 15614MB
[ERFOLG] ✅ Ausreichend RAM verfügbar (15614MB)
[FORTSCHRITT] Prüfe Festplattenplatz...
[FORTSCHRITT] Verfügbarer Festplattenplatz: 12,0GB (12332MB)
[ERFOLG] ✅ Ausreichend Festplattenplatz verfügbar (12,0GB)
[FORTSCHRITT] Verfügbarer Festplattenplatz: 12,3GB (12584MB)
[ERFOLG] ✅ Ausreichend Festplattenplatz verfügbar (12,3GB)
[FORTSCHRITT] Prüfe CPU...
[FORTSCHRITT] CPU: 6 Kern(e) - 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
[ERFOLG] ✅ CPU-Information erfolgreich ermittelt
[2025-06-03 22:16:33] ✅ System-Ressourcen-Prüfung abgeschlossen
[2025-06-03 22:24:29] ✅ System-Ressourcen-Prüfung abgeschlossen
[FORTSCHRITT] Prüfe Debian/Raspbian-System...
[DEBUG] Debian erkannt über /etc/debian_version: 12.11
[2025-06-03 22:16:33] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)
[2025-06-03 22:24:29] ✅ Debian/Raspbian-basiertes System erkannt (Version: 12.11)
[FORTSCHRITT] Prüfe Raspberry Pi Hardware...
[INFO] 💻 Standard-PC/Server System (kein Raspberry Pi)
[DEBUG] Kein Raspberry Pi erkannt. Hardware-Info:
@ -31,7 +31,7 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Prüfe Kernel-Version...
[INFO] 🐧 Kernel-Version: 6.1.0-37-amd64
[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
[2025-06-03 22:16:33] ✅ System-Analyse abgeschlossen
[2025-06-03 22:24:29] ✅ System-Analyse abgeschlossen
[FORTSCHRITT] Prüfe Internetverbindung (erweiterte Methoden)...
[FORTSCHRITT] Teste DNS-Auflösung...
[DEBUG] DNS-Test Details: Teste DNS für 8.8.8.8: Erfolg mit nslookup. 
@ -40,11 +40,11 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[FORTSCHRITT] Ermittle externe IP-Adresse...
[INFO] 🌐 Externe IP: 163.116.179.142
[DEBUG] Externe IP ermittelt über ifconfig.me: 163.116.179.142
[2025-06-03 22:16:34] === KONFIGURIERE HOSTNAME ===
[2025-06-03 22:16:34] ✅ Hostname bereits korrekt: 'raspberrypi'
[2025-06-03 22:16:44] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1
[2025-06-03 22:24:30] === KONFIGURIERE HOSTNAME ===
[2025-06-03 22:24:30] ✅ Hostname bereits korrekt: 'raspberrypi'
[2025-06-03 22:24:40] ✅ Hostname-Auflösung funktioniert: raspberrypi -> 127.0.1.1
[INFO] Anwendung bereits deployed - überspringe Basis-Installation
[2025-06-03 22:16:44] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT ===
[2025-06-03 22:24:40] === KONFIGURIERE OPTIONALE NETZWERK-SICHERHEIT ===
[FORTSCHRITT] Deaktiviere IPv6 (robust)...
[FORTSCHRITT] Deaktiviere IPv6 in GRUB...
[INFO] IPv6 bereits in GRUB deaktiviert
@ -58,42 +58,37 @@ System: Linux raspberrypi 6.1.0-37-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.140-1
[DEBUG] systemd-networkd nicht aktiv - überspringe
[DEBUG] NetworkManager nicht aktiv - überspringe
[DEBUG] IPv6 Einträge in /etc/hosts auskommentiert
[2025-06-03 22:16:44] ✅ Optionale Netzwerk-Sicherheit konfiguriert:
[2025-06-03 22:16:44] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
[2025-06-03 22:16:44] ⚙️ Einstellungen werden beim nächsten Boot aktiv
[2025-06-03 22:16:44] 🔧 Netzwerk-Konfiguration vorbereitet
[2025-06-03 22:24:40] ✅ Optionale Netzwerk-Sicherheit konfiguriert:
[2025-06-03 22:24:40] 📝 Sysctl-Konfiguration erstellt: /etc/sysctl.d/99-myp-security.conf
[2025-06-03 22:24:40] ⚙️ Einstellungen werden beim nächsten Boot aktiv
[2025-06-03 22:24:40] 🔧 Netzwerk-Konfiguration vorbereitet
[INFO] 💡 Tipp: Netzwerk-Sicherheit kann manuell aktiviert werden:
[INFO] → sudo sysctl -p /etc/sysctl.d/99-myp-security.conf
[INFO] → Oder automatisch beim nächsten Neustart
[DEBUG] Netzwerk-Sicherheit ohne Blockierung abgeschlossen
[2025-06-03 22:16:44] === ENTFERNE DESKTOP ENVIRONMENTS FÜR KIOSK-MODUS ===
[2025-06-03 22:24:40] === ENTFERNE DESKTOP ENVIRONMENTS FÜR KIOSK-MODUS ===
[FORTSCHRITT] Stoppe alle Desktop-Services...
[FORTSCHRITT] Entferne Desktop-Pakete vollständig...
[2025-06-03 22:17:13] ✅ Desktop Environments vollständig entfernt
[2025-06-03 22:17:13] === INSTALLIERE MINIMALE X11-UMGEBUNG FÜR KIOSK ===
[2025-06-03 22:24:42] ✅ Desktop Environments vollständig entfernt
[2025-06-03 22:24:42] === INSTALLIERE MINIMALE X11-UMGEBUNG FÜR KIOSK ===
[FORTSCHRITT] Installiere minimale X11-Pakete...
[FORTSCHRITT] Installiere Browser für Kiosk-Modus...
[2025-06-03 22:17:45] ✅ Chromium erfolgreich installiert
[2025-06-03 22:17:45] ✅ Minimale X11-Umgebung installiert
[2025-06-03 22:17:45] === WEBAPP PERFORMANCE-OPTIMIERUNG FÜR RASPBERRY PI ===
[2025-06-03 22:24:43] ✅ Chromium erfolgreich installiert
[2025-06-03 22:24:43] ✅ Minimale X11-Umgebung installiert
[2025-06-03 22:24:43] === WEBAPP PERFORMANCE-OPTIMIERUNG FÜR RASPBERRY PI ===
[FORTSCHRITT] Konfiguriere Python-Performance-Optimierungen...
[FORTSCHRITT] Optimiere Systemd-Services für bessere Performance...
[2025-06-03 22:17:46] ✅ Service deaktiviert: bluetooth.service
[2025-06-03 22:17:46] ✅ Service deaktiviert: avahi-daemon.service
[2025-06-03 22:17:46] ✅ Service deaktiviert: cups.service
[2025-06-03 22:17:47] ✅ Service deaktiviert: cups-browsed.service
[2025-06-03 22:17:47] ✅ Service deaktiviert: wpa_supplicant.service
[FORTSCHRITT] Konfiguriere tmpfs für bessere I/O Performance...
[FORTSCHRITT] Optimiere systemd Journal für bessere Performance...
[FORTSCHRITT] Installiere automatische Cache-Bereinigung...
[FORTSCHRITT] Konfiguriere System-Limits...
[FORTSCHRITT] Entferne konfliktbehaftete Webserver...
[2025-06-03 22:17:47] ✅ Webapp Performance-Optimierung abgeschlossen:
[2025-06-03 22:17:47] 🚀 Python Bytecode-Optimierung aktiviert
[2025-06-03 22:17:47] 💾 tmpfs für temporäre Dateien konfiguriert
[2025-06-03 22:17:47] 📝 Journal-Logging optimiert
[2025-06-03 22:17:47] 🧹 Automatische Cache-Bereinigung installiert
[2025-06-03 22:17:47] ⚡ Unnötige Services deaktiviert
[2025-06-03 22:17:47] 📊 System-Limits für bessere Performance gesetzt
[2025-06-03 22:17:47] === STATISCHE DATEIEN OPTIMIERUNG ===
[2025-06-03 22:24:43] ✅ Webapp Performance-Optimierung abgeschlossen:
[2025-06-03 22:24:43] 🚀 Python Bytecode-Optimierung aktiviert
[2025-06-03 22:24:43] 💾 tmpfs für temporäre Dateien konfiguriert
[2025-06-03 22:24:43] 📝 Journal-Logging optimiert
[2025-06-03 22:24:43] 🧹 Automatische Cache-Bereinigung installiert
[2025-06-03 22:24:43] ⚡ Unnötige Services deaktiviert
[2025-06-03 22:24:43] 📊 System-Limits für bessere Performance gesetzt
[2025-06-03 22:24:43] === STATISCHE DATEIEN OPTIMIERUNG ===
[FORTSCHRITT] Analysiere und optimiere CSS/JS Dateien...

View File

@ -24,10 +24,11 @@ readonly WATCHDOG_PYTHON_SERVICE_NAME="kiosk-watchdog-python"
readonly FIREWALL_SERVICE_NAME="myp-firewall"
readonly KIOSK_USER="kiosk"
readonly CURRENT_DIR="$(pwd)"
readonly INSTALL_LOG="logs/myp-install.log"
readonly ERROR_LOG="logs/myp-install-errors.log"
readonly WARNING_LOG="logs/myp-install-warnings.log"
readonly DEBUG_LOG="logs/myp-install-debug.log"
# Log-Dateien (nicht readonly, damit wir Fallback nutzen können)
INSTALL_LOG="logs/myp-install.log"
ERROR_LOG="logs/myp-install-errors.log"
WARNING_LOG="logs/myp-install-warnings.log"
DEBUG_LOG="logs/myp-install-debug.log"
readonly HTTPS_PORT="443"
readonly HTTPS_URL="https://localhost:${HTTPS_PORT}"
readonly SYSTEMD_DIR="$CURRENT_DIR/systemd"
@ -53,8 +54,35 @@ WARNING_COUNT=0
# Log-Dateien initialisieren
init_logging() {
# Erstelle logs-Verzeichnis falls nötig
mkdir -p "logs" 2>/dev/null || true
# Versuche logs-Verzeichnis in verschiedenen Locations zu erstellen
local log_dir_created=false
# Versuch 1: Im aktuellen Arbeitsverzeichnis
if mkdir -p "logs" 2>/dev/null; then
log_dir_created=true
fi
# Versuch 2: Im CURRENT_DIR (falls gesetzt und verschieden)
if [ "$log_dir_created" = false ] && [ -n "$CURRENT_DIR" ] && [ "$CURRENT_DIR" != "$(pwd)" ]; then
if mkdir -p "$CURRENT_DIR/logs" 2>/dev/null; then
log_dir_created=true
# Aktualisiere Pfade
INSTALL_LOG="$CURRENT_DIR/logs/myp-install.log"
ERROR_LOG="$CURRENT_DIR/logs/myp-install-errors.log"
WARNING_LOG="$CURRENT_DIR/logs/myp-install-warnings.log"
DEBUG_LOG="$CURRENT_DIR/logs/myp-install-debug.log"
fi
fi
# Versuch 3: Fallback auf /tmp
if [ "$log_dir_created" = false ] || [ ! -w "logs" -a ! -w "$CURRENT_DIR/logs" ]; then
# Fallback auf /tmp wenn logs nicht schreibbar
export INSTALL_LOG="/tmp/myp-install.log"
export ERROR_LOG="/tmp/myp-install-errors.log"
export WARNING_LOG="/tmp/myp-install-warnings.log"
export DEBUG_LOG="/tmp/myp-install-debug.log"
echo "WARNUNG: logs-Verzeichnis nicht erstellbar, verwende /tmp" >&2
fi
# Initialisiere alle Log-Dateien
{
@ -2445,6 +2473,9 @@ show_menu() {
# =========================== INSTALLATIONS-MODI ===========================
install_dependencies_only() {
# Erstelle logs-Verzeichnis SOFORT
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || mkdir -p "logs" 2>/dev/null || true
# Logging initialisieren
init_logging
@ -2535,6 +2566,9 @@ install_dependencies_only() {
}
install_full_production_system() {
# Erstelle logs-Verzeichnis SOFORT
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || mkdir -p "logs" 2>/dev/null || true
# Logging initialisieren
init_logging
@ -2575,7 +2609,13 @@ install_full_production_system() {
# Performance-Optimierungen für Raspberry Pi Webapp
optimize_webapp_performance
optimize_static_assets
# Static Assets nur optimieren wenn App deployed wurde
if [ -d "$APP_DIR" ] && [ -d "$APP_DIR/static" ]; then
optimize_static_assets
else
info "⏭️ Static Asset Optimierung übersprungen - App noch nicht deployed"
fi
# Remote-Zugang konfigurieren (robust)
install_remote_access
@ -3336,14 +3376,27 @@ EOF
optimize_static_assets() {
log "=== STATISCHE DATEIEN OPTIMIERUNG ==="
# Stelle sicher, dass APP_DIR existiert
if [ -z "$APP_DIR" ] || [ ! -d "$APP_DIR" ]; then
warning "⚠️ APP_DIR nicht definiert oder nicht vorhanden - überspringe Asset-Optimierung"
return
fi
if [ ! -d "$APP_DIR/static" ]; then
warning "Static-Ordner nicht gefunden - überspringe Asset-Optimierung"
warning "⚠️ Static-Ordner nicht gefunden: $APP_DIR/static - überspringe Asset-Optimierung"
return
fi
progress "Analysiere und optimiere CSS/JS Dateien..."
cd "$APP_DIR/static"
# Speichere aktuelles Verzeichnis
local original_dir=$(pwd)
# Wechsle zu static Verzeichnis
cd "$APP_DIR/static" 2>/dev/null || {
warning "⚠️ Konnte nicht zu $APP_DIR/static wechseln"
return
}
# Erstelle optimierte CSS-Datei durch Kombination kritischer Styles
progress "Erstelle optimierte CSS-Kombination..."
@ -3413,7 +3466,8 @@ EOF
fi
done
cd "$CURRENT_DIR"
# Zurück zum Original-Verzeichnis
cd "$original_dir" 2>/dev/null || cd "$CURRENT_DIR" 2>/dev/null || true
log "✅ Statische Dateien optimiert:"
log " 📦 Kritische CSS-Styles kombiniert"
@ -3424,8 +3478,14 @@ EOF
# =========================== HAUPTPROGRAMM ===========================
main() {
# Stelle sicher, dass wir im richtigen Verzeichnis sind
cd "$CURRENT_DIR" 2>/dev/null || true
# Erstelle logs-Verzeichnis im aktuellen Projektverzeichnis
mkdir -p "logs" 2>/dev/null || true
mkdir -p "$CURRENT_DIR/logs" 2>/dev/null || {
# Fallback: Erstelle logs im aktuellen Verzeichnis
mkdir -p "logs" 2>/dev/null || true
}
while true; do
show_menu