171 lines
3.2 KiB
Markdown
171 lines
3.2 KiB
Markdown
# 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
|