Teil 2.5 – Kopieren und Extrahieren von Dateien aus Ihrer Entwicklungsumgebung auf Linux
Gilt für: .NET Core 2.1, .NET Core 3.1, .NET 5
In diesem Artikel wird erläutert, wie Sie Dateien von einem Windows-basierten Computer auf einen virtuellen Linux-Computer kopieren und Dateien extrahieren.
Voraussetzungen
Dieser Teil hat keine Voraussetzungen.
Ziel dieses Teils
Sie erfahren, wie Sie Dateien von einem Windows-basierten Computer auf einen virtuellen Linux-Computer (VM) kopieren. Dies ist hilfreich, wenn Sie Ihre Anwendung auf Linux bereitstellen.
Obwohl es keine Voraussetzungen für diese Komponente gibt, würde das ideale Setup den Anweisungen aus den vorherigen Teilen folgen. Sie sollten über Folgendes verfügen:
- Nginx wird automatisch ausgeführt und für das Überwachen von Anforderungen konfiguriert, die an Port 80 gesendet werden
- Nginx, das als Reverseproxy konfiguriert ist und eingehende Anforderungen an eine ASP.NET Core Anwendung weiterleitet, die auf Port 5000 überwacht wird
- Die ASP.NET Core Anwendung, die so konfiguriert ist, dass sie automatisch gestartet wird, nachdem der Server neu gestartet wurde oder wenn der Prozess beendet wird oder abstürzt.
- Eine lokale Linux-Firewall, die so konfiguriert ist, dass SSH- und HTTP-Datenverkehr zulässig ist
Kopieren von Dateien aus Windows auf Linux und umgekehrt
Es gibt mehrere Optionen zum Kopieren von Dateien zwischen Windows und Linux. Sie finden die verschiedenen Methoden in mehreren guten Artikeln, z. B. in diesem. Hier sind einige Optionen:
- Freigeben von Netzwerkordnern. Weitere Informationen finden Sie unter "SMB-Protokoll" und "Csv".
- Übertragen Sie Dateien per FTP. Einer der am besten bekannten FTP-Server in Linux ist PureFTPd.
- Dateien sicher über SSH kopieren. Sie können den scp-Befehl verwenden, um SSH zu kopieren. Ein besseres Tool ist jedoch pscp (im Lieferumfang von PuTTYenthalten).
- Freigeben von Daten mithilfe von Synchronisierungssoftware. Ein Synchronisierungsprogramm hilft Ihnen, Synchronisierungspunkte in Windows und Linux zu erstellen und dann mithilfe eines Verschlüsselungsschlüssels zu synchronisieren.
- Verwenden Sie freigegebene Ordner, wenn Linux als VM auf Ihrer VM ausgeführt wird. Verschiedene Tools, z. B. Oracle VirtualBox,helfen Ihnen beim Erstellen virtueller freigegebener Verzeichnisse.
In diesem Teil verwenden Sie pscp, um Dateien von Windows auf Linux zu übertragen.
Grundlegende PSCP-Parameter
Pscp erleichtert das Ausführen grundlegender Aufgaben, z. B. das Kopieren einer Datei auf Linux. Dieses Tool ist in PuTTY enthalten, daher sollte es zusammen mit PuTTYauf Ihrem Windows-basierten Computer installiert werden. Wenn dies nicht der Typ ist, installieren Sie es jetzt.
Hier ist ein Beispielbefehl:
pscp -i <private key path> <local file to upload> user@host:<Linux path to save>
Verwenden Sie beispielsweise den folgenden Befehl, um die c:\web\publish.zip-Datei in das Stammverzeichnis des Benutzers in Linux zu kopieren:
pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>
Der private Schlüssel ist derselbe PPK-Schlüssel, der aus einer PEM-Datei konvertiert wurde, als Sie versucht haben, eine Verbindung mit Ihrem virtuellen Computer mithilfe von PuTTY herzustellen. Wenn Sie dies erfolgreich getan haben, sollten Sie bereits über diese Datei verfügen. Wenn Sie nicht über die PPK-Datei verfügen, folgen Sie den Anweisungen im Abschnitt "Herstellen einer Verbindung mit PuTTY", und konvertieren Sie Ihre PEM-Datei in PPK.
Kopieren einer Datei in Linux und Extrahieren in einen anderen Ordner
Herunterladen eines Beispielprojekts
Für dieses Lernprogramm kopieren Sie eine Testanwendung mit dem Namen "BuildAmb". Diese Anwendung ist in der Debugging-Beispielanwendung "Debuggen von Debuggen"verfügbar. Es wird empfohlen, diese Beispielanwendung zu verwenden, da die nächsten Teile diese Anwendung verwenden, um Hohe und niedrige CPU-Leistungsprobleme und Absturzprobleme in den Problembehandlungslaboren zu simulieren.
Bei Demamb handelt es sich einfach um eine ASP.NET Core 3.1-basierte Razor Pages-Anwendung. Diese Anwendung wurde absichtlich als fehlerhafte Anwendung erstellt, um als Lernressource zur Problembehandlung problematischer Szenarien für eine ASP.NET Core-Anwendung unter Linux verwendet zu werden.
Die Quellcodedateien finden Sie unter ASP.NET Core Binärdateien für Linux. Dies ist im TAR.gZ-Format, da dieses Format in der Linux-Welt üblich ist. Sie können die buggyamb_v1.1 auch im .zip-Format für Windows herunterladen.
Kopieren buggyamb_v1.1.tar.gz-Datei auf eine Linux-VM
Öffnen Sie ein Eingabeaufforderungsfenster auf Ihrem Windows-basierten Computer, und wechseln Sie zu dem Ordner, in dem PuTTY installiert ist. Führen Sie den folgenden Befehl aus, um die Datei zu kopieren:
pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>
Führen Sie den Befehl auch pscp aus, nachdem Sie ihn mithilfe Ihres eigenen privaten Schlüssels und Pfads entsprechend geändert haben. Der folgende Screenshot zeigt eine erfolgreiche Dateiübertragung zwischen Windows und der Linux-VM.
Hinweis
Wenn Sie mithilfe des Befehls zum ersten Mal eine Verbindung mit Ihrem virtuellen Computer pscp herstellen, wird möglicherweise eine Warnmeldung angezeigt, dass ein Hostschlüssel nicht stimmt.
Verbinden zu Ihrer Linux-VM, und überprüfen Sie, ob die Datei vorhanden ist. Sie können dies mithilfe des ls Befehls tun.
Es gibt weitere Methoden zum Kopieren von Dateien zwischen Linux und Windows. Diese Methode reicht jedoch für dieses Lernprogramm aus.
Verwenden Sie die Datei buggyamb_v1.1.tar.gz, um eine zweite ASP.NET Core Anwendung zu erstellen, die hinter Nginx ausgeführt wird. Dieses Mal wird diese Anwendung so konfiguriert, dass sie einen Hostnamen zum Durchsuchen verwendet. Die gleiche Anwendung wird in den Problembehandlungslaboren verwendet, die dieses Lernprogramm umfassen.
Hinweis
Wenn Sie Probleme beim Kopieren der Datei buggyamb_v1.1.tar.gz auf Ihren Linux-Computer haben, können Sie einfach die TAR.GZ-Datei von Ihrer Linux-VM herunterladen, indem Sie den folgenden einfachen wget Befehl verwenden:
wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz
Extrahieren Sie die Dateien, und kopieren Sie sie in den Ordner "/var/".
Buggyamb_v1.1.tar.gz enthält alles, was Sie zum Ausführen Der Anwendung benötigen. Führen Sie genau wie bei Ihrer ersten ASP.NET Core Anwendung die gleichen Schritte aus, um diese Anwendung so zu konfigurieren, dass sie immer hinter Nginx ausgeführt wird.
Extrahieren Sie die TAR.GZ-Datei, und kopieren Sie sie in den Ordner "/var". Es gibt zwei einfache Möglichkeiten, dies zu erreichen:
- Option 1: Extrahieren Sie die Datei "tar.gz" in das aktuelle Verzeichnis, indem Sie
tar -xf filename.tar.gzausführen. Kopieren Sie dann den extrahierten Ordner in den Ordner "/var". - Option 2: Extrahieren Sie die Datei "tar.gz" direkt in das Verzeichnis "/var".
Option 1: tar -xf buggyamb_v1.1.tar.gz Ausführen, um den Ordner buggyamb_v1.1 zu erstellen. Kopieren Sie ihn dann mit dem Befehl in den Ordner "/var". sudo cp -a buggyamb_v1.1 /var/
Option 2: Extrahieren Sie die Anwendung mithilfe des Befehls direkt in den Ordner /var/. sudo tar -xf buggyamb_v1.1.tar.gz -C /var/
Wählen Sie eine der beiden Optionen aus, um die buggyamb_v1.1-Anwendungsdateien zu extrahieren. Diese sollten extrahiert oder in den Ordner /var/buggyamb_v1.1 verschoben werden, um das Setup abzuschließen. Dieser Ordner wird als Arbeitsverzeichnis für die neue ASP.NET Core-Anwendung verwendet.
Nächste Schritte
Teil 2.6: Ausführen von zwei ASP.NET Core Anwendungen gleichzeitig
Konfigurieren und ausführen Sie die ASP.NET Core Anwendung hinter Nginx. Am Ende dieser Schritte werden zwei ASP.NET Core Anwendungen hinter Nginx ausgeführt.