• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Gebrannte Daten manuell prüfen

Problem:

Ich habe unter k3b eine DVD gebrannt und diese dabei überprüfen lassen. Es ist nun ein Fehler aufgetreten: Eine der Dateien lässt sich auf dem Medium nicht auffinden. Jedoch wird nach der Feststellung dieses einen Fehlers die weitere Überprüfung eingestellt. Da ich die DVD zwecks Backup erstellt habe, und die gebrannten Daten gerne von der Festplatte löschen würde, ist mir wichtig zu wissen, ob weitere Dateien fehlen, um diese auf einem weiteren Medium zu sichern.


Frage:

Kann ich die Daten einer CD/DVD manuell gegen das Image prüfen? Ist dies auch gegen ein Reiser-FS-Verzeichnis möglich? Werden die Daten dann binär verglichen, oder nur die Dateinamen und -größen?


Gegebenheiten (Hier Wahrscheinlich nicht weiter ausschlaggebend):

SuSE 10.0 64bit (2.6.13-15.8-default x86_64 GNU/Linux)
KDE 3.4.2 Level "b"
cdrecord 2.01 (x86_64-suse-linux)
cdrdao 1.2.0
K3b 0.12.3
 

qubit

Member
Wenn Du die DVD und die Originaldaten bzw. ein gemountetes Image hast, dann mach das doch einfach per Hand mit md5sum. Erst die Originaldaten nehmen und per md5sum die Checksummen erstellen, diese in eine Datei schreiben lassen und dann damit die Daten der DVD überprüfen.
 
OP
soeren_gasch

soeren_gasch

Newbie
Per MD5-Summe finde ich doch aber nur heraus, dass die Zusammenstellung der Image-Datei nicht gleich ist, nicht jedoch, welche Dateien fehlen. Sehe ich das richtig?
 

Irus

Member
Siehst du richtig
Allerdings sollte eigentlich dein Prüfprogramm die Datei anzeigen.
Diese kannst du dann überspringen

Oder sehe ich da was falsch?
 
Moin soeren_gasch,

ls umleiten in eine Datei, jeweils im Originalverzeichnis und auf CD und danach per cmp oder diff die beiden Dateien verglichen lassen. Wäre jetzt so auf die Schnelle mein Weg.
 
OP
soeren_gasch

soeren_gasch

Newbie
Kurzer Zwischenbericht:

Ich hab mir gedacht: Was mit ls geht, geht auch mit md5sum... Dann hab ich auch gleich den Inhalt der Dateien auf Identität geprüft, und vom Aufwand her kommt das aufs gleiche raus. Also hab ich erstmal folgendes gemacht:

Code:
mount /dev/devrecorder
md5sum /media/dvdrecorder/* > md5sum_CD-List.txt
md5sum /backups/DVD01/* > md5sum_HDD-List.txt

Dann hab ich mit KWrite die Absoluten Verzeichnisnamen vor den Dateinamen mittels "Ersetzen" entfernt. Nun hab ich die dateien mittels diff verglichen. Was sich allerdings herrausstellte ist, dass er mir logischerweise alle Zeilen rausschmeißt, in denen, auf Grund der Verkürzungen der Dateinamen zwecks Joliet-Konfomität, die Dateien zwar vom Inhalt gleich sind, jedoch vom Dateinamen abweichen. Es handelt sich um ein Backup meines Musikarchives. Da jede Datei jedoch komplette Metadaten enthält (ID3-Tag) ist der verkürzte Dateiname zunächst kein Problem.

Ich bin also gerade am Basteln, wie ich die md5sum_CD-List.txt nach 94 Zeichen (32 Zeichen Hash + 2 Leerzeichen der Md5sum-Ausgabe + 64 Zeichen Joliet-Dateiname - 4 Zeichen Dateiendung) "cropen" kann, oder dem diff das beibringe ohne die Datei zu ändern.

Ich meld mich nochmal, wenn ichs zu was gebracht hab...
 

sc_m

Member
Du willst jede Zeile einer Datei nach 94 Zeichen abschneiden? Das geht so:
Code:
cut -c -94 DATEINAME > NEUE_DATEI
Mehr Informationen über den Befehl bekommst du mit "man cut". Das ist aber nur die halbe Wahrheit, es gibt Werkzeuge, die auch wesentlich spannendere Dinge mit Dateiinhalten anstellen können. Falls also einmal Bedarf bestehen sollte, dann sieh dir "sed" oder "awk" an.
 
OP
soeren_gasch

soeren_gasch

Newbie
Zuerst mal: Großes Sorry, dass ich mich so lange nicht gemeldet hab. Hatte Schulstress...

Also ich habs jetzt hingekriegt. Ich fass nochmal zusammen was ich gemacht habe...

Ich habe:
  • 4,3GiB zu sichernde Daten in /data0/Music-Archiv 1
    Eine von k3b erstellte Image-Datei kb3_image.img im selben Ordner
    Eine DVD von diesem Image

Ich will:
Prüfen ob alle Daten korrekt auf der CD vorhanden sind

Ansatz:
Code:
mount /dev/dvdrecorder
cd /data0/Music-Archiv\ 1/
mkdir image
sudo mount -t iso9660 -o loop,ro k3b_image.img /data0/Music-Archiv\ 1/image
md5sum /data0/Music-Archiv\ 1/*.mp3 > md5sum_HDD_long
md5sum /data0/Music-Archiv\ 1/image/* > md5sum_image_long
md5sum /media/dvdrecorder/* > md5sum_CD_long

Dann habe ich drei Dateien in KWrite geöffnet und die absoluten Pfade vor den Dateinamen der Md5-Ausgabe mittels "Ersetzen"-Funktion entfernt. Nun habe ich die Dateien mittels cut auf eine Länge von 94 Zeichen gekürzt:
Code:
cut -c -94 md5sum_HDD_long > md5sum_HDD_cut
cut -c -94 md5sum_image_long > md5sum_image_cut
cut -c -94 md5sum_CD_long > md5sum_CD_cut

Diese dateien habe ich dann mittels diff miteinander verglichen:
Code:
diff md5sum_HDD_cut md5sum_CD_cut

Da das keinen Fehler gab, konnte ich mir die nähere Betrachtung der md5sum_image_cut sparen

So ganz die Feine Englische Art ist das jedoch mit dem KWrite noch nich. Das geht doch sicher auchnoch auf der Konsole. Setze mich zwecks dessen gerade mit sed und awk auseinander (Thx @ sc_m). Vielleicht kann man dann sogar noch n Script erstellen, falls andere Leute ähnliche Probleme haben. Soll ich den Thread dann jetzt schon als [gelöst] markieren???

Schöne Grüße, und herzlichen Dank für die Denkanstöße,
Sören
 
Moin soeren_gasch,

setz ihn ruhig auf gelöst, wenn Du noch eine bessere Lösung nachschieben kannst, ist er deswegen nicht weniger gelöst.
 
Oben