- Установка и использование подсистемы Linux (WSL 2) в Windows 10
- Скачивание пакетов дистрибутива подсистемы Windows для Linux вручную Manually download Windows Subsystem for Linux distro packages
- Скачивание дистрибутивов Downloading distributions
- Скачивание дистрибутивов с помощью командной строки Downloading distros via the command line
- Скачивание с помощью PowerShell Download using PowerShell
- Скачивание с помощью cURL Download using curl
- Установка дистрибутива Installing your distro
- Запуск графической оболочки Linux Bash в Windows 10
- VcXsrv Windows X Server
- Известные проблемы и их решения
Установка и использование подсистемы Linux (WSL 2) в Windows 10
Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).
Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).
Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control Panel\All Control Panel Items\Programs and Features\Turn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.
Вы можете включить компоненты WSL в Windows 10 с помощью dism:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
После этого также необходимо перезагрузить компьютер.
Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку
Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:
wsl —set-default-version 2
Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Expand-Archive -Path .\ubuntu-2004.zip
Запустите установку образа Linux с помощью файла Ubuntu.exe.
Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.
После установки можно проверить используемую версию WSL с помощью команды
wsl —list –-verbose
Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:
wsl —set-version Ubuntu-20.04 2
Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:\Users\234\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState.
После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.
Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”
Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in
Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:
notepad \\wsl$\Ubuntu-20.04\home\1122.txt
Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:
sudo apt-get update
sudo apt-get upgrade
После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.
Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды
sudo apt-get install mc
Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.
Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:
ip addr | grep eth0
В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).
С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app
Затем создайте файл в директории root:
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ‘
Теперь можете запустить графические программы Linux через WSL командами:
Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:
чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:
Скачивание пакетов дистрибутива подсистемы Windows для Linux вручную Manually download Windows Subsystem for Linux distro packages
Существует несколько сценариев, в которых вы не сможете (или не захотите) устанавливать дистрибутивы WSL Linux с помощью Microsoft Store. There are several scenarios in which you may not be able (or want) to, install WSL Linux distros via the Microsoft Store. В частности, вы можете использовать номер SKU классической ОС Windows Server или Long-Term Servicing (LTSC), который не поддерживает Microsoft Store, или политики корпоративной сети и административные параметры, запрещающие использовать Microsoft Store в вашей среде. Specifically, you may be running a Windows Server or Long-Term Servicing (LTSC) desktop OS SKU that doesn’t support Microsoft Store, or your corporate network policies and/or admins to not permit Microsoft Store usage in your environment.
В таких случаях, когда подсистема WSL доступна, как скачать и установить дистрибутивы Linux в WSL, если нет доступа к магазину? In these cases, while WSL itself is available, how do you download and install Linux distros in WSL if you can’t access the store?
Примечание. Среды оболочки командной строки, в том числе дистрибутивы Linux/WSL, Cmd и PowerShell не могут выполняться в S-режиме Windows 10. Note: Command-line shell environments including Cmd, PowerShell, and Linux/WSL distros are not permitted to run on Windows 10 S Mode. Это ограничение существует, чтобы обеспечить целостность и безопасность, которые предоставляет S-режим. Дополнительные сведения см. в этой записи блога. This restriction exists in order to ensure the integrity and safety goals that S Mode delivers: Read this post for more information.
Скачивание дистрибутивов Downloading distributions
Если приложение Microsoft Store недоступно, вы можете скачать и вручную установить дистрибутивы Linux, щелкнув следующие ссылки: If the Microsoft Store app is not available, you can download and manually install Linux distros by clicking these links:
Это приведет к скачиванию пакетов .appx в выбранную папку. This will cause the .appx packages to download to a folder of your choosing. Следуйте инструкциям по установке скачанных дистрибутивов. Follow the installation instructions to install your downloaded distro(s).
Скачивание дистрибутивов с помощью командной строки Downloading distros via the command line
При желании вы также можете скачать предпочтительные дистрибутивы с помощью командной строки. If you prefer, you can also download your preferred distro(s) via the command line:
Скачивание с помощью PowerShell Download using PowerShell
Чтобы скачать дистрибутивы с помощью PowerShell, используйте командлет Invoke-WebRequest. To download distros using PowerShell, use the Invoke-WebRequest cmdlet. Ниже приведены инструкции по скачиванию Ubuntu 16.04. Here’s a sample instruction to download Ubuntu 16.04.
Если загрузка занимает много времени, выключите индикатор выполнения, задав $ProgressPreference = ‘SilentlyContinue’ . If the download is taking a long time, turn off the progress bar by setting $ProgressPreference = ‘SilentlyContinue’
Скачивание с помощью cURL Download using curl
Обновление Windows 10 Spring 2018 (или более поздней версии) содержит популярную служебную программу командной строки cURL, с помощью которой можно вызывать веб-запросы (например, команды HTTP GET, POST, PUT и т. д.) из командной строки. Windows 10 Spring 2018 Update (or later) includes the popular curl command-line utility with which you can invoke web requests (i.e. HTTP GET, POST, PUT, etc. commands) from the command line. Вы можете использовать curl.exe , чтобы скачать приведенные выше дистрибутивы: You can use curl.exe to download the above distros:
В приведенном выше примере выполняется curl.exe (а не только curl ), чтобы убедиться, что в PowerShell вызывается реальный исполняемый файл cURL, а не его псевдоним для Invoke-WebRequest. In the above example, curl.exe is executed (not just curl ) to ensure that, in PowerShell, the real curl executable is invoked, not the PowerShell curl alias for Invoke-WebRequest
Примечание. Использование curl может быть предпочтительным, если необходимо вызвать или создать сценарий для скачивания с помощью командлетов командной строки и сценариев .bat / .cmd . Note: Using curl might be preferable if you have to invoke/script download steps using Cmd shell and/or .bat / .cmd scripts.
Установка дистрибутива Installing your distro
Если вы используете Windows 10, вы можете установить дистрибутив с помощью PowerShell. If you’re using Windows 10 you can install your distro with PowerShell. Просто перейдите в папку, содержащую скачанный выше дистрибутив, и в этом каталоге выполните следующую команду, в которой app_name — это имя APPX-файла дистрибутива. Simply navigate to folder containing the distro downloaded from above, and in that directory run the following command where app_name is the name of your distro .appx file.
Если вы используете Windows Server или у вас возникли проблемы с выполнением приведенной выше команды, можно найти альтернативные инструкции по установке на странице документации Windows Server, чтобы установить файл .appx , изменив его на ZIP-файл. If you are using Windows server, or run into problems running the command above you can find the alternate install instructions on the Windows Server documentation page to install the .appx file by changing it to a zip file.
После установки дистрибутива следуйте обычным инструкциям по * обновлению WSL 1 до WSL 2 или создайте новую учетную запись пользователя и пароль. Once your distribution is installed, follow the normal instructions to * Update from WSL 1 to WSL 2 or create a new user account and password.
Запуск графической оболочки Linux Bash в Windows 10
В первую очередь необходимо установить Linux Bash в Windows 10. Инструкция по установке Linux Bash описана в следующей статье:
Для установки Ubuntu из Microsoft Store предлагаем выбрать версию Ubuntu 18.04 LTS в операционной системе Windows 10 May 2019 Update (версия 1903).
Параметры установленного дистрибутива Linux расположены в меню Windows Параметры > Приложения > Приложения и возможности. Из списка установленных программ выберите Ubuntu 18.04 и нажмите на Дополнительные параметры.
Так же открыть параметры Ubuntu 18.04 можно нажав правой кнопкой мыши по значку Ubuntu 18.04 в меню Пуск, в открывшемся меню выбираем Дополнительно > Параметры приложения.
Параметры установленного Линукс дистрибутива в Windows 10 (версия 1903):
Расположена файловая система Ubuntu на локальном диске С по следующему адресу:
Таким образом можно получить доступ к нужным файлам и папкам Linux.
После установки и первоначальной настройки системы нужно обновить систему и установить рабочее окружение.
Обновление системы и установленных пакетов:
Установка рабочего окружения и пакета программ Ubuntu (Gnome):
Меняем права доступа к папке кэша:
Далее в систему Windows 10 нам нужно установить приложение для обеспечения оконной системы Linux, которая отвечает за построение и отображение графического интерфейса.
VcXsrv Windows X Server
Таких программ несколько. Предлагаем выбрать активно развивающуюся программу VcXsrv Windows X Server. Устанавливаем с настройками по умолчанию.
После запуска программы VcXsrv Windows X Server в окне Display Settings есть выбор отображения интерфейса оконной системы Linux. В нашем случае отлично работал вариант с большим оконным режимом (One large window). Там же в настройках Display number выставляем значение 0 (если возникнут проблем с запуском интерфейса, то значение нужно изменить, кроме того нужно будет изменить и значение в команде запуска).
Далее оставляем настройки по умолчанию. По окончанию настройки у нас запустится пустое окно.
Переходим в запущенную Linux систему, у нас она открыта в виде командной строки и вводим следующие команды:
Для дальнейших запусков графического окружения нужно вводить команду выше, при этом программа VcXsrv Windows X Server должна быть предварительно открыта.
Также создайте сценарий оболочки start-ubuntu (имя файла необязательно):
Сделайте скрипт оболочки исполняемым:
Запустить скрипт оболочки:
Известные проблемы и их решения
Из недостатков, с которыми столкнулись, отметим следующие: проблема с правами доступа различных приложений и системных функций. В качестве решения можно систему запустить с правами root. В целях безопасности не рекомендуется запускать систему с полными правами администратора, но если есть в этом необходимость, то запустить можно следующим образом: после того как открыли приложение VcXsrv и Linux систему, которая открылась в виде командной строки, нужно ввести команду: sudo su , затем вводим команду для запуска графического окружения:
Теперь нам будут доступны ранее неработающие функции системы, например, русификация и работа некоторых расширений Gnome.
Так же мы столкнулись с тем, что предустановленный браузер Firefox не устанавливает дополнения. Можно воспользоваться другим браузером, например, браузером Opera. В режиме суперпользователя запускать его нужно с помощью терминала командой: opera --no-sandbox.
Система установится на английском языке, установка другого языка доступна только под системой с правами администратора (sudo su). Установить русский язык в систему можно следующими командами:
После этого в настройках системы Ubuntu нужно выбрать и активировать установленный русский язык.