Next Previous Contents

4. Benutzung des Zip-Laufwerkes

Nachdem der Kernel mit den notwendigen Treiber ausgestattet ist sollte der Kernel beim Booten die Laufwerk und ggf. den Adapter erkennen. Bei der folgenden Diskussion gehe ich davon aus das man die Module geladen hat oder das die Modules automatisch geladen werden.

In den meisten Bereichen verhalten sich die Parallel Port- und SCSI Version gleich. Die Parallel Port Version ist aber etwas langsamer.

4.1 Identifizierung des Laufwerkes beim Booten

Beim Booten von Linux wird eine Vielzahl von Informationen ausgegeben, bspw. Über den Adapter, das Laufwerk und die Diskette in Laufwerk. Wenn man beim Booten keine Diskette im Laufwerk hat werden einige Informationen nicht angezeigt.

Wo und welche Informationen angezeigt werden hängt davon ab wie man sein System konfiguriert hat. Normalerweise werden die Informationen auf der System-Konsole angezeigt. Einige Informationen werden in /var/log/messages abgespeichert. Die Kernelmeldungen kann man mit dem Befehl dmesg anzeigen.

Hier ein paar Beispiel was ein Kernel beim Booten anzeigt:

Parallel Port Version / SCSI Version:

ppa: Version 1.28s
Probing port 03bc
Probing port 0378
  SPP port present
  EPP test failed on Read/Write
ppa: 0x0378 SPP
Probing port 0278
scsi4 : Iomega parport ZIP drive
scsi : 1 host.
  Vendor: IOMEGA    Model: ZIP 100           Rev: D.08
  Type:   Direct-Access                      ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi5, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
sda: Write Protect is off
  sda: sda1

Die erste Zeile zeigt Informationen über die Initialisierung des Low-Level Treibers für den SCSI Adapter, in diesem Fall der PPA Treiber. Die zwei folgenden Zeilen zeigen das nach dem Zip-Laufwerk gesucht wird, bzw. nach dem Parallel-Port an dem das Zip-Laufwerk angeschlossen ist. Es folgt eine Liste mit allen SCSI Geräten, die auf dem SCSI Bus gefunden wurden. Zeile 12 gibt Information über den Gerätenamen, der diesem SCSI Gerät zugewiesen wurde, in diesem Fall /dev/sda. Jetzt werden noch alle Partitionen des Geräts (Zip-Diskette) angezeigt (hier nur /dev/sda1).

ATAPI Version:

hdc: IOMEGA ZIP 100 ATAPI, ATAPI FLOPPY drive
Partition check:
hdc: 98304kB, 196608 blocks, 512 sector size
hdc: 98304kB, 96/64/32 CHS, 4096 kBps, 512 sector size, 2941 rpm
 hdc: hdc4

Die erste Zeile zeigt, daß das Zip-Laufwerk an hdc hängt (Primary-IDE-Bus, Master). Jetzt werden noch alle Partitionen des Geräts (Zip-Diskette) angezeigt (hier nur /dev/hdc4).

Wenn man eine neue Zip-Diskette direkt von Iomega verwendet zeigt der Partition check immer /dev/xxx4.

Die Kernelausgaben können Hinweise darauf geben ob etwas falsch konfiguriert wurde, deshalb lohnt es sich immer diese genau anzuschauen.

4.2 Fdisk, mke2fs, mount, automount, Samba, eject usw.

Nachdem das Zip-Laufwerk vom Kernel erkannt und die Treiber geladen wurden, kann man mit den normalen Linux Laufwerksbefehlen Daten bearbeiten. Mit fdisk kann man die Partitionstabelle verändern. Mit dem Befehl mke2fs kann man die Zip-Diskette mit dem ext2-Dateisystem formatieren. Der Befehl mount hängt eine formatierte Partition (der Zip-Diskette) in die Verzeichnisstruktur ein, mit automount kann das automatisiert werden. Mit Samba kann das ZIP-Laufwerk z.B. für eine Arbeitsgruppe freigegeben werden. eject eignet sich dazu, ZIP-Medien mit einem Shell-Befehl auswerfen zu lassen.

Am besten man studiert sehr genau die man-Pages zu den einzelnen Programmen. Da teilweise die Parameter von Version zu Version unterschiedliche Belegungen haben sollte, man sehr vorsichtig die einzelnen Programme handhaben. Es besteht die Gefahr eines Datenverlusts, der nicht mehr rückgängig gemacht werden könnte.

Die Tools im Einzelnen:

Eine DOS formatierte Zip-Diskette:

Wenn man eine Zip-Diskette mit einer DOS Dateistruktur hat, die von Iomega erstellt wurde, so ergibt ein Partitionscan das die Diskette eine Partition hat (/dev/xxx4).

Man muß ein Verzeichnis anlegen in das die Partition eingehängt werden soll (nehmen wir /mnt/zip). Das Verzeichnis erstellt man mit dem Befehl:

mkdir /mnt/zip
Nun muß man die Partition der Zip-Diskette auch in das Verzeichnis hängen:
mount -t vfat /dev/hdc4 /mnt/zip
Man kann auch msdos anstatt vfat verwenden. Vfat kann im Gegensatz zu msdos mit langen Dateinamen umgehen. Damit die Dateisystem auch verwendet werden können müssen sie im Kernel als Modul oder fest einkompiliert sein.

Während die Diskette »gemountet« ist kann man sie nicht mit Druck auf den Auswurfsknopf aus dem Zip-Laufwerk herausholen. Wenn man mit der Arbeit an der Zip-Diskette fertig ist muß man sie »unmounten« damit sie sich aus dem Laufwerk holen läßt. Dies geschieht mit folgendem Befehl:

umount /mnt/zip

Zip-Diskette mit ext2 formatieren:

Wenn man die Daten auf einer Zip-Diskette löschen und ein ext2fs-Dateisystem anlegen möchte muß man folgende Programme aufrufen:

fdisk /dev/hdc
Mit d löscht man eine bestehende Partition. Mit dem Befehl n erzeugt man eine neue Partition. Der ersten Partition kann man die Nummer 1 geben. Mit w schreibt man dann die Partitionstabelle auf die Diskette. Und mit q beendet man dann fdisk.

Mit dem Befehl

mke2fs /dev/hdc1
formatiert man dann die Partition.

Mit dem Befehl

mount -t ext2 /dev/hdc1 /mnt/zip
wird dann die Zip-Diskette mit dem ext2-Dateisystems in das Verzeichnis /mnt/zip gehängt.

automount

Das Mounten und Unmounten von ZIP-Medien wird schnell eine lästige Übung, insbesondere dann, wenn es sich um ein freigegebenes Laufwerk in einem (Arbeitsgruppen-) Server handelt. Abhilfe schafft hier der Einsatz eines Automount-Daemons.

Dieser Abschnitt geht davon aus, daß das Paket autofs installiert ist. Dies dürfte in allen aktuellen Distributionen der Fall sein.

Es existiert ein Verzeichnis /misc. In der Konfigurations-Datei /etc/auto.master steht der Eintrag:

/misc /etc/auto.misc --timeout=60
Der Eintrag bedeutet einen Verweis auf eine weitere Konfigurations-Datei namens /etc/auto.misc. In diese Datei wird folgende Zeile eingefügt:
zip -fstype=vfat,rw,users,umask=0 :/dev/xxx4
Damit wird ein Alias namens "zip" für das Laufwerk definiert. Weiterhin wird der Typ des Dateisystems und der Schreib-/Lesezugriff festgelegt. Außerdem haben alle Benutzer Zugriff auf das jeweils gemountete Wechselmedium und alle darauf gespeicherten Dateien, unabhängig davon, von wem das Medium gemountet wurde.

In der Praxis funktioniert das Automounten so: bei einem Zugriff auf /misc/zip (ein Verzeichnis, das eigentlich nicht existiert) wird der Mount-Point angelegt und das im ZIP-Laufwerk befindliche Medium daran gemountet. Das Medium bleibt (in dieser Konfiguration) eine Minute (60 Sekunden) nach dem letzten Zugriff gemountet. Danach wird es automatisch wieder geunmountet und kann aus dem Laufwerk entnommen werden. Um diese Zeit zu ändern, verändere man den Timeout in der Datei /etc/auto.master. Es ist kein Problem, den Timeout deutlich niedriger anzusetzen (auf 10 Sekunden beispielsweise), da nach dem Unmounten das Medium im Laufwerk bleibt und durch den Automount-Daemon bei Bedarf schnell wieder gemountet wird, ohne daß man die Verzögerung dadurch bemerkt. Der Timeout sollte nicht höher als eine Minute eingestellt werden, da man sonst zu lange auf den Auswurf des Wechselmediums warten müßte.

Samba-Freigabe

Für eine Samba-Freigabe gibt man nun das Verzeichnis /misc/zip frei. Hier ein Beispieleintrag für die Samba-Konfigurations-Datei:

[zip]
    comment     = ZIP-Laufwerk
    path        = /misc/zip
    public      = yes
    writable    = yes
    printable   = no
Der Ablauf in der Praxis: man lege ein Medium in das Laufwerk ein und greife von einem entfernten Rechner auf die Freigabe "zip" zu. Samba versucht, von /misc/zip zu lesen, Automount reagiert und mountet das Medium. Nach Ablauf des Timeouts kann das Medium entnommen werden, ein Zugriff auf die Konsole oder per Telnet ist unnötig.

eject

Für alle, die Angst haben, daß sich der Auswurfknopf des ZIP-Laufwerkes abnutzen könnte, gibt es ein nützliches Tool: eject.

Dazu lege man in /dev einen symbolischen Link auf das ZIP-Laufwerk an, z.B. mit:

ln -s /dev/hdc4 /dev/zip

Mit

eject zip
wird das Wechselmedium ausgeworfen, falls es gemountet war, wird es vorher geunmountet.

4.3 ZipTool

Zip-Disketten kann man auch mit einem Schreibschutz versehen. Dieser Schreibschutz wird über Software gesteuert. Unter Linux gibt es auch ein Programm, das dieses Funktion bietet. Man kann das Programm bei http://www.cnct.com/~bwillmot herunterladen.

4.4 Performance

Die unterschiedlichen Schnittstellen der Zip-Laufwerke haben großen Einfluß auf die Geschwindigkeit der Laufwerkes. So ist natürlich eine ATAPI-Version einer Parallel-Port Version (mit einem alten PPA-Treiber) in Sachen Geschwindigkeit bei weitem überlegen. Mit einem neueren PPA-Treiber ist der Unterschied schon nicht mehr so groß. Deshalb sollte man immer die neuste Version der Treiber verwenden.

Generell läßt sich sagen, daß Transferraten von ca. 1,4 MB/s - 700 kB/s realistisch sind.


Next Previous Contents