Home / LinuxUser / 2000 / 08 / out of the box

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

„Klickbunt auf dem Server? Warum nicht, wenn's hilft!"
(230 Punkte bei 9 Stimmen)
Wheezy + Kernel 3.9.2 + LXDE
(185 Punkte bei 5 Stimmen)
KDE 4.10.2, Gnome 3.6 und mehr
(143 Punkte bei 5 Stimmen)
Famiientreffen, das Neunzehnte
(121 Punkte bei 4 Stimmen)
Google schmeißt Jabber raus ...
(108 Punkte bei 5 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Kopierzwerg

out of the box

01.08.2000 Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Dieses Mal geht es um das Netzkopiertool ncp.

Um Dateien übers Netz von einem Rechner auf einen anderen zu schaufeln, bedient man sich normalerweise ftp oder scp. Was aber, wenn man "eben schnell mal" eine oder mehrere Dateien einem anderen Rechner zum Download anbieten oder jemandem die Ausgabe eines Kommandozeilenbefehls übermitteln will? Dann erweisen sich die oben genannten Dienste und deren Server-Konfiguration als zu umständlich. Felix von Leitner hat wahrscheinlich dieses Problem gehabt und ncp entwickelt.

Ungewöhnliche Verpackung

Von der ncp-Homepage (http://www.fefe.de/ncp/) holen wir uns den Quelltext des Programms, der als -komprimiertes -Archiv vorliegt. Da nicht alle tar-Versionen die automatische Benutzung von bzip2 anbieten, erledigen wir das Auspacken der Reihe nach:

bunzip2 -c ncp-1.0.tar.bz2 | tar xf -

Anschließend geht es ans Kompilieren. Dazu ist bei ncp lediglich der Aufruf von make nötig. Das eigentliche Installieren des ausführbaren Programms ins Verzeichnis /usr/local/bin und das Anlegen von zwei symbolischen Links müssen wir mit root-Rechten vornehmen, da root das Schreibrecht in Systemverzeichnissen wie diesem vorbehalten ist.

cd ncp
make
su    (root-Passwort eingeben)
cp ncp /usr/local/bin
cd /usr/local/bin
ln -s ncp npoll
ln -s ncp npush
exit

Verschiedene Betriebsarten

ncp kann in unterschiedlichen Modi betrieben werden. Wird es unter dem Namen ncp aufgerufen, verschickt oder empfängt es eine oder mehrere Dateien. Als Beispiel versenden wir das gesamte -Verzeichnis von RechnerA nach RechnerB. Dazu wird ncp zuerst auf RechnerB im Servermodus gestartet und danach auf RechnerA im Clientmodus:

[RechnerB]$ ncp
ncp: server mode.  waiting for connection.
[RechnerA]$ ncp RechnerA /etc
tar: Entferne führenden `/' von absoluten Dateinamen im Archiv.
drwxr-xr-x root/root         0 2000-05-30 09:26 etc/
-rw-r--r-- root/root      2096 1999-03-11 18:03 etc/hosts
...

Hier zahlt sich wieder einmal der modulare Aufbau von Unix aus. Anstatt sich selbst um das Aufsammeln aller Dateien im /etc-Verzeichnis zu kümmern, überlässt ncp diese Aufgabe tar. Dieses Tool wird auch auf der Empfängerseite aufgerufen, um dort die Dateien zu schreiben. Aus Sicherheitsgründen weigert sich tar, den absoluten Pfadnamen mit einzupacken, damit auf RechnerB nicht versehentlich das dortige /etc-Verzeichnis überschrieben wird.

Ruft man ncp unter den Namen npush oder npoll auf (deshalb die symbolischen Links, die wir bei der Installation angelegt haben), verschickt oder empfängt es die Standardeingabe.

Womit wir die Standardeingabe von npush füttern, bleibt uns selbst überlassen. Als Beispiel übertragen wir den Inhalt des Verzeichnisses texte als bzip2-komprimiertes Archiv, das auf der Gegenseite nicht ausgepackt, sondern nur gespeichert werden soll:

[RechnerA]$ tar cf - texte | bzip2 | npush
npush: IPv4 multicast failed, trying IPv4 broadcast
[RechnerB]$ npoll RechnerA > texte.tar.bz2
connecting to ::ffff:192.168.0.1

Nehmen wir die Kommandokette auf RechnerA mal auseinander. Zuerst erzeugt tar mit c ("create") ein Archiv, das durch f - auf der Standardausgabe landet. Mit dem Pipezeichen | wird diese an bzip2 umgeleitet, das wiederum seine Ausgabe an npush weiter gibt. Auf der Gegenseite (RechnerB) empfängt npoll die Daten und gibt sie auf der Standardausgabe aus, die mit > texte.tar.bz2 in eine Datei namens texte.tar.bz2 umgelenkt wird.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

775 Hits
Wertung: 89 Punkte (7 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2013_06

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 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 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Emacs als Psychologe
Emacs als Psychologe
Tim Schürmann, 21.05.2013 11:49, 0 Kommentare

Wer beim Schreiben in Emacs nicht mehr weiter weiß oder schier an einer Programmieraufgabe verzweifelt, der kann den eingebauten Psychologen um Rat fragen.

1966 entwickelte der Infor...

Aktuelle Fragen

Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 3 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...
lvm wieder loswerden
Peter Dibbern, 11.04.2013 16:28, 4 Antworten
Ich habe sämtliche alten Kisten ausgeschlachtet und aus der Teilen einen Rechner zusammengeschrau...