Komplette Installationsanleitung für disk2iso als Service oder Script.
- Voraussetzungen
- Installation als Service (empfohlen)
- Installation als Script
- Manuelle Installation
- Installer-Wizard
- Service-Verwaltung
- Fehlerbehebung
- Distribution: Debian 12+, Ubuntu 22.04+, Linux Mint 21+
- Kernel: Linux 5.0+ (für moderne Laufwerks-Treiber)
- Bash: Version 4.0 oder höher
- Speicherplatz: Minimal 100 MB (+ Platz für ISOs)
- Optisches Laufwerk: CD/DVD/Blu-ray kompatibel
- systemd: Version 232+ (für Service-Modus)
- Root-Zugriff: Erforderlich für Installation und Betrieb
- sudo: Empfohlen für sichere Rechteverwaltung
# systemd-Version (für Service-Modus)
systemctl --version
# Laufwerk verfügbar?
ls -la /dev/sr0
# Bash-Version
bash --version- Installation: Zum Download der Abhängigkeiten (apt install)
- Optional: Audio-CD (MusicBrainz), DVD/Blu-ray (TMDB)
- Offline-Betrieb: Möglich (ohne Metadaten)
Der Service-Modus ist ideal für Dauerbetrieb und headless-Server.
# 1. Projekt klonen
git clone https://github.com/DirkGoetze/disk2iso.git
cd disk2iso
# 2. Installer starten
sudo ./install.shKurze Übersicht über disk2iso Features.
┌───────────────────────────────────────────────────────────┐
│ Wählen Sie die gewünschte Installations-Art: │
│ │
│ ( ) Nur Script - Manuelle Ausführung │
│ (*) Script + systemd-Service - Automatischer Betrieb │
│ │
│ [OK] [Abbrechen] │
└───────────────────────────────────────────────────────────┘
Wähle: Script + systemd-Service
┌───────────────────────────────────────────────────────────┐
│ Wählen Sie die zu installierenden Module: │
│ │
│ [X] Audio-CD Support (MP3 + MusicBrainz) │
│ [X] Video-DVD Support (Entschlüsselt mit libdvdcss2) │
│ [ ] Blu-ray Support (ddrescue - robust) │
│ [X] MQTT Integration (Home Assistant) │
│ │
│ [OK] [Abbrechen] │
└───────────────────────────────────────────────────────────┘
Standard: Audio-CD + Video-DVD + MQTT aktiv
Automatische Erkennung von /dev/sr0 oder manuelle Auswahl.
Standard: /media/iso
Ändern auf: /srv/disk2iso (empfohlen)
┌───────────────────────────────────────────────────────────┐
│ MQTT Broker-Einstellungen: │
│ │
│ Broker-Adresse: 192.168.20.10 │
│ Broker-Port: 1883 │
│ Benutzername: disk2iso │
│ Passwort: ******** │
│ │
│ [OK] [Abbrechen] │
└───────────────────────────────────────────────────────────┘
Automatische Installation aller benötigten Pakete:
- Kern: coreutils, util-linux, genisoimage, whiptail
- Audio-CD: cdparanoia, lame, eyed3, curl, jq, cd-discid
- Video-DVD: dvdbackup, libdvdcss2
- Blu-ray: gddrescue
- MQTT: mosquitto-clients
┌───────────────────────────────────────────────────────────┐
│ Installiere systemd-Service... │
│ │
│ ✓ disk2iso.service → /etc/systemd/system/ │
│ ✓ systemctl daemon-reload │
│ ✓ systemctl enable disk2iso.service │
│ ✓ systemctl start disk2iso.service │
│ │
│ Service-Status: ● aktiv (running) │
│ │
│ [OK] │
└───────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────┐
│ ✅ Installation erfolgreich abgeschlossen! │
│ │
│ Service läuft: disk2iso.service │
│ Web-Interface: http://<server-ip>:8080 │
│ │
│ Logs ansehen: │
│ sudo journalctl -u disk2iso -f │
│ │
│ ➜ Disc einlegen → Automatische Archivierung │
│ │
│ [OK] │
└───────────────────────────────────────────────────────────┘
# Service-Status prüfen
sudo systemctl status disk2iso
# Logs verfolgen
sudo journalctl -u disk2iso -f
# Web-Interface öffnen
xdg-open http://localhost:8080Für manuelle Ausführung ohne permanenten Service.
sudo ./install.shAuf Seite 2: Nur Script auswählen
Installation nach:
/opt/disk2iso/- Hauptverzeichnis- Symlink:
/usr/local/bin/disk2iso
# Disc einlegen, dann:
sudo disk2iso
# ODER: Mit spezifischem Laufwerk
sudo disk2iso --device /dev/sr1
# ODER: Mit Ausgabeverzeichnis
sudo disk2iso --output /mnt/nas/mediaFalls Wizard nicht funktioniert oder spezielle Anpassungen gewünscht:
# Kern-Pakete (immer erforderlich)
sudo apt update
sudo apt install -y coreutils util-linux genisoimage eject mount whiptail
# Optional: Audio-CD Modul
sudo apt install -y cdparanoia lame eyed3 curl jq cd-discid wodim libcdio-utils
# Optional: Video-DVD Modul
sudo apt install -y dvdbackup libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg # libdvdcss2 installieren
# Optional: Blu-ray Modul
sudo apt install -y gddrescue
# Optional: MQTT
sudo apt install -y mosquitto-clients# Erstelle Ziel-Ordner
sudo mkdir -p /opt/disk2iso/lib/lang
sudo mkdir -p /opt/disk2iso/conf
sudo mkdir -p /opt/disk2iso/services/{disk2iso,disk2iso-web,disk2iso-updater}
# Hauptskripte
sudo cp services/disk2iso/daemon.sh /opt/disk2iso/services/disk2iso/
sudo cp services/disk2iso-web/app.py /opt/disk2iso/services/disk2iso-web/
sudo cp services/disk2iso-updater/updater.sh /opt/disk2iso/services/disk2iso-updater/
sudo chmod +x /opt/disk2iso/services/disk2iso/daemon.sh
sudo chmod +x /opt/disk2iso/services/disk2iso-updater/updater.sh
# Bibliotheken
sudo cp lib/*.sh /opt/disk2iso/lib/
# Sprachdateien
sudo cp lang/* /opt/disk2iso/lang/
# Konfiguration
sudo cp conf/disk2iso.conf /opt/disk2iso/conf/
# Web-Interface
sudo cp -r services/disk2iso-web/{templates,static,routes} /opt/disk2iso/services/disk2iso-web/# Service-Datei erstellen
sudo nano /etc/systemd/system/disk2iso.serviceInhalt:
[Unit]
Description=disk2iso - Optical Media Archiver
Documentation=https://github.com/DirkGoetze/disk2iso
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/opt/disk2iso
ExecStart=/opt/disk2iso/services/disk2iso/daemon.sh
Restart=on-failure
RestartSec=10s
NoNewPrivileges=true
PrivateTmp=true
StandardOutput=journal
StandardError=journal
SyslogIdentifier=disk2iso
[Install]
WantedBy=multi-user.targetAktivieren:
sudo systemctl daemon-reload
sudo systemctl enable disk2iso
sudo systemctl start disk2iso# Python-Abhängigkeiten
sudo apt install -y python3 python3-flask python3-markdown
# Web-Service-Datei
sudo nano /etc/systemd/system/disk2iso-web.serviceInhalt:
[Unit]
Description=disk2iso Web Interface
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/disk2iso/services/disk2iso-web
ExecStart=/usr/bin/python3 /opt/disk2iso/services/disk2iso-web/app.py
Restart=on-failure
[Install]
WantedBy=multi-user.targetAktivieren:
sudo systemctl daemon-reload
sudo systemctl enable disk2iso-web
sudo systemctl start disk2iso-webDetaillierte Beschreibung aller Wizard-Seiten.
┌───────────────────────────────────────────────────────────┐
│ Willkommen zur Installation von disk2iso v1.3! │
│ │
│ Dieses Werkzeug archiviert optische Medien automatisch │
│ als ISO-Images beim Einlegen in das Laufwerk. │
│ │
│ Unterstützte Medien: │
│ • Audio-CDs → MP3 mit MusicBrainz-Metadaten │
│ • Video-DVDs → ISO (entschlüsselt) │
│ • Blu-rays → ISO (robustes Kopieren) │
│ • Daten-Discs → ISO (CD/DVD/BD-ROM) │
│ │
│ Drücken Sie OK zum Fortfahren... │
└───────────────────────────────────────────────────────────┘
Nur Script:
- Keine systemd-Integration
- Manuelle Ausführung:
sudo disk2iso - Ideal zum Testen
Script + Service:
- Automatischer Start beim Booten
- Permanent im Hintergrund
- Ideal für Dauerbetrieb
Audio-CD Support:
- cdparanoia (Lossless Ripping)
- lame (MP3 V2 ~190kbps)
- MusicBrainz Metadaten
- Cover-Download
Video-DVD Support:
- dvdbackup (CSS-Entschlüsselung)
- genisoimage (ISO-Erstellung)
- TMDB Metadaten
Blu-ray Support:
- ddrescue (Robust, Fehlertoleranz)
- dd (Fallback)
MQTT Integration:
- Home Assistant Support
- Echtzeit-Status
- Push-Benachrichtigungen
Automatische Erkennung via /dev/sr*.
Fallback: /dev/sr0 als Standard.
Standard: /media/iso
Empfohlen: /srv/disk2iso (FHS-konform)
Alternativ: Netzwerk-Speicher (NFS/CIFS)
Nur wenn MQTT-Modul aktiviert.
Broker-Adresse: IP deines Home Assistant
Port: 1883 (Standard)
Auth: Optional (empfohlen)
Automatische Installation via apt install:
apt update- Kern-Pakete (immer)
- Modul-Pakete (gewählt)
- Fortschrittsbalken
Dauer: 1-5 Minuten
Ziel: /opt/disk2iso/
Struktur:
/opt/disk2iso/
├── services/
│ ├── disk2iso/
│ │ └── daemon.sh
│ ├── disk2iso-web/
│ │ ├── app.py
│ │ ├── templates/
│ │ ├── static/
│ │ └── routes/
│ ├── disk2iso-updater/
│ │ └── updater.sh
│ ├── disk2iso.service
│ ├── disk2iso-web.service
│ ├── disk2iso-updater.service
│ └── disk2iso-updater.timer
├── lib/
│ └── lib*.sh
├── lang/
├── conf/
│ └── disk2iso.conf
└── modules/
├── installed/
├── available/
└── downloads/
Nur bei "Script + Service":
- disk2iso.service →
/etc/systemd/system/ systemctl daemon-reloadsystemctl enable disk2isosystemctl start disk2isosystemctl enable disk2iso-websystemctl start disk2iso-web
Zusammenfassung:
- Installierte Module
- Service-Status
- Web-Interface URL
- Nächste Schritte
# Status anzeigen
sudo systemctl status disk2iso
# Service starten
sudo systemctl start disk2iso
# Service stoppen
sudo systemctl stop disk2iso
# Service neu starten
sudo systemctl restart disk2iso
# Autostart aktivieren
sudo systemctl enable disk2iso
# Autostart deaktivieren
sudo systemctl disable disk2iso# Echtzeit-Logs
sudo journalctl -u disk2iso -f
# Letzte 50 Zeilen
sudo journalctl -u disk2iso -n 50
# Seit heute
sudo journalctl -u disk2iso --since today
# Nur Fehler
sudo journalctl -u disk2iso -p err# Konfiguration bearbeiten
sudo nano /opt/disk2iso/conf/disk2iso.conf
# Service neu starten
sudo systemctl restart disk2isoProblem: ./install.sh: command not found
Lösung:
chmod +x install.sh
sudo ./install.shProblem: whiptail: not found
Lösung:
sudo apt install whiptail dialog
# ODER: Manuelle Installation (siehe oben)Problem: /dev/sr0 existiert nicht
Diagnose:
ls -la /dev/sr*
lsmod | grep sr_mod
dmesg | grep -i "cd\|dvd"Lösung:
sudo modprobe sr_mod
echo "sr_mod" | sudo tee -a /etc/modulesProblem: libdvdcss2 nicht gefunden
Lösung:
sudo apt install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkg
# Wizard folgen, Lizenz akzeptierenProblem: Failed to start disk2iso.service
Diagnose:
sudo journalctl -xe | grep disk2iso
sudo systemd-analyze verify disk2iso.serviceHäufige Ursachen:
-
Hauptskript nicht ausführbar:
sudo chmod +x /opt/disk2iso/services/disk2iso/daemon.sh
-
Pfad falsch:
sudo nano /etc/systemd/system/disk2iso.service # ExecStart=/opt/disk2iso/services/disk2iso/daemon.sh prüfen -
Abhängigkeiten fehlen:
/opt/disk2iso/services/disk2iso/daemon.sh --test
Problem: Permission denied für /srv/disk2iso
Lösung:
sudo chown -R root:root /srv/disk2iso
sudo chmod 755 /srv/disk2iso- ← Zurück: Kapitel 1 - Handbuch
- Weiter: Kapitel 3 - Betrieb →
- Kapitel 4 - Optionale Module →
- Kapitel 5 - Fehlerhandling →
- Kapitel 6 - Entwickler →
Version: 1.3.0
Letzte Aktualisierung: 7. Februar 2026