# SSD Detection Module ## Übersicht Das SSD Detection Module ist verantwortlich für die automatische Erkennung und Identifikation von USB-C SSDs im System. Es bietet robuste Hardware-Erkennung mit NTFS-Partition-Support. ## Hauptkomponenten ### `ssd-detect.sh` **Zweck**: Automatische USB-C SSD Identifikation und NTFS-Partition Erkennung **Hauptfunktionen**: - Erkennung neu angeschlossener USB-Storage-Devices - NTFS-Dateisystem Validierung - UUID-basierte Geräte-Identifikation - Hardware-Kompatibilitätsprüfung - Logging aller Erkennungsvorgänge ## Verwendung ### Grundlegende Erkennung ```bash # Automatische SSD-Erkennung ./ssd-detect.sh # Verbose-Modus mit detailliertem Output ./ssd-detect.sh --verbose # Nur NTFS-Partitionen anzeigen ./ssd-detect.sh --ntfs-only ``` ### Erweiterte Optionen ```bash # Spezifisches Device prüfen ./ssd-detect.sh --device /dev/sdb1 # JSON-Output für Automation ./ssd-detect.sh --output json # Kontinuierliche Überwachung ./ssd-detect.sh --monitor ``` ## Ausgabe-Format ### Standard-Output ``` [INFO] USB-C SSD detected: /dev/sdb1 [INFO] Filesystem: NTFS [INFO] UUID: 1234-5678-9ABC-DEF0 [INFO] Size: 500GB [INFO] Label: BACKUP_SSD [SUCCESS] Device ready for mounting ``` ### JSON-Output ```json { "device": "/dev/sdb1", "filesystem": "ntfs", "uuid": "1234-5678-9ABC-DEF0", "size": "500GB", "label": "BACKUP_SSD", "status": "ready" } ``` ## Konfiguration ### Environment Variables ```bash # Standardmäßige Erkennungszeit (Sekunden) export SSD_DETECT_TIMEOUT=30 # Log-Level (DEBUG, INFO, WARN, ERROR) export SSD_LOG_LEVEL=INFO # Unterstützte Dateisysteme export SSD_SUPPORTED_FS="ntfs,exfat,ext4" ``` ## Fehlerbehandlung ### Häufige Probleme 1. **Keine SSD erkannt**: USB-Verbindung prüfen, Device-Permissions kontrollieren 2. **NTFS nicht unterstützt**: `ntfs-3g` Package installieren 3. **Permission denied**: Script mit `sudo` ausführen ### Debug-Modus ```bash # Erweiterte Diagnose ./ssd-detect.sh --debug # System-Logs prüfen journalctl -f | grep ssd-detect ``` ## Integration ### Systemd-Service ```bash # Automatische Erkennung bei Boot sudo systemctl enable ssd-detect.service ``` ### Udev-Rules ```bash # Automatische Erkennung bei USB-Events # Siehe examples/udev-rules/ ``` ## Abhängigkeiten ### Erforderliche Packages - `util-linux` - Device-Management - `ntfs-3g` - NTFS-Support - `parted` - Partitionstabellen - `udev` - Hardware-Events ### Installation ```bash # Ubuntu/Debian sudo apt install util-linux ntfs-3g parted udev # CentOS/RHEL sudo yum install util-linux ntfs-3g parted systemd-udev ``` ## Sicherheit ### Best Practices - Immer UUID-basierte Identifikation verwenden - Device-Permissions vor Zugriff prüfen - Logging für Audit-Trails aktivieren - Read-Only Modus für kritische Prüfungen ### Berechtigungen ```bash # Minimale Berechtigungen für Detection sudo usermod -a -G disk $USER ``` ## Entwicklung ### Testing ```bash # Unit-Tests ausführen ./test-ssd-detect.sh # Integration-Tests ./test-ssd-detect-integration.sh ``` ### Debugging ```bash # Trace-Modus bash -x ./ssd-detect.sh # Profiling time ./ssd-detect.sh --benchmark ``` ## Changelog ### Version 0.1.0 - Initiale Implementierung - NTFS-Support - UUID-basierte Erkennung - JSON-Output Format