Ü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