- Руководство по установке Windows Server
- Включение подсистемы Windows для Linux
- Скачивание дистрибутива Linux
- Извлечение и установка дистрибутива Linux
- Опыт настройки и использования WSL (подсистемы Linux в Windows 10)
- Установка WSL и дистрибутива
- Установка X-сервера, Xfce и прочих GUI’шных приложений
- Взаимодействие окружения Windows и окружения подсистемы Linux
- Особенности, ограничения и подводные камни
- Итоги
- Как установить подсистему Windows для Linux (WSL) на Windows 10
- Как установить подсистему Windows для Linux с помощью настроек
- Установка дистрибутивов Linux с помощью Microsoft Store
- Удаление дистрибутивов Linux с помощью Настроек
- Отключение подсистемы Windows для Linux с помощью настроек
- Как установить WSL — Windows Subsystem for Linux с помощью PowerShell
- Установка дистрибутивов Linux с помощью PowerShell
- Деинсталляция дистрибутива Linux с помощью PowerShell
- Отключение подсистемы Windows для Linux с помощью PowerShell
- Начать курс Linux бесплатно:yodo.im/start
Руководство по установке Windows Server
Подсистема Windows для Linux доступна для установки на Windows Server 2019 (версия 1709) и более поздних версий. В этом руководстве рассматриваются действия по включению WSL на компьютере.
Включение подсистемы Windows для Linux
Перед запуском дистрибутивов Linux в Windows необходимо включить дополнительный компонент «Подсистема Windows для Linux» и перезагрузить компьютер.
Запустите PowerShell с правами администратора и выполните следующую команду.
Скачивание дистрибутива Linux
Выполните эти инструкции, чтобы скачать избранный дистрибутив Linux.
Извлечение и установка дистрибутива Linux
После загрузки дистрибутива Linux для извлечения его содержимого и установки вручную выполните следующие действия.
Извлеките содержимое пакета .appx , с помощью PowerShell:
Запустите средство запуска приложения дистрибутива в целевой папке. Средство запуска обычно называется .exe (например, ubuntu.exe ).
Сбой установки с ошибкой 0x8007007e. При возникновении этой ошибки система не поддерживает WSL. Убедитесь, что вы используете сборку Windows 16215 или более позднюю версию. Проверьте используемую сборку. Также убедитесь, что WSL включен и ваш компьютер перезагружен после включения этой функции.
3. Добавьте путь к дистрибутиву Linux в переменную PATH в Windows (в этом примере C:\Users\Administrator\Ubuntu ) с помощью PowerShell:
Источник
Опыт настройки и использования WSL (подсистемы Linux в Windows 10)
К написанию данной статьи меня побудил вопрос на Тостере, связанный с WSL. Я, после нескольких лет использования систем на ядре Linux, около полугода назад перешел к использованию Windows 10 на домашнем ПК. Зависимость от терминала и Linux окружения в моей работе практически сразу привели меня к вопросу: или ставить виртуалку или попробовать WSL. Я выбрал второе, и остался вполне доволен.
Под катом я расскажу как установить и настроить WSL, на какие я наткнулся проблемы и ограничения, как запускать Linux приложения из Windows и наоборот, а так же как интегрировать элементы окружения Xfce в окружение рабочего стола Windows.
Никогда не думал, что однажды вернусь на Windows, но повод попробовать мне дали стечения обстоятельств: жена, далекая от IT, дергала почти каждый раз, когда у нее возникала необходимость воспользоваться компом; проснулась ностальгия по одной игре, но она никак не хотела адекватно работать под wine; а тут еще мне подарили коробочную Windows 10 Pro. WSL я поставил чуть ли не сразу после установки системы, поигрался несколько вечеров, понял, что продукт для моих задач годный, но хочется более привычный терминал и вообще некоторых удобств.
Установка WSL и дистрибутива
Сразу оговорюсь, в интернете можно найти описание установки с помощью выполнения команды lxrun /install в командной строке или консоли PowerShell. Данный способ больше не работает (после выхода WSL в стабильный релиз). Насколько мне известно, сейчас WSL можно установить только из Microsoft Store вместе с предпочитаемым дистрибутивом.
Так же отмечу, что когда установку производил я, на выбор были доступны дистрибутивы OpenSUSE, SUSE Linux Enterprise и Ubuntu 16.04 — последний я и установил. Сейчас также доступны Ubuntu 18.04, Debian 9 и Kali Linux, возможно появятся и другие дистрибутивы. Действия по установке могут отличаться. Так же, часть проблем описанных в статье может быть уже исправлена.
Находим в магазине желаемый дистрибутив и устанавливаем. Установка пройдет быстро, так как скачает только эмулятор ядра Linux и утилиту для запуска подсистемы, которая окажется в системной папке в трех экземплярах: wsl.exe, bash.exe и ubuntu.exe (вместо ubuntu будет имя Вашего дистрибутива). Все они равнозначны и делают одно и то же — запускают собственный эмулятор терминала, в нем linux’овый bash работающий под эмулятором ядра. При первом же запуске нас попросят придумать логин и пароль для пользователя по умолчанию, а после произойдет непосредственно установка дистрибутива. В качестве пользователя по умолчанию указываем root без пароля — это потребуется для дальнейших шагов. Безопасность не пострадает, кроме того при подготовке материалов к статье, в англоязычном туториале, я наткнулся на информацию, что новые версии WSL теперь делают пользователем по умолчанию root без пароля без лишних вопросов.
Дожидаемся установки. Далее первым делом стоит обновить зеркала apt на ближайшие. Для этого понадобится CLI текстовый редактор. В комплекте только vi, я же больше предпочитаю nano, поэтому ставлю его:
sudo вводить не требуется, так как мы уже под root’ом. Отредактируем файл /etc/apt/sources.list:
У меня лучше всего работают зеркала Яндекса, поэтому мой файл выглядит так:
Нажимаем Ctrl+O для сохранения и Ctrl+X для выхода. Теперь можно обновить систему до актуального состояния:
После обновления можно создать нашего основного пользователя. В данной статье я назову его user1, Вы же можете задать привычное имя:
Далее переходим в папку юзера, зайдем под ним, установим пароль и отредактируем файл
Все, подсистема готова к использованию… почти.
Установка X-сервера, Xfce и прочих GUI’шных приложений
Первая же проблема, на которую я натолкнулся — bash-completion в предлагаемом эмуляторе терминала работал, мягко говоря, некорректно. Кроме того, данный эмулятор не умеет вкладки, а каждый его экземпляр запускает все в новом пространстве процессов, с отдельным init’ом (который кстати не заменить). Мне захотелось нормальный эмулятор терминала, некоторых других GUI приложений, а так же панельку, чтоб это все быстро запускать.
Когда я гуглил этот вопрос, я наткнулся на множество проблем, вроде необходимости перевода dbus на tcp протокол. На данный момент всех этих проблем нет. В подсистеме нормально работают unix-domain-socket’ы и все спокойно общается через них.
Первым делом нам понадобится X-сервер, притом установленный в основную систему (в Windows). Лично я использую для этих целей VcXsrv — порт X11 на Windows. Официальный сайт указанный в about самой утилиты его сейчас не предоставляет, поэтому гуглим установщик и устанавливаем все по умолчанию.
Пока идет установка возвращаемся в терминал WSL, командой exit выходим обратно в root’а. Первым делом настроим русские локали:
Далее установим некоторые компоненты Xfce. Можно конечно установить его целиком из мета-пакета, но большинство компонентов нам не понадобится, а модульная архитектура Xfce позволяет нам поставить только необходимое:
Запускать каждый раз окружение руками не очень удобно, поэтому я автоматизировал данный процесс. Для этого в основной системе создадим в удобном для нас месте папку, а в ней 3 файла для запуска:
- config.xlaunch — файл настроек для VcXsrv
x-run.vbs — WSL всегда запускается со своим эмулятором терминала, если его закрыть — завершатся все его дочерние процессы. Чтоб данное окно не мозолило глаза, неплохо его запускать скрытым. К счастью в Windows встроен интерпретатор VBScript, который позволяет это сделать в одну строчку:
Поясню, что здесь происходит. Мы говорим VBscript выполнить приложение wsl с параметром cd /home/user1; DISPLAY=:0 LANG=ru_RU.UTF-8 su user1 -c xfce4-session , папка запуска нам не важна, поэтому пустая строка, действие open — запуск, 0 — скрытый режим. Самому wsl мы отдаем команду на выполнение: переход в папку пользователя, затем с установкой переменных окружения DISPLAY (дисплей X-сервера) и LANG (используемая локаль) мы запускаем xfce4-session от имени нашего пользователя user1 (благодаря команде su)
Далее можем запустить наш start.bat и настроить панель Xfce под себя. Замечу, что здесь я наткнулся на еще одну проблему — панель прекрасно отображается поверх всех окон, но вот выделить себе место, как панель на рабочем столе Windows она не может. Если кто знает решение данной проблемы, поделитесь в комментариях.
Ну и под конец данной части, скриншот моего рабочего стола:
Взаимодействие окружения Windows и окружения подсистемы Linux
Запускать Linux приложения напрямую из Windows можно через те же 3 команды — bash, wsl или ubuntu. Не забываем, что по умолчанию запуск идет от root, поэтому стоит понижать привилегии через su , так же нужно не забывать передавать переменную окружения DISPLAY=:0 если приложению требуется X-сервер. Так же нужно менять папку, из которой должно работать приложение, через cd внутри WSL. Пример, посчитаем md5 для file.txt на диске D средствами Linux’овой md5sum:
Доступ к файловой системе Linux так же имеется, лежит она в %localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs . Читать таким образом файлы можно, а вот писать — не желательно, можно поломать файловую систему. Думаю проблема в том, что Windows не умеет работать с правами и владельцами файловой системы Linux.
Из Linux так же можно запускать Windows приложения. Просто запускаем exe-шник и он выполнится в основной системе.
Диски Windows монтируются в /mnt в соответствии со своими буквами в нижнем регистре. Например диск D будет смонтирован в /mnt/d . Из Linux можно свободно читать и писать файлы Windows. Можно делать на них симлинки. Права у таких файлов всегда будут 0777, а владельцем будет root.
Сетевой стек у подсистемы общий с Windows. Сервер поднятый в Linux будет доступен на localhost в Windows и наоборот. Однако unix-domain-socket для Windows будет просто пустым файлом, работать с этим можно только внутри Linux. Выход во внешнюю сеть у Linux так же есть, в том числе можно слушать порты, если этого не запрещает фаервол.
ifconfig в Linux и ipconfig в Windows выдают одинаковую информацию о сетевых интерфейсах.
Из диспетчера задач Windows можно спокойно прибить процесс внутри подсистемы Linux. Однако Linux увидит только свои процессы.
Особенности, ограничения и подводные камни
Ядро Linux в WSL не настоящее. Это всего лишь прослойка-эмулятор, которая часть Linux-специфичных задач выполняет сама, а часть проксирует напрямую в ядро winNT. Большая часть api в нем реализована, но не все. Свое ядро собрать не получится, как и не получится подключить модули ядра (.ko, Kernel Object).
Init процесс у WSL тоже свой и заменить его, например, на system.d не выйдет. У меня давно есть желание написать менеджер демонов на go, который бы работал с файлами юнитов system.d и предоставлял бы схожий интерфейс, да все руки не доходят.
Нет поддержки openFUSE, соответственно примонтировать виртуальную или удаленную файловую систему не получится. Так же нельзя сделать mount из файла, mount вообще ничего кроме bind здесь, похоже, не умеет.
Так же нет никакой возможности разбить файловую систему Linux на несколько разделов/дисков.
Прямой доступ к железу практически отсутствует. Все таки мы находимся в песочнице Windows, а не в полноценном Linux. /dev и /sys заметно пустуют, в них лишь проц да виртуальные устройства. Доступ к GPU — только через X-сервер, напрямую — никак, так что нейросети обучать придется в Windows.
В JS разработке столкнулся с тем, что electron.js отказался запускаться в WSL, пришлось дублировать окружение node.js в Windows.
Итоги
Статья получилась довольно длинной, надеюсь, что она окажется еще и полезной.
WSL для меня лично оказался инструментом вполне юзабельным, решающим мои задачи fullstack backend разработчика. Виртуалка с Linux за полгода так и не понадобилась. По общим ощущениям Windows+WSL намного функциональнее, чем Linux+Wine.
Пока писал статью, обнаружил, что в Microsoft Store появилась сборка WSL с Debian 9.3, данный дистрибутив мне более симпатичен, чем Ubuntu, поэтому буду пробовать ставить.
Источник
Как установить подсистему Windows для Linux (WSL) на Windows 10
Да, вы можете запускать Linux на Windows 10 без необходимости использования второго устройства или виртуальной машины с помощью подсистемы Windows для Linux, и вот как ее настроить.
В Windows 10 есть подсистема Windows для Linux (WSL) — это функция, которая создает легкую среду, позволяющую устанавливать и запускать поддерживаемые версии Linux (такие как Ubuntu, OpenSuse, Debian и т.д.) без сложностей с настройкой виртуальной машины или другого компьютера.
Хотя вам не нужен графический интерфейс, такой подход позволяет разработчикам и сетевым администраторам использовать длинный список команд (таких как vim, tmux, andemacs, sshd, Apache и MySQL), а также запускать сценарии оболочки Bash, написанные на Python, Ruby, C#, F# и многих других языках с помощью командной консоли.
В этом руководстве по Windows 10 мы рассмотрим шаги по установке подсистемы Windows для Linux с помощью приложения «Настройки», а также PowerShell. Кроме того, мы покажем вам инструкции по загрузке и установке дистрибутивов Linux, а также шаги по правильному удалению всех компонентов, когда вам больше не нужна среда с открытым исходным кодом.
Как установить подсистему Windows для Linux с помощью настроек
Если вы хотите запускать дистрибутивы Linux на Windows 10, вам необходимо включить функцию Windows Subsystem for Linux, прежде чем вы сможете загрузить и установить дистрибутив Linux, который вы хотите использовать.
Включение подсистемы Windows для Linux с помощью настроек
Чтобы установить WSL с помощью Настроек в Windows 10, выполните следующие действия:
- Откройте Настройки.
- Нажмите на Приложения.
- В разделе «Связанные настройки» нажмите на опцию Программы и возможности.
4. Нажмите опцию Включить или выключить функции Windows на левой панели.
5. Отметьте опцию Подсистема Windows для Linux.
6. Нажмите кнопку OK.
7. Нажмите кнопку Перезапустить сейчас.
После выполнения этих шагов среда будет настроена для загрузки и запуска дистрибутивов Linux на Windows 10.
Установка дистрибутивов Linux с помощью Microsoft Store
Чтобы установить дистрибутив Linux на Windows 10, выполните следующие действия:
- Откройте Microsoft Store.
- Найдите дистрибутив Linux, который вы хотите установить.
Некоторые из доступных дистрибутивов включают:
- Ubuntu.
- OpenSuse Leap 15.
- Kali Linux.
- Debian.
- Alpine WSL.
- Suse Linux Enterprise 12.
3. Выберите дистрибутив Linux для установки на устройство.
4. Нажмите кнопку Получить (или Установить).
5. Нажмите кнопку Запуск.
6. Создайте имя пользователя для дистрибутива Linux и нажмите Enter.
7. Укажите пароль для дистрибутива и нажмите Enter.
8. Повторите пароль и нажмите Enter для подтверждения.
После выполнения этих шагов вы можете начать использовать дистрибутив как любой другой вариант Linux (конечно, без графического интерфейса пользователя).
Удаление дистрибутивов Linux с помощью Настроек
Если вам больше не нужно запускать Linux на вашем устройстве, рекомендуется удалить дистрибутив, а затем отключить WSL.
Чтобы удалить дистрибутив Linux, выполните следующие действия:
- Откройте Настройки.
- Нажмите на Приложения.
- Нажмите на Приложения и возможности.
- В разделе «Приложения и возможности» выберите дистрибутив — например, Ubuntu.
- Нажмите кнопку Удалить.
6. Нажмите кнопку Удалить еще раз для подтверждения.
После выполнения этих действий установка Linux будет удалена, и вы сможете продолжить шаги по отключению WSL.
Отключение подсистемы Windows для Linux с помощью настроек
Чтобы отключить WSL в Windows 10, выполните следующие действия:
- Откройте Настройки.
- Нажмите на «Приложения».
- В разделе «Сопутствующие параметры” нажмите на опцию Программы и компоненты
4. Нажмите опцию Включить или выключить функции Windows на левой панели.
5. Снимите флажок Подсистема Windows для Linux.
6. Нажмите кнопку OK.
7. Нажмите кнопку Перезапустить сейчас.
После выполнения этих действий Windows Subsystem for Linux будет удалена с вашего устройства.
Как установить WSL — Windows Subsystem for Linux с помощью PowerShell
Если у вас нет доступа к графическому интерфейсу Windows или вам удобно пользоваться командной строкой, вы также можете использовать PowerShell для включения подсистемы Windows для Linux, загрузки и установки дистрибутивов Linux, а также отмены всех изменений.
Включение подсистемы WSL с помощью PowerShell
Чтобы установить подсистему WSL с помощью PowerShell, выполните следующие действия:
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши на верхнем результате и выберите опцию Запуск от имени администратора.
- Введите следующую команду для включения подсистемы Linux и нажмите Enter:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
4. Введите Y и нажмите Enter для подтверждения и перезагрузки компьютера.
После выполнения этих шагов вы можете перейти к инструкциям по загрузке и установке любого совместимого дистрибутива Linux, доступного через Microsoft Store.
Установка дистрибутивов Linux с помощью PowerShell
Чтобы загрузить и установить дистрибутив Linux (например, Ubuntu) с помощью PowerShell, выполните следующие действия:
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите опцию Запуск от имени администратора.
- Введите следующую команду для выбора папки загрузки и нажмите Enter:
В этом примере осуществляется переход к папке data в корне основного диска:
4. Введите следующую команду для загрузки Ubuntu и нажмите Enter:
Invoke-WebRequest -Uri https://wsldownload.azureedge.net/Ubuntu_1604.2019.523.0_x64.appx -OutFile Ubuntu.appx -UseBasicParsing
Приведенная выше команда загружает Ubuntu версии 16.04, но вам может понадобиться обновить команду, указав имя и версию дистрибутива, который вы пытаетесь загрузить.
Примечание: Хотя ссылка в этом шаге и ссылка на скриншоте выглядят по-разному, на самом деле они одинаковые. Ссылка на скриншоте — это лишь краткая версия.
5. Введите следующую команду для просмотра фактического имени программы установки и нажмите Enter:
6. Введите следующую команду для установки Ubuntu версии 16.04 и нажмите Enter:
Этот пример устанавливает дистрибутив Ubuntu на Windows 10:
7. Откройте «Пуск».
8. Найдите недавний дистрибутив Linux (например, Ubuntu), нажмите на верхний результат, чтобы запустить его.
9. Создайте имя пользователя для дистрибутива Linux и нажмите Enter.
10. Укажите пароль для дистрибутива и нажмите Enter.
11. Повторите пароль и нажмите Enter для подтверждения.
После выполнения этих шагов вы можете начать использовать Ubuntu или любой другой дистрибутив так же, как и при полной установке Linux без графического интерфейса.
Деинсталляция дистрибутива Linux с помощью PowerShell
Если вы хотите отменить изменения, сначала необходимо удалить любой дистрибутив Linux, прежде чем отключать WSl.
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши на верхнем результате и выберите опцию Запуск от имени администратора.
- Введите следующую команду, чтобы узнать имя дистрибутива, и нажмите Enter:
В этом примере выполняется поиск пакета приложений, в названии которого присутствует «ubuntu»:
В команде обязательно замените «ubuntu» на название дистрибутива, который вы пытаетесь найти.
4. Введите следующую команду для удаления версии Linux, установленной на вашем компьютере, и нажмите Enter:
Get-AppxPackag FULL-DISTRO-NAME | Remove-AppxPackage
В этом примере удаляется пакет Ubuntu из Windows 10:
Get-AppxPackage CanonicalGroupLimited.Ubuntu16.04onWindows | Remove-AppxPackage
В команде обязательно замените
«CanonicalGroupLimited.Ubuntu16.04onWindows» на имя дистрибутива, который вы пытаетесь удалить.
После выполнения этих шагов вы можете приступить к отключению функции Windows Subsystem for Linux на вашем компьютере.
Отключение подсистемы Windows для Linux с помощью PowerShell
Чтобы отключить WSL с помощью PowerShell, выполните следующие действия:
- Откройте Пуск.
- Найдите PowerShell, щелкните правой кнопкой мыши верхний результат и выберите опцию Запуск от имени администратора.
- Введите следующую команду для включения подсистемы Linux и нажмите Enter:
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
4. Введите Y и нажмите Enter для подтверждения и перезагрузки компьютера.
После выполнения этих действий среда Linux будет отключена на вашем компьютере.
Начать курс Linux бесплатно:yodo.im/start
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка 4.8 / 5. Количество оценок: 4
Источник