Home / LinuxUser / 2000 / 07 / Dr. Linux

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Geräte und Verbindungen

Dr. Linux

Netzwerkchen

Ich möchte von meinem Laptop und einem älteren Computer Daten auf meinen Linuxrechner transportieren und umgekehrt. Geht das vielleicht ganz einfach, auch wenn man noch nicht viel von Linux versteht und die Rechner andere Betriebssysteme haben?

Dr. Linux: Grundsätzlich können Sie von jedem Computer Daten zum Linuxrechner schicken bzw. abholen, wenn Sie auf Ihrem … nennen wir ihn mal "Zweitcomputer" … ein Terminalprogramm installiert haben. Damit rufen Sie eine Terminalemulation auf, die eine Shell startet.

Der Begriff Terminalemulation stammt aus der Zeit, als raumfüllende Server Rechentätigkeiten ausführten, die die Benutzer von einer räumlich entfernten Bildschirm-Keyboard-Kombination namens Terminal aus anforderten. Der Begriff Terminal wird heute oft als Synonym für jedwedes Fenster benutzt, das eine Shell bereit stellt. An einem Terminal-Prompt können Sie u.a. Linux-Befehle eingeben, Programme starten und Texte kopieren, mit Ihrem Modem kommunizieren und einige Dinge mehr.

Terminalprogramme werden "normalerweise" im Zusammenspiel mit einem Modem dazu benutzt, sich auf anderen Rechnern (zum Beispiel Mailboxen) einzuwählen oder direkt Einstellungen in der Modemkonfiguration zu verändern. Es gibt sie für alle Betriebssysteme, einige sehr verbreitete sind zum Beispiel Telix, HyperTerminal, ZOC, Term 4.X (Amiga), Connect'95 (Atari) und Minicom (Linux). Eine kleine Linkliste finden Sie auch unter http://www.chatnoir.de/konzept.htm#termprg.

Wenn Sie jemals ein Modem erworben haben, lag mit großer Wahrscheinlichkeit auch ein Terminalprogramm bei. Suchen Sie nach Programmen, deren Namen Abwandlungen folgender Begriffe enthalten: "Comm", "Modem", "Term", "Connect", "Link", "Talk" oder "Transfer".

Als Hardware benötigen Sie für den Anschluss eines Zweitcomputers an Ihren Linuxrechner ein Nullmodemkabel und eventuell einen Adapter.

Die Datenübertragung zwischen den per Nullmodemkabel verbundenen Rechnern erfolgt genau wie bei einer Übertragung zwischen zwei per Modem verbundenen Computern, nur kann durch das Nullmodemkabel, wie der Name schon nahe legt, auf ein Modem verzichtet werden.

Bei älteren Systemen finden Sie ggf. einen 25-poligen seriellen Port vor. In diesem Fall benötigen Sie noch einen Adapter, der den 9-poligen Port vom Kabel mit dem 25-poligen vom Rechner verbinden kann. Die Steckerbelegungen für das Nullmodemkabel und (fast) alles über Kabel und Adapter finden Sie unter http://www.dvz.fh-koeln.de/~bn083/faqkabel.html#nullmodem.

Rechner 1                                    Rechner 2
9pol 25pol                                   25pol 9pol  5
 2    3  ---RxD--------. ,----------RxD-------  3   2
                        X
 3    2  ---TxD--------' `----------TxD-------  2   3
 7    4  ---RTS--------. ,----------RTS-------  4   7
                        X
 8    5  ---CTS--------' `----------CTS-------  5   8
 4   20  ---DTR--------. ,----------DTR------- 20   4
                        X
 6    6  ---DSR--o-----' `-------o--DSR-------  6   6
                 |               |
 1    8  ---DCD--'               `--DCD-------  8   1

Abbildung 1: Die Adern eines Nullmodemkabels

Dann kann es los gehen. Die nötige Konfiguration des Terminalprogramms entnehmen Sie dem Info-Kasten "Terminalkonfiguration".

Auf Ihrem Linuxrechner müssen Sie zunächst (als root) die /etc/inittab editieren. Fügen Sie irgendwo am Ende der Datei Folgendes ein:

s:23:respawn:/sbin/agetty -L 19200 ttyS1

Die Kennung ("ID") s zu Beginn der Zeile bedeutet "serieller Port". Zur Vermeidung von Namenskonflikten, sogenannten Dupes, können Sie Ihre Schnittstellen durchnummerieren: s0, s1.

Weiterhin sagen Sie Linux mit diesem Eintrag, dass Sie über die serielle Schnittstelle ein Terminal betreiben möchten, und zwar im Runlevel 2 und 3. Zu diesem Zweck möchten Sie immer mal wieder (respawn) das Programm /sbin/agetty starten, selbiges soll nicht auf die Carrier-Detect-Leitung achten (-L) und mit 19200 Baud arbeiten. Das Ganze soll über das Gerät /dev/ttyS1 am Linuxrechner stattfinden. Diese serielle Schnittstelle wird bei anderen Betriebssystemen COM2 genannt.

  • Runlevel 0: halt, fährt das System zum Ausschalten herunter und
  • Runlevel 6: löst einen Reboot aus. In welchen Runlevel Ihr Rechner beim Booten standardmäßig "schaltet", steht anstelle der 2 in der Zeile id:2:initdefault:.

Sollte Ihnen Ihre Distribution kein /sbin/agetty anbieten, dann nehmen Sie das vorhandene getty. Die Unterschiede im Funktionsumfang zwischen den verschiedenen "Gettys" liegen im Wesentlichen in den Möglichkeiten, Faxe zu empfangen, Anrufbeantworterfunktionen zu haben, über Skriptsprache programmierbar zu sein und in ihrer mehr oder weniger flexiblen Handhabung für die Systemverwalterin. Sinnvoll kann es ebenfalls sein, Ihre /etc/inittab auf ein Beispiel für eine Terminal-Verbindung zu untersuchen:

# Example how to put a getty on a serial line (for a terminal)
# Beispiel zur Benutzung eines Gettys am seriellen Port zwecks
# Anschluss eines Terminals
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

Finden Sie solche Zeilen, dann modifizieren Sie sie entsprechend und setzen sie in Funktion, indem Sie die # am Zeilenanfang entfernen. Die IDs T0 und T1 im abgedruckten Beispiel dienen wiederum zur Vermeidung von Dupes und unterscheiden die Terminals genauso wie die vorher erwähnten IDs s0 und s1.

Damit Sie in Ihrer /etc/inittab den Überblick behalten, welcher Anschluss welchen Übertragungsarten zugeordnet ist, empfiehlt es sich, Kommentare zu schreiben und nicht benötigte Dienste mit einem # auszukommentieren:

# Zeilen mit einem "#" sind Kommentare und werden
# lediglich von Menschen gelesen. Damit setzen Sie
# zum Beispiel Befehlszeilen ausser Kraft.
# Login ueber Nullmodemkabel über COM2 vom zweiten Rechner.
# Der Login erfolgt am Linuxrechner an der zweiten
# seriellen Schnittstelle (ttyS1).
# Auskommentiert, daher nicht aktiv.
#s1:23:respawn:/sbin/agetty -L  115200 ttyS1
# Login ueber Nullmodemkabel von COM1
# (alter Laptop, Amiga, Atari).
# Der Login erfolgt am Linuxrechner am
# seriellen Port Nr. 2 (ttyS1).
s:23:respawn:/sbin/agetty -L 19200 ttyS1

Beim Editieren der /etc/inittab ist äußerste Sorgfalt angebracht. Überprüfen Sie vor dem Sichern zum Beispiel, ob alle Doppelpunkte (:) gesetzt sind. Ein grober Fehler in dieser Datei kann dazu führen, dass Ihr Linux nicht mehr richtig startet. Das bedeutet, dass im schlimmsten Fall kein Login mehr möglich ist.

Damit die Einträge in der /etc/inittab wirksam werden, starten Sie Ihr Linux am einfachsten neu.

Wenn Sie bei dieser Gelegenheit Ihren Zweitrechner mit dem konfigurierten Terminalprogramm anstöpseln, haben Sie sofort Gelegenheit, Ihr neues Netzwerk zu erproben.

Bei einigen Ataris muss zuerst der Atari eingeschaltet werden und das Terminalprogramm laufen, bevor Sie den Linuxrechner starten oder das Verbindungskabel einstöpseln. Hier handelt es sich um eine bekannte "Macke" dieses Rechnertyps. Von anderen Rechnern ist die Einhaltung solcher "Rituale" nicht bekannt.

Auf dem Terminalprogramm erscheint der Ihnen bekannte Login-Prompt Ihres Linux. Hier können Sie sich sofort als nicht privilegierter User (nicht als root) beim System anmelden. Sollte der Prompt nicht erscheinen, dann aktivieren Sie im Menü des Terminalprogramms den Menüpunkt Abheben, Verbindung aufnehmen o.ä., manchmal genügt auch ein schlichtes Return.

Abbildung 2: Login im Terminalprogramm

Nach dem Login befinden Sie sich, wie, wenn Sie sich lokal auf Ihrem Linuxrechner anmelden, auf der Befehlszeile in Ihrem Homeverzeichnis.

Damit Ihre Linux-Shell merkt, dass Sie ihr nun Dateien senden möchten, können Sie sie mit dem Befehl

user$ rz

sensibilisieren. Die Shell signalisiert ihre freudige Erwartung von Datenpaketen mit einer Anzeige wie

^Ê** B0100000023be50ve.** B0100000023be50

Um Dateien an Ihren Linuxrechner zu senden, benutzen Sie nun das Menü im Terminalprogramm. Als Einsteiger senden Sie am besten alle Dateien als Binärfile. Dadurch vermeiden Sie Übertragungsfehler jeder Art, die durch verschiedene Kodierungen bei Textdateien entstehen können.

Abbildung 3: Dateien an den Linuxrechner senden

Wollen Sie hingegen Dateien von Ihrem Linuxrechner empfangen, können Sie direkt auf der Befehlszeile mit + Dateinamen arbeiten. Beachten Sie dabei, dass andere Systeme eventuell eine Dateinamenerweiterung nach dem 8+3-Muster erwarten, und benennen Sie die Dateien vorher ggf. um.

Die meisten Terminalprogramme öffnen eine Oberfläche, auf der Sie die Übertragung verfolgen können. Sollte nichts passieren, aktivieren Sie im Menü des Terminalprogramms den Punkt Dateien empfangen bzw. receive file(s).

Abbildung 4: Dateien von der Linuxseite empfangen

Selbstverständlich können Sie von Ihrer neu erworbenen Kommandozeile auch alle möglichen anderen Linuxkommandos absetzen, sofern sie nur textbasiert sind. Gleichen Sie zunächst die Terminalemulation des Terminalprogramms an die aktuell von Ihrem Linux benutzte an. Letztere erhalten Sie mit der Eingabe von

user$ echo $TERM

an der Befehlszeile.

Manche Terminalprogramme stellen viele Terminalemulationen zur Verfügung, andere nur ein oder zwei.

Wollen Sie Ihre aktuelle Linux-Terminalemulation wechseln, teilen Sie Linux dies mit, indem Sie auf Ihrer Befehlszeile eingeben, welche Emulation Sie benutzen möchten:

user$ TERM=vt100
user$ export TERM

Die Terminal-Ausgabe von Linux lässt sich mit einigen Befehlen gezielt beeinflussen. Wenn Sie davon Gebrauch machen wollen, schlagen Sie in Ihrer Dokumentation unter folgenden Stichworten nach:

  • setfont,
  • setterm,
  • ConsoleDrivers,
  • SVGATextMode Sofern Sie nun über Ihre Terminalverbindung zum Beispiel den Editor Emacs starten möchten, kann es Ihnen jedoch passieren, dass im Textfenster zunächst "Störzeichen" enthalten sind und Ihre Tastatureingaben völlig andere Reaktionen auslösen, als Sie es erwarten.

Tatsächlich ist die Zusammenarbeit mit Linux, besonders die Darstellung bei pseudografischen Programmen wie Texteditoren oder Mailprogrammen über die Terminalemulation vt100 von Ihrem Programm abhängig. Die Anzeige bietet, je nach Software, die volle Spannbreite zwischen "Super! Alles da, alles geht!" und "Oh nein, das halt' ich nicht aus!".

Klappt die Darstellung unter vt100 nicht ohne starke Störungen, kann das störrische Programm mittels kill -9 Prozessnummer von einem zweiten Login abgeschossen werden.

Sollten Sie auf derlei Schwierigkeiten treffen, lässt sich über die Konfiguration des Terminalprogramms u.U. einiges "retten". Versuchen Sie zum Beispiel eine Darstellung mit der Terminalemulation ANSI.

Bei der Vielzahl der Programme kann an dieser Stelle keine generelle Aussage über die Konfiguration getroffen werden. Leider hilft Ihnen da nur Probieren weiter. Sehr nützlich in diesem Zusammenhang ist die Möglichkeit, Tastaturbelegungen für Backspace und Del zu definieren, die einige Terminalprogramme bieten.

Abbildung 5: Versteckte Konfigurationsmöglichkeiten aufspüren

Terminalkonfiguration

Terminalprogramme verschiedener Betriebssysteme sind unterschiedlich gut zu konfigurieren, manche sehr bequem, bei manchen allerdings dürfen Sie die versteckten Menüs erst suchen (Abbildung 5).

Zum Glück werden für die Benutzung eines Netzwerks mit einem Nullmodemkabel alle Terminalprogramme gleichermaßen konfiguriert:

  • Zunächst muss Ihr Programm wissen, welchen COM-Anschluss es benutzen soll; für die seriellen Ports sind oft die Bezeichnungen COM1, COM2 etc. an der Rückseite des Computers aufgedruckt. Falls Sie sich überhaupt nicht auskennen, konsultieren Sie das Handbuch Ihres Computers.
  • Als Verbindungsart wählen Sie Direktverbindung.
  • Stellen Sie die Baudrate auf 19200, bei sehr alten Zweitcomputern probieren Sie es mit weniger, bei neueren Geräten können Sie es mit mehr versuchen, was den Datentransfer u.U. beschleunigt.

Treten Fehler bei der Übertragung von Daten auf, setzen Sie die Baudrate eine Stufe zurück. Gleichen Sie die gewählte Baudrate in der /etc/inittab Ihres Linuxsystems an!

  • Die Option Parität stellen Sie bitte auf None bzw. Keine.
  • Unter Stoppbit setzen Sie die 1.
  • Als Handshake-Protokoll wählen Sie Hardware, bei manchen Terminalprogrammen heißt das auch RTS/CTS-Handshake.
  • Als Übertragungsprotokoll geben Sie Z-Modem an.
  • Benutzen Sie als Terminalemulation für Ihre ersten Versuche am besten ANSI, oder probieren Sie vt100.
  • Tragen Sie den vollständigen Pfad des Ordners ein, aus dem Ihr Programm Dateien senden soll, ebenfalls das Verzeichnis, in dem empfangene Dateien abgelegt werden sollen. Fehlen diese Angaben, brechen Terminalprogramme häufig die Übertragung ab.

Abbildung 6: Grundkonfiguration eines Terminalprogramms

Glossar

Partition

Bevor auf einer Festplatte Nutzdaten abgelegt werden können, werden ein oder mehrere logische Bereiche, Partitionen, definiert und in einer Partitionstabelle festgehalten. Darauf muss ein für das benutzte Betriebssystem passendes Dateisystem eingerichtet werden, in dem dieses Dateien und Verzeichnisse verwaltet. Jeder Partition wird eindeutig ein Gerätename zugeordnet, über den das Betriebssystem auf die Daten im Dateisystem zugreift.

byteweise

Speicher ist in Speicherzellen unterteilt, die entweder den Wert 0 oder 1 enthalten. Eine solche Speicherzelle bzw. die in ihr gespeicherte Information heißt Bit. Mehrere Bits können in Einheiten wie Byte, Wort oder Langwort zusammengefasst werden: Ein Byte beispielsweise entspricht acht Bit. Dies reicht aus, um einen (lateinischen) Buchstaben zu speichern. Das Wort "Currywurst" braucht demnach zehn Byte Speicherplatz. Eine Seite Text enthält ca. 1500 Zeichen und benötigt daher unformatiert ca. 1500 Byte zum Speichern. Ein Kilobyte (kB, kByte) entspricht übrigens nicht 1000, sondern 1024 Byte. Ein kByte mal ein kByte ergibt ein Megabyte (MB, MByte), das sind genau 1.048.576 Byte. Ein Gigabyte (GByte), also ein kByte mal ein kByte mal ein kByte, sind schon sehr viele Byte, nämlich 1.073.741.824. Wie oft Sie das Wort "Currywurst" auf einem GByte abspeichern können, müssen Sie aber selber ausrechnen…

Shell

Das "Mittlerprogramm", das Ihre Kommandos entgegen nimmt, bearbeitet und schließlich an den Kernel zur Ausführung weiter leitet. Unter Unixbetriebssystemen haben Sie die Wahl zwischen diversen Shells unterschiedlicher Funktionalität und Bedienphilosophie. Als Standardshell ist auf Linuxsystemen meistens die Bash eingestellt.

Nullmodemkabel

In einem Nullmodemkabel kreuzen sich die Leitungspärchen der seriellen Schnittstellen zweier Computer. Das Sendesignal (TXD) des einen Computers wird mit dem Empfangssignal (RXD) des anderen Computers verbunden. Außerdem sind auch die Handshaking-Leitungen (RTS/CTS) gekreuzt, ebenso DTR ("Data Terminal Ready – Computer ist bereit") und DST ("Data Set Ready – Modem ist bereit"). So spricht man landläufig auch von einem "gekreuzten seriellen Kabel". Wenn Kabellöten ein Hobby von Ihnen ist, können Sie sich an der Skizze in Abbildung 1 orientieren. Alle Nichtkabellöter werden beim Fachhändler für Computerbedarf ein Nullmodemkabel erwerben.

Runlevel

Mit Runlevel bezeichnet man die verschiedenen Betriebszustände, in denen ein Linuxsystem laufen kann, zum Beispiel als Multi-User-System mit oder ohne grafischem Login und Multi-User mit oder ohne Netzanbindung. Leider ist die Durchnummerierung der Runlevel in der Datei /etc/inittab bei den Distributionen unterschiedlich festgelegt. Gemeinsam haben alle

Carrier-Detect-Leitung

Diese Leitung wird durch ein Modem aktiviert, sobald eine Verbindung zu einem anderen Modem aufgebaut wurde und das Trägersignal (engl."Carrier") über eine Telefonleitung ankommt.

Baud

Nach strenger Definition bezeichnet die Einheit Baud die Übertragungsrate in Bits pro Sekunde nur dann, wenn die übertragenen Bits in derselben Geschwindigkeit auf eine Trägerschwingung moduliert werden. Die Baudrate, benannt nach dem Franzosen Emile Baudot, beschreibt die Anzahl von Signalen, die pro Sekunde übertragen werden. Durch Modulationen der Signale ist es möglich, mehrere Bits mit einer Signalschwingung zu übertragen. Die Einheit Bits pro Sekunde wird mit dem Kürzel bps angegeben. Im Computer-Alltagsslang wird die Einheit Baud mit bps gleich gesetzt. Diesen Sprachgebrauch finden Sie auch in Handbüchern und Terminalprogramm-Dokumentationen vor.

rz

Dieses Utility ist die auf Unix-Systemen am meisten benutzte Implementierung des Übertragungsprotokolls Z-Modem. Die Datei-Übertragung kann direkt von der Befehlszeile gestartet werden. Die Bedeutung der Befehle wird klarer, wenn wir verstehen, was dahinter steckt: sz = "sende mit Z-Modem" , rz = "receive (erhalte Dateien) mit Z-Modem". Einige Linux-Distributionen enthalten zwar die Befehle rz/sz, jedoch fehlen eventuell einige Teile des Pakets, insbesondere die Manual-Pages. Ein Download von rzsz und ähnlichen Paketen ist im WWW unter http://rufus.w3.org/linux/RPM/RByName.html möglich.

sz

Dieses Utility ist die auf Unix-Systemen am meisten benutzte Implementierung des Übertragungsprotokolls Z-Modem. Die Datei-Übertragung kann direkt von der Befehlszeile gestartet werden. Die Bedeutung der Befehle wird klarer, wenn wir verstehen, was dahinter steckt: sz = "sende mit Z-Modem" , rz = "receive (erhalte Dateien) mit Z-Modem". Einige Linux-Distributionen enthalten zwar die Befehle rz/sz, jedoch fehlen eventuell einige Teile des Pakets, insbesondere die Manual-Pages. Ein Download von rzsz und ähnlichen Paketen ist im WWW unter http://rufus.w3.org/linux/RPM/RByName.html möglich.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

Hits
Wertung: 55 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...