Partager via


Partie 2.5 - Copier et extraire des fichiers de votre environnement de développement vers Linux

S’applique à : .NET Core 2.1, .NET Core 3.1, .NET 5

Cet article explique comment copier des fichiers à partir d’un ordinateur Windows sur une machine virtuelle Linux et extraire des fichiers.

Prerequisites

Cette partie n’a aucun prérequis.

Objectif de cette partie

Vous allez apprendre à copier des fichiers à partir d’un ordinateur Windows vers une machine virtuelle Linux. Cela sera utile lorsque vous déployez votre application sur Linux.

Bien qu’il n’existe aucun prérequis pour cette partie, la configuration idéale suivrait les instructions des parties précédentes. Vous devez disposer des éléments suivants :

  • Nginx s’exécute automatiquement et configuré pour écouter les demandes envoyées sur le port 80
  • Nginx configuré en tant que proxy inverse et routage des requêtes entrantes vers une application ASP.NET Core qui écoute sur le port 5000
  • L’application ASP.NET Core configurée pour démarrer automatiquement une fois le serveur redémarré ou lorsque le processus est arrêté ou se bloque.
  • Pare-feu local Linux configuré pour autoriser le trafic SSH et HTTP

Copier des fichiers de Windows vers Linux et vice versa

Il existe plusieurs options pour copier des fichiers entre Windows et Linux. Vous trouverez les différentes méthodes dans plusieurs bons articles, tels que celui-ci. Voici quelques options possibles :

  • Partagez des dossiers réseau. Reportez-vous au protocole SMB et à Samba.
  • Transférez des fichiers à l’aide de FTP. L’un des serveurs FTP les plus connus dans Linux est PureFTPd.
  • Copiez en toute sécurité des fichiers via SSH. Vous pouvez utiliser la commande scp pour copier via SSH. Toutefois, un meilleur outil est pscp (inclus avec PuTTY).
  • Partagez des données à l’aide du logiciel de synchronisation. Un programme de synchronisation vous aide à créer des points de synchronisation dans Windows et Linux, puis à le synchroniser à l’aide d’une clé de chiffrement.
  • Utilisez des dossiers partagés si Linux s’exécute en tant que machine virtuelle dans votre machine virtuelle. Plusieurs outils, tels que VirtualBox d’Oracle, vous aident à créer des répertoires partagés virtuels.

Dans cette partie, vous allez utiliser pscp pour transférer des fichiers de Windows vers Linux.

Paramètres pscp de base

Pscp permet d’effectuer facilement des tâches de base, telles que la copie d’un fichier sur Linux. Cet outil est inclus avec PuTTY. Il doit donc être installé sur votre ordinateur Windows avec PuTTY. Si ce n’est pas le cas, installez-le maintenant.

Voici un exemple de commande :

pscp -i <private key path> <local file to upload> user@host:<Linux path to save>

Par exemple, pour copier le fichier c :\web\publish.zip dans le répertoire de base de votre utilisateur dans Linux, utilisez cette commande :

pscp -i d:\secure\myprivatekey.ppk c:\web\publish.zip <UserName>@buggyamb:<Linux path to save>

La clé privée est la même clé .ppk qui a été convertie à partir d’un fichier .pem lorsque vous avez essayé de vous connecter à votre machine virtuelle à l’aide de PuTTY. Si vous l’avez fait correctement, vous devez déjà avoir ce fichier. Si vous n’avez pas le fichier .ppk , suivez les instructions de la section « Connexion avec PuTTY » et convertissez votre fichier .pem en .ppk.

Copiez un fichier sur Linux et extrayez-le dans un autre dossier

Télécharger un exemple de projet

Pour ce tutoriel, vous allez copier une application de test nommée BuggyAmb. Cette application est disponible sur l’exemple d’application de débogage BuggyAmb. Nous vous recommandons d’utiliser cet exemple d’application, car les parties suivantes utilisent cette application pour simuler des problèmes élevés et faibles de performances du processeur et des problèmes d’incident dans les laboratoires de résolution des problèmes.

BuggyAmb est simplement une application Razor Pages basée sur ASP.NET Core 3.1. Cette application a été créée intentionnellement en tant qu’application buggy à utiliser comme ressource d’apprentissage pour résoudre les scénarios problématiques d’une application ASP.NET Core sur Linux.

Vous trouverez les fichiers de code source dans ASP.NET fichiers binaires Core pour Linux. Il s’agit d’un format .tar.gz , car ce format est courant dans le monde Linux. Vous pouvez également télécharger le buggyamb_v1.1 au format .zip pour Windows.

Copier buggyamb_v1.1.tar.gz fichier sur une machine virtuelle Linux

Ouvrez une fenêtre d’invite de commandes sur votre ordinateur Windows, puis accédez au dossier dans lequel PuTTY est installé. Pour copier le fichier, exécutez la commande suivante :

pscp -i d:\secure\myprivatekey.ppk D:\Learn\Linux\buggyamb_v1.1.tar.gz <UserName>@buggyamb:/home/<UserName>

Exécutez également la pscp commande une fois que vous l’avez modifié à l’aide de votre propre clé privée et des chemins en conséquence. La capture d’écran suivante montre un transfert de fichier réussi entre Windows et la machine virtuelle Linux.

Capture d’écran de la commande pscp.

Note

Lorsque vous vous connectez à votre machine virtuelle pour la première fois à l’aide de la pscp commande, vous pouvez voir un message d’avertissement concernant une incompatibilité de clé hôte.

Connectez-vous à votre machine virtuelle Linux et vérifiez si le fichier est là. Pour ce faire, utilisez la commande ls.

Capture d’écran de la commande ls.

Il existe d’autres méthodes pour copier des fichiers entre Linux et Windows. Mais cette méthode est suffisante pour ce didacticiel.

Utilisez le fichier buggyamb_v1.1.tar.gz pour créer une deuxième application ASP.NET Core qui s’exécute derrière Nginx. Cette fois, cette application sera configurée pour utiliser un nom d’hôte pour le parcourir. La même application sera utilisée dans les laboratoires de résolution des problèmes qui composent ce didacticiel.

Note

Si vous avez des difficultés à copier le fichier buggyamb_v1.1.tar.gz sur votre machine Linux, vous pouvez simplement télécharger le fichier .tar.gz à partir de votre machine virtuelle Linux à l’aide de cette commande simple wget :

wget https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.tar.gz

Extraire les fichiers et copier dans le dossier /var/

Buggyamb_v1.1.tar.gz contient tout ce dont vous avez besoin pour exécuter votre application buggy. Comme vous l’avez fait pour votre première application ASP.NET Core, suivez les mêmes étapes pour configurer cette application pour qu’elle s’exécute toujours derrière Nginx.

Extrayez le fichier .tar.gz et copiez-le dans le dossier /var . Il existe deux façons simples d’y parvenir :

  • Option 1 : Extrayez le fichier tar.gz dans le répertoire actif en exécutant tar -xf filename.tar.gz. Ensuite, copiez le dossier extrait dans le dossier /var .
  • Option 2 : Extrayez le fichier tar.gz directement dans le répertoire /var .

Option 1 : Exécuter tar -xf buggyamb_v1.1.tar.gz pour créer le dossier buggyamb_v1.1 . Ensuite, copiez-le dans le dossier /var à l’aide de la sudo cp -a buggyamb_v1.1 /var/ commande.

Capture d’écran de la commande sudo cp.

Option 2 : Extrayez l’application directement dans le dossier /var/ à l’aide de la sudo tar -xf buggyamb_v1.1.tar.gz -C /var/ commande.

Capture d’écran de la commande sudo tar.

Choisissez l’une ou l’autre option pour extraire les fichiers d’application buggyamb_v1.1 . Ceux-ci doivent être extraits ou déplacés vers le dossier /var/buggyamb_v1.1 pour terminer l’installation. Ce dossier sera utilisé comme répertoire de travail pour la nouvelle application ASP.NET Core.

Prochaines étapes

Partie 2.6 - Exécuter deux applications ASP.NET Core en même temps

Configurez et exécutez l’application buggy ASP.NET Core derrière Nginx. À la fin de ces étapes, vous disposez de deux applications ASP.NET Core s’exécutant derrière Nginx.