Files
usb-ssd/docs/installation-guide.md
2025-08-07 19:28:22 +02:00

9.5 KiB

USB-SSD Management System - Detaillierte Installation

Übersicht

Diese Anleitung führt Sie Schritt-für-Schritt durch die Installation des USB-SSD Management Systems auf Ubuntu/Linux-Servern. Das System ist speziell für KMU-Infrastrukturen optimiert und bietet professionelle Verwaltung wechselbarer USB-C SSDs.

Systemanforderungen

Mindestanforderungen

  • Betriebssystem: Ubuntu 20.04+ / Debian 11+ / CentOS 8+ / RHEL 8+
  • Hardware: USB-C Port, mindestens 1GB freier Speicher
  • Berechtigungen: sudo Zugriff für Installation
  • Netzwerk: Internetverbindung für Package-Downloads

Empfohlene Konfiguration

  • RAM: 4GB+ für Performance-Tests
  • CPU: 2+ Cores für parallele Operationen
  • Storage: 10GB+ freier Speicher für Logs und Caches
  • USB: USB 3.0+ für optimale Performance

Unterstützte Distributionen

Distribution Version Status Notizen
Ubuntu 20.04+ Vollständig Empfohlen für Produktionsumgebungen
Debian 11+ Vollständig Stabile Alternative zu Ubuntu
CentOS 8+ Vollständig Enterprise-Umgebungen
RHEL 8+ Vollständig Enterprise-Support verfügbar
Fedora 35+ ⚠️ Beta Community-Support
Arch Linux Rolling ⚠️ Beta Für erfahrene Benutzer

Vor der Installation

1. System-Update

# Ubuntu/Debian
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

# Fedora
sudo dnf update -y

2. Git installieren

# Ubuntu/Debian
sudo apt install git -y

# CentOS/RHEL
sudo yum install git -y

# Fedora
sudo dnf install git -y

3. System-Informationen sammeln

# Betriebssystem-Version
lsb_release -a

# Verfügbarer Speicher
df -h

# USB-Ports identifizieren
lsusb

# Aktuelle Benutzer-Gruppen
groups $USER

Installation

Schritt 1: Repository klonen

# In Home-Verzeichnis wechseln
cd ~

# Repository klonen
git clone https://git.gitcover.de/KMU/usb-ssd.git

# In Projekt-Verzeichnis wechseln
cd usb-ssd

# Repository-Struktur prüfen
ls -la

Schritt 2: Installations-Script ausführen

# Standard-Installation (empfohlen)
sudo ./scripts/installation/install.sh

# Installation mit Verbose-Output
sudo ./scripts/installation/install.sh --verbose

# Interaktive Installation mit Benutzer-Eingaben
sudo ./scripts/installation/install.sh --interactive

Schritt 3: Installation verifizieren

# Installierte Scripts prüfen
ls -la /usr/local/bin/ssd-*

# Systemd-Services prüfen
sudo systemctl status ssd-detection.service

# Udev-Rules prüfen
ls -la /etc/udev/rules.d/99-ssd-*

# Benutzer-Berechtigungen prüfen
groups $USER

Erweiterte Installationsoptionen

Custom-Installation

# Installation in Custom-Verzeichnis
sudo ./scripts/installation/install.sh --prefix /opt/ssd-tools

# Nur bestimmte Komponenten installieren
sudo ./scripts/installation/install.sh --components "detection,management"

# Installation ohne Systemd-Services
sudo ./scripts/installation/install.sh --no-systemd

# Installation mit Custom-Konfiguration
sudo ./scripts/installation/install.sh --config /path/to/custom.conf

Benutzer-spezifische Installation

# Installation nur für aktuellen Benutzer (ohne sudo)
./scripts/installation/install.sh --user-install

# Scripts werden installiert nach:
# ~/.local/bin/ssd-*
# ~/.config/ssd-management/

Entwicklungs-Installation

# Installation mit Debug-Modus
sudo ./scripts/installation/install.sh --debug --verbose

# Installation mit Entwicklungs-Tools
sudo ./scripts/installation/install.sh --dev-tools

# Symlinks statt Kopien (für Entwicklung)
sudo ./scripts/installation/install.sh --symlink

Post-Installation Konfiguration

1. Benutzer-Berechtigungen

# Aktuellen Benutzer zu ssd-users Gruppe hinzufügen
sudo usermod -a -G ssd-users $USER

# Disk-Gruppe für Hardware-Zugriff
sudo usermod -a -G disk $USER

# Neue Gruppen-Mitgliedschaft aktivieren
newgrp ssd-users

# Berechtigungen prüfen
groups

2. Systemd-Services konfigurieren

# Services aktivieren
sudo systemctl enable ssd-detection.service
sudo systemctl enable ssd-automount.service

# Services starten
sudo systemctl start ssd-detection.service
sudo systemctl start ssd-automount.service

# Status prüfen
sudo systemctl status ssd-detection.service
sudo systemctl status ssd-automount.service

3. Udev-Rules aktivieren

# Udev-Rules neu laden
sudo udevadm control --reload-rules
sudo udevadm trigger

# Test mit angeschlossener USB-SSD
sudo udevadm test /sys/block/sdb

4. Logging konfigurieren

# Log-Verzeichnisse erstellen
sudo mkdir -p /var/log/ssd-management

# Log-Rotation aktivieren
sudo systemctl enable logrotate.timer

# Erste Logs prüfen
sudo tail -f /var/log/ssd-detection.log

Erste Verwendung

1. USB-C SSD anschließen

# SSD anschließen und erkennen lassen
# Automatische Erkennung durch udev-rules

# Manuelle Erkennung
ssd-detect.sh

# Erkannte Geräte anzeigen
lsblk | grep -E "sd[b-z]"

2. Erste Mount-Operation

# Automatisches Mounting
ssd-mount-manager.sh mount

# Mount-Status prüfen
ssd-mount-manager.sh status

# Mount-Point prüfen
ls -la /mnt/ssd-storage/

3. Test-Suite ausführen

# Schnelle Tests
ssd-test-suite.sh --quick

# Vollständige Tests
ssd-test-suite.sh all

# Performance-Benchmark
ssd-test-suite.sh --benchmark

4. Sichere Entfernung

# Safe-Eject ausführen
ssd-safe-eject.sh

# Status nach Eject prüfen
ssd-mount-manager.sh status

Konfiguration anpassen

1. Haupt-Konfigurationsdatei

# Konfigurationsdatei bearbeiten
sudo nano /etc/ssd-management/config.conf

# Beispiel-Konfiguration:
SSD_MOUNT_POINT="/mnt/ssd-storage"
SSD_LOG_LEVEL="INFO"
SSD_AUTO_MOUNT="true"
SSD_SMB_READY="true"

2. Mount-Optionen anpassen

# NTFS-Mount-Optionen
SSD_MOUNT_OPTIONS="uid=1000,gid=1000,umask=022,windows_names"

# Performance-Optimierungen
SSD_MOUNT_OPTIONS="$SSD_MOUNT_OPTIONS,big_writes,cache=strict"

3. Logging-Level anpassen

# Debug-Logging aktivieren
export SSD_LOG_LEVEL=DEBUG

# Syslog-Integration
export SSD_USE_SYSLOG=true

# Log-Datei-Pfad
export SSD_LOG_FILE="/var/log/ssd-management.log"

Troubleshooting

Häufige Installations-Probleme

Problem: "Permission denied"

# Lösung: Installation mit sudo ausführen
sudo ./scripts/installation/install.sh

# Benutzer-Berechtigungen prüfen
sudo -l

Problem: "Package not found"

# Lösung: Repository-Updates durchführen
sudo apt update  # Ubuntu/Debian
sudo yum update  # CentOS/RHEL

# EPEL-Repository aktivieren (CentOS/RHEL)
sudo yum install epel-release

Problem: "Systemd service failed"

# Service-Status prüfen
sudo systemctl status ssd-detection.service

# Service-Logs anzeigen
sudo journalctl -u ssd-detection.service

# Service neu starten
sudo systemctl restart ssd-detection.service

Problem: "USB device not detected"

# USB-Geräte auflisten
lsusb

# Block-Geräte anzeigen
lsblk

# Udev-Events überwachen
sudo udevadm monitor

# NTFS-Support prüfen
sudo modprobe ntfs

Diagnose-Tools

System-Diagnose

# Installations-Status prüfen
./scripts/installation/install.sh --status

# Abhängigkeiten validieren
./scripts/installation/install.sh --check-dependencies

# Konfiguration testen
./scripts/installation/install.sh --validate

Hardware-Diagnose

# USB-Controller prüfen
lspci | grep -i usb

# Kernel-Module prüfen
lsmod | grep -E "(usb|ntfs)"

# Hardware-Logs prüfen
dmesg | grep -i usb

Deinstallation

Vollständige Deinstallation

# Deinstallations-Script ausführen
sudo ./scripts/installation/uninstall.sh

# Manuelle Bereinigung (falls nötig)
sudo rm -rf /usr/local/bin/ssd-*
sudo rm -rf /etc/ssd-management/
sudo rm -f /etc/systemd/system/ssd-*.service
sudo rm -f /etc/udev/rules.d/99-ssd-*.rules

Konfiguration beibehalten

# Nur Scripts entfernen
sudo ./scripts/installation/uninstall.sh --keep-config

# Logs beibehalten
sudo ./scripts/installation/uninstall.sh --keep-logs

Upgrade-Prozess

Standard-Upgrade

# Repository aktualisieren
cd ~/usb-ssd
git pull origin main

# Upgrade ausführen
sudo ./scripts/installation/install.sh --upgrade

# Services neu starten
sudo systemctl restart ssd-detection.service ssd-automount.service

Backup vor Upgrade

# Konfiguration sichern
sudo cp -r /etc/ssd-management /etc/ssd-management.backup.$(date +%Y%m%d)

# Scripts sichern
sudo mkdir -p /tmp/ssd-backup
sudo cp /usr/local/bin/ssd-* /tmp/ssd-backup/

Support und Hilfe

Community-Support

Logs für Support

# System-Informationen sammeln
sudo ./scripts/installation/install.sh --system-info > system-info.txt

# Logs sammeln
sudo tar -czf ssd-logs.tar.gz /var/log/ssd-*.log

# Konfiguration anonymisieren
sudo cp /etc/ssd-management/config.conf config-anonymized.conf

Enterprise-Support

Für professionellen Support und Custom-Entwicklungen kontaktieren Sie die GitCover® Organization.


⚠️ Wichtiger Hinweis: Diese Installation manipuliert System-Konfigurationen und Hardware-Zugriffe. Führen Sie die Installation nur auf Systemen durch, auf denen Sie vollständige administrative Rechte haben und verstehen die Auswirkungen der Änderungen.