Поделиться через


Часть 2.5. Копирование и извлечение файлов из среды разработки в Linux

Область применения: .NET Core 2.1, .NET Core 3.1, .NET 5

В этой статье описывается копирование файлов с компьютера под управлением Windows на виртуальную машину Linux и извлечение файлов.

Предварительные требования

У этой части нет предварительных требований.

Цель этой части

Вы узнаете, как копировать файлы с компьютера под управлением Windows на виртуальную машину Linux. Это будет полезно при развертывании приложения в Linux.

Хотя для этой части нет предварительных требований, идеальная настройка будет соответствовать рекомендациям из предыдущих частей. У вас должно быть следующее:

  • Nginx работает автоматически и настроен для прослушивания запросов, отправленных через порт 80
  • Nginx настроен в качестве обратного прокси-сервера и маршрутизации входящих запросов к приложению ASP.NET Core, которое прослушивает порт 5000
  • Приложение ASP.NET Core, которое настроено для автоматического запуска после перезапуска сервера или при остановке или сбое процесса.
  • Локальный брандмауэр Linux, настроенный для разрешения трафика SSH и HTTP

Копирование файлов из Windows в Linux и наоборот

Существует несколько вариантов копирования файлов между Windows и Linux. Различные методы можно найти в нескольких хороших статьях, таких как эта. Ниже приведены некоторые варианты.

  • Общий доступ к сетевым папкам. См. сведения о протоколе SMB и Samba.
  • Передача файлов по протоколу FTP. Одним из самых известных FTP-серверов в Linux является PureFTPd.
  • Безопасное копирование файлов через SSH. Для копирования по протоколу SSH можно использовать команду scp . Однако лучшее средство — pscp (входит в состав PuTTY).
  • Совместное использование данных с помощью программного обеспечения синхронизации. Программа синхронизации помогает создавать точки синхронизации в Windows и Linux, а затем синхронизировать их с помощью ключа шифрования.
  • Используйте общие папки, если Linux работает в качестве виртуальной машины на виртуальной машине. Несколько средств, таких как VirtualBox Oracle, помогают создавать виртуальные общие каталоги.

В этой части вы будете использовать pscp для передачи файлов из Windows в Linux.

Базовые параметры pscp

Pscp упрощает выполнение основных задач, таких как копирование файла в Linux. Это средство входит в состав PuTTY, поэтому оно должно быть установлено на компьютере под управлением Windows вместе с PuTTY. Если это не так, установите его сейчас.

Вот пример команды:

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

Например, чтобы скопировать файлc:\web\publish.zip в домашний каталог пользователя в Linux, используйте следующую команду:

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

Закрытый ключ — это тот же ключ PPK , который был преобразован из PEM-файла при попытке подключиться к виртуальной машине с помощью PuTTY. Если вы сделали это успешно, у вас уже должен быть этот файл. Если у вас нет PPK-файла , следуйте инструкциям из раздела "Подключение с помощью PuTTY" и преобразуйте PEM-файл в PPK-файл.

Скопируйте файл в Linux и извлеките его в другую папку

Скачивание примера проекта

В этом руководстве вы скопируете тестовое приложение с именем BuggyAmb. Это приложение доступно в примере приложения для отладки BuggyAmb. Рекомендуется использовать этот пример приложения, так как в следующих частях это приложение используется для моделирования проблем с высокой и низкой производительностью ЦП и проблем со сбоем в лабораториях по устранению неполадок.

BuggyAmb — это просто приложение Razor Pages на основе ASP.NET Core 3.1. Это приложение было намеренно создано как приложение с ошибками для использования в качестве учебного ресурса для устранения проблемных сценариев для приложения ASP.NET Core в Linux.

Файлы исходного кода можно найти в ASP.NET Core двоичных файлов для Linux. Это формат .tar.gz , так как этот формат распространен в мире Linux. Вы также можете скачать buggyamb_v1.1 в формате.zip для Windows.

Копирование файла buggyamb_v1.1.tar.gz на виртуальную машину Linux

Откройте окно командной строки на компьютере под управлением Windows и перейдите в папку, в которой установлен PuTTY. Чтобы скопировать файл, выполните следующую команду:

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

Кроме того, pscp выполните команду после ее изменения с помощью собственного закрытого ключа и путей соответствующим образом. На следующем снимку экрана показана успешная передача файлов между Windows и виртуальной машиной Linux.

Снимок экрана: команда pscp.

Примечание.

При первом подключении к виртуальной машине с помощью pscp команды может появиться предупреждающее сообщение о несоответствии ключа узла.

Подключитесь к виртуальной машине Linux и проверка, есть ли файл. Это можно сделать с помощью ls команды .

Снимок экрана: команда ls.

Существуют и другие методы копирования файлов между Linux и Windows. Но этого метода достаточно для этого руководства.

Используйте файл buggyamb_v1.1.tar.gz, чтобы создать второе приложение ASP.NET Core, которое выполняется за Nginx. На этот раз это приложение будет настроено на использование имени узла для его просмотра. Одно и то же приложение будет использоваться в лабораториях по устранению неполадок, входящих в это руководство.

Примечание.

Если у вас возникли проблемы с копированием файла buggyamb_v1.1.tar.gz на компьютер Linux, можно просто скачать файл .tar.gz с виртуальной машины Linux с помощью следующей простой wget команды:

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

Извлечение файлов и копирование в папку /var/

Buggyamb_v1.1.tar.gz содержит все необходимое для запуска приложения с ошибками. Как и для первого приложения ASP.NET Core, выполните те же действия, чтобы настроить это приложение так, чтобы оно работало всегда за Nginx.

Извлеките файл .tar.gz и скопируйте его в папку /var . Это можно сделать двумя простыми способами.

  • Вариант 1. Извлеките файл tar.gz в текущий каталог, запустив tar -xf filename.tar.gz. Затем скопируйте извлеченную папку в папку /var .
  • Вариант 2. Извлеките файл tar.gz непосредственно в каталог /var .

Вариант 1. Выполните tar -xf buggyamb_v1.1.tar.gz команду, чтобы создать папку buggyamb_v1.1 . Затем скопируйте его в папку /var с помощью sudo cp -a buggyamb_v1.1 /var/ команды .

Снимок экрана: команда sudo cp.

Вариант 2. Извлеките приложение непосредственно в папку /var/ с помощью sudo tar -xf buggyamb_v1.1.tar.gz -C /var/ команды .

Снимок экрана: команда sudo tar.

Выберите любой из вариантов, чтобы извлечь файлы приложения buggyamb_v1.1 . Чтобы завершить настройку, их следует извлечь или переместить в папку /var/buggyamb_v1.1 . Эта папка будет использоваться в качестве рабочего каталога для нового приложения ASP.NET Core.

Дальнейшие действия

Часть 2.6. Запуск двух ASP.NET Core приложений одновременно

Настройте и запустите приложение ASP.NET Core ошибок за Nginx. В конце этих шагов вы получите два ASP.NET Core приложения, работающие за Nginx.