Ist es möglich, eine lokale ISO-Datei auf einer Festplatte eines Remote-Computers bereitzustellen

488
RickwhoPrograms

also habe ich eine iso, die ich erstellt habe, und sie hat ungefähr 197gb. Ich habe die Datei in eine iso.gz-Datei komprimiert und auf meinem lokalen Computer gespeichert. Ich möchte jetzt versuchen, dieses Iso auf einer Remote-Box bereitzustellen. jetzt für die detaillierteren Teile:

Ich verwende ein live RHEL 7.5 USB, das an die Remote-Box angeschlossen ist, und gebe den folgenden Befehl aus, um die aktuell im System eingebundenen Festplatten anzuzeigen:

Fdisk -l 

was mir zurück, dass das gewünschte Laufwerk (mein 1TB Ziellaufwerk) ist / dev / sda

Ich habe den folgenden Befehl ohne Erfolg ausprobiert, und ich bin nicht sicher, ob dies die richtige Reihenfolge ist oder ob es sogar möglich ist, remote aus der Ferne zu zcat:

zcat myisoname.iso.gz | ssh root@xxx.xxx.xxx.xxx | /dev/sda 

Wenn Sie den obigen Befehl zcat ausgeben, bleibt die Konsole für einen Moment stehen und beginnt mit dem Ausdruck von zufälligen Buchstaben und Symbolen. Jede Hilfe wäre sehr dankbar.

0
Ich glaube, die zweite Leitung läuft auf Ihrem lokalen Rechner. Sie sollten den Fernbefehl zitieren. So etwas wie zcat myisoname.iso.gz | ssh root@xxx.xxx.xxx.xxx 'dd of = / dev / sda'` sollte funktionieren. fra-san vor 6 Jahren 1
Ich verstehe, und normalerweise mit zcat, wenn Sie es lokal ausführen, müssen Sie die Umleitung ">" verwenden. Muss ich diese anstelle des 'dd of = / dev / sda' verwenden? oder in diesem Fall nehme ich an, dass der Befehl dd nur die Ausgabe steuert? RickwhoPrograms vor 6 Jahren 0
Ich denke, dass `ssh root@xxx.xxx.xxx.xxx 'cat -> / dev / sda' ebenfalls funktionieren wird. fra-san vor 6 Jahren 1
Vielen Dank für Ihre Hilfe @ fra-san. Wenn Sie möchten, können Sie Ihren Kommentar als Antwort posten und ich werde es akzeptieren. Der Schuldige waren die Anführungszeichen, die aussehen! RickwhoPrograms vor 6 Jahren 0
Ich mag es nicht wirklich zu antworten, nachdem ein Problem in Kommentaren gelöst wurde - es sieht so aus, als würde man nur nach Reputation suchen -, aber tatsächlich verschwinden Kommentare, und eine akzeptierte Antwort wird anderen dabei helfen, die Frage besser zu verstehen. fra-san vor 6 Jahren 0

1 Antwort auf die Frage

1
fra-san

Grundsätzlich ist das, was Sie versuchen, absolut plausibel.
Das Problem bei Ihrem Befehl ist, dass die zweite Pipe auf Ihrem lokalen Computer ausgeführt wird. Befehle, die Argumente sind, sshsollten in Anführungszeichen gesetzt werden.

(Spezielle Zeichen müssen besonders beachtet werden $: Wenn die Erweiterung und / oder das Ersetzen von Befehlen remote erfolgen muss, müssen diese Sonderzeichen mit Escapezeichen versehen werden, oder alternativ kann der Fernbefehl in einfache Anführungszeichen gesetzt werden. Siehe QUOTINGAbschnitt in man bash).

Was Sie wahrscheinlich brauchen, ist so etwas

$ zcat myisoname.iso.gz | ssh root@xxx.xxx.xxx.xxx 'dd of=/dev/sda' 

Hier ddist nur eine Möglichkeit. Sie sollten auch eine Pipe zum Ablegen verwenden können, wie in

$ ssh root@xxx.xxx.xxx.xxx 'cat - >/dev/sda'