Скачать wsl ubuntu для windows 10

Access the Ubuntu terminal on Windows with WSL. Develop cross-platform applications and manage IT infrastructure without leaving Windows.

Install a complete Ubuntu terminal environment in minutes on Windows with Windows Subsystem for Linux (WSL).

Access the Linux terminal on Windows, develop cross-platform applications, and manage IT infrastructure without leaving Windows.

Download from the Microsoft Store

Install Ubuntu on WSL ›

Deploying WSL at your company?

We help companies achieve a seamless integration with their WSL deployments. Contact us to learn more about how we support enterprises on the Windows Subsystem for Linux.

Contact us

What you never thought was possible on Windows

  • Editors

    Run your choice of Linux text editors, including vim, emacs, and nano

  • Servers

    Spin up Node.js, install your dependencies with npm, and start testing your web app

  • Development

    Install compilers and libraries from the Ubuntu repository, maintained by Canonical

  • Systemd

    Develop and run service applications and use snap packages to run popular workflow tools

  • Containers

    Work with LXD and Docker containers on Windows

  • Scripting

    Automate Linux and Windows tasks with advanced bash scripting

  • Network hardening

    Leverage Linux security tools to test and harden your network

  • Data

    Crunch big numbers with tools for R and Python

  • Kubernetes

    Build, test, and deploy Kubernetes clusters on Windows

Why Ubuntu WSL?

Develop Graphical Applications

Develop and preview web and graphical applications on Linux using WSLg. Create multiplatform graphical applications using popular open source development frameworks like Flutter or React Native.

Learn how to run graphical apps with Ubuntu on WSL ›

Enterprise support

Ubuntu is certified on WSL through close collaboration with Microsoft. Enterprise support is provided for Ubuntu from Azure to Windows workstations creating a seamless operating environment.

Get in touch

Video Guides

An introduction to numerical computation applications using Ubuntu WSL

Tips for working with web services on Ubuntu WSL

Ubuntu on WSL: An FAQ for data scientists and developers

WSL: Partnering with Canonical to support systemd

Ubuntu Summit 2022 | The Windows Subsystem for Linux WSL Latest updates and future improvements

Latest Ubuntu WSL news from

our blog ›

Содержание

  • Вариант 1: Установка в полуавтоматическом режиме
    • Шаг 1: Выбор доступных дистрибутивов Linux
    • Шаг 2: Запуск инсталляции
  • Вариант 2: Установка в ручном режиме
    • Шаг 1: Предварительная настройка системы
    • Шаг 2: Загрузка и настройка ядра WSL2
    • Шаг 3: Выбор и инсталляция дистрибутива Linux
  • Вопросы и ответы

установка wsl2 в windows 10

Вариант 1: Установка в полуавтоматическом режиме

Установка WSL в операционной системе Windows осуществляется посредством выполнения специальных команд в консоли. Для этого потребуется предварительно определиться с дистрибутивом Linux, а затем запустить процесс его инсталляции.

Важно! Приведенная ниже инструкция может быть выполнена только при условии использования Windows 10 версии 2004 (19041) и более новых. Узнать эту информацию можно в свойствах системы. Этой теме на нашем сайте посвящена отдельная статья, при необходимости ознакомьтесь с ней, перейдя по ссылке ниже.

Подробнее: Как узнать версию Windows 10

установка wsl2 в windows 10_01

Шаг 1: Выбор доступных дистрибутивов Linux

Каждому пользователю актуальной версии Windows 10 предоставляется возможность вручную выбрать дистрибутив Linux, который будет использоваться в WSL2. Для просмотра списка доступных систем необходимо ввести специальную команду в консоль, поэтому предварительно запустите «Командную строку» с правами администратора. Сделать это можно множеством способов, например посредством поискового запроса, как показано на изображении ниже.

установка wsl2 в windows 10_02

Читайте также: Как открыть «Командную строку» от имени администратора в Windows 10

Примечание! По умолчанию всегда выбрана последняя версия дистрибутива Ubuntu. Если именно его вы и хотите установить, то пропустите этот шаг и переходите сразу ко второму.

После того как окно консоли будет открыто, впишите или вставьте в него одну из нижеприведенных команд, после чего нажмите клавишу Enter:

wsl --list --online или wsl -l -o

установка wsl2 в windows 10_03

В результатах выдачи будет приведен список всех доступных дистрибутивов Linux. На этом этапе вам необходимо запомнить или скопировать в буфер обмена название, которое находится в столбце «NAME».

Обратите внимание! Если в списке доступных дистрибутивов нет желаемого, его можно импортировать в WSL2 посредством файла TAR или APPX. При необходимости есть возможность создать собственный дистрибутив на базе ядра Linux. Эти процессы описываются в официальной документации Microsoft, при необходимости ознакомиться с ними можно, воспользовавшись ссылками ниже.

Импорт любого дистрибутива Linux для использования с WSL
Создание пользовательского дистрибутива Linux для WSL

Lumpics.ru

Шаг 2: Запуск инсталляции

После того как версия дистрибутива Linux для WSL2 была выбрана, можно переходить непосредственно к ее инсталляции. Делается это тоже в «Командной строке», для чего нужно воспользоваться приведенной ниже командой. Не забудьте после ее ввода нажать клавишу Enter.

wsl --install -d <НазваниеДистрибутива>

установка wsl2 в windows 10_04

Примечание! Если вы хотите установить версию по умолчанию, тогда нет необходимости прописывать название дистрибутива вручную, можно воспользоваться следующей командой:

wsl —install

Сразу после этого начнется процесс установки платформы виртуальной машины, затем инсталлируется «Подсистема Windows для Linux», а в завершение будет выполнена загрузка ядра WSL2.

установка wsl2 в windows 10_05

После всех этих процедур можно будет воспользоваться WSL2 для вызова подсистемы Linux. Для этого достаточно будет запустить установленный дистрибутив через меню «Пуск».

Вариант 2: Установка в ручном режиме

Если версия вашей операционной системы Windows 10 ниже 2004 (19041), тогда воспользоваться вышеприведенной инструкцией не получится и большинство действий придется выполнять вручную.

Шаг 1: Предварительная настройка системы

Первостепенно необходимо проверить, поддерживает ли установленная версия операционной системы обновление WSL до второй версии. Сделать это можно посредством вызова окна «Windows: сведения». Для этого нажмите сочетание горячих клавиш Win + R, впишите в поле запроса команду winver и нажмите клавишу Enter.

установка wsl2 в windows 10_06

Появится соответствующее окно, в котором будет указана версия операционной системы и ее сборка. Убедитесь, что она выше 1903 (18362). Если это так, можете продолжить выполнение этой инструкции, в противном случае попробуйте прежде обновить Windows 10 до актуальной версии.

установка wsl2 в windows 10_07

Читайте также: Как обновить Windows 10 до последней версии

Важно! Если ваш компьютер работает на процессоре с архитектурой ARM64, этот способ установки WSL2 не подойдет. Обновитесь до последней версии Windows 10 и воспользуйтесь ранее предоставляемой инструкцией.

После того как вы удостоверились в актуальности версии операционной системы, необходимо произвести ее предварительную настройку, а именно — включить «Подсистему Windows для Linux» и компонент виртуальных машин. Делается это в оболочке PowerShell, поэтому предварительно запустите ее с правами администратора. Проще всего сделать это через контекстное меню кнопки «Пуск», как показано на изображении ниже. Но это не единственный способ.

Подробнее: Как открыть PowerShell в Windows 10

установка wsl2 в windows 10_08

Теперь необходимо включить компонент «Подсистема Windows для Linux». Для этого скопируйте и вставьте в окно консоли PowerShell следующую команду, после чего нажмите Enter:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

установка wsl2 в windows 10_09

Ожидайте завершения процедуры, когда на экране появится приглашение к вводу новой команды. После этого включите компонент виртуальных машин. Это делается посредством нижепредставленной команды:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

установка wsl2 в windows 10_10

Важно! Если результатом ее выполнения является ошибка, потребуется предварительно включить виртуализацию. Делается это через BIOS, но сначала следует проверить статус этой функции в операционной системе. На нашем сайте есть отдельные статьи, посвященные этой теме.

Подробнее:
Как проверить, включена ли виртуализация в Windows 10
Как включить виртуализацию в BIOS

установка wsl2 в windows 10_11

После того как компонент виртуальных машин будет установлен, потребуется перезагрузить компьютер.

Шаг 2: Загрузка и настройка ядра WSL2

Следующим шагом будет загрузка и установка ядра второй версии WSL, но изначально нужно определить архитектуру процессора, на которой работает операционная система. Для этого вызовите окно «Командной строки», в котором выполните следующую команду:

systeminfo | find "Тип системы"

установка wsl2 в windows 10_12

В результатах выдачи будет указана архитектура процессора. Если упоминается x64, скачайте пакет обновления ядра Linux в WSL2 для 64-разрядных компьютеров на базе процессора x86. Если в результатах выдачи есть упоминание ARM64, загрузите пакет обновлений по этой ссылке. Сохраните файл в любое удобное место, после чего запустите его, дважды кликнув по названию. Далее следуйте инструкции инсталлятора, пока не будет произведена установка.

установка wsl2 в windows 10_13

Теперь необходимо выбрать WSL2 версией по умолчанию, чтобы при установке дистрибутивов Linux они инсталлировались в этом окружении. Для этого достаточно в окне PowerShell выполнить представленную ниже команду:

wsl --set-default-version 2

установка wsl2 в windows 10_14

Шаг 3: Выбор и инсталляция дистрибутива Linux

Как только все необходимые компоненты будут установлены, можно переходить к выбору дистрибутива Linux для инсталляции в окружении WSL2. В отличие от первого способа, представленного в этой статье, все действия будут выполняться не в «Командной строке», а в Microsoft Store. Для удобства ниже приведен список доступных систем со ссылками на них:

  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • openSUSE Leap 15.1
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server 15 SP1
  • Kali Linux
  • Debian GNU/Linux
  • Fedora Remix for WSL
  • Pengwin
  • Pengwin Enterprise
  • Alpine WSL
  • Raft (пробная версия)

Воспользуйтесь нужной ссылкой, чтобы перейти в магазин приложений от Microsoft. Находясь на странице нужного дистрибутива, щелкните по кнопке «Получить», расположенной рядом с его названием.

установка wsl2 в windows 10_15

Дождитесь завершения загрузки, после чего кликните по появившейся кнопке «Открыть». Запустится окно консоли, в котором будет предложено подождать несколько минут, пока идет распаковка дистрибутива. В дальнейшем процедура инициализации ядра Linux будет занимать считанные секунды.

установка wsl2 в windows 10_16

Примечание! Представленный выше список дистрибутивов взят с официального сайта Microsoft и может со временем измениться. В случае необходимости рекомендуем обратиться за справкой непосредственно к статье-первоисточнику.

Ubuntu WSL

Install a complete Ubuntu terminal environment in minutes with Windows Subsystem for Linux (WSL). Develop cross-platform applications, improve your data science or web development workflows and manage IT infrastructure without leaving Windows.

Key features:

  • Efficient command line utilities including bash, ssh, git, apt, npm, pip and many more
  • Manage Docker containers with improved performance and startup times
  • Leverage GPU acceleration for AI/ML workloads with NVIDIA CUDA
  • A consistent development to deployment workflow when using Ubuntu in the cloud
  • 5 years of security patching with Ubuntu Long Term Support (LTS) releases

For more information about Ubuntu WSL and how Canonical supports developers please visit:

https://ubuntu.com/wsl

Ubuntu’s applications on WSL

These are the applications we develop and maintain:

  • Ubuntu ships the latest stable LTS release of Ubuntu. When new LTS versions are released, Ubuntu can be upgraded once the first point release is available
  • Ubuntu 18.04.5 LTS, Ubuntu 20.04.5 LTS, Ubuntu 22.04.1 LTS are the LTS versions of Ubuntu and receive updates for five years. Upgrades to future LTS releases will not be proposed.
  • Ubuntu (Preview) is a daily build of the latest development version of Ubuntu previewing new features as they are developed. It does not receive the same level of QA as stable releases and should not be used for production workloads.

This repository

This repository contains code relevant to Ubuntu on WSL. It builds on top of Microsoft’s reference implementation. Head there for any documentation needs.

Issues & Contact

You are welcome to create a new issue on this repository if you find bugs you believe may be particular to Ubuntu running on WSL.

Feel free to otherwise head over to Microsoft’s WSL page on GitHub if your report is not specific to Ubuntu but rather more general to WSL.

We also have a page on Launchpad; we check it less often but you may find part of the community there. Ubuntu’s Discourse page has news and interesting discussions about Ubuntu on WSL.

Рекомендуем: Что необходимо знать о WSL2 (подсистема Windows для Linux 2).

Два способа установить WSL 2 в Windows 10

  • Установить WSL 2 в Windows 10 версии 21H2
  • Установить WSL 2 в Windows 10 версии 20H2

WSL 2 или Windows Subsystem для Linux 2 — это итеративное обновление подсистемы Windows для Linux. Будучи намного лучше, чем WSL 1, очевидно, что стоит обновиться до WSL 2. Опыт установки WSL в новых сборках значительно упростился. Начиная с сборки 20246 Windows 10 Insiders Preview на канале Dev, выпущенной Microsoft сегодня, пользователи могут установить полноценную WSL, одной командой. Как это сделать в Windows 10 версии 20H2 и Windows 10 21H1 сборка 20246, рассмотрим в этом руководстве. Windows Fe (Iron) появилась. Проверьте какая версия Windows 10 установлена у вас?

Установить подсистему Windows для Linux 2  (WSL 2) в Windows 10 версии 21H2

  • Больше не нужно копировать и вставлять несколько команд в PowerShell.
  • Больше не нужно копаться в функциях Windows.
  • Больше никаких походов в Магазин.

Все, что вам нужно сделать для установки подсистемы Windows для Linux, — это:

  1. Открыть «Командную строку», окно «PowerShell» или «Windows Terminal» от имени Администратора и ввести команду:
wsl --install

и нажать Enter

wsl --install

Это включит WSL 2, загрузит и установит последнее ядро ​​Linux WSL 2, а затем загрузит и установит самую последнюю версию Ubuntu LTS на WSL.

Если вы хотите установить другой дистрибутив Linux, у вас есть выбор. Просто добавьте немного дополнительной информации к команде перед тем, как нажать Enter:

 wsl --install -d <DistroName>

Где <DistroName> — это имя ОС, которую вы хотите установить. Вот список доступных на данный момент:

  • Ubuntu
  • Debian
  • Kali-Linux
  • openSUSE-42
  • SLES-12
  • Ubuntu-16.04
  • Ubuntu-18.04
  • Ubuntu-20.04

Например: если вы хотите установить Ubuntu 16.04, вы должны ввести:

wsl --install -d Ubuntu-16.04

Например: если вы хотите установить Ubuntu 16.04, вы должны ввести:  wsl --install -d Ubuntu-16.04

Чтобы обновить ядро ​​WSL 2 с помощью командной строки, выполните следую команду:  

wsl --update

«wsl.exe –install» в конечном итоге будет перенесен в существующие сервисные кольца Windows 10, что упростит установку WSL для всех. На данный момент требуется, чтобы ваше устройство с Windows 10 было на канале Insiders Dev.

Если вам не хочется загружать предварительную версию Windows 10 и на вашем ПК установлена версия 2004 (20H1) или предыдущая, вы можете установить подсистему Windows для Linux по старинке используя способ ниже:

Установить подсистему Windows для Linux 2  (WSL 2) в Windows 10 версии 20H2

Ниже приведены требования, которые должен соответствовать ваш компьютер для правильной работы WSL 2:

  • Windows 10 версия 2004 (обновление за май) или новее.
  • Поддержка — Hyper — V Виртуализации.

Кроме того, для работы всех функций подсистемы Windows для Linux 2 вам необходимо будет выполнить следующие действия в указанном порядке:

  1. Включить опциональную функцию WSL.
  2. Установите дистрибутив Linux.
  3. Включить Платформу виртуальной машины —  необязательная функция.
  4. Загрузить обновление ядра WSL 2 (обязательно).
  5. Настроить установленный дистрибутив.

1] Включить опциональную функцию WSL

Чтобы установить WSL, откройте Windows PowerShell с от имени администратора.

Выполните следующую команду:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

или

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

После того как команда будет выполнена, вы получите запрос, если вы хотите перезагрузить компьютер, нажмите Y, чтобы сделать это сразу, или нажмите N, чтобы перезагрузить его вручную, позже.

Включить опциональную функцию WSL

2] Установить дистрибутив

Вы можете загрузить и установить нужный вам дистрибутив Linux  из Магазина Microsoft.

Подробнее в нашем руководстве:  Загрузить дистрибутив Linux из Microsoft Store

загрузить и установить нужный вам дистрибутив Linux  из Магазина Microsoft

3] Включить дополнительную функцию «Платформа виртуальной машины».

Чтобы включить дополнительную функцию платформы виртуальных машин, откройте Windows PowerShell от имени администратора и выполните следующую команду:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

или

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Если система запрашивает подтверждение, чтобы перезагрузить компьютер, нажмите Y, чтобы сделать это сразу, или N чтобы сделать это позже.

Включить дополнительную функцию «Платформа виртуальной машины».

4] Настройте установленный дистрибутив

Наконец, нам нужно настроить установленный дистрибутив для WSL 2.

  1. Откройте Windows PowerShell и выполните эту команду, чтобы получить список всех доступных дистрибутивов WSL на вашем компьютере:
wsl -l -v
  1. Установите желаемый дистрибутив для работы в WSL 2. выполните следующую команду:
wsl --set-version DistroName 2

Где замените DistroName на имя дистрибутива из предыдущей команды.

Примечание: Команда wsl —set-version DistroName 1 позволит вам в любой момент переключится на Wsl 1.

нам нужно настроить установленный дистрибутив для WSL 2.

5] WSL 2 обновление компонента ядра

  1. Обязательно загрузите пакет обновления ядра Linux на странице и установите его: https://aka.ms/wsl2kernel.
  2. Дважды кликните файл wsl_update_x64.msi и примените обновление.

  3. Запустите PowerShell от имени администратора.

  4. Введите следующую команду, чтобы сделать Windows Subsystem for Linux 2 архитектурой по умолчанию для новых устанавливаемых дистрибутивов, и нажмите Enter:

    wsl --set-default-version 2

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

Проверка дистрибутивной платформы

Чтобы убедиться, что ваши дистрибутивы используют подсистему Windows для Linux 2, выполните следующие действия:

  1. Откройте Пуск.

  2. Запустите PowerShell от имени администратора.

  3. Введите следующую команду, чтобы проверить версию дистрибутива, и нажмите Enter :

    wsl --list --verbose
  4. Убедитесь, что версия дистрибутива установлена ​​как 2.

версия дистрибутива

После того, как вы выполните эти шаги, вы узнаете, был ли процесс завершен успешно или вам нужно устранить неполадки на любом из предыдущих шагов.

Вы только что получили новый, плавный и быстрый опыт работы с подсистемой Windows для Linux 2.

WSL 2 значительно улучшит производительность файловой системы и полную совместимость системных вызовов. Это новое обновление основано на виртуализации (которая основана на Hyper-V), и работает на реальном ядре Linux.

Примечание: Некоторые из устаревших дистрибутивов WSL не предназначены для работы под WSL 2. Вот список WSL 2-совместимых дистрибутивов.

  • Ubuntu
  • Ubuntu 16.04 LTS
  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • openSUSE Leap 15.1
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server 15 SP1
  • Kali Linux
  • Debian GNU/Linux
  • Fedora Remix for WSL
  • Pengwin
  • Pengwin Enterprise
  • Alpine WSL

Вам может быть интересно:

  • Как установить подсистему Windows для Linux.
  • Доступ к файлам WSL Linux с помощью Проводника Windows 10
  • Windows 10, Установка локального веб-сервера (Apache, MySQL, PHP) в Wsl 1 и Wsl 2.
  • Как запускать приложения Linux GUI в Windows 10.
  • Как Выполнить команды Linux из Командной строки Windows 10.
  • Проверьте погоду в Windows 10 с помощью Linux Bash
  • Как запустить OpenSUSE 42.2 Leap или SUSE Linux Enterprise Server 12 в Windows 10

Table of Contents

Зачем нужен Windows Subsystem for Linux 2 (WSL2)? Самый частый ответ — простое использованое Linux программ в среде Windows. Docker самая распространенная причина для установки WSL2.

Что надо для WSL2

  • убедиться что в BIOS включена виртуализация, ищите пункт меню:
    • процессор Intel: VT-x, Intel Virtualization Technology, VTx
    • процессор AMD: SVM Mode, AMD-V, Virtualization Technology
  • версия Windows 11 или 10 не ниже версии 2004 (сборка 19041 ~декабрь 2019)
  • права администратора

Всего несколько команд

Установим само ядро wsl и запустим дистрибутив Ubuntu для работы в консоли.

Открывайте PowerShell с правами Администратора. Самый простой вариант по мне -> WIN+X и выбрать Терминал Windows (Администратор).

Выполняйте команду:

По-умолчанию, установится WSL2 с GUI и Ubuntu . Установка займет определенное время, подождите.

Если ошибка 0x80072eff

В процессе, можете увидеть ошибку Во время установки произошла ошибка, но установка может быть продолжена. Компонент: 'Ядро WSL' код ошибки: 0x80072eff.

0x80072eff

А значит, все автоматически не сработало, не беда. Перезагружайтесь и снова запустите PowerShell от Администратора.

  • Запустите обновление wsl
  • Завершите работу wsl
  • Запустите заново wsl
  • Запустите установку Ubuntu (если надо более специфический дистр, посмотрите все варианты wsl -l -o)

ubuntu success install

Успешная установка Ubuntu

После установки, введите имя пользователя и пароль для Ubuntu, и вам будет доступна среда Linux.

ubuntu login pass

Рекомендуется сделать одну команду, обновить список пакетов:

и наслаждаться :)

Как зайти в WSL консоль

  • запускайте команду wsl. (например, в настройках среды разработки указать wsl это для терминала по-умолчанию)
  • можете вынести из Пуска, ярлык Ubuntu на панель задач.
  • или поставить обновленный Microsoft Terminal, и в нем настроить при запуске сразу открывать консоль wsl, рекомендую.

start wsl

ubuntu info

Рабочая среда это важно, чем проще и быстрее вы можете развернуть рабочую среду, тем эффективнее будет строится ваша работа.

В первое время, я делал много ошибок работая под Linux потому что привык к MacOS. Все дело в том, что я практически не касался серверных конфигураций на своем компьютере, у меня стоял Valet и он решал 90% всех проблем. И даже сумел настроить его для работы с Битрикс, что для меня уже говорит о многом. Битрикс капризна и тянет за собой устаревшие настройки (на данный момент директива mbstring.func_overload более не требуется для работы Битрикс)  несовместимые с современными системами. Строить контейнеры мне не очень удобно, но о контейнерах я еще обязательно напишу.

Мне как программисту хотелось бы как можно реже сталкиваться с настройками сервера, но построить рабочую среду под windows это, скажу я вам, то еще развлечение. Сразу оговорюсь, я категорически не приемлю OpenServer, Denwer и прочие «джентельменские наборы», в том числе и так полюбившийся мною Valet. По историческим причинам и потому, что они решают лишь часть возникающих задач, а если есть необходимость в гибкой настройке сервера, джентельменские наборы ничем не помогут. Я вообще рекомендую отказываться от подобных схем и осваивать настройки *-nix систем и серверов на их основе. Знание того как работает сервер для web программиста является строго обязательным.

Установка подсистемы Windows для Linux

Первое, что необходимо сделать это установить виртуальную машину. Виртуализация должна быть включена в системе, а если применить настройки не получается, проверьте, возможно она отключена в BIOS вашего компьютера.

Шаг первый и самый простой. Подробнее написано на сайте мелкомягких в официальной документации.

Собственно, включаем поддержку подсистемы:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

PowerShell — должен быть запущен от имени администратора.

Далее нам необходимо обновиться до WSL2.

Как уже говорил, WSL 1-й редакции нам не интересен. А WSL2 может быть установлен только для 64-разрядных систем версии >=2004. Проверьте версию и при необходимости обновитесь.

Перед установкой включаем компонент «Платформа виртуальных машин».

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Далее, скачиваем пакет обновления ядра Linux в WSL2 ссылка взята из официальной документации. Запускаем и дожидаемся окончания установки.

Следующее что необходимо сделать это установить WSL2 в качестве версии по умолчанию:

wsl set-default-version 2

Если wsl --set-default-version выполняется как недопустимая команда, введите wsl --help. Если --set-default-version нет в списке, это указывает на отсутствие поддержки в ОС. Вам нужно выполнить обновление до версии 1903, сборки 18362 или выше.

После выполнения команды может появиться следующее сообщение: WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel. Это значит, что вам по-прежнему нужно установить пакет обновления MSI для ядра Linux.

Если все прошло успешно, то можно заняться установкой дистрибутива Linux.

Как видите, выбор не так уж и велик. Любителям CentOS придется заплатить за нее пару баксов,  а чтобы настроить Kali пришлось повозиться с репозиториями и ключами, с той же проблемой столкнулся и при установке Debian. Интересно, с чего бы это :).

Что касается Ubuntu, то она ведет себя на удивление стабильно и проблем с ней замечено не было. Я установил версию 20.4, пользуюсь ею и очень доволен. Но никто не мешает установить параллельно несколько разных версий, главное не забыть при этом указать ту, которая будет установлена по умолчанию. Дистрибутивы устанавливаются в Windows как отдельные приложения и могут работать параллельно совершенно не мешая друг другу.

Эмулятор консоли для Windows

Еще один важный вопрос который предстоит решить. Использовать стандартную консоль Windows мне не хотелось. Благо, в сети есть немало эмуляторов которые великолепно работают под виндой, сохраняя при этом немало функций стандартной консоли nix-ов.

Я остановился на ConEmu и пользуюсь им для решения повседневных задач: ssh, wsl. Понравился он мне количеством настроек, скоростью работы и, собственно, тем, что по всем признакам не отличим от стандартной консоли Linux.

Во время работы, я пользуюсь встроенным терминалом VSCode, но недавно обнаружилась досадная проблема. Набор расширений Remote (wsl, ssh, containers), разгоняют процессор сервера до 100%, если подключаться к корневой директории. Когда я подключался к папке проекта, VSCode вел себя нормально, но иногда все же начинал кушать ресурсы процессора, о чем я узнавал по свисту кулера (моего не самого слабого компьютера). В связи с этим, пришлось установить VSCode insiders (по совету на StackOverflow), с ним подобных странностей пока не замечено.
В любом случае, дополнительный терминал позволяет мне работать в терминале VSCode только с проектом, а если нужно быстро подключиться к удаленному серверу или другой WSL системе, я пользуюсь ConEmu.

Управление дистрибутивами WSL

Управлять дистрибутивами мне проще через ConEmu, который интерпретирует команды *nix под Win стандарт.

Мы можем установить несколько дистрибутивов. Список всех дистрибутивов получаем командой wsl --list (-l).

Если вы не выбрали дистрибутив по умолчанию, то им будет тот, который вы установили первым. Назначить дистрибутив по умолчанию легко:

wsl -s <DistributionName>wsl --setdefault <DistributionName>

Войти в конкретный дистрибутив WSL так же просто:

wsl -d <DistributionName>wsl --distribution <DistributionName>

Интересный момент, что WSL позволяет использовать команды LInux за пределами дистрибутива. Да, мы можем взаимодействовать с файловой системой маздая через терминал, используя привычные команды. Но разработчики пошли еще дальше. Команды можно смешивать.

Подробнее о том как миксовать команды WSL (Linux) и команды PowerShel можно почитать в официальной документации.

Установка PHP7.4 на WSL2

Начнем покорение нашего Эвереста с установки PHP. Я ставлю последнюю версию, у меня нет проектов привязанных к старым версиям, да и под них всегда можно создать отдельную систему на Ubuntu18 или используя любой-другой дистрибутив из доступных.

<span class=«token function»>sudo</span> <span class=«token function»>apt</span> <span class=«token function»>install</span> phpfpm phpmysql

Будет установлена последняя актуальная версия.

Установка сервера NGINX

Для демонстрации веб-страниц посетителям нашего сайта мы будем использовать современный и эффективный веб-сервер Nginx. Мы будем использовать диспетчер пакетов apt для получения этого программного обеспечения.

Поскольку в этом сеансе мы будем использовать apt впервые, нужно обновить указатель пакетов вашего сервера. После этого вы можете использовать apt install для установки Nginx:

sudo apt update

sudo apt install nginx

При получении запроса введите y для подтверждения того, что вы хотите установить nginx. После завершения установки веб-сервер Nginx будет активирован и будет работать на вашем сервере Ubuntu 20.04.

Если у вас включен брандмауэр ufw, как рекомендуется в руководстве по первоначальной настройке сервера, вам нужно разрешить подключение к Nginx. После установки Nginx регистрирует несколько разных профилей приложений UFW. Чтобы проверить, какие из профилей UFW доступны, выполните команду:

Output

Available applications:

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

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

Для этого введем команду Awf — разрешить NGINX использовать протокол HTTP:

sudo ufw allow ‘Nginx HTTP’

По сути, наш сервер уже запущен и работает, введите service nginx status, чтобы убедиться в этом.

Проблемы 80-го порта

Если после установки NGINX сервер работает, но никак не обнаруживается в нашей «сети» то скорее всего Windows уже использует его. Проверить используется ли 80-й порт можно командой:

netstat -tulnp | grep httpd

Как видите он занят. Использовать 80-й порт я не стал, в настройках сервера открыл порт :8080 и спокойно работаю. Если же вы перфекционист и лишние 5 цифр для вас головная боль, то придется освобождать порт. Проблема в том, что использовать его могут очень многие программы. Чаще всего это Skype и системный процесс System с PID 4. Но общий список программ которые занимают 80-й порт внушителен и установив одну из них вам придется каждый раз чистить системные процессы отыскивая их по PID (тем более, если программа не позволяет сменить порт, как было у меня). Что тут скажешь, быть перфекционистом это нелегкий труд в нашем несовершенном мире.

Далее я буду давать установки с указанием порта 8080, но вам никто не мешает поэкспериментировать, заменив порт на 80-й или любой-другой на ваш вкус.

Настройка NGINX

Есть несколько путей по которым можно настраивать сервер NGINX для локальной среды, точнее путей невообразимое множество, есть несколько путей, которыми пользуюсь лично я. Вариант первый, классический: настроить сервер стандартным образом, создавая конфигурационный файл для каждого сайта. Второй способ заключается в том, чтобы перенаправлять сайты при помощи регулярного выражения.

Оба способа имеют право на жизнь. Первый, поможет удобно организовать множество разных проектов, второй позволит организовать среду для однотипных проектов. Во втором случае вы можете столкнуться с проблемами индивидуальной настройки для каждого сайта.

Далее я приведу настройку NGINX для работы с PHP. Используя классический способ настройки, вы сможете применять уникальные настройки среды для каждого сайта. Если вы разрабатываете на PHP и на Python или хотите работать в Laravel и Битрикс, то этот способ предпочтительнее.

Для начала перейдите в директорию cd /etc/nginx/sites-available. В ней должен лежать единственный файл default. Этот файл из папки sites-available удалять необязательно. Все файлы которые вы поместите в эту директорию работать не будут до тех пор пока мы не создадим на них символьную ссылку из директории sites-enabled. Но даже когда мы это сделаем, сервер не будет работать с загруженными файлами, пока мы не перезапустим сервер. Но давайте по порядку:

cd /etc/nginx/sitesavailable

vim mydomain.local

Далее нам необходимо сконфигурировать сервер на работу с нашим сайтом, я добавил комментарии, чтобы вам было легче работать с этим файлом. Собственно, все что вам необходимо настроить, это поправить порт, домен и директорию в которой располагается проект. Ничего сложного.

Обратите внимание на то, что я прописал путь для фреймворка Laravel, ее точка входа (файл index.php) располагается в директории /public. Для CMS, у которых точка входа находится в корне, вы создавать папку /var/www/my-domain.local/public/ и уже в нее устанавливать ваш WordPress или Bitrix. Так же, в секции php обратите внимание на версию сокета, она может отличаться в вашей установке.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

server {

        listen 8080; # порт, прослушивающий nginx

        server_name mydomain.local www.mydomain.local; # доменное имя, относящиеся к текущему виртуальному хосту

        root /var/www/mydomain.local/public/; # каталог в котором лежит проект, путь к точке входа

        index index.php index.html;

        # add_header Access-Control-Allow-Origin *;

        client_max_body_size 100m;

        # serve static files directly

        location ~* .(jpg|jpeg|gif|css|png|js|ico|html)$ {

                access_log off;

                expires max;

                log_not_found off;

        }

        location / {

                # add_header Access-Control-Allow-Origin *;

                try_files $uri $uri/ /index.php?$query_string;

        }

        location ~* .php$ {

                try_files $uri = 404;

                fastcgi_split_path_info ^(.+.php)(/.+)$;

                fastcgi_pass unix:/var/run/php/php7.4fpm.sock; # подключаем сокет php-fpm

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include fastcgi_params;

    }

location ~ /.ht {

                deny all;

        }

}

Конфигурируем NGINX при помощи регулярный выражений

Второй способ идеален для тех, кто разрабатывает много проектов на одной системе и не хочет заморачиваться с настройками для каждого сайта. Если вы посмотрите внимательно на этот конфиг, то увидите, что в сущности это тот же самый конфигурационный файл, но вместо домена мы используем переменную. Теперь наш сервер NGINX отслеживает запросы и если он получает запрос на домен для которого создана директория на сервере (в данном случае идентичная имени домена), то он отдает нам содержимое сайта. Остальные запросы будут проигнорированы.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

server {

listen 80;

# регулярное выражение для работы с несколькими проектами

    server_name ~^(www.)?(?<domain>.+)$;

    root C:/nginx/sites/$domain;

# указываем точку входа: index

   try_files $uri $uri/ /index.php?$query_string;

   index index.html index.htm index.php;

# Подключаем обработку php

   location ~ .php$ {

      fastcgi_pass 127.0.0.1:9000;

      fastcgi_index index.php;

      include fastcgi_params;

      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

      fastcgi_param SERVER_NAME $domain;

      fastcgi_param QUERY_STRING $query_string;

   }

   location ~ /.ht {

   deny all;

   }

}

Обе конфигурации вполне работоспособны из коробки и неплохо себя показали, но пораскинув немного мозгами можно собрать из них универсальное решение. Я буду очень рад, если вы поделитесь своими находками в комментариях.

Настройка файла Hosts в Windows

Сейчас мы настроили локальный сервер, но наш компьютер пока ничего не знает о его существовании. В сети Интернет за указание адресов серверов отвечают серверы DNS, нам же придется прописывать пути вручную (или один путь, в зависимости от выбранных установок).

После добавления всех настроек, настало время проверить работает ли сервер, указав в браузере http://localhost.

В браузере вы должны увидеть приветственное сообщение NGINX.

Проблемы выбора домена для внутренней сети

Мое чутье подсказывало мне, что лучшим выбором будет домен *.dev сервер ведь для разработки. Но чутье меня обмануло. Если вы попытаетесь настроить Hosts для этого домена, то ничего у вас, скорее всего, не заработает. Связано это с тем, что доменная зона .dev зарегистрирована Google. Браузер Hrome, похоже об этом что-то знает, так как именно с браузерами на движке Hrumium возникли основные проблемы, а точнее, ни один из сервисов не подключился. Как свидетельствует StackOverflou, проблемы с доступностью .dev начались задолго до его официальной регистрации.

Я уверен, что и у этой проблемы есть решение и можно переопределить домены .dev на работу в localhost, но зачем? Я просто настроил доменную зону .local.

Установка сервера MySQL

Мы запустили веб-сервер, и теперь нам нужно установить СУБД, которая может хранить данные вашего сайта и управлять ими. MySQL — популярная СУБД, используемая в средах PHP.

Используйте apt для получения и установки этого программного обеспечения:

Подключение VSCode к WSL

Для работы в файловой системе нашего WSL контейнера нужен будет специальный плагин Visual Studio Code Remote.

Подключаемся через нижнюю панель Remote (синяя кнопка в левом нижнем углу), по клику на нее открывается панель выбора способа удаленного подключения. Выбираем WSL.

Автоматически Remote загрузит нам директорию пользователя Ubuntu. Жмем «Open folder» в правом боксе, указав косую черту в списке открывшихся каталогов, попадем в корень диска.

Выбираем директорию нашего проекта, жмем «Ок» и можем работать с файлами.

Вывод

Мы создали полноценную рабочую среду, настроили сервер NGINX, PHP и MySQL и все это в полноценной Linux работающей на WSL!

А вместе с этим, завершились и мои мучения с настройкой WSL. Могу с уверенностью заявить, что до появления WSL2 он не работал, от слова совсем. Мы могли скачать какие-то простенькие консольные утилитки, но о том, чтобы поднять полноценный сервер для разработки не было и речи. Выход WSL2 все изменил. Я так спешил установить себе оболочку Linux, что даже согласился на установку бетты десятки и… Ждал еще несколько месяцев, пока мелкомягкие доведут все до ума.

Но в итоге, свершилось! Что ж, надеюсь статья была хоть кому-то полезна. Я потратил на нее довольно много времени и буду рад, если вы поделитесь своим мнением в комментариях. Мне правда интересно, использует ли кто-то еще WSL для работы или Docker окончательно поглотил мир.

Понравилась статья? Поделить с друзьями:
  • Скачать wsat оценка производительности компьютера в windows 10
  • Скачать wsat для оценки производительности windows 10
  • Скачать wsat для windows 10 с официального сайта
  • Скачать word для windows vista бесплатно
  • Скачать wps офис бесплатно для windows 10