Friday 14 July 2017

Gkermit Binary Options

Gkermit (1) - Linux man Seite gkermit - G-Kermit (GNU Kermit) 1.00 Dateiübertragungssoftware. Beschreibung G-Kermit ist ein UNIX-Programm zum Übertragen von Dateien mit dem Kermit-Protokoll. G-Kermit ist ein Produkt von Kermit Project an der Columbia University. Es ist freie Software unter der GNU Public License. Einzelheiten finden Sie in der COPYING-Datei. INVOKING G-KERMIT Die G-Kermit-Binärdatei heißt gkermit. Es sollte irgendwo in Ihrem UNIX PATH gespeichert werden, normalerweise ist es als / usr / local / bin / gkermit verfügbar. Um G-Kermit auszuführen, geben Sie einfach gkermit gefolgt von Befehlszeilenoptionen, die ihm sagen, was zu tun ist. Wenn keine Optionen angegeben sind, druckt es eine Verwendungsnachricht, die die verfügbaren Optionen auflistet. Wenn eine Option ein Argument annimmt, ist das Argument erforderlich, wenn eine Option kein Argument annimmt, es darf kein Argument angegeben werden (Ausnahme: - d). Die Aktionsoptionen sind - r, - s und - g. Es kann nur eine Aktionsoption angegeben werden. Wenn keine Aktionsoptionen angegeben sind, tut G-Kermit nichts (außer möglicherweise, um seine Benutzungsnachricht zu drucken oder eine debug. log-Datei zu erstellen). Hier sind einige Beispiele (ist die Shell-Eingabeaufforderung): Optionen, die keine Argumente verwenden, können mit anderen Optionen gebündelt werden. Eine Option, die ein Argument nimmt, muss immer ein Leerzeichen und dann sein Argument (en) folgen. Beispiele: COMMAND-LINE-OPTIONEN Sie können Optionen für G-Kermit in der Befehlszeile oder über die GKERMIT-Umgebungsvariable angeben, die alle gültigen Befehlszeilenoptionen von gkermit enthalten können. Diese werden vor den eigentlichen Befehlszeilenoptionen verarbeitet und können daher von ihnen überschrieben werden. Beispiel für bash oder ksh, die Sie in Ihr Profil einfügen können, wenn Sie immer unvollständige Dateien unterdrücken, Streaming unterdrücken, Nachrichten unterdrücken und verwenden möchten. Space parity: MECHANICS OF FILE TRANSFER Um Dateien mit G-Kermit zu übertragen, müssen Sie über eine Terminal-Emulator auf das UNIX-System, in dem G-Kermit ausgeführt wird, dh Sie sind auf UNIX online und haben Zugriff auf den Shell-Prompt (oder auf ein Menü, das eine Option zum Aufrufen von G-Kermit hat). Die Verbindung kann seriell (direkt oder wählbar) oder Netzwerk (Telnet, Rlogin, X.25, usw.) sein. Wenn Sie G-Kermit anweisen, eine Datei (oder Dateien) zu senden, z. B. Mit: es pausiert für eine Sekunde und sendet dann sein erstes Paket. Was als nächstes geschieht, hängt von den Fähigkeiten Ihres Terminalemulators ab: Wenn Ihr Emulator Kermit autodownloads unterstützt, dann empfängt er die Datei automatisch und bringt Sie zurück in den Terminalschirm, wenn getan. Andernfalls müssen Sie alle Maßnahmen ergreifen, die Ihr Emulator benötigt, um seine Aufmerksamkeit zu erlangen: eine Mausaktion, einen Tastenanschlag wie Alt-x oder eine Zeichensequenz wie Strg - oder Strg - gefolgt von dem Buchstaben c (dies wird als Escaping-Back bezeichnet ) Und dann sagen, um die Datei zu erhalten. Wenn die Übertragung abgeschlossen ist, müssen Sie Ihren Emulator anweisen, zum Terminalbildschirm zurückzukehren. Während der Dateiübertragung stellen die meisten Terminalemulatoren eine Art der laufenden Anzeige des Dateiübertragungsfortschritts bereit. Wenn Sie G-Kermit an RECEIVE (mit gkermit - r) weiterleiten, müssen Sie zurück zu Ihrem Terminalemulator treten und es anweisen, die gewünschte Datei (en) zu senden. Wenn Ihr Terminalemulator Kermit autodownloads AND Kermit-Server-Modus unterstützt, können Sie GET (gkermit - g files.) Anstelle von RECEIVE (gkermit - r) verwenden und der Rest geschieht automatisch, sobald G-Kermit sendet. INTERRUPTING FILE TRANSFER G-Kermit unterstützt Datei - und Gruppenunterbrechungen. Die Methode zum Unterbrechen einer Übertragung hängt von Ihrem Terminalemulator ab. Wenn zum Beispiel die Dateiübertragungsanzeige aktiv ist, können Sie den Buchstaben x eingeben, um die aktuelle Datei abzubrechen, und gehen Sie zum nächsten (falls vorhanden) und dem Buchstaben z, um die Gruppe abzubrechen. Oder gibt es Knöpfe, die Sie mit der Maus klicken können. Wenn sich G-Kermit im Paketmodus befindet und Ihr Terminal-Emulator sich in seinem Terminalbildschirm befindet, können Sie auch drei (3) Strg-C-Zeichen in einer Reihe eingeben, um G-Kermit zu beenden und die normalen Terminalmodi wiederherzustellen. TEXT - UND BINARY-TRANSFER-MODUS Beim Senden von Dateien im Binärmodus sendet G-Kermit jedes Byte genau so, wie es auf dem Datenträger gespeichert ist. Dieser Modus eignet sich für Programm-Binärdateien, Grafikdateien, tar-Archive, komprimierte Dateien, etc. und ist G-Kermits Standard-Dateiübertragungsmodus beim Senden. Beim Empfang von Dateien im Binärmodus kopiert G-Kermit einfach jedes Byte auf die Festplatte. (Offensichtlich werden die Bytes für die Übertragung codiert, aber die Codierungs - und Decodierungsprozeduren geben eine Kopie der Originaldatei nach der Übertragung an.) Beim Senden von Dateien im Textmodus konvertiert G-Kermit das Aufzeichnungsformat zu dem gemeinsamen, das für das Kermit definiert ist Protokoll, nämlich Zeilen, die durch Wagenrücklauf und Zeilenvorschub (CRLF) terminiert sind, wandelt der Empfänger die CRLFs in eine beliebige Zeilenende - oder Aufzeichnungsformat-Konvention auf ihrer Plattform um. Wenn Dateien im Textmodus empfangen werden, streift G-Kermit einfach Wagenrücklauf, so dass nur ein Zeilenvorschub am Ende jeder Zeile, die die UNIX-Konvention ist, bleibt. Beim Empfang von Dateien überwiegt der Absender-Übertragungsmodus (Text oder binär), wenn der Absender diese Informationen an G-Kermit in einem Kermit-Dateiattributpaket weitergibt, was natürlich davon abhängt, ob das Terminalemulatoren-Kermit-Protokoll diese Funktion besitzt. Andernfalls wird, wenn Sie eine Option - i oder - T in der Befehlszeile von gkermit angegeben haben, der entsprechende Modus verwendet, ansonsten wird der Standardmodus (binär) verwendet. Außerdem können G-Kermit und Ihre Terminalemulatoren Kermit, wenn sie senden oder empfangen, einander über ihren Betriebssystemtyp informieren (UNIX im G-Kermits-Fall). Wenn Ihr Emulator diese Funktion, die als automatische Peer-Erkennung bezeichnet wird, unterstützt und G-Kermit darüber informiert, dass seine Plattform auch UNIX ist, wechseln G-Kermit und die Emulatoren Kermit automatisch in den Binärmodus Fall. Die automatische Peer-Erkennung wird automatisch deaktiviert, wenn Sie die Option - i (Bild) oder - T (Text) enthalten. Beim Senden sendet G-Kermit alle Dateien im gleichen Modus, Text oder Binärdatei. Es gibt keine automatische Umschaltung pro Datei. Beim Empfangen erfolgt jedoch eine Umschaltung pro Datei automatisch, basierend auf den eingehenden Attributpaketen, sofern (nachstehend erklärt), die jede Datei begleiten. PATHNAMES Beim SENDEN einer Datei erhält G-Kermit die Dateinamen von der Befehlszeile. Es hängt von der Shell zu erweitern Metazeichen (Wildcards und Tilde). G-Kermit verwendet den vollständigen Pfadnamen, der angegeben wird, um die Datei zu finden und zu öffnen, aber dann den Pfadnamen, bevor der Name an den Empfänger gesendet wird. Beispiel: Der Empfänger erhält eine Datei namens HOSTS oder Hosts (der Verzeichnisteil, / etc /, wird abgestreift). Wenn jedoch ein Pfadname in der Option - a enthalten ist, wird der Verzeichnisteil nicht gestrippt: Dieses Beispiel sendet die Datei / etc / hosts, teilt dem Empfänger jedoch mit, dass sein Name / tmp / hosts ist. Was der Empfänger mit dem Pfadnamen tut, ist natürlich bis zu dem Empfänger, der verschiedene Optionen für den Umgang mit eingehenden Pfadnamen haben könnte. Wenn RECEIVING eine Datei, G-Kermit nicht Streifen der Pfadname. Wenn der eingehende Dateiname einen Pfad enthält, versucht G-Kermit, die Datei an der angegebenen Stelle zu speichern. Wenn der Pfad nicht vorhanden ist, schlägt die Übertragung fehl. Der eingehende Pfadname kann natürlich mit der Option - a überschrieben werden. FILENAME CONVERSION Beim Senden einer Datei wandelt G-Kermit normalerweise ausgehende Dateinamen in übliche Form um: Großbuchstaben, nicht mehr als eine Periode und keine komischen Zeichen. So würde zum Beispiel gkermit. tar. gz als GKERMITTAR. GZ gesendet werden. Beim Empfang einer Datei, wenn der Name Großbuchstaben ist, konvertiert G-Kermit es in Kleinbuchstaben. Wenn der Name alle Kleinbuchstaben enthält, lässt G-Kermit den Namen allein. Wenn die automatische Peer-Erkennung im Terminalemulator verfügbar ist und G-Kermit die Emulatorenplattform als UNIX erkennt, deaktiviert G-Kermit automatisch die Dateinamenumwandlung und sendet und akzeptiert Dateinamen wörtlich. Sie können literale Dateinamen erzwingen, indem Sie die Option - P in der Befehlszeile einfügen. FILENAME COLLISIONS Wenn G-Kermit eine Datei empfängt, deren Name die gleiche wie die einer existierenden Datei ist, sichert G-Kermit die vorhandene Datei, indem ihr ein eindeutiges Suffix hinzugefügt wird. Das Suffix ist. , Wobei n eine Zahl ist. Diese Art von Backup-Suffix ist kompatibel mit GNU EMACS und verschiedenen anderen gängigen Anwendungen. Um die Sicherungsfunktion zu besiegen und eingehende Dateien bestehende Dateien mit demselben Namen zu überschreiben, müssen Sie die Option - w (writeover) in der Befehlszeile einfügen. Rückgabewerte G-Kermit setzt einen Exit-Statuscode von 0 zurück, wenn alle Aktionen erfolgreich waren und 1, wenn keine Aktionen fehlgeschlagen sind. Implementierungshinweise G-Kermit ist so konzipiert, dass es klein, tragbar und stabil ist und für den Einsatz nur am entfernten Ende einer Verbindung gedacht ist, die keine Verbindungen selbst herstellt, obwohl es als externes Protokoll von anderen Programmen verwendet werden kann Verbindungen herstellen. Um es klein und stabil, es enthält nicht Schiebefenster, ein Befehl oder Skriptsprache oder Zeichensatz Übersetzung. Um es tragbar und stabil zu halten, vermeidet es die Verwendung von Systemdiensten, die nicht in allen UNIX-Systemen standardisiert sind und daher insbesondere Datei - Zeitstempel, interne Wildcard-Erweiterungen und andere Funktionen, die nicht konsequent (oder überhaupt) Über alle UNIXs. Umgebung Eine GKERMIT-Umgebungsvariable kann z. B. in Ihrem Shell-Profil definiert werden, um G-Kermit-Befehlszeilenoptionen einzugeben, die von G-Kermit vor den in der Befehlszeile angegebenen Optionen verarbeitet werden, Optionen. Diagnose Falls während der Dateiübertragung ein Fehler auftritt, sendet G-Kermit ein Fehlerpaket an den Terminalemulator, um die Übertragung abzubrechen. Auf dem Bildschirm sollte eine entsprechende Fehlermeldung angezeigt werden. Dateiübertragungen können aus mehreren Gründen fehlschlagen: Fehlender Lesezugriff auf eine Quelldatei. Fehlender Schreibzugriff auf ein Zielverzeichnis. Fehlende Durchflussregelung. Verwendung von Streaming auf eine unzuverlässige Verbindung. Übermäßige Präfixierung von Steuerzeichen. Senden von nackten 8-Bit-Daten auf einer 7-Bit-Verbindung. Pakete zu lang für Empfängerpuffer. Timeout-Intervall zu kurz für die Verbindung. Und viele andere diese sind in den Referenzen abgedeckt. Referenzen Das Kermit-Protokoll ist in Kermit, A File Transfer Protocol von Frank da Cruz, Digital Press (1987), spezifiziert. Ein Korrektheitsnachweis des Kermit-Protokolls erscheint in den Spezifikations - und Validierungsmethoden, herausgegeben von Egon Boerger, Oxford University Press (1995). Mit Hilfe von C-Kermit von Frank da Cruz und Christine M. Gianone, Digital Press (1997 oder spätere Ausgabe), werden viele der hier erwähnten Begriffe und Techniken erklärt, falls Sie nicht vertraut sind und auch Tutorials zur Datenkommunikation umfassen Troubleshooting und Performance-Tipps, etc. Verschiedene andere Bücher über Kermit sind bei Digital Press. Online-Ressourcen enthalten: Siehe auch die mit G-Kermit verteilte README-Datei für weitere Details. Es kann auch unter ftp://kermit. columbia. edu/kermit/g/README gefunden werden. Die Geschwindigkeit einer Dateiübertragung hängt nicht nur von der Geschwindigkeit der beiden beteiligten Computer und den Eigenschaften der Verbindung, sondern auch von den Fähigkeiten und der Konfiguration der beiden Kermit-Programme ab. Kermit ist ein schnelles und zuverlässiges Protokoll, aber nicht alle Implementierungen davon sind notwendigerweise schnell oder zuverlässig. Nonstreaming-Transfers auf einer TCP / IP-Verbindung können ungewöhnlich langsam sein, wenn einer oder beide TCP / IP-Stacks die Nagle - oder Delayed-ACK-Tricks verwenden. Streaming wird automatisch verwendet, wenn das andere Kermit es unterstützt. Beim Empfang von Dateien im Textmodus legt G-Kermit alle Zeilenumbrüche zurück, auch wenn sie nicht mit dem Zeilenvorschub gefolgt sind. Eine Sicherungsdatei ist nicht garantiert die höchste Anzahl in ihrem Backup-Suffix haben. Frank da Cruz, das Kermit-Projekt, Columbia University, New York City, Dezember 1999. Referenziert ByG - K e r m i t 1. 0 0 Diese Seite zuletzt aktualisiert: Fr Jan 3 11:53:42 2003 226 binaries and counting. G-Kermit ist ein Unix-Programm zum Übertragen von Dateien mit dem Kermit-Protokoll. G-Kermit ist ein Produkt des Kermit-Projekts an der Columbia University in New York City. Es ist freie Software unter der GNU General Public License. Einzelheiten finden Sie in der COPYING-Datei. Obwohl G-Kermit für Unix geschrieben wurde, fangen wir an, Portierungen zu Nicht-Unix-Plattformen zu sehen, so weit einschließlich OS / 2 und CP / M-68K. Diese Software ist OSI Certified Open Source Software. OSI Certified ist ein Zertifizierungszeichen der Open Source Initiative. G-Kermit ist: Fast Small Portable Einfach zu bedienen Interoperabel Wartungsfreundlich Stabil und zuverlässig Merkmale: Text - und Binärdateiübertragung auf 7-Bit - und 8-Bit-Verbindungen Dateien können einzeln oder in Gruppen übertragen werden Automatische Startkonfiguration über GKERMIT-Umgebung Variable Konfigurierbarkeit als externes Protokoll Kermit Protokollmerkmale beinhalten: Automatische Peererkennung Streaming auf zuverlässige Verbindungen Wählbare Paketlänge, 40 bis 9000 Bytes (4000 Default) Single-Shifts für 8-Bit-Daten auf 7-Bit-Verbindungen Steuerzeichen-Präfix für Steuerzeichen Transparenz Control-Character Unprefixing für erhöhte Geschwindigkeit (nur eingehend) Komprimierung von wiederholten Bytes Per-Datei und Batch-Aufhebung Funktionen auf Kommandozeile auswählbar: Text - oder Binärmodusübertragung Dateinamenumwandlung ein / aus Dateiname collision backup versus overwrite Unvollständig empfangene Dateien behalten oder verwerfen Packet (Siehe Abschnitt 14): Verbindungen herstellen Zeichensatz-Übersetzung Interaktive Befehle und Scripting Datei - Zeitstempel G-Kermit befindet sich immer am entfernten Ende einer Verbindung, auf einem Unix-System Dass Sie eine Verbindung zu einem Terminalemulator per DFÜ, Netzwerk oder direkt seriell hergestellt haben. Wenn Sie eine direkte oder eine serielle Wählverbindung in Unix haben, verwenden Sie den Befehl stty - a oder stty all, um zu sehen, ob Ihr Unix-Terminaltreiber für die entsprechende Art der Flusskontrolle konditioniert ist, wenn dies nicht der Fall ist, werden nur sehr wenige Anwendungen (einschließlich gkermit) funktionieren Gut, oder überhaupt. Der Befehl zum Festlegen der Terminalflusskontrolle variiert von Plattform zu Plattform, ist aber normalerweise so: (wo ist die Shell-Eingabeaufforderung) für die RTS / CTS-Hardware-Flusssteuerung oder: für die Xon / Xoff-Software-Flusssteuerung. Wenn Sie eine Netzwerkverbindung haben, ist die Ablaufsteuerung in der Regel kein Grund zur Sorge, da das Netzwerkprotokoll (TCP oder X.25) diese automatisch erledigt, aber auf bestimmten Plattformen (z. B. HP-UX) das TCP / IP Telnet oder Rlogin-Server verwendet diese für die Flusskontrolle zwischen sich und dem zugrunde liegenden Pseudo-Topf, in dem Ihre Sitzung ausgeführt wird, so dass Xon / Xoff möglicherweise für diese Sitzungen erforderlich sein. Die G-Kermit-Binärdatei heißt gkermit. Es sollte irgendwo in Ihrem Unix-PATH gespeichert werden, wie / usr / local / bin / gkermit oder irgendwo im / opt-Baum auf System V R4. Um G-Kermit auszuführen, geben Sie einfach gkermit gefolgt von Befehlszeilenoptionen, die ihm sagen, was zu tun ist. Wenn keine Optionen angegeben sind, druckt G-Kermit eine Verwendungsnachricht, die die verfügbaren Optionen auflistet: Wenn eine Option ein Argument annimmt, ist das Argument erforderlich, wenn eine Option kein Argument annimmt, es darf kein Argument gegeben werden (Ausnahmen: - d may or Kann nicht ein Argument - s kann ein oder mehrere Argumente zu nehmen). Die Aktionsoptionen sind - r. - s. Und - g. Es kann nur eine Aktionsoption angegeben werden. Wenn keine Aktionsoptionen angegeben sind, tut G-Kermit nichts (außer möglicherweise das Drucken seiner Benutzungsnachricht oder das Erstellen einer Datei debug. log). Hier einige Beispiele (in denen die Shell-Eingabeaufforderung steht): Optionen, die keine Argumente verwenden, können mit anderen Optionen gebündelt werden. Eine Option, die ein Argument nimmt, muss immer ein Leerzeichen und dann sein Argument (en) folgen. Beispiele: Der Exit-Status von G-Kermits ist 0, wenn alle Operationen erfolgreich waren und 1 bei Ausfällen. Wenn eine Gruppe von Dateien übertragen wurde, ist der Exit-Status 1, wenn eine oder mehrere Dateien nicht erfolgreich übertragen wurden und 0, wenn alle erfolgreich übertragen wurden. - r RECEIVE: Diese Option gibt G-Kermit an, eine Datei oder Dateien zu empfangen, die passiv darauf warten, dass Dateien von Ihrem Terminalemulator gesendet werden. - s fn SEND: G-Kermit sendet die von fn angegebene Datei oder Dateien. Der ein Dateiname, ein regulärer Ausdruck oder eine Liste von Dateinamen und / oder regulären Ausdrücken (Wildcards) sein kann. Regelmäßige Ausdrücke werden interpretiert und durch Ihre Shell in die Liste der Namen von Dateien, die G-Kermit gegeben wird erweitert. Beispielsweise erweitert sich. c auf eine Liste aller Dateien im aktuellen Verzeichnis, deren Namen mit. c enden. - g fn GET: Diese Option teilt G-Kermit mit, eine Datei (oder Dateien) von einem Kermit-Server abzurufen. Es ist nur nützlich, wenn Ihr Terminalemulator die Kermit-Autodownloadfunktion unterstützt und es einen Kermit-Server-Modus enthält. Es ist äquivalent zu gkermit - r, escaping zurück, sagen, dass Ihre Terminal-Emulator, um die angegebenen Dateien zu senden, und dann wieder Verbindung zu Unix. - a fn AS-NAME: Bei Verwendung mit - s. Diese Option weist G-Kermit an, die Datei zu senden, deren Name als erstes - s-Argument unter dem Namen fn angegeben wird. Zum Beispiel, gkermit - s Spiel-eine Arbeit sendet die Datei namens Spiel unter dem Namen Arbeit, so dass der Empfänger denke, sein Name ist Arbeit. Wenn sie mit dem Befehl - r oder - g angegeben wird, wird die eingehende Datei (oder die erste eingehende Datei, wenn mehr als eine Datei vorhanden ist) unter dem Namen fn gespeichert. In allen Fällen wird der Vorname verwendet, da er nicht konvertiert wird. - i IMAGE (Binär) - Modus übertragen. Bei Verwendung mit - s. G-Kermit, um den Binärmodus zu senden. Bei Verwendung mit - r. Weist G-Kermit an, im Binärmodus zu empfangen, wenn der Datei-Sender den Übertragungsmodus (Text oder Binär) nicht spezifiziert. Bei Verwendung mit - g. Sagt G-Kermit, Ihre Terminal-Emulatoren Kermit zu bitten, die angegebene Datei im Binärmodus zu senden. Siehe Abschnitt 6 für weitere Einzelheiten. - T TEXT-Modus-Übertragung (beachten Sie Großbuchstaben T). Bei Verwendung mit - s. G-Kermit sendet im Textmodus. Bei Verwendung mit - r. Weist G-Kermit an, im Textmodus zu empfangen, wenn der Datei-Sender den Übertragungsmodus (Text oder binär) nicht spezifiziert. Bei Verwendung mit - g. Sagt G-Kermit, Ihre Emulatoren Kermit zu bitten, die angegebene Datei im Textmodus zu senden. Siehe Abschnitt 6 für weitere Einzelheiten. - P PATH (Dateiname) Umwandlung deaktiviert (beachten Sie Großbuchstaben P). Normalerweise wandelt G-Kermit Dateinamen in ein Formular um, das für Nicht-Unix-Plattformen akzeptabel sein sollte, in erster Linie Kleinbuchstaben in Großbuchstaben umzuwandeln, sicherzustellen, dass es nicht mehr als eine Periode gibt und alle lustigen Zeichen durch X oder Unterstrich ersetzt werden In Abschnitt 8). - w WRITEOVER. Wenn Sie empfangen und eine eingehende Datei denselben Namen wie eine vorhandene Datei hat, schreiben Sie über die vorhandene Datei. Standardmäßig sichert G-Kermit die vorhandene Datei durch Hinzufügen eines Suffixes zu seinem Namen (siehe Abschnitt 9). - K KEEP unvollständig empfangenen Dateien. Normalerweise, wenn Dateien empfangen und eine Dateiübertragung unterbrochen wird, verwirft G-Kermit die teilweise empfangene Datei, so dass Sie nicht denken, Sie haben die gesamte Datei. Include - K auf der Befehlszeile, um G-Kermit zu sagen, um teilweise empfangene Dateien zu halten, z. B. Gkermit - Kr. - px PARITÄT: Benutzen Sie die gegebene Paritätsart, wobei x für n (nein) für Space, e für Even, o für Odd und m für Mark n (die Standardeinstellung für 8-Bit-Clean-Verbindungen) ist . S auf bestimmten Telnet-Verbindungen benötigt werden e, o und m sind nur für serielle Verbindungen, die sie nicht auf TCP / IP-Verbindungen versuchen. - en PACKET LENGTH: Empfangen Sie Paketlänge, wobei n eine beliebige Zahl zwischen 40 und 9000 sein kann. Die Standardlänge auf den meisten Plattformen beträgt 4000. Verwenden Sie diese Option, um eine andere Länge anzugeben, die normalerweise nur erforderlich ist, wenn Übertragungen mit dem Standardwert fehlschlagen Länge aufgrund einer Art von Pufferungsproblem in dem Host oder entlang des Kommunikationspfades. Beispiel: gkermit - e 240 - r. - b n TIMEOUT (sec, 0 keine). Geben Sie die Anzahl der Sekunden an, die auf ein Paket warten, bevor das Zeitlimit überschritten wird. Standardmäßig verwendet G-Kermit das Zeitlimitintervall, das Ihre Terminalemulatoren von Kermit anfordern. Dies muss nicht geändert werden, es sei denn, die Timeout-Aktion verursacht Probleme. - X XON / XOFF. Erzwingen Sie die Xon / Xoff-Flusskontrolle im Unix-Terminaltreiber. Versuchen Sie dies, wenn Uploads ohne es ausfallen. Aber nicht verwenden, wenn Sie nicht brauchen, um auf einigen Plattformen oder Verbindungen tut es weh, anstatt hilft. --x Dont Xon / Xoff verwenden, wenn G-Kermit mit der SETXONXOFF-Kompilierzeit-Option (Abschnitt 12) erstellt wurde, um die automatische Einstellung von Xon / Xoff zu überschreiben, falls es mit Dateiübertragungen interferiert. - S STREAMING deaktiviert. Streaming ist eine Hochleistungsoption, die für zuverlässige Verbindungen verwendet wird, z. B. in Telnet - oder Rlogin-Sessions. Es wird verwendet, wenn Ihre Terminal-Emulatoren Kermit es anfordert. Verwenden Sie die Option - S (Hinweis: Großbuchstaben S), um diese Funktion zu unterdrücken, falls dies zu Problemen führt. Details in Abschnitt 10. - X EXTERNES PROTOKOLL. Fügen Sie diese Option beim Aufrufen von G-Kermit von einem anderen Programm ein, das G-Kermits-Standard-I / O umleitet, z. B. Über eine Verbindung zu einem anderen Computer. Wenn Sie diesen Schalter bei Verwendung von G-Kermit als externes Protokoll für ein anderes Kommunikationsprogramm weglassen, wird es wahrscheinlich, dass G-Kermit illegale Operationen ausführt und vorzeitig beendet. Wenn Sie diesen Schalter einschließen, wenn G-Kermit NICHT ein externes Protokoll zu einem anderen Programm ist, schlagen Filetransfers fehl. G-Kermit hat keine Möglichkeit, automatisch zu bestimmen, ob es als externes Protokoll verwendet wird. - q QUIET. Unterdrückt Nachrichten. - d DEBUG. Verwenden Sie diese für die Fehlersuche. Es wird eine Datei namens debug. log in Ihrem aktuellen Verzeichnis erstellt, in Verbindung mit dem Quellcode verwendet oder an die Kermit-Supportadresse zur Analyse gesendet. Mehr dazu in Abschnitt 11. - d fn DEBUG zur angegebenen Datei (anstelle von default ./debug. log). - h HELP: Zeigt die oben gezeigte Nutzungsnachricht an. Sie können Optionen für G-Kermit in der Befehlszeile oder über die Umgebungsvariable GKERMIT bereitstellen, die alle gültigen Befehlszeilenoptionen von gkermit enthalten können. Diese werden vor den eigentlichen Befehlszeilenoptionen verarbeitet und können daher von ihnen überschrieben werden. Beispiel für bash oder ksh, die Sie in Ihr Profil einfügen können, wenn Sie immer unvollständige Dateien unterdrücken, das Streaming unterdrücken, Nachrichten unterdrücken und Space-Parität verwenden möchten: Die G-Kermits-Optionen sind mit C-Kermits kompatibel. P (nur in C-Kermit ab Version 7.0 verfügbar) - K (wird derzeit nicht in C-Kermit verwendet) - b (wird in C-Kermit für die Geschwindigkeit des seriellen Gerätes verwendet) - S (wird in C-Kermit verwendet, um eine interaktive Eingabeaufforderung zu erzwingen ) - x (wird in C-Kermit zum Starten des Server-Modus verwendet) --x (wird derzeit nicht in C-Kermit verwendet) - X (wird derzeit nicht in C-Kermit verwendet) Um Dateien mit G-Kermit zu übertragen, müssen Sie über eine Terminal-Emulator auf das Unix-System, in dem G-Kermit installiert ist, dh Sie sind auf Unix online und haben Zugriff auf die Shell-Eingabeaufforderung (oder auf ein Menü, das eine Option zum Aufrufen von G-Kermit hat) und Ihr Terminalemulator muss das Kermit unterstützen Dateiübertragungsprotokoll. Die Verbindung kann seriell (direkt oder wählbar) oder Netzwerk (Telnet, Rlogin, X.25, usw.) sein. Senden von Dateien Wenn Sie G-Kermit anweisen, eine Datei (oder Dateien) zu senden, z. B. Mit: es pausiert für eine Sekunde und sendet dann sein erstes Paket. Was als nächstes geschieht, hängt von den Fähigkeiten Ihres Terminalemulators ab: Wenn Ihr Emulator Kermit autodownloads unterstützt, dann empfängt er die Datei automatisch und bringt Sie zurück in den Terminalschirm, wenn getan. Andernfalls müssen youll nehmen, was Aktion von Ihrem Emulator benötigt wird, um seine Aufmerksamkeit zu bekommen: eine Maus Aktion, ein Tastenanschlag wie Alt - x. Oder eine Zeichensequenz wie Strg - oder Strg - gefolgt von dem Buchstaben c (dies wird als Escaping zurück bezeichnet) und dann sagen, dass es die Datei zu empfangen. Wenn die Übertragung abgeschlossen ist, müssen Sie möglicherweise Ihren Emulator anweisen, zum Terminal-Bildschirm zurückzukehren. Während der Dateiübertragung stellen die meisten Terminalemulatoren eine Art der laufenden Anzeige des Dateiübertragungsfortschritts bereit. Empfangen von Dateien Wenn Sie G-Kermit an RECEIVE weiterleiten, müssen Sie diese zurück zu Ihrem Terminalemulator entweichen und sie anweisen, die gewünschte Datei (en) zu senden. Autodownload ist in diesem Fall nicht wirksam. Wenn die Übertragung abgeschlossen ist, müssen Sie Ihren Emulator anweisen, zu seinem Terminalbildschirm zurückzukehren. Dateien abrufen Wenn Ihr Terminalemulator Kermit autodownloads AND server mode unterstützt, können Sie GET (gkermit - g files.) Anstelle von RECEIVE (gkermit - r) verwenden und der Rest geschieht automatisch, sobald G-Kermit sendet. G-Kermit unterstützt Datei - und Gruppenunterbrechungen. Die Methode zum Unterbrechen einer Übertragung hängt von Ihrem Terminalemulator ab. Wenn zum Beispiel die Dateiübertragungsanzeige aktiv ist, können Sie den Buchstaben x eingeben, um die aktuelle Datei abzubrechen, und gehen Sie zum nächsten (falls vorhanden) und dem Buchstaben z, um die Gruppe abzubrechen. Oder gibt es Knöpfe, die Sie mit der Maus klicken können. Wenn sich G-Kermit im Paketmodus befindet und Ihr Terminal-Emulator sich in seinem Terminalbildschirm befindet, können Sie auch drei (3) Strg-C-Zeichen in einer Reihe eingeben, um G-Kermit zu beenden und die normalen Terminalmodi wiederherzustellen. Beim Senden von Dateien im Binärmodus sendet G-Kermit jedes Byte genau so, wie es in der Datei erscheint. Dieser Modus eignet sich für Programm-Binärdateien, Grafikdateien, tar-Archive, komprimierte Dateien, etc. und ist G-Kermits Standard-Datei-Transfer-Modus beim Senden. Beim Empfang von Dateien im Binärmodus kopiert G-Kermit einfach jedes Byte auf die Festplatte. (Offensichtlich werden die Bytes für die Übertragung codiert, aber die Codierungs - und Decodierungsprozeduren geben eine Kopie der Originaldatei nach der Übertragung an.) Beim Senden von Dateien im Textmodus konvertiert G-Kermit das Aufzeichnungsformat zu dem gemeinsamen, das für das Kermit definiert ist Protokoll, nämlich Zeilen, die durch Wagenrücklauf und Zeilenvorschub (CRLF) terminiert sind, wandelt der Empfänger die CRLFs in eine beliebige Zeilenende - oder Aufzeichnungsformat-Konvention auf ihrer Plattform um. Beim Empfangen von Dateien im Textmodus legt G-Kermit einfach den Wagenrücklauf ab, wobei nur ein Zeilenvorschub am Ende jeder Zeile bleibt, was die Unix-Konvention ist. Beim Empfang von Dateien überwiegt der Absender-Übertragungsmodus (Text oder binär), wenn der Absender diese Informationen an G-Kermit in einem Kermit-Dateiattributpaket weitergibt, was natürlich davon abhängt, ob das Terminalemulatoren-Kermit-Protokoll diese Funktion besitzt. Andernfalls wird, wenn Sie eine Option - i oder - T in der Befehlszeile von gkermit angegeben haben, der entsprechende Modus verwendet, ansonsten wird der Standardmodus (binär) verwendet. Des Weiteren können G-Kermit und Ihre Terminalemulatoren Kermit, wenn sie senden oder empfangen, einander über ihren Betriebssystemtyp informieren (Unix im Fall G-Kermits). Wenn Ihr Emulator diese Fähigkeit, die als automatische Peer-Erkennung bezeichnet wird, unterstützt und G-Kermit darüber informiert, dass seine Plattform auch Unix ist, wechseln G-Kermit und die Emulatoren Kermit automatisch in den Binärmodus, da hier keine Aufzeichnung-Formatumsetzung erforderlich ist Fall. Die automatische Peer-Erkennung wird automatisch deaktiviert, wenn Sie die Option - i (Bild) oder - T (Text) enthalten. Beim Senden sendet G-Kermit alle Dateien im gleichen Modus, Text oder Binärdatei. Es gibt keine automatische Umschaltung pro Datei. Beim Empfangen erfolgt jedoch eine automatische Umschaltung auf Basis der eingehenden Attribut-Pakete, falls irgendwelche (weiter unten erklärt), die jede Datei begleiten. Wenn der Datei-Sender zwischen den Dateien wechselt, folgt G-Kermit. Beim SENDEN einer Datei erhält G-Kermit die Dateinamen von der Befehlszeile. Es hängt von der Shell zu erweitern Metazeichen (Wildcards und Tilde). G-Kermit verwendet den vollständigen Pfadnamen, der angegeben wird, um die Datei zu finden und zu öffnen, aber dann den Pfadnamen, bevor der Name an den Empfänger gesendet wird. Zum Beispiel: Ergebnisse in einer ankommenden Datei namens HOSTS oder Hosts (der Verzeichnis-Teil, / etc /, wird im nächsten Abschnitt über Kapitalisierung entfernt). Wenn jedoch ein Pfadname in der Option - a enthalten ist, wird der Verzeichnisteil nicht gestrippt: Dieses Beispiel sendet die Datei / etc / hosts, teilt dem Empfänger jedoch mit, dass sein Name / tmp / hosts ist. Was der Empfänger mit dem Pfadnamen tut, ist natürlich bis zu dem Empfänger, der verschiedene Optionen für den Umgang mit eingehenden Pfadnamen haben könnte. Wenn RECEIVING eine Datei enthält, leitet G-Kermit den Pfadnamen NICHT ab, da eingehende Dateien normalerweise keinen Pfadnamen enthalten, es sei denn, Sie haben Ihrem Endgerät mitgeteilt, dass sie diese enthalten oder bei der Versendung an G-Kermit einen as-name mit einem Pfad angeben. Wenn der eingehende Dateiname einen Pfad enthält, versucht G-Kermit, die Datei an der angegebenen Stelle zu speichern. Wenn der Pfad nicht vorhanden ist, schlägt die Übertragung fehl. Der eingehende Dateiname kann natürlich mit der Option - a ersetzt werden. Beim Senden einer Datei konvertiert G-Kermit normalerweise ausgehende Dateinamen in allgemeines Format: Großbuchstaben, nicht mehr als eine Periode und keine lustigen Zeichen. So würde zum Beispiel gkermit. tar. gz als GKERMITTAR. GZ gesendet werden. Beim Empfang einer Datei, wenn der Name Großbuchstaben ist, konvertiert G-Kermit es in Kleinbuchstaben. Wenn der Name alle Kleinbuchstaben enthält, lässt G-Kermit den Namen allein. Andernfalls akzeptiert G-Kermit Dateinamen-Zeichen, wie sie sind, da Unix Dateinamen erlaubt, praktisch alle Zeichen enthalten. Wenn die automatische Peer-Erkennung im Terminalemulator verfügbar ist und G-Kermit die Emulatorenplattform als Unix erkennt, deaktiviert G-Kermit automatisch die Dateinamenumwandlung und sendet und akzeptiert Dateinamen wörtlich. Sie können literale Dateinamen erzwingen, indem Sie die Option - P in der Befehlszeile einfügen. Wenn G-Kermit eine Datei empfängt, deren Name die gleiche wie die einer existierenden Datei ist, sichert G-Kermit die vorhandene Datei, indem sie ihr eigenes Suffix hinzufügt. Das Suffix ist. , Wobei n eine Zahl zwischen 1 und 999 ist. Dies ist die gleiche Art von Backup-Suffix von GNU EMACS und C-Kermit (beide können verwendet werden, um überschüssige Backup-Dateien beschneiden). Aber da G-Kermit keine Verzeichnisse (siehe Implementierungshinweise) liest, kann es nicht garantieren, dass die gewählte Nummer höher ist als jede andere Backup-Präfix-Nummer für dieselbe Datei. Tatsächlich wird die erste freie Zahl, ausgehend von 1, gewählt. Wenn eine eingehende Datei bereits über ein Sicherungssuffix verfügt, wird es von G-Kermit vor dem Hinzufügen einer neuen gelöscht, anstatt eine Datei zu erstellen, die über zwei Sicherungssuffixe verfügt. Um die Sicherungsfunktion zu besiegen und eingehende Dateien bestehende Dateien mit demselben Namen zu überschreiben, müssen Sie die Option - w (writeover) in der Befehlszeile einfügen. Wenn G-Kermit nicht die Option - w erhalten hat und keine Sicherungsdatei erstellt werden kann, schlägt die Übertragung fehl. Blockprüfung G-Kermit verwendet standardmäßig den 3-Byte-, 16-Bit-CRC. Wenn das andere Kermit nicht übereinstimmt, werden beide Kermits automatisch auf die Einzelbyte-6-Bit-Prüfsumme heruntergefahren, die für alle Kermit-Implementierungen erforderlich ist. Attribute Beim Senden von Dateien vermittelt G-Kermit den Dateiübertragungsmodus und die Dateigröße in Byte an den Empfänger in einem Attribut (A) - Paket, wenn die Verwendung von A-Paketen ausgehandelt wurde. Dies ermöglicht es dem Empfänger, automatisch auf den entsprechenden Modus umzuschalten und den Prozentwert, die verbleibende Zeit, und / oder eine Thermometerbar anzuzeigen, wenn er diese Fähigkeit besitzt. Beim Empfang schaut G-Kermit im eingehenden A-Paket, falls vorhanden, für den Transfermodus (Text oder Binär) und schaltet sich entsprechend pro Datei um. Handhabung des achten Bits G-Kermit behandelt normalerweise das 8. Bit jedes Bytes als normales Datenbit. Wenn Sie jedoch eine 7-Bit-Verbindung haben, schlagen Übertragungen von 8-Bit-Dateien fehl, es sei denn, Sie sagen einem oder beiden Kermits, die entsprechende Parität zu verwenden. In diesem Fall verwendet Kermit Single-Shift-Escaping für 8-Bit-Bytes. In der Regel erzählt, entweder Kermit ist ausreichend es sagt der andere. Verwenden Sie die Option - p, um G-Kermit mitzuteilen, welche Parität verwendet werden soll. Locking Shifts sind nicht in G-Kermit enthalten. Control-Character Encoding G-Kermit entzieht beim Senden alle Steuerzeichen (z. B. Ctrl-A wird A). Beim Empfang akzeptiert es sowohl escaped als auch blanke Steuerzeichen, einschließlich NUL (0). However, unescaped control characters always present a danger, so if uploads to G-Kermit fail, tell your terminal emulators Kermit to escape most or all control characters (in C-Kermit and Kermit 95 the command is SET PREFIXING CAUTIOUS or SET PREFIXING ALL). Packet Length All legal packet lengths, 40-9000, are supported although a lower maximum might be imposed on platforms where it is known that bigger ones dont work. When receiving, G-Kermit sends its receive packet length to the sender, and the sender must not send packets any longer than this length. The default length for most platforms is 4000 and it may be overridden with the - e command-line option. Sliding Windows G-Kermit does not support sliding windows. Streaming is used instead. If the other Kermit bids to use sliding windows, G-Kermit declines. Streaming If the terminal emulators Kermit informs G-Kermit that it has a reliable connection (such as TCP/IP or X.25), and the emulators Kermit supports streaming, then a special form of the Kermit protocol is used in which data packets are not acknowledged this allows the sender to transmit a steady stream of (framed and checksummed) data to the receiver without waiting for acknowledgements, allowing the fastest possible transfers. Streaming overcomes such obstacles as long round trip delays, unnecessary retransmissions on slow network connections, and most especially the TCP/IP Nagle and Delayed ACK heuristics which are deadly to a higher-level ACK/NAK protocol. When streaming is in use on a particular connection, Kermit speeds are comparable to FTP. The drawback of streaming is that transmission errors are fatal thats why streaming is only used on reliable connections, which, by definition, guarantee there will be no transmission errors. However, watch out for the relatively rare circumstance in which the emulator thinks it has a reliable connection when it doesnt -- for example a Telnet connection to a terminal server, and a dialout from the terminal server to the host. Use the - S option on the command line to defeat streaming in such situations. Using all defaults on a TCP/IP connection on 10BaseT (10Mbps) Ethernet from a modern Kermit program like C-Kermit 7.0 or Kermit 95, typical transfer rates are 150-1000Kcps, depending on the speed of the two computers and the network load. If file transfers fail: Make sure your terminal emulator is not unprefixing control characters various control characters might cause trouble along the communication path. When in doubt, instruct the file sender to prefix all control characters (e. g. SET PREFIXING ALL). Make sure your Unix terminal is conditioned for the appropriate kind of flow control. Use command-line options to back off on performance and transparency use - S to disable streaming, - e to select a shorter packet length, - p to select space or other parity, - b to increase or disable the timeout, and/or establish the corresponding settings on your emulator. When receiving files in text mode, G-Kermit strips all carriage returns, even if they arent part of a CRLF pair. If you have a TCP/IP connection (e. g. Telnet or Rlogin) to Unix from a terminal emulator whose Kermit protocol does not support streaming, downloads from G-Kermit are likely to be as much as 10 or even 100 times slower than uploads if the TCP/IP stack engages in Nagle or Delayed ACK heuristics typically, when your terminal emulators Kermit protocol sends an acknowledgment, the TCP stack holds on to it for (say) 1/5 second before sending it, because it is too small to send right away. As noted in Section 9. the backup prefix is not guaranteed to be the highest number. For example, if you have files oofa. txt . oofa. txt. in your directory, and a new oofa. txt file arrives, the old oofa. txt is backed up to oofa. txt. . rather than oofa. txt. as you might expect. This is because gkermit lacks directory reading capabilities, for reasons noted in Section 14. and without this, finding the highest existing backup number for a file is impractical. If you send a file to G-Kermit with streaming active when the connection is not truly reliable, all bets are off. A fatal error should occur promptly, but if huge amounts of data are lost, G-Kermit might never recognize a single data packet and therefore not diagnose a single error yet your terminal emulator keeps sending packets since no acknowledgments are expected the transfer eventually hangs at the end of file. Use - S on G-Kermits command line to disable streaming in situations where the terminal emulator requests it in error. You can use G-Kermits debug log for troubleshooting this is useful mainly in conjunction with the source code. But even if you arent a C programmer, it should reveal any problem in enough detail to help pinpoint the cause of the failure. gkermit - d (with no action options) writes a short debug. log file that shows the build options and settings. The debug log is also a packet log to extract the packets from it, use: Packets in the log are truncated to avoid wrap-around on your screen, and they have the Ctrl-A packet-start converted to and A to avoid triggering a spurious autodownload when displaying the log on your screen. In certain circumstances it is not desirable or possible to use - d to create a log file called debug. log in the current directory for example, if you dont have write access to the current directory, or you already have a debug. log file that you want to keep (or transfer). In this case, you can include a filename argument after - d: (This is an exception to the rule that option arguments are not optional.) If all else fails, you can contact the Kermit Project for technical support see: G-Kermit is written to require the absolute bare minimum in system services and C-language features and libraries, and therefore should be portable to practically any Unix platform at all with any C compiler. The source files are: A simple makefile is provided, which can be used with make or gmake. There are three main targets in the makefile: posix Build for any POSIX.1 compliant platform (termios). This is the default target, used if you type make (or gmake) alone. This target works for most modern Unixes, including GNU/Linux, FreeBSD, OpenBSD, NetBSD, BSDI, HP-UX, Solaris, SunOS, Unixware, AIX, etc. sysv Build for almost any AT38T System V platform (termio). Examples include AT38T Unix releases, e. g. for the AT38T 7300, HP-UX versions prior to 7.00. bsd Build for any BSD (pre-4.4) or Unix V7 platform (sgtty). Examples include NeXTSTEP 3.x, OSF/1, Ultrix-11, and 4.3BSD or earlier. Note that the target names are all lowercase posix is the default target (the one used if you just type make). If the build fails with a message like: then try make sysv or make bsd. See the build list below for examples. Some special build targets are also provided: sysvx Like sysv but uses getchar() / putchar() for packet i/o rather than buffered nonblocking read() / write() this is necessary for certain very old System V platforms (see description of USEGETCHAR below). stty When none of the other targets compiles successfully, try this one, which runs the external stty program rather than trying to use API calls to get/set terminal modes ( system(stty raw - echo) and system(stty - raw echo) ). Several maintenance/management targets are also included: clean Remove object and intermediate files. install Install gkermit (read the makefile before using this). uninstall Uninstall gkermit from wherever make install installed it. The default compiler is cc. To override (e. g. to force the use of gcc on computers that have both cc and gcc installed, or that dont have cc), use: No other tools beyond make, the C compiler and linker, a short list of invariant header files, and the standard C library are needed or used. The resulting binary should be 100K or less on all hardware platforms (and 64K or less on most see list below). You may also specify certain build options by including a KFLAGS clause on the make command line, e. g. By default, nonblocking buffered read() is used for packets this technique works on most platforms but other options -- USEGETCHAR and DUMBIO -- are provided when it doesnt work or when nonblocking i/o is not available. The build options include: STDC Include this when the compiler requires ANSI prototyping but does does not define STDC itself. Conversely, you might need to include - USTDC if the compiler defines STDC but does not support minimum ANSI features. ULONGlong Include this if compilation fails with unknown type: unsigned long. CHARchar Include this if compilation fails with unknown type: unsigned char. SMALL Define this when building on or for a small platform, for example a 16-bit architecture. USEGETCHAR Specifies that packet i/o should be done with (buffered) getchar() and putchar() rather than the default method of nonblocking, internally buffered read() and write() . Use this only when G-Kermit does not build or run otherwise, since if the default i/o code is not used, G-Kermit wont be able to do streaming. DUMBIO Specifies that packet i/o should be done with blocking single-byte read() and write() . Use this only when G-Kermit doesnt build or run, even with USEGETCHAR. MAXRP nnn Change the maximum receive-packet length to something other than the default, which is about 9000. You should change this only to make it smaller making it bigger is not supported by the Kermit protocol. DEFRP nnn Change the default receive packet length to something other than the default, which is 4000. Making it any bigger than this is not advised. TINBUFSIZ nnn On builds that use nonblocking buffered read() . override the default input buffer size of 4080. SETXONXOFF On some platforms, mainly those based on System V R4 and earlier, it was found that receiving files was impossible on TCP/IP connections unless the terminal driver was told to use Xon/Xoff flow control. If downloads work but uploads consistently fail (or fail consistently whenever streaming is used or the packet length is greater than a certain number like 100, or 775), try adding this option. When gkermit is built with this option, it is equivalent to the user always giving the - x option on the command line. (Most versions of HP-UX need this it is defined automatically at compile time if hpux is defined.) SIGV The data type of signal handlers is void. This is set automatically for System V and POSIX builds. SIGI The data type of signal handlers is int. This is set automatically for BSD builds. NOGETENV Add this to disable the feature in which G-Kermit gets options from the GKERMIT environment variable. NOSTREAMING Add this to disable streaming. EXTRADEBUG This adds a lot (a LOT) of extra information to the debug log regarding packet and character-level i/o. FULLPACKETS Show full packets in the debug log rather than truncating them. Any compiler warnings should be harmless. Examples include: Passing arg 2 of signal from incompatible pointer (or Argument incompatible with prototype): Because no two Unix platforms agree about signal handlers. Harmless because the signal handler does not return a value that is used. We dont want to open the door to platform-specific ifdef s just to silence this warning. However, you can include - DSIGI or - DSIGV on the CC command line to override the default definitions. blah declared but never used: Some function parameters are not used because they are just placeholders or compatibility items, or even required by prototypes in system headers. Others might be declared in system header files (like mknod, lstat, etc, which are not used by G-Kermit). Do you mean equality: No, in while ((c s)) the assignment really is intentional. Condition is always true: Yes, while (1) is always true. Flow between cases: Intentional. No flow into statement: In gproto. c . because it is a case statement generated by machine, not written by a human. The coding conventions are aimed at maximum portability. For example: Only relatively short identifiers. No long character-string constants. Only ifdef . else . endif . define . and undef preprocessor directives. Any code that uses ANSI features is enclosed in ifdef STDC. endif . No gmake-specific constructs in the makefile. Here are some sample builds: make posix builds without complaint on OSF/1 (Digital UNIX (Tru64)) but it doesnt work -- i/o hangs or program dumps core. make bsd works fine. POSIX APIs not available in this antique OS (circa 1983). Also due to limited terminal input buffering capacity, streaming must be disabled and relatively short packets must be used when receiving: gkermit - Se 250 - r. However, it can use streaming when sending. POSIX APIs not available. Include KFLAGS-DSIGV if you get a lot of warnings about signal() . On System V R3 and earlier, EWOULDBLOCK is not defined, so we use EGAIN instead. No special build procedures needed. Built with make - i KFLAGS-DDEFRP512 - DUSEGETCHAR sysv . It can be built without - DUSEGETCHAR but doesnt work. Use make CCcc - Ml KFLAGS-DUSEGETCHAR sysv . It builds but doesnt work, reason unknown, but probably because it was never designed to be accessed remotely in the first place. This is a 16-bit architecture. A special makefile target is needed because its make program does not expand the (CC) value when invoking second-level makes. Packet and buffer sizes are reduced to keep static data within limits. Overlays are not needed. Identifiers must be unique within the first 7 characters. Unfortunately, there is a conflict in gproto. w between streamon() and streamok . Build with make bsd211 KFLAGS-Dstreamonstrmon - DULONGlong - DSMALL . This was on a PDP-11/23 without ID space. - DSMALL might not be necessary with ID space. When using, disable streaming and use shorter-than-usual packets. The makefile creates a binary called gkermit. Simply move this binary to the desired directory, such as /usr/local/bin. It needs no special permissions other than read, write, and execute for the desired users and groups: no setuid, no setgid, or any other form of privilege. DO NOT give SETUID or SETGID privilege to G-Kermit. G-Kermit is not a dialout program. It does not access serial devices or UUCP lockfiles, and it does not do real/effective ID switching. If you give it SETUID or SETGID privilege, this will open restricted files and directories to users who otherwise do not have access, and incoming files will be created with the wrong owner and/or group. The executable should be called gkermit and not kermit, since kermit is the binary name for C-Kermit, and the two are likely to be installed side by side on the same computer even when they are not, consistent naming is better for support and sanity purposes. There is also a short man page: You can view it with: Rename and store it appropriately so users can access it with man gkermit. In addition, the README should be made available in a public documentation directory as: The makefile includes a sample install target that does all this. Please read it before use to be sure the appropriate directories and permissions are indicated. There is also an uninstall target to undo an installation. Obviously you need write access to the relevant directories before you can install or uninstall G-Kermit. A primary objective in developing G-Kermit is that it can be released and used forever without constant updates to account for platform idiosyncracies and changes. For this reason, certain features have been deliberately omitted: File timestamps. The methods for dealing with internal time formats are notoriously unportable and also a moving target, especially now with the 32-bit internal time format rollover looming in 2038 and the timet data type changing out from under us. Furthermore, by excluding any date-handling code, G-Kermit is automatically Y2K, 2038, and Y10K compliant. Internal wildcard expansion, recursive directory traversal, etc. Even after more than 30 years, there is still no standard and portable service in Unix for this. Server mode, because it would require internal wildcard expansion. Hardware flow control, millisecond sleeps, nondestructive input buffer peeking, threads, select() . file permissions, etc etc. Other features are omitted to keep the program small and simple, and to avoid creeping featurism: Sliding windows. This technique is more complicated than streaming but not as fast, and furthermore would increase the program size by a factor of 5 or 10 due to buffering requirements. An interactive command parser and scripting language (because users always want more and more commands and features). Character set conversion (because users always want more and more character sets). Adding character set support would increase the program size by a factor of 2 to 4, depending on the selection of sets. Making connections (because this requires huge amounts of tricky and unstable high-maintenance platform - and device-specific code for serial ports, modems, modem signals, network stacks and protocols, etc). Security. Not needed since G-Kermit does not make connections. When G-Kermit is on the far end of a secure connection (Telnet, SSH, Rlogin), the security is handled by the connecting client and the Telnet, SSH, or Rlogin server. All of the above can be found in C-Kermit. which is therefore bigger and more complicated, with more platform-specific code and ifdef spaghetti. C-Kermit requires constant updates and patches to keep pace with changes in the underlying platforms, networking and security methods, and demands from its users for more features. The goal for G-Kermit, on the other hand, is simplicity and stability, so we dont need thousands of ifdef s like we have in C-Kermit, and we dont need to tweak the code every time a new release of each Unix variety comes out. G-Kermit is meant to be PORTABLE and LONG-LASTING so the stress is on a MINIMUM of platform dependencies. If you make changes, please try to avoid adding anything platform-dependent or in any other way destabilizing. Bear in mind that the result of your changes should still build and run successfully on at least all the platforms where G-Kermit was built originally. In any case, you are encouraged to send any changes back to the Kermit Project to be considered for addition to the master G-Kermit distribution. The Kermit protocol is specified in Kermit, A File Transfer Protocol by Frank da Cruz, Digital Press (1987). A correctness proof of the Kermit protocol appears in Specification and Validation Methods. edited by Egon Boerger, Oxford University Press (1995). Using C-Kermit by Frank da Cruz and Christine M. Gianone, Digital Press (1997, or later edition) explains many of the terms and techniques referenced in this document in case you are not familiar with them, and also includes tutorials on data communications, extensive troubleshooting and performance tips, etc. Various other books on Kermit are available from Digital Press. Online resources include: Please read columbia. edu/kermit/support. html before sending e-mail to the tech support address. Install packages are available for the following platforms: gkermit-1.0-1.i386.rpm Red Hat Linux 6.0 and later, Intel (PC) CPU gkermit-1.0-1.5.2.alpha. rpm Red Hat Linux 5.2 and later, Alpha CPU gkermit-1.0-1.alpha. rpm Red Hat Linux 6.0 and later, Alpha CPU gkermit-1.0-1.sparc. rpm Red Hat Linux 6.0 and later, Sparc CPU gkermit-1.0-1.src. rpm Red Hat Linux 6.0 and later, source code The NetBSD packages collection (about 25 different G-Kermit configurations available) gkermitaix432-1000.exe IBM / Bull AIX 4.3.2, Power CPU The AIX version is a self-extracting ZIP archive that produces a bff file that can be installed with smit. Source-code archives are listed just below. If you have a C compiler, you should download the source archive, uncompress if it was compressed or gunzip if it was gzipped, unpack the tar archive with tar xf gku100.tar , and then build from source code as explained in Section 12. If you dont have a C compiler, download the appropriate prebuilt binary, rename it to gkermit, and give it execute permission ( chmod x gkermit ). See Section 13 for installation instructions. Individual binaries are also available for those who need them (contact us if you can make any that are not listed): G-Kermit is especially handy when your UNIX computer has no other file transfer method that you can use. In this case, it is often possible to bootstrap G-Kermit onto your computer because of its small size. Suppose Computer A is a UNIX computer on the Internet, and Computer B is the unconnected computer where you want to install G-Kermit. Download the binary for Computer B to Computer A from the Kermit website, then compress it on computer A, and then uuencode it, for example: This gives a 35K text file having 573 lines. Now use a terminal emulator such as C-Kermit, Kermit 95, or MS-DOS Kermit to make a connection to Computer B, for example by modem or direct serial connection, log in, and then give the commands to enable the appropriate kind of flow control (RTS/CTS or Xon/Xoff) on your login terminal. Then use your terminal emulator (which is set to the same kind of flow control) to transmit (other terminal emulators might say upload with ASCII protocol) the gku100.uue file to Computer B, which has been given a command like: When the upload is finished, type Ctrl-D to Computer B to close the new file and return to the shell prompt, and then: Now you have a file transfer program on computer B. Of course this bootstrapping method is error prone since ASCII is not an error-correcting protocol, so you might have to try several times, perhaps reducing your serial speed. But once gkermit is successfully installed on Computer B, you can use it to transfer files into and out of Computer B to/from any computer that has a Kermit program and that can make a connection to Computer B. You can also use gkermit to receive the larger C-Kermit. which then gives Computer B dialout and scripting capabilities. For those who need to bootstrap G-Kermit from a non-UNIX platform, each G-Kermit binary has been compressed and uuencoded for you. In fact, there is a dot-Z version (compressed with UNIX compress) and a dot-gz version (compressed with GNU gzip), for example: The names correspond to those in the binaries list, but with. Z.uue added for compressed versions and. gz. uue added for gzipd versions. CLICK HERE for FTP access. C - K e r m i t 9. 0 This page last updated: Mon Aug 29 11:51:58 2011 C - K ermit is a combined network and serial communication software package offering a consistent, transport-independent, cross-platform approach to connection establishment, terminal sessions, file transfer, file management, character-set translation, numeric and alphanumeric paging, and automation of file transfer and management, dialogs, and communication tasks through its built-in scripting language. C-Kermit includes: Along with Kermit 95. the fastest and most advanced implementation of the Kermit file transfer protocol available anywhere. A powerful, portable. easy-to-use script programming language to automate all your routine communications tasks. Consistent operation over serial connections (direct or dialed) and network connections mdash on a huge selection of hardware and software platforms. Secure authentication and strong encryption. Built-in scriptable FTP and HTTP clients plus an SSH interface Configurability as an SSH Subsystem Character-set translation in both file transfer and online sessions, for Western - and Eastern-European languages, Cyrillic, Greek, Hebrew, and Japanese, now including Unicode. Ability to send numeric and alphanumeric pages. And lots more -- CLICK HERE for specifications. C-Kermit 9.0 is available for practically every known variation and version of Unix. past and present, on every 32- or 64-bit architecture, and for DEC / Compaq / HP VMS / OpenVMS on VAX, Alpha, and IA64 / IPF. Earlier releases of C-Kermit remain available for other platforms and operating systems: Microsoft Windows and OS/2 (as Kermit 95 ) Data General AOS/VS Stratus VOS Microware OS-9 Plan 9 from Bell Labs The Commodore Amiga The Atari ST 16-bit versions of Unix (e. g. 2.xBSD. Tandy 6000 XENIX ) In Unix, C-Kermit can be thought of as a user-friendly and powerful alternative to cu, tip, minicom, uucp, ftp, ftpd, telnet, ktelnet, rlogin, ssh, find, grep, iconv, recode, expect, wget, sendpage, bc, and to some extent even Lisp, your shell, and/or Perl a single package for both network and serial communications, offering automation, helpfulness, and language features not found in most of the other packages, and with most of the same features available on all its non-Unix platforms (such as VMS), as well as in Kermit 95 on Windows 9x/ME/NT/2000/XP/Vista/7. As of version 9.0 . C-Kermit has an Open Source license, the Revised 3-Clause BSD License . Everybody can use it as they wish for any purpose, including redistribution and resale. It may be included with any operating system where it works or can be made to work, including both free and commercial versions of Unix and Hewlett-Packard (formerly DEC) VMS (OpenVMS). Technical support will be available from Columbia University only through 30 June 2011. C-Kermit 8.0 and 7.0 have a more restrictive license, CLICK HERE to see it. The user manual for C-Kermit 9.0 is (still) the book Using C-Kermit. Second Edition INFO , which is current with C-Kermit 6.0. Features new in subsequent C-Kermit releases are documented in the supplements (see links just below). If you dont have the manual, please order it. It explains step-by-step, with examples and sometimes pictures, how to use C-Kermit: how to make connections, how to troubleshoot connection and file-transfer problems, how to handle character-set translation, how to write script programs, and lots more especially useful since live Kermit software support is no longer available from Columbia University after 30 June 2011. Beginning in 2011, the manual is also available as a Kindle E-Book. Online Information Resources: Kermit script programming tutorial and library C-Kermit 7.0 Manual Supplement C-Kermit 8.0 Manual Supplement C-Kermit 9.0 Manual Supplement TUTORIAL (html) TUTORIAL (pdf) TUTORIAL (nroff manpage) C-Kermit Frequently Asked Questions Kermit Security Reference Telnet Client Reference Internet Kermit Service User Documentation Internet Kermit Service Administrator Documentation General C-Kermit Hints, Tips, Patches Unix C-Kermit Hints and Tips Unix C-Kermit Installation Instructions VMS C-Kermit Hints and Tips VMS C-Kermit Installation Instructions Compilation / Configuration Options Program Logic Manual If there is sufficient demand, an updated edition of the manual can be produced for C-Kermit 9.0. You have many choices for downloading: Source Code in tar, zip, or other archive formats or as separate files: CLICK HERE. Individual Text Files . CLICK HERE. Individual Binaries . CLICK HERE. Install Packages . described just below. Install packages and prebuilt binaries do NOT include C-Kermits security features, due to USA export law. To obtain a version of C-Kermit that includes Kerberos, SSL, TLS, or SRP, you must download the source code and build it yourself. Address complaints to the US Department of Commerce. Install packages are contributed by Linux and BSD distributors, OS vendors, user groups, or users (we dont make them ourselves). The following install packages are presently available for C-Kermit 8.0 and 9.0. Sun Freeware Packages for C-Kermit 9.0 for Solaris 8-10 for SPARC and x86 at sunfreeware (find C-Kermit in the menu on the right). FreeBSD Packages for C-Kermit 9.0 for FreeBSD will appear shortly in the FreeBSD Ports site, communications section, replacing C-Kermit 8.0.211, or will have appeared by the time you read this. Visit the page and search for kermit. (G-Kermit is also there.) NetBSD C-Kermit 9.0 package for NetBSD is here . Debian Linux (all versions) Packages for many architectures (offsite): C-Kermit 9.0 is working its way up through the Debian package collection (Main section) from ldquounstablerdquo to ldquotestingrdquo to ldquostablerdquo. CLICK HERE to find it, wherever it is. It will be labeled 301 or later. Debian Linux 6.0 (Squeeze) C-Kermit 8.0.211 Package Collection Packages for amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, and sparc (offsite): packages. debian. org/squeeze/ckermit in the ldquoNon-Freerdquo section. Sharp Zaurus C-Kermit 8.0.206 ipkg installer ( onsite ): ftp://kermit. columbia. edu/kermit/archives/kermit-8.0.206-arm. ipk CLICK HERE for a general discussion of C-Kermit package making. Note also that the Unix version of C-Kermit includes its own installation procedure, built into the makefile. See Section 5 of the Unix C-Kermit installation guide. You can download C-Kermit 9.0 source and text files directly from the Kermit Project in any of several archive formats by clicking on the following FTP links. The complete archives contain source code, build procedure, license, initialization files, CA certificates, manual page or help topic, initialization files, and plain-text information files extracted from the Web pages listed in the Documentation section. a complete distribution. The text archives contain everything but the source code these can used when you download a prebuilt binary. The size of each archive file in megabytes is shown in each cell. Download with FTP: (Zip archives contain only text files, unzip them with - a or - aa.) Besides those, we also have C-Kermit 7.0 archives for the following platforms that have not been updated since then: ckl197.zip (ftp) ckl197.zip (http) Source code and text files for Stratus VOS . ZIP archive (text files in DOS format) (C-Kermit 7.0). ck9197.zip (ftp) ck9197.zip (http) Source code and text files for Microware OS-9/68k . ZIP archive (text files in DOS format). (C-Kermit 7.0). If you want to monitor the day-to-day progress of C-Kermit development, you can find the current working source code HERE. Source code and text files are also available separately in the kermit/ckermit/ directory. These include files for platforms other than Unix and VMS, such as Stratus VOS, Data General AOS/VS, OS-9, the Amiga, etc. All files in this directory are text files transfer them in text mode. See the ckaaaa. txt file for details. NOTE: The Unix and VMS source files are at 9.0 level. The VOS, Amiga, OS-9, and AOS/VS versions remain at 7.0 level. Others (Macintosh, Atari ST) have not yet been updated in a long while due to lack or programmers and/or platforms volunteers welcome. And of course anybody interested in porting C-Kermit to new platforms is more than welcome to contact us about it well be happy to get you started. Make a fresh directory and cd to it. Example: If you downloaded a compressed tar file, uncompress it. Examples: If you downloaded a tar archive, un-tar it. Example: If you downloaded a Zip archive, unzip it. Example: Now you can delete the tar archive (or zip archive) if you wish: Read the comments at the top of the makefile to find out which target is appropriate for your computer and operating system, and then give the appropriate make command. Examples: Quick install: move the resulting wermit binary to /usr/local/bin/kermit and give it the same owner, group, and permissions as minicom or cu. Move the ckuker. nr to the appropriate man page directory and rename it as appropriate, e. g. to kermit.1 . For more detailed instructions, read the C-Kermit installation instructions. especially if you had trouble with any of these steps, or if you will be using C-Kermit to dial out. The most convenient way to install is to the use makefiles install target (make install) read about it HERE. See the configuration options guide for information about compile-time options for customizing the feature set. You can also download individual Unix binaries from the C-Kermit binaries table. but to avoid library or other version mismatches, it is better to build from source code if you can. VMS Build Instructions If you want to install a prebuilt VMS binary . then fetch the most appropriate VMS binary from the C-Kermit binaries table. Pick a VAX binary for a VAX or an Alpha binary for an Alpha. The VMS version number for the binary must be less than or equal to your VMS version. If you want to make TCP/IP connections, pick the binary for the appropriate TCP/IP product (TGV Multinet, DEC UCX, Process Software TCPware, etc), again with a version number less than or equal to yours if none can be found, then try a UCX version (since most non-DEC TCP products include built-in UCX emulation). If you downloaded a prebuilt binary, also download the VMS C-Kermit text-file archive. Then read the installation instructions for VMS. If you want to build from source code . fetch the VMS complete archive above if you have VMS-based unpacking tools, otherwise get the source files and text individually as described just below. NOTE: Unzip the Zip file with unzip - a . Make a fresh directory and SET DEFAULT to it. Example: Unpack the Zip archive. Example: Run the build procedure . If you have a pre-5.0 VMS release, use the old build procedure: This makes a WERMIT. EXE file in your current directory. Start it with: To install the version of Kermit you have just built, read the installation instructions. The C-Kermit binaries table is HERE. Before visiting the table, you should read this section. When you download a prebuilt-Kermit binary, you should also download the C-Kermit text files. unpack them if necessary, and install them as desired. NOTE: In Unix, you can still use make install , even if if you did not use the makefile to build your Kermit binary (the makefile as well as all the text files you need are in the text archive). In the binaries table, filenames start with ck for C-Kermit, then one letter or digit to indicate the platform (u for Unix, d for Data General AOS/VS, v for VMS, i for Amiga, 9 OS-9, p for Plan 9, etc). After that comes a three-digit edit number: 188: Version 5A(188) . November 1992 through September 1993. 189: Version 5A(189) . September 1993 through October 1994. 190: Version 5A(190) . October 1994 through September 1996. 192: Version 6.0.192 . September 1996 through December 1999. 193: Version 6.1.193 . November 1996 through June 1998. 194: Version 6.1.194 . June 1998 through December 1998. 195: Version 7.0.195 . January 1999 through August 1999. 196: Version 7.0.196 . September 1999 through final release 1 Jan 2000. 197: Version 7.0.197 . January-February 2000. 200: Version 8.0.200 . December 2001. 201: Version 8.0.201 . February 2002. 206: Version 8.0.206 . October 2002. 208: Version 8.0.208 . 14 March 2003. 209: Version 8.0.209 . 17 March 2003. 211: Version 8.0.211 . 10 April 2004. 300: Version 9.0.300 . 30 June 2011. 301: Version 9.0.301 . 11 July 2011. 302: Version 9.0.302 . 20 August 2011. Then a possible test-version designator: a for Alpha or b for Beta, followed by the 2-digit test number. Examples: Test versions are included here only for platforms that do not have a final build available (usually because the machine disappeared or had an OS upgrade before the final C-Kermit release). Note that edits 193, 194, 195, 198, 199, 202-05, and 212-299 were never formally released (191 was only for OS/2). The rest of the name is platform-dependent in Unix its the name of the makefile target, optionally followed by specific hardware platform and/or OS version, when it makes a difference. In VMS its the platform (axp (i. e. Alpha) or vax), then the VMS version number (e. g. vms73), and then TCP/IP product and version number (or nonet if TCP/IP support is not built in). Und so weiter. VMS TCP/IP product codes are as follows: ucx DEC / Compaq / HP TCP/IP tgv TGV MultiNet pst Process Software TCPware twg The Wollongong Group WIN/TCP or PathWay cmu Carnegie-Mellon University CMU/IP REMEMBER: Its often better to build your own binary than to run a prebuilt one, due to the ever-increasing likelihood of OS and/or library version mismatch. After downloading, rename to kermit or kermit. exe (etc), as appropriate for your operating system and, if necessary, give execute permission, e. g. (in Unix): Also remember that before C-Kermit can be used to dial out from Unix, it will probably also be necessary to give the Kermit executable a certain owner and group, and to set it suid and/or sgid bits, to allow it access to the dialout device and/or lockfile directory (the same as any other dialout software, such as cu or minicom). Read Sections 10 and 11 of the Unix C-Kermit installation guide. Notes on the Binaries: curses refers to the fullscreen file-transfer display, used when transferring files over dialout or network connections. Its nice but it adds size and sometimes causes problems so if a curses version gives you trouble, try a no-curses (NC) version. On platforms that have a choice between traditional curses and new curses (ncurses), you might also have a choice of binaries -- if one doesnt work, try the other. Likewise, some binaries come in TCP/IP and non-TCP/IP versions. If your computer doesnt have TCP/IP installed, choose the non-TCP/IP version (if available). A TCP/IP-enabled binary almost certainly will not run on platforms that dont have TCP/IP installed. And some binaries come in optimized and non-optimized versions this refers to compile-time optimization. Choose the optimized version, but if it gives you trouble, try the corresponding non-optimized one, if available (some optimizers have bugs). When optimization is marked in the table, O means normal optimization, O - means no optimization, O means extra optimization. Some binaries are available in gcc and non-gcc versions that is, versions built using two different compilers. If one gives you trouble, try the other if available. Some compilers have bugs some compilers support features that other ones dont. Some HP-UX binaries (notably, the HP-UX 7.00 ones) are built for long filename (255 chars) file systems, others for short-filename (14 chars) systems these are marked with SF and LF. Choose one that is appropriate for your file system. Some Linux binaries are linked with libc, some with glibc. Pick the one that is appropriate for your Linux system. Better yet, just build from source (make linux should work on any Linux system). If you are able to make a binary not listed in the table (or that is listed, but is not current), please contribute it to the archive. CLICK HERE to visit the C-Kermit binaries table. KERMIT PROTOCOL. SECURE. SCRIPTABLE. TELNET. FTP. UNIX. VMS. LINUX. BSD. MAC OS X. SOLARIS. AIX. HP-UX. TRU64. SCO. QNX. IRIX. UNICODE. KERBEROS. SSL. TLS. SRP. FTP SCRIPT. FILE TRANSFER. MODEM. DIAL. PAGER


No comments:

Post a Comment