Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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
.
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.
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.
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.