Übersetzt von Eduard Bloch <edi@ka.linux.de>. Für die Richtigkeit der
Übersetzt von Eduard Bloch <edi@ka.linux.de>. Für die Richtigkeit der
Übersetzung wird keine Gewähr übernommen, lesen Sie bitte ebenfalls das
Original von Joerg Schilling. Sie benutzen diese Übersetzung auf eigene
Gefahr.
Mini-HOWTO für den Vergleich von selbstgemachten CDs:
1) Vergleich der Datenschicht
Für den kompleten Vergleich der Daten auf der CD, benutzen Sie das
SCSI-Verify-Kommando. Dies kann mit dem sformat-Programm erledigt werden.
Gebrauch: sformat -verify [target] [lun] [scsibus]
Wenn der CD-Recorder an Target-ID 2 am SCSI-Bus 0 angeschlossen
ist, dann etwa so:
sformat -verify 2 0
sformat liegt u.A. auf ftp://ftp.fokus.gmd.de/pub/unix/sformat.
ANMERKUNG: Nicht alle CD-ROM-Laufwerke unterstützen dasVergleichen.
ANMERKUNG: Alle TAO-Tracks enden in 2 nicht lesbaren Auslaufsektoren.
2) Vergleich auf der Dateisystem-Ebene
Ein schneller Test ist das Mounten der CD und ein Durchlauf von
star (bzw tar), um alle Dateien des Dateisystem zu lesen.
mount -r /dev/cdrom /cdrom (dem jeweiligen BS anpassen)
cd /cdrom
star -cPM . >/dev/null
Falls keine Fehler gefunden werden, sind alle Dateien lesbar.
star liegt u.A. auf ftp://ftp.fokus.gmd.de/pub/unix/star.
Möglicherweise wollen Sie das Dateisystem der CD mit den
Original-Datein vergleichen - dies kann ebenfalls mit star
erledigt werden.
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v)
2a) Vergleich des ISO-Images vor der CD-Erstellung
Sie können das Dateisystem-Image mit "fbk" auf Solaris oder mit
dem loopback-Treiber auf Linux mounten.
Linux:
mount isoimage.raw -r -t iso9660 -o loop /mnt
SunOS:
mount -r -F fbk -o type=hsfs /dev/fbk0:isoimage.raw /mnt
Unter Solaris 8 (oder neuer) kann ebenfalls Suns lofi-Treiber verwendet
werden, siehe README.sun-lofi.de.
Überprüfen Sie dann das Dateisystem mit:
(cd /master_for_cd; star -cPM .)|(cd /mnt; star -diff -v)
Wenn Sie das tun, müssen noch einiges über die Bugs bei Linux/Solaris
wissen:
Mkisofs vor 1.10 und Linux haben einen Bug mit dem Zeitzonen. Wenn sie
mkisofs-1.10 oder neuer mit Linux verwenden, muss der Vergleich der Zeit
abgeschaltet werden.
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!times)
Das gleiche gilt, wenn Sie mkisofs-pre-1.10 auf Solaris einsetzen.
Solaris hat einen Bug mit den Hardlinks. Es erzeugt unterschiedliche
Inode-Nummnern für die Hardlinks auf eine Datei. Das macht es für star
unmöglich, die Hardlinks zu prüfen. Nehmen Sie also
(cd /master_for_cd; star -cPM .)|(cd /cdrom; star -diff -v diffopts=!hardlink)
in diesem Fall.
Anmerkung: Einige Betriebssysteme scheinen einen sog. "read ahead bug"
zu haben, der E/A-Fehler beim Einlesen der letzten Datei auf der CD
verursacht. Dies scheint unter anderen bei allen Linux-Versionen und
Solaris 7 FCS der Fall zu sein. Für Solaris 7 existiert ein Patch
(107465-02), den man installieren sollte. Das E/A-Problem tritt nicht
auf bei DAO-CDs und TAO-CDs, die mit "cdrecord -pad" geschrieben wurden.
Joerg Schilling