Im Katalog suchen

Linux - Wegweiser zur Installation & Konfiguration, 3. Auflage

Online-Version

Copyright © 2000 by O'Reilly Verlag GmbH & Co.KG

Bitte denken Sie daran: Sie dürfen zwar die Online-Version ausdrucken, aber diesen Druck nicht fotokopieren oder verkaufen. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Wünschen Sie mehr Informationen zu der gedruckten Version des Buches Linux - Wegweiser zur Installation & Konfiguration oder wollen Sie es bestellen, dann klicken Sie bitte hier.


vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel

Anhang H
Zmodem-Dateiübertragung

Das Protokoll Zmodem, das aus den älteren und einfacheren Protokollen Xmodem und Ymodem entstand, ist ein robustes und schnelles Protokoll für die Datenübertragung. Es benutzt 32-Bit-CRC (Cyclic Redundancy Checking), um einen fehlerfreien Datentransfer sicherzustellen. Auf Unix-Systemen stellt das Paket RZSZ das am weitesten verbreitete Tool für die Implementierung des Zmodem-Protokolls dar. Verwandte Protokolle wie Xmodem und Ymodem werden durch Befehle unterstützt, die Bestandteil des RZSZ-Pakets sind.

Das aktuelle Paket RZSZ enthält folgende Befehle:

rz
Empfängt Dateien mit dem Batch-Protokoll (Stapelverarbeitungsprotokoll) von Zmodem. Wenn das sendende Programm innerhalb von 50 Sekunden keine Zmodem-Protokolldateien schickt, wechselt rz in den rb-Modus.
rb
Empfängt Dateien mittels des Ymodem- oder Ymodem-G-Protokolls. rb ist eine andere Möglichkeit, den Befehl rz aufzurufen.
rx
Empfängt eine Datei mittels des Xmodem-Protokolls.
sz
Sendet Dateien unter Benutzung des Batch-Protokolls von Zmodem.
sb
Sendet Dateien unter Verwendung eines der Protokolle Ymodem oder Ymodem-G. sb ist eine andere Möglichkeit, den Befehl sz aufzurufen.
sx
Sendet eine Datei unter Verwendung des Xmodem-Protokolls.

sz beherrscht die automatische Dateiübertragung als Antwort auf eine eingehende rz-Anforderung, und rz verarbeitet übertragene Ymodem- oder Zmodem-Dateien automatisch. sz kann außerdem als Filter benutzt werden, um die Standardeingabe an den empfangenden Rechner zu leiten.

Die RZSZ-Tools zeigen Informationen zur Dateiübertragung an - darunter auch die voraussichtliche Übertragungszeit, das Wiederaufsetzen nach Unterbrechungen, das Erkennen von Wildcards bei der Auswahl von Dateien sowie die Benachrichtigung des Benutzers bei Übertragungsende. Da die meisten bekannten Terminal-Programme für PCs (Professional-YAM, ZCOMM, ProComm, Telix und etliche andere) das Zmodem-Protokoll unterstützen, ist es mit dem Paket RZSZ sehr einfach, Dateien zwischen Linux-Systemen und MS-DOS, Macintosh, VMS sowie anderen Betriebssystemen zu übertragen.

Interessanterweise enthalten einige Linux-Distributionen zwar die Befehle sz und rz, jedoch fehlen eventuell einige Teile des Pakets (einschließlich der Manpages). Wir nennen deshalb im nächsten Abschnitt einige FTP-Archive, aus denen Sie das komplette Paket beziehen können.

In der Mehrzahl aller Fälle werden Sie Xmodem oder Ymodem nicht brauchen, deshalb beschränken wir uns auf die Fähigkeiten von sz und rz.

RZSZ besorgen

Das Paket RZSZ gehört nicht ausdrücklich zu den Linux-Tools; deshalb kann es sein, daß Sie keine komplette Zusammenstellung des Pakets speziell für Linux finden. Wir waren allerdings in der Lage, eine Reihe von Archiven aufzuspüren, in denen das Paket für verschiedene Betriebssysteme angeboten wird, wie etwa das Unterverzeichnis mit NetBSD-Paketen namens lrzsz unter ftp://ftp.cs.umn.edu .

Die wichtigste Quelle für die aktuellsten RZSZ-Versionen ist das von Chuck Forsberg von Omen Technology, Inc. verwaltete Verzeichnis /pub/zmodem auf ftp.cs.pfx.edu.

Omen Technology (http://www.omen.com) bietet ein gedrucktes Handbuch für das eigene RZ/SZ-Paket an (wie auch detaillierte Dokumentation für das PC-Terminal-Emulationspaket Professional-YAM), das Sie sich besorgen können, falls die Manpages nicht ausreichen. Sie können diese Pakete auf Shareware-Basis von der Webseite herunterladen (d.h., es wird erwartet, daß Sie eine kleine Gebühr entrichten). Für registrierte Benutzer steht auch technische Unterstützung zur Verfügung. Die Firma Omen Technology berichtet, daß fast alle auflaufenden technischen Probleme mit RZSZ durch das Netzwerk, Betriebssystemfehler oder Probleme mit anderen Programmen, aber nicht durch RZ/SZ selbst hervorgerufen werden.

Dateien senden und empfangen

Die übliche Methode, sz zu benutzen, ist das Herstellen einer Verbindung zum entfernten System mit anschließendem Einloggen. Danach rufen Sie sz mit den passenden Flags auf, und Zmodem wird automatisch die angeforderten Dateien auf Ihr System übertragen - die Dateinamen bleiben erhalten. (Die Zmodem-Tools sind im Umgang mit Dateinamen nicht sehr clever; falls Sie also Dateien auf ein MS-DOS-System übertragen, müssen Sie aufpassen, wenn die Dateinamen nicht in das 8.3-Schema von MS-DOS passen. Wenn Sie eine Datei namens filename.extension übertragen, wird sie als filename.ext auf Ihrem MS-DOS-Rechner eintreffen; das sollte keine Probleme bereiten. Wenn Sie allerdings versuchen, die Datei filename.more.extension zu übertragen, werden die meisten Zmodem-Utilities versagen; wahrscheinlich erhalten Sie eine irreführende Nachricht mit dem Inhalt, daß die Übertragung beendet wurde.)

Einer der verwirrendsten Punkte bei Zmodem-Übertragungen ist erreicht, wenn Sie entscheiden müssen, mit welchem Befehl Sie die Übertragung starten sollen. Sie müssen berücksichtigen, auf welchem System Sie den Befehl eingeben und auf welchem System die zu übertragenden Dateien stehen. Eine logische Methode für Zmodem-Übertragungen ist es, die Übertragung immer auf dem fremden Rechner zu starten - egal, ob Sie einen Upload planen (Dateien an den fremden Rechner senden) oder einen Download (Dateien vom fremden Rechner empfangen). Ein Beispiel: Nehmen wir an, daß Sie in den fremden Rechner eingeloggt sind (mit C-Kermit, ProComm usw.) und daß Sie vom fremden Rechner einige Textdateien auf Ihr eigenes System übertragen möchten. Geben Sie dazu etwa folgendes ein:

$ sz -a *.txt

sz stellt die Dateien in eine Warteschlange und schickt sie dann nacheinander an das lokale System. Die Option -a steht für ASCII und stellt sicher, daß die Codes für Zeilenende (CR) und Newline so interpretiert werden, wie es für das empfangende System korrekt ist.

Wenn Sie andererseits einige Dateien an den fremden Rechner senden (d.h. auf dem fremden Rechner empfangen) möchten, dann geben Sie einfach ein:

$ rz

Das Remote-System schickt dann etwa folgenden Prompt:

rz ready to begin transfer, type "sz file ..." to your modem program **B0100000023be50

rz wartet geduldig, bis Sie auf das lokale System wechseln und dort einen Zmodem-Sendebefehl eingeben; Sie können dazu sz selbst oder Ihre gewohnte Software benutzen. Wenn Sie beispielsweise ProComm benutzt haben, um den fremden Rechner anzurufen, müssen Sie Page Up (Bild nach oben) drücken und dann aus dem Pop-up-Menü den Punkt Zmodem wählen; geben Sie anschließend die Namen der zu übertragenden Dateien in die ProComm-Eingabezeile ein.

Icon

Wenn Sie Dateien mit dem Zmodem-Protokoll von einem Macintosh-System auf ein Unix- oder Linux-System übertragen wollen, müssen Sie daran denken, daß Unix/Linux keine Dateinamen akzeptiert, die Leerstellen enthalten.

Der folgende Befehl prüft einige Textdateien und überträgt dann nur die .txt- und .doc-Dateien, die auf beiden System vorhanden und außerdem auf dem sendenden System neuer sind. Die meisten Zmodem-Pakete nehmen die Umwandlung von Unix-Newline-Zeichen in DOS-artige Zeilenende/Zeilenvorschub-Zeichen automatisch vor.

$ sz -Yan *.txt *.doc

In vielen (aber leider nicht allen) Versionen können Sie die Ausgabe eines Befehls auf dem fremden Rechner mit dem »Bindestrich«-Argument (sz -) in einer Pipe an sz schicken, und sz wird die Datei automatisch an Sie weitersenden. Der Dateiname für die Ausgabe wird gebildet, indem der Prozeß-ID des Prozesses, der die Standardeingabe an sz leitet, ein s vorangestellt wird; an das Ende des Dateinamens wird ein .sz angehängt. Wenn Sie beispielsweise die Manpage zum Befehl sz.1 des Remote-Systems (natürlich gibt es verschiedene Versionen der Software) ausdrucken lassen möchten, könnten Sie eingeben:

man sz | col -b | sz -

Dabei entfernt die Option col -b alle Formatierungen, die der Befehl man in die formatierte Ausgabe eingefügt hat, um Bereiche des Textes auf dem Bildschirm hervorzuheben. Das Bindestrich-Argument weist sz an, die Datei an Ihr lokales System zu schicken. Wenn Sie die Verbindung unterbrechen und nachsehen, werden Sie die Datei wahrscheinlich unter einem Namen wie /tmp/s7750.sz vorfinden. (Das Verzeichnis /tmp ist unter allen Kommunikationsprogrammen das am häufigsten benutzte Verzeichnis für den Empfang von Dateien - es sei denn, das aktuelle Verzeichnis wird benutzt.)

Zusammenfassung der Optionen zu rz und sz

Wegen des traurigen Zustands, in dem sich die RZSZ-Dokumentation in den Standard-Linux-Distributionen befindet, und weil die RZSZ-Tools keine Online-Hilfe kennen, haben wir für Sie Zusammenfassungen der wichtigen Flags erstellt, die Sie für den Einsatz des Zmodem-Protokolls bei der Dateiübertragung brauchen. Trotzdem sollten Sie sich die Manpages und eventuell weitere Dokumentation aus einem FTP-Archiv oder BBS besorgen; siehe auch den Abschnitt »RZSZ besorgen«. Wenn Sie RZSZ schon von anderen Systemen her kennen, sollten Sie darauf achten, daß die Utilities verändert worden sein könnten, um zusätzliche Features zu unterstützen oder Standard-Features abzuschalten. Lesen Sie die lokale Dokumentation.

Das Hilfsprogramm rz akzeptiert folgende Flags:

-+
Hängt eine Datei an eine vorhandene Datei gleichen Namens an, statt sie zu überschreiben.
-a
Empfängt ASCII-Text. Wandelt Dateien entsprechend den Unix-Konventionen um, indem alle Zeilenenden sowie alle Zeichen entfernt werden, die mit einem STRG-Z beginnen (dem Dateiende-Zeichen für das Betriebssystem CP/M).
-b
Empfängt Binärdaten. Legt die Datei exakt so ab, wie sie empfangen wurde.
-D
Speichert die Ausgabe nicht ab. Schickt alle Daten nach /dev/null; dies ist nützlich für Tests.
-e
Stellt allen Kontrollcodes einen Backslash voran. Zwingt das sendende Zmodem-Programm, alle vorgefundenen Kontrollcodes mit einem Backslash zu versehen, darunter auch XON, XOFF, DLE und STRG-X.
-p
Schützt die Zieldateien. Unterbindet die Zmodem-Übertragung, wenn bereits eine Zieldatei mit demselben Namen existiert. (Beachten Sie, daß mit dieser Option eine unterbrochene Übertragung nicht mehr fortgesetzt werden kann.)
-q
Stille Übertragung. Unterdrückt Nachrichten an die Standardausgabe.
-t n
Ändert den Timeout-Wert auf n Zehntelsekunden.
-v
Ausführlich. Nicht wie das übliche »verbose« bei Unix-Utilities. Dieses Flag bewirkt, daß eine Liste aller übertragenen Dateinamen an eine Logdatei angehängt wird; normalerweise ist das /tmp/rzlog. Wenn das Flag -v mehr als einmal angegeben wird, erscheinen weitere Informationen ebenfalls in der Logdatei.

Kommen wir zu sz. Die meisten sz-Optionen werden einfach an das empfangende Programm weitergereicht, das dann die entsprechende Funktion ausführt. Nicht alle Programme, die Zmodem-Daten empfangen, sind in der Lage, die angeforderten Optionen zu erfüllen. Wenn sz aufgerufen wird, während die Umgebungsvariable $SHELL mit einer eingeschränkten Shell belegt ist (beispielsweise rsh), schränkt sz die Pfadnamen auf das aktuelle Verzeichnis und auf den Inhalt der Variablen $PUBDIR (falls diese belegt ist) sowie die Unterverzeichnisse derselben ein; dies wird oft mit UUCP angewendet.

Die gebräuchlichsten Optionen von sz haben folgende Bedeutung:

-+
Anhängen. Das empfangende Zmodem-Programm soll die übertragenen Daten an eine existierende Datei anhängen.
-a
Übertragung einer Textdatei. Jedes Newline-Zeichen (Unix-Stil) wird in der übertragenen Datei in eine Zeilenende/Zeilenvorschub-Kombination (DOS-Stil) umgewandelt.
-b
Binäre Übertragung. Die Datei soll ohne irgendeine Konvertierung übertragen werden, und auch das empfangende Zmodem-Programm soll keine Konvertierung vornehmen.
-d
Pfad teilen. Dadurch wird versucht, Unterschiede in der Handhabung von Datei- und Pfadnamen zwischen verschiedenen Systemen zu kompensieren. (Allerdings ist es sicherer, Dateien vor der Übertragung umzubenennen.) Alle Punkte (.) in einem Dateinamen werden zu Trennzeichen für Verzeichnisse/Unterverzeichnisse im empfangenen Pfadnamen konvertiert. (Unter Unix werden daraus Schrägstriche (/), unter DOS Backslashes (\). Ein Beispiel: Eine Datei namens foobar.bazbuzzy wird als foobar/bazbuzzy übertragen.) Wenn der eigentliche Dateiname mehr als acht Zeichen hat, wird ein Punkt eingefügt, um Dateinamen nach dem DOS-Schema 8.3 zu erhalten. Ein Beispiel: Eine Unix-Datei namens foo.barbazbuzzy würde als foo/barbazbuzzy übertragen, aber beim Empfang durch ein Zmodem-Programm unter DOS würde die Datei als foo\barbazbu.zzy abgelegt werden. (Wenn der Dateiname noch länger ist, und das empfangende Programm kann diese Länge nicht verarbeiten, wird der Dateiname auf die erlaubte Länge zurechtgestutzt - wie, das hängt von der »Intelligenz« des empfangenden Zmodem-Programms unter DOS ab.)
-e
Kontrollcodes mit einem Backslash versehen.
-f
Voller Pfadname. Verzeichnisnamen werden normalerweise weggelassen; hiermit bewirken Sie, daß der komplette Pfadname im übertragenen Dateinamen enthalten ist.
-L bytes
Setzt die Subpaketlänge für Zmodem (in Bytes). (Dabei handelt es sich nicht um Xmodem, Ymodem oder Kermit-Pakete.) Die Voreinstellung ist 128 Bytes unter 300 Baud, 256 Bytes oberhalb von 300 Baud und 1024 Bytes bei mehr als 2400 Baud. Ein größeres Paket ermöglicht einen etwas höheren Durchsatz, aber bei kleinen Paketen geschieht die Fehlerkorrektur schneller. Bei modernen Modems mit Hardware-Fehlerkorrektur lohnt es sich nicht, mit dieser Option zu experimentieren.
-l anzahl
Setzt die Paketlänge in Bytes. Der Empfänger bestätigt den korrekten Empfang nach jeweils anzahl Bytes, wobei anzahl zwischen 32 und 1024 liegen kann. Damit vermeiden Sie einen Überlauf, wenn zwischen den beiden Systemen keine XOFF-Flußkontrolle stattfindet.
-n
Neuere Datei erhalten. Überträgt eine Datei, wenn es keine Zieldatei mit demselben Namen gibt; überschreibt die Zieldatei nur dann, wenn die Quelldatei neuer als die Zieldatei ist.
-N
Neuere oder längere Datei erhalten. Überträgt eine Datei, wenn es keine Datei mit demselben Namen gibt; überschreibt die Zieldatei nur dann, wenn die Quelldatei neuer oder länger als die Zieldatei ist.
-p
Zieldateien schützen. Überträgt eine Datei nicht, wenn die Zieldatei bereits existiert.
-q
Stille Übertragung. Es werden keine Meldungen an die Standardfehlerausgabe gegeben.
-r
Wiederaufnahme. Eine unterbrochene Dateiübertragung wird fortgesetzt. Wenn die Quelldatei länger ist als die Zieldatei, beginnt die Übertragung an der Stelle der Quelldatei, die der Länge der Zieldatei entspricht. (Einige Zmodem-Empfangsprogramme schalten automatisch in diesen Modus.)
-t anzahl
Timeout. Setzt den Timeout-Wert auf anzahl Zehntelsekunden.
-u
Hebt nach erfolgreicher Übertragung die Datei-Links auf. Dies stellt eine bequeme Methode dar, Dateien in einem Verzeichnis zu »sammeln«, aus dem sie übertragen werden können.
-w bytes
Fenstergröße. Beschränkt das Übertragungsfenster auf die genannte Anzahl von Bytes, um Flußkontrolle zu erzwingen und die Pufferung einzuschränken.
-v
Ausführlich. Fügt die Liste der übertragenen Dateinamen an die Logdatei /tmp/szlog an. Mehrere -v-Optionen bewirken, daß weitere Informationen über den Transfer an die Datei angehängt werden.
-y
Ja, überschreibe. Weist das empfangende Zmodem-Programm an, existierende Dateien mit demselben Namen zu überschreiben.
-Y
Ja, überschreibe, aber... Weist das empfangende Zmodem-Programm an, existierende Dateien mit demselben Namen zu überschreiben, aber keine Quelldateien zu übertragen, die unter demselben Pfadnamen auf dem Zielsystem existieren.

Einige Hinweise zur Benutzung von Zmodem

Sie können sz in einem speziellen Testmodus aufrufen:

$ sz -TT

Bei diesem Aufruf zeigt sz alle 256 8-Bit-Zeichencodes auf Ihrem Terminal an. Wenn Sie Probleme haben, Dateien intakt zu übertragen, können Sie mit diesem Befehl herausfinden, welche Zeichencodes von den Betriebssystemen ausgewertet werden.

Der Aufruf eines RZSZ-Hilfsprogramms durch die meisten Versionen von cu unter Unix wird normalerweise nicht klappen, weil die meisten cu-Implementierungen mit den RZSZ-Tools um die Zeichen vom Modem konkurrieren. (C-Kermit kann neuerdings anscheinend benutzt werden, aber das haben wir noch nicht ausprobiert.)

Weitere interessante Pakete

Auf den meisten Linux-Systemen sind verschiedene andere Pakete installiert, die Sie vielleicht benutzen möchten. In den entsprechenden HOWTO- und sonstigen Dokumentationsdateien finden Sie Informationen über diese Pakete.

Das Hilfsprogramm term ist ein Client/Server-System, mit dessen Hilfe Sie Ihre serielle Leitung »multiplexen« können - d.h., daß Sie über eine einzige Wählleitung mehrfach einloggen können. term gestattet außerdem, Netz-Clients (wie z.B. Telnet, FTP und Netscape Navigator) über die serielle Leitung zu betreiben. Sie können term sogar benutzen, um fremde X Window System-Clients auf Ihrem lokalen System darzustellen. Sie haben also beispielsweise die Möglichkeit, gleichzeitig eine X-Sitzung auf einem fremden Rechner zu starten, Dateien auf Ihr System herunterzuladen und E-Mail zu verschicken. Diese Fähigkeiten lassen sich am besten mit einem High-Speed-Modem nutzen; mit 28 800 bps (möglichst nach dem Standard V.34) läßt es sich bequem arbeiten.

Icon

Kapitel 15

term hat gewisse Ähnlichkeiten mit PPP (siehe den Abschnitt »Einwählverbindungen mit PPP« in Kapitel 15), aber term kann auch von einem normalen Benutzer ausgeführt werden - Sie brauchen also keine root-Berechtigung auf einem der Systeme oder ein spezielles Wählprogramm für PPP.

Sie müssen sich in einen Shell-Account auf einem Unix-System einwählen können, um term zu benutzen. Kompilieren Sie die term-Software sowohl auf dem Unix-System als auch auf Ihrem Linux-Rechner. Wählen Sie sich dann in das andere System ein, und rufen Sie dort term auf; es wird anschließend die Datenübertragung über Ihre Wählverbindung erledigen. Auf dem lokalen Rechner lassen Sie Ihr Kommunikationsprogramm im Hintergrund laufen und rufen term auf, um die Wählverbindung von Ihrem Linux-System aus zu kontrollieren. Die beiden term-Programme kommunizieren dann über die Modemleitung miteinander.

Um auf der Leitung, die von term kontrolliert wird, in den fremden Rechner einzuloggen, können Sie trsh benutzen. Damit starten Sie über die Modemleitung eine Shell auf dem Remote-System. Sie können trsh mehrfach aufrufen (in verschiedenen Fenstern oder auf mehreren virtuellen Konsolen) und z.B. mehrere Login-Sitzungen auf dem fremden System starten.

Icon

Kapitel 16

Sie können verschiedene Netz-Clients zusammen mit term benutzen (darunter Telnet, FTP, Mail-Programme usw.). Die Clients müssen für die Zusammenarbeit mit term kompiliert werden; viele solcher Clients stehen unter Linux zur Verfügung. Damit diese Clients funktionieren, muß das fremde System eine Verbindung zum Internet haben (oder zu einem anderen LAN) - alle Netzanfragen werden über die Modemleitung an den fremden Rechner geschickt. Auf diese Weise schaffen Sie für Ihren Rechner quasi einen Anschluß an das Netz; Sie können direkt von Ihrem Linux-System aus per telnet oder ftp jedes andere System im Internet ansprechen. Auch der WWW-Browser Netscape Navigator, der im Abschnitt »Netscape Navigator« in Kapitel 16 besprochen wurde, arbeitet mit term zusammen.

Zwei andere Pakete sollen noch erwähnt werden. pcomm ist ein Paket für die Datenkommunikation, das bewußt dem DOS-Paket ProComm nachempfunden wurde - dem beliebtesten Kommunikationspaket für DOS. Seyon bietet eine Reihe von umfangreichen Tools für Terminal-Emulation und Datenübertragung.

Sollten wir Ihr Lieblingsprogramm für die Dateiübertragung oder die Datenkommunikation vergessen haben, möchten wir uns dafür entschuldigen; es handelt sich hierbei um einen Bereich, in dem Linux eine geradezu peinliche Vielfalt an Tools bietet. Andererseits ist es uns in diesem Anhang gelungen, Sie von Ihren einfacheren Tools wegzubringen und Ihre Aufmerksamkeit auf die leistungsfähigeren Programme zu lenken.



vorheriges Kapitel Inhaltsverzeichnis Stichwortverzeichnis nächstes Kapitel


Weitere Informationen zum Linux - Wegweiser zur Installation & Konfiguration

Weitere Online-Bücher & Probekapitel finden Sie in unserem Online Book Center


O'Reilly Home | O'Reilly-Partnerbuchhandlungen | Bestellinformationen | Kontaktieren Sie uns
International | Über O'Reilly | Tochterfirmen

© 2000, O'Reilly Verlag