Na, Na, Na..., das entspricht ja wohl nicht ganz der Wahrheit. So gut die bash auch ist, es gibt andere shells die genauso das pipen beherrscht. (Korn, Bourne z.B.). Das Pipen ist "uralte" Unix-Tradition.
Das Ganze habe ich Dummtrottel bisher immer ganz umständlich via RSync veranstaltet; leider hat RSync viel zu viele Optionen und kann dummerweise auch den Bildschirm mit lauter überflüssigen Informationen voll pinseln: rsync --stats --progress -v etc. Aber ich lerne: 1. rsync hat nicht jeder sofort drauf (tar und ssh und die bash sicherlich schon) 2. einmal "rsync --help" eingegeben und man wird förmlich erschlagen 3. die Umleitung und die Nutzung der Standard Ein-/Ausgabe ist's, was einem Kommandozeilen Hoschi das Herz höher schlagen läßt 4. naja, ich hatte gar nicht gewußt, das man /proc und solche Dinger einfach mit kopieren kann - ich Depp
Von Daniel Molkentin am Do, 4. November 2004 um 01:23 #
Wenn du den Overhead von SSH nicht willst und/oder die Verschlüsselung nicht brauchst, bietet sich netcat an. Die man-page liefert brauchbare Beispiele.
Von Jörg W Mittag am Do, 4. November 2004 um 10:08 #
Und wenn dir die Manpage von netcat immer noch zu lang ist, dann kann man auch npush/npoll verwenden (-; Das basiert auf Multicast und man braucht daher noch nicht mal die Adressen der beiden beteiligten Rechner anzugeben.
ist ganz nett, wenn man einen Rechner duplizieren möchte, aber wenn man 20 und mehr Rechner zu installieren hat, dann muss man doch wieder die Rune laufen und alles manuell einrichten.
Ab einer bestimmten Zahl von Clients lohnt sich dann doch KickStart oder AutoYast - oder root over nfs, wobei man hier schnell mit Performanceproblemen kämpfen muss.
Wie rumlaufen? einfach eine livecd mit ssh an überall einwerfen(ja bei knoppix ist das manuell), und dann ssh auf den comp, von dem comp ssh zum server.
Das ist wahrscheinlich so, weil der GUI-Editor NEdit ein Kommandozeilenprogramm namens 'nc' (NEdit client) mitbringt, mit dem man den Editor quasi fernsteuern kann.
In manchen Distributionen heißt dieses Programm allerding "ncl".
Merke: Gib deinen binaries Namen, die lang genug sind um eindeutig zu sein!
Interessante Loesung. War mir auch noch nicht bewusst, dass dies so einfach moeglich ist. Um den Overhead der Verschluesselung zu reduzieren, koennte man noch die ssh-Option "-c blowfish" setzen. (siehe man ssh)
Ich habe diese Installation auch schon gemacht, allerdings habe ich die Verzeichnisse /proc und /sys selbst angelegt und die Daten komprimiert übertragen.
Knoppix booten und Festplatte partitionieren und Filesysteme anlegen und nach /mnt mounten cd /mnt; mkdir proc sys; ssh root@192.168.2.1 "tar cpz /[a-oqrt-z]* /sbin /srv" | tar xpvz mount -o bind /proc /mnt/proc; mount -o bind /sys /mnt/sys chroot /mnt /bin/bash lilo
Grub verweigerte leider seinen Dienst, da in den Rechner eine Wächterkarte installiert ist, aber mit lilo geht's ja auch ;)
da IP und damit Hostname via dhcp bezogen werden, gibt es keine Probleme. Und feste Einstellungen gibt es nur in kleinen Netzen, da kann man dann auch rumlaufen und korrigieren.
Interessant, den Hostnamen per DHCP zu beziehen, das habe ich noch nie gemacht. Dann wäre es bequem. Aber wie generiert DHCP automatisch Hostnamen? Und muss ein Hostnamen nicht immer an denselben Host verteilt werden? Man müsste den DHCP-Server konfigurieren und den Namen an die MAC-Adresse binden. Ja, so könnte es gehen. Wenn jetzt noch alle PCs baugleich wären, könnte man die Methode anwenden.
Ich hatte bereits Datenverlust bei grösseren Datenmengen und auf unterschiedlichen Kerneln. Tar meldet dann, daß der Datenstrom vorzeitig unterbrochen wurde. Dagegen hilft in dem Schreibenden Kommendo ggf. ein sleep 10; aber sauber ist das auch nicht. Also:
( ssh 192.168.2.1 tar clf - /; sleep 10;) | (cd /mnt; tar xf - )
Dabei werden die sym-links aufgelöst. System läuft zwar ohne Probleme, jedoch beim ersten Update krachts!!! Desweiteren dauert eine Systemkopie mit scp sicherlich um den Faktor 5 länger als mit tar uns einem ssh tunnel. (jede Datei wird extra angefordert, bei tar alle Dateien in einer Anforderung)
scp ist super für ein paar Dateien (leicht zu bedienen), jedoch absolut ungeeignet ein ganzes System zu kopieren.
[...some text...]
Und das hat jetzt mit der bash genau was zu tun?
SCNR,
high
sogar Coroutinen (|&).
Siehe http://wiki.mirbsd.de/MirbsdKsh für GNU/Linux-User.
Aber ich lerne:
1. rsync hat nicht jeder sofort drauf (tar und ssh und die bash sicherlich schon)
2. einmal "rsync --help" eingegeben und man wird förmlich erschlagen
3. die Umleitung und die Nutzung der Standard Ein-/Ausgabe ist's, was einem Kommandozeilen Hoschi das Herz höher schlagen läßt
4. naja, ich hatte gar nicht gewußt, das man /proc und solche Dinger einfach mit kopieren kann - ich Depp
CU
jwm
-l, --one-file-system
stay in local file system when creating an archive
du Depp!
Ab einer bestimmten Zahl von Clients lohnt sich dann doch KickStart oder AutoYast - oder root over nfs, wobei man hier schnell mit Performanceproblemen kämpfen muss.
einfach eine livecd mit ssh an überall einwerfen(ja bei knoppix ist das manuell), und dann ssh auf den comp, von dem comp ssh zum server.
Allo
Könnte mich vertippt haben (es ist nicht sicherer, ssh, aber schneller)
Source PC
tar czSp -l -numeric-owner -f - . | nc -l -p 1234 -q 1
Target PC
nc ip.of.source.pc 1234 | tar xzSpv
1234: beliebiger Port
Gibt es zumindest nicht auf jedem System.
nc - TCP/IP swiss army knife
auf Debian ist nc einfach netcat
In manchen Distributionen heißt dieses Programm allerding "ncl".
Merke: Gib deinen binaries Namen, die lang genug sind um eindeutig zu sein!
?
Use the Source, Luke.
Macht in etwa das gleiche und ich find's etwas intuitiver.
Knoppix booten und Festplatte partitionieren und Filesysteme anlegen und nach /mnt mounten
cd /mnt; mkdir proc sys; ssh root@192.168.2.1 "tar cpz /[a-oqrt-z]* /sbin /srv" | tar xpvz
mount -o bind /proc /mnt/proc; mount -o bind /sys /mnt/sys
chroot /mnt /bin/bash
lilo
Grub verweigerte leider seinen Dienst, da in den Rechner eine Wächterkarte installiert ist, aber mit lilo geht's ja auch ;)
Kontrolle der /mnt/etc/fstab sollte nicht fehlen.
Das wäre unschön.
Wenn jetzt noch alle PCs baugleich wären, könnte man die Methode anwenden.
host rechner1
{
hardware ethernet 00:11:22:33:44:55;
option host-name "rechner1";
fixed-address 192.168.0.10;
}
( ssh 192.168.2.1 tar clf - /; sleep 10;) | (cd /mnt; tar xf - )
könnte dabei helfen.
chvt
scp -r root@host:/ /mnt
?
verschluesselt und ohne pipes und ohne tar und ohne bash und ohne pufferprobleme ...
Übrigens frage ich mich bei dem Tip open, wie es mit dem proc-Verzeichnis verfahren wird.
Aber wenn du schon ein Knoppix oder anderes Rescue System geladen hast, ist das natürlich kein Problem, oder?
original file.
----> leider trifft das nicht für owner und group zu. Das ist dann alles auf root
Gruss
rob
Desweiteren dauert eine Systemkopie mit scp sicherlich um den Faktor 5 länger als mit tar uns einem ssh tunnel. (jede Datei wird extra angefordert, bei tar alle Dateien in einer Anforderung)
scp ist super für ein paar Dateien (leicht zu bedienen), jedoch absolut ungeeignet ein ganzes System zu kopieren.