Compartir a través de


Parte 2.5: Copia y extracción de archivos del entorno de desarrollo en Linux

Se aplica a: .NET Core 2.1, .NET Core 3.1, .NET 5

En este artículo se presenta cómo copiar archivos de un equipo basado en Windows en una máquina virtual Linux y extraer archivos.

Requisitos previos

Esta parte no tiene ningún requisito previo.

Objetivo de esta parte

Aprenderá a copiar archivos de un equipo basado en Windows en una máquina virtual Linux. Esto será útil al implementar la aplicación en Linux.

Aunque no hay requisitos previos para esta parte, la configuración ideal seguiría las instrucciones de las partes anteriores. Debe tener lo siguiente:

  • Nginx se ejecuta automáticamente y se configura para escuchar las solicitudes enviadas en el puerto 80
  • Nginx configurado como proxy inverso y enrutar las solicitudes entrantes a una aplicación de ASP.NET Core que escucha en el puerto 5000
  • La aplicación ASP.NET Core que está configurada para iniciarse automáticamente después de reiniciar el servidor o cuando se detiene o se bloquea el proceso.
  • Firewall local de Linux configurado para permitir el tráfico SSH y HTTP

Copia de archivos de Windows a Linux y viceversa

Hay varias opciones para copiar archivos entre Windows y Linux. Puede encontrar los diferentes métodos en varios artículos buenos, como este. Estas son algunas opciones:

  • Compartir carpetas de red. Consulte el protocolo SMB y Samba.
  • Transferir archivos mediante FTP. Uno de los servidores FTP más conocidos de Linux es PureFTPd.
  • Copie archivos de forma segura a través de SSH. Puede usar el comando scp para copiar a través de SSH. Sin embargo, una mejor herramienta es pscp (incluido con PuTTY).
  • Compartir datos mediante el software de sincronización. Un programa de sincronización le ayuda a crear puntos de sincronización en Windows y Linux y, a continuación, sincronizarlos mediante una clave de cifrado.
  • Use carpetas compartidas si Linux se ejecuta como una máquina virtual en la máquina virtual. Varias herramientas, como VirtualBox de Oracle, le ayudan a crear directorios compartidos virtuales.

En esta parte, usará pscp para transferir archivos de Windows a Linux.

Parámetros básicos de pscp

Pscp facilita la tarea básica, como copiar un archivo en Linux. Esta herramienta se incluye con PuTTY, por lo que debe instalarse en el equipo basado en Windows junto con PuTTY. Si no es así, instálelo ahora.

Este es un comando de ejemplo:

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

Por ejemplo, para copiar el archivo c:\web\publish.zip en el directorio principal del usuario en Linux, use este comando:

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

La clave privada es la misma clave .ppk que se convirtió desde un archivo .pem cuando intentó conectarse a la máquina virtual mediante PuTTY. Si lo hizo correctamente, ya debería tener este archivo. Si no tiene el archivo .ppk , siga las instrucciones de la sección "Conectar con PuTTY" y convierta el archivo .pem en .ppk.

Copiar un archivo en Linux y extraerlo en otra carpeta

Descarga de un proyecto de ejemplo

En este tutorial, copiará una aplicación de prueba denominada BuggyAmb. Esta aplicación está disponible en la aplicación de ejemplo de depuración buggyAmb. Se recomienda usar esta aplicación de ejemplo porque las siguientes partes usan esta aplicación para simular problemas de rendimiento elevado y bajo de CPU y problemas de bloqueo en los laboratorios de solución de problemas.

BuggyAmb es simplemente una aplicación razor Pages basada en Razor ASP.NET Core 3.1. Esta aplicación se creó intencionadamente como una aplicación de error que se usará como recurso de aprendizaje para solucionar problemas de escenarios problemáticos para una aplicación de ASP.NET Core en Linux.

Puede encontrar los archivos de código fuente en ASP.NET archivos binarios de Core para Linux. Esto está en .tar.gz formato porque ese formato es común en el mundo de Linux. También puede descargar el buggyamb_v1.1 en formato .zip para Windows.

Copia del archivo buggyamb_v1.1.tar.gz en una máquina virtual Linux

Abra una ventana del símbolo del sistema en el equipo basado en Windows y vaya a la carpeta en la que está instalado PuTTY. Para copiar el archivo, ejecute el siguiente comando:

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

Ejecute también el pscp comando después de modificarlo mediante su propia clave privada y rutas de acceso en consecuencia. En la captura de pantalla siguiente se muestra una transferencia de archivos correcta entre Windows y la máquina virtual Linux.

Captura de pantalla del comando pscp.

Nota:

Cuando se conecta a la máquina virtual por primera vez mediante el pscp comando , es posible que vea un mensaje de advertencia sobre un error de coincidencia de clave de host.

Conéctese a la máquina virtual Linux y compruebe si el archivo está ahí. Puede hacerlo si utiliza el comando ls.

Captura de pantalla del comando ls.

Hay otros métodos para copiar archivos entre Linux y Windows. Pero este método es suficiente para este tutorial.

Use el archivo buggyamb_v1.1.tar.gz para crear una segunda aplicación ASP.NET Core que se ejecuta detrás de Nginx. Esta vez, esta aplicación se configurará para usar un nombre de host para examinarla. La misma aplicación se usará en los laboratorios de solución de problemas que componen este tutorial.

Nota:

Si tiene dificultades para copiar el archivo buggyamb_v1.1.tar.gz en la máquina Linux, simplemente puede descargar el archivo .tar.gz de la máquina virtual Linux mediante este comando sencillo wget :

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

Extraer los archivos y copiar en la carpeta /var/

Buggyamb_v1.1.tar.gz contiene todo lo que necesita para ejecutar la aplicación de buggy. Al igual que lo hizo para la primera aplicación ASP.NET Core, siga los mismos pasos para configurar esta aplicación para que se ejecute siempre detrás de Nginx.

Extraiga el archivo .tar.gz y cópielo en la carpeta /var . Hay dos maneras sencillas de hacerlo:

  • Opción 1: Extraiga el archivo tar.gz en el directorio actual mediante la ejecución tar -xf filename.tar.gzde . A continuación, copie la carpeta extraída en la carpeta /var .
  • Opción 2: Extraiga el archivo tar.gz directamente en el directorio /var .

Opción 1: Ejecute tar -xf buggyamb_v1.1.tar.gz para crear la carpeta buggyamb_v1.1 . A continuación, cópielo en la carpeta /var mediante el sudo cp -a buggyamb_v1.1 /var/ comando .

Captura de pantalla del comando sudo cp.

Opción 2: Extraiga la aplicación directamente en la carpeta /var/ mediante el sudo tar -xf buggyamb_v1.1.tar.gz -C /var/ comando .

Captura de pantalla del comando sudo tar.

Elija cualquiera de las opciones para extraer los archivos de aplicación buggyamb_v1.1 . Se deben extraer o mover a la carpeta /var/buggyamb_v1.1 para completar la instalación. Esta carpeta se usará como directorio de trabajo para la nueva aplicación ASP.NET Core.

Pasos siguientes

Parte 2.6: Ejecución de dos aplicaciones ASP.NET Core al mismo tiempo

Configure y ejecute la aplicación buggy ASP.NET Core detrás de Nginx. Al final de esos pasos, tendrá dos aplicaciones ASP.NET Core que se ejecutan detrás de Nginx.