Подсистема windows для linux: Windows subsystem for linux — Википедия – Общий взгляд на подсистему Windows для Linux

Содержание

Windows 10 Fall Creators Update и подсистема Windows для Linux / RUVDS.com corporate blog / Habr

Системные администраторы и разработчики! Похоже, на вашей улице настал праздник. WSL, начиная с последнего обновления, так называемого Fall Creators Update, стала полноправной частью Windows 10.

Хотите пользоваться Linux на Windows с помощью подсистемы WIndows для Linux (Windows Subsystem for Linux, WSL), но вас тревожит то, что WSL пока имеет статус бета-версии и доступна только в режиме разработчика Windows 10? Теперь можно не беспокоиться. Дело в том, что в Windows 10 Fall Creators Update (WinFCU) WSL может быть запущена любым пользователем.

WSL, эта комбинация оболочки Bash и Windows, которую тестировали более года, в WinFCU приобретёт множество новых функций.

Кроме того, что WSL переросла статус бета-версии и больше не требует использовать режим разработчика, среди её новых возможностей стоит отметить следующие:

  • Установка дистрибутивов Linux из Windows Store.
  • WSL теперь поддерживает запуск нескольких дистрибутивов Linux.
  • WSL доступна в Windows Server и в виртуальных машинах Microsoft Azure.
  • WSL теперь поддерживает обмен данными по USB/serial.
  • Различные исправления и улучшения.

Помимо Ubuntu, новая WSL теперь поддерживает openSUSE — дистрибутив сообщества SUSE, и его корпоративный вариант SUSE Linux Enterprise Server (SLES). Кроме того, ожидается, что скоро в Windows Store появятся Fedora и другие дистрибутивы.

Если вы уже пользовались WSL, существующая установка Ubuntu продолжит работать, но этот вариант считается устаревшим и не будет поддерживаться. Для того, чтобы пользоваться техподдержкой, надо заменить существующий экземпляр Ubuntu на новый, из Windows Store. Если этого не сделать, не получится получить поддержку ни от Canonical, ни от Microsoft.

Для того, чтобы сохранить старые файлы, их лучше всего заархивировать с помощью tar и скопировать в файловую систему Windows, например, в /mnt/c/temp/backups, а потом скопировать в новый экземпляр Ubuntu.

Кроме того, теперь можно установить несколько дистрибутивов Linux из Windows Store на одной Windows 10-системе.

Для того, чтобы это сделать сначала надо активировать WSL в окне Включение или отключение компонентов Windows, после чего — перезагрузить систему. Надо отметить, что WSL по умолчанию не активна, и то, что после её включения придётся перезагрузиться.
После перезагрузки нужно выполнить поиск по слову Linux в Windows Store, выбрать подходящую систему и установить её.

Если в WSL уже есть установленный экземпляр Bash, вы можете начать всё сначала с помощью команды lxrun /uninstall/. Для этого можно воспользоваться командной строкой или PowerShell.

Помимо возможности устанавливать несколько дистрибутивов Linux, теперь несколько дистрибутивов можно и одновременно запускать. Каждый из них работает независимо от других. Здесь не применяются ни виртуальные машины, ни контейнеры. Это означает, что дистрибутивам понадобятся их обычные системные ресурсы. Я например, запускал бы несколько дистрибутивов на системе, в которой на каждый работающий экземпляр WSL имеется по 2 Гб дополнительной памяти.

Сама по себе WSL требует минимальных системных ресурсов. Рич Тёрнер, старший руководитель программы WSL и Windows Console в Microsoft, написал следующее: «Мы не приводим [требования к оперативной памяти], так как, честно говоря, об этом особо нечего сказать. Если вы не устанавливали WSL, дополнительная память не используется. Если вы включили WSL, на короткое время загружается маленький драйвер размером 850 Кб, а затем, до запуска дистрибутива Linux, он выгружается. При запуске загружается /init, который запускает /bin/bash. Это приводит к загрузке драйвера, занимающего 850 Кб и к созданию пико-процессов для init и bash. Поэтому, в целом, требования WSL к памяти соответствуют требованиям средств Linux, с добавлением примерно 1 Мб».

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

Зачем может понадобиться одновременный запуск нескольких дистрибутивов Linux? Microsoft говорит об этом следующее: «Возможность запускать различные дистрибутивы Linux позволяет вам использовать одни и те же инструменты, пакетные менеджеры, или экосистемы и окружение, где будет выполняться ваш продакшн-код. Это ведёт к уменьшению потерь времени на поиск труднообнаружимых ошибок при развёртывании кода. Это позволяет, например, использовать браузеры Edge, Chrome и Firefox на Windows для просмотра веб-сайта, работающего на сервере Apache, установленном на Ubuntu, который взаимодействует с REST-службой, работающей на openSUSE… без необходимости задавать правила файрвола при локальном тестировании, так как все эти процессы работают по одну сторону файрвола, рядом друг с другом!».

Разработчикам Linux понравится поддержка передачи данных по USB/serial. Это позволит приложениям и сценариям командной строки взаимодействовать с последовательными портами.

Кроме того, WSL теперь поддерживает монтирование USB-накопителей и общих сетевых ресурсов. Это — хорошая новость. Плохая новость заключается в том, что она поддерживает только инфраструктуру ввода-вывода файловой системы NT. Другими словами, работать можно только с носителями, отформатированными в файловых системах FAT/FAT32/NTFS. Как насчёт файловых систем *nix? Можете голосовать, комментировать, или делать и то и другое в ветке этого запроса на UserVoice.

Если углубиться в детали улучшений, то обновлённая WSL в WinFCU включает в себя следующее:

  • Улучшенные параметры TCP, в частности, IP_OPTIONS, IP_ADD_MEMBERSHIP, IP_MULTICAST, и другие.
  • Теперь /etc/hosts наследует записи из файла
    hosts
    Windows.
  • Поддержка системных вызовов, имеющих отношение к xattr.
  • Исправление некоторых функций, связанных с файловой системой.
  • Улучшена поддержка PTRACE.
  • Улучшена поддержка FUTEX.
  • Теперь здесь работает chsh, что позволяет менять оболочки. В частности, теперь любимую оболочку можно использовать напрямую. При старте оболочки будут исполняться и файлы, отличные от .bashrc.

В Fall Creators Update были добавлены следующие системные вызовы:
  • Prlimit64
  • getxattr, setxattr, listxattr, removexattr

Как и ожидалось, WSL будет доступна на платформе Windows Server и на виртуальных машинах Windows в Microsoft Azure. Это рассчитано на системных администраторов.

Благодаря всем этим улучшениям разработчикам и системным администраторам будет проще пользоваться командами оболочки Linux в Windows. В то время, как обычному пользователю ПК подобное, возможно, не окажется особенно полезным, для IT-профессионалов это — шаг вперёд. Это расширяет возможности Windows в мире серверов и облачных служб, в котором сейчас всё более важное место занимает Linux. Даже в Azure больше трети виртуальных машин используют Linux.

WSL предоставляет большинство инструментов оболочки Linux . Среди них — apt, ssh, find, grep, awk, sed, gpg, wget, tar, vim, emacs, diff, и patch. Кроме того, тут можно использовать популярные языки программирования с открытым кодом, такие, как python, perl, ruby, php, и gcc. Далее, WSL и Bash поддерживают серверные приложения, такие, как веб-сервер Apache и система управления базой данных Oracle MySQL. Другими словами, благодаря WSL на Windows можно создать нормальную среду разработки, основанную на Linux.

Используя WSL можно запускать графические интерфейсы и приложения Linux, но пока эту возможность нельзя воспринимать серьёзно. Конечно, если над этим поработают, ситуация изменится.

Как функционирует WSL? Дастин Киркланд, член группы Ubuntu Product and Strategy в Canonical, рассказал следующее: «Мы говорим о непосредственном выполнении кода Ubuntu ELF на Windows. [WSL], по сути, выполняет, в реальном времени, трансляцию системных вызовов Linux в системные вызовы Windows. Приверженцы Linux могут считать это чем-то вроде WINE наоборот, а именно, двоичные файлы Ubuntu совершенно естественным образом работают в Windows».

Итоги


Независимо от технических особенностей того, как WSL делает своё дело, самое главное то, что подсистема WIndows для Linux работает очень и очень хорошо. Надеемся, новая WSL вам понравится.

Уважаемые читатели! Если вы уже обновились до Windows 10 Fall Creators Update, просим поделиться впечатлениями о новой WSL.

Подробнее о подсистеме Windows для Linux

  • Время чтения: 2 мин

В этой статье

Подсистема Windows для Linux позволяет разработчикам запускать среду GNU/Linux, включая большинство программ командной строки, служебных программ и приложений, непосредственно в Windows без каких-либо изменений, избавляя от необходимости использовать отдельную виртуальную машину.The Windows Subsystem for Linux lets developers run a GNU/Linux environment — including most command-line tools, utilities, and applications — directly on Windows, unmodified, without the overhead of a virtual machine.

Можно сделать следующее.You can:

  1. Выберите предпочтительные дистрибутивы GNU/Linux из Microsoft Store.Choose your favorite GNU/Linux distributions from the Microsoft Store.
  2. Запускайте бесплатные программы командной строки, например grep, sed, awk, или другие двоичные файлы ELF-64.Run common command-line free software such as grep, sed, awk, or other ELF-64 binaries.
  3. Запускайте сценарии Bash Shell и приложения командной строки GNU/Linux, включая:Run Bash shell scripts and GNU/Linux command-line applications including:
    • инструменты: vim, emacs, tmux;Tools: vim, emacs, tmux
    • языки: JavaScript/Node.js, Ruby, Python, C/C++, C# и F#, Rust, Go и т. д.;Languages: Javascript/node.js, Ruby, Python, C/C++, C# & F#, Rust, Go, etc.
    • службы: sshd, MySQL, Apache, lighttpd.Services: sshd, MySQL, Apache, lighttpd
  4. Установите дополнительное программное обеспечение с помощью собственного диспетчера пакетов дистрибутивов GNU/Linux.Install additional software using own GNU/Linux distribution package manager.
  5. Вызывайте приложения Windows с помощью оболочки командной строки, похожей на UNIX.Invoke Windows applications using a Unix-like command-line shell.
  6. Вызывайте приложения GNU/Linux в Windows.Invoke GNU/Linux applications on Windows.

начало работыGetting Started

Блоги группыTeam Blogs

Записи и статьиPosts & Articles

Предоставление отзываProvide Feedback

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

  • Время чтения: 12 мин

В этой статье

Для получения поддержки по вопросам, связанным с WSL, см. наш репозиторий GitHub:For support with issues related to WSL, please see our GitHub repo:

При возникновении технических проблем используйте репозиторий продуктов: https://github.com/Microsoft/wsl/issuesFor technical issues, use the product repo: https://github.com/Microsoft/wsl/issues

При возникновении проблем, связанных с содержимым этой документации, используйте репозиторий документов: https://github.com/MicrosoftDocs/wsl/issuesFor issues related to the contents of this documentation, use the docs repo: https://github.com/MicrosoftDocs/wsl/issues

Отправка отчета об ошибкеSubmit a bug report

При возникновении ошибок, связанных с функциями или компонентами WSL, отправьте сообщение о проблеме в репозитории продуктов: https://github.com/Microsoft/wsl/issuesFor bugs related to WSL functions or features, file an issue in the product repo: https://github.com/Microsoft/wsl/issues

Отправка запроса на добавление возможностейSubmit a feature request

Чтобы запросить новую возможность, связанную с функциональностью или совместимостью WSL, отправьте запрос в репозитории продуктов: https://github.com/Microsoft/wsl/issuesTo request a new feature related to WSL functionality or compatibility, file an issue in the product repo: https://github.com/Microsoft/wsl/issues

Участие в разработке документацииContribute to the docs

Чтобы внести изменения в документацию по WSL, отправьте запрос на вытягивание в репозитории документов: https://github.com/MicrosoftDocs/wsl/issuesTo contribute to the WSL documentation, submit a pull request in the docs repo: https://github.com/MicrosoftDocs/wsl/issues

Терминал или командная строкаTerminal or Command Line

Наконец, если ваша проблема связана с терминалом Windows, консолью Windows или интерфейсом командной строки, используйте репозиторий терминалов Windows: https://github.com/microsoft/terminalLastly, if your issue is related to the Windows Terminal, Windows Console, or the command-line UI, use the Windows terminal repo: https://github.com/microsoft/terminal

Распространенные проблемыCommon issues

Bash утрачивает подключение к сети после подключения к сети VPNBash loses network connectivity once connected to a VPN

Если после подключения к VPN в Windows оболочка Bash утрачивает подключение к сети, попробуйте воспользоваться этим обходным решением в Bash.If after connecting to a VPN on Windows, bash loses network connectivity, try this workaround from within bash. Это решение позволит вручную переопределить разрешение DNS с помощью /etc/resolv.conf.This workaround will allow you to manually override the DNS resolution through /etc/resolv.conf.

  1. Запишите DNS-сервер виртуальной частной сети. Для этого выполните ipconfig.exe /allTake a note of the DNS server of the VPN from doing ipconfig.exe /all
  2. Создайте копию существующего resolv.conf, выполнив sudo cp /etc/resolv.conf /etc/resolv.conf.newMake a copy of the existing resolv.conf sudo cp /etc/resolv.conf /etc/resolv.conf.new
  3. Разорвите связь с текущим файлом resolv.conf, выполнив команду sudo unlink /etc/resolv.conf.Unlink the current resolv.conf sudo unlink /etc/resolv.conf
  4. sudo mv /etc/resolv.conf.new /etc/resolv.conf
  5. Откройте /etc/resolv.conf и сделайте следующее.Open /etc/resolv.conf and
    a.a. Удалите из файла первую строку с текстом «# This file was automatically generated by WSL.Delete the first line from the file, which says «# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.» (Этот файл был автоматически создан WSL. Чтобы остановить автоматическое создание этого файла, удалите данную строку).To stop automatic generation of this file, remove this line.».
    b.b. Добавьте запись DNS из пункта 1 выше в качестве первой записи в списке DNS-серверов.Add the DNS entry from (1) above as the very first entry in the list of DNS servers.
    c.c. Закройте файл.Close the file.

После отключения VPN необходимо будет отменить изменения в /etc/resolv.conf.Once you have disconnected the VPN, you will have to revert the changes to /etc/resolv.conf. Для этого сделайте следующее.To do this, do:

  1. cd /etc
  2. sudo mv resolv.conf resolv.conf.new
  3. sudo ln -s ../run/resolvconf/resolv.conf resolv.conf

При запуске WSL или установке дистрибутива возвращается код ошибкиStarting WSL or installing a distribution returns an error code

Выполните эти инструкции, чтобы получить подробные журналы и сообщить о возникшей проблеме на портале GitHub.Follow these instructions to collect detailed logs and file an issue on our GitHub.

Обновление Bash для Ubuntu в WindowsUpdating Bash on Ubuntu on Windows

Два компонента Bash для Ubuntu в Windows могут требовать обновления.There are two components of Bash on Ubuntu on Windows that can require updating.

  1. Подсистема Windows для LinuxThe Windows Subsystem for Linux

    Обновление этой части Bash для Ubuntu в Windows обеспечит применение всех новых исправлений, описанных в заметках о выпуске.Upgrading this portion of Bash on Ubuntu on Windows will enable any new fixes outlines in the release notes. Убедитесь, что вы подписаны на Программу предварительной оценки Windows и что ваша сборка обновлена.Ensure that you are subscribed to the Windows Insider Program and that your build is up to date. Чтобы обеспечить более точное управление, включая сброс экземпляра Ubuntu, ознакомьтесь со страницей справочных материалов по командам.For finer grain control including resetting your Ubuntu instance check out the command reference page.

  2. Двоичные файлы пользователя UbuntuThe Ubuntu user binaries

    При обновлении этой части Bash для Ubuntu в Windows будут установлены все обновления двоичных файлов пользователя Ubuntu, включая приложения, установленные с помощью apt-get.Upgrading this portion of Bash on Ubuntu on Windows will install any updates to the Ubuntu user binaries including applications that you have installed via apt-get. Чтобы выполнить обновление, выполните следующие команды в Bash.To update run the following commands in Bash:

    1. apt-get update
    2. apt-get upgrade

Ошибки apt-get upgradeApt-get upgrade errors

Некоторые пакеты используют функции, которые еще не реализованы.Some packages use features that we haven’t implemented yet. Например, udevпока не поддерживается и вызывает несколько ошибок apt-get upgrade.udev, for example, isn’t supported yet and causes several apt-get upgrade errors.

Чтобы устранить проблемы, связанные с udev, выполните следующие действия.To fix issues related to udev, follow the following steps:

  1. Введите приведенный ниже код в /usr/sbin/policy-rc.d и сохраните изменения.Write the following to /usr/sbin/policy-rc.d and save your changes.

    #!/bin/sh
    exit 101
    
  2. Добавьте разрешения на выполнение в /usr/sbin/policy-rc.d:Add execute permissions to /usr/sbin/policy-rc.d:

    chmod +x /usr/sbin/policy-rc.d
    
  3. Выполните следующие команды:Run the following commands:

    dpkg-divert --local --rename --add /sbin/initctl
    ln -s /bin/true /sbin/initctl
    

«Ошибка: 0x80040306″ при установке»Error: 0x80040306» on installation

Это связано с тем, что мы не поддерживаем устаревшую консоль.This has to do with the fact that we do not support legacy console. Чтобы отключить устаревшую консоль, выполните следующие действия.To turn off legacy console:

  1. Выполните файл cmd.exe.Open cmd.exe
  2. Щелкните правой кнопкой мыши строку заголовка и выберите «Свойства», затем снимите флажок «Использовать прежнюю версию консоли».Right click title bar -> Properties -> Uncheck Use legacy console
  3. Нажмите кнопку «ОК».Click OK

«Ошибка: 0x80040154″ после обновления Windows»Error: 0x80040154» after Windows update

Компонент «Подсистема Windows для Linux» может быть отключен во время обновления Windows.The Windows Subsystem for Linux feature may be disabled during a Windows update. В этом случае данную функцию Windows необходимо включить заново.If this happens the Windows feature must be re-enabled. Инструкции по включению подсистемы Windows для Linux можно найти в руководстве по установке.Instructions for enabling the Windows Subsystem for Linux can be found in the Installation Guide.

Изменение отображаемого языкаChanging the display language

Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows.WSL install will try to automatically change the Ubuntu locale to match the locale of your Windows install. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки.If you do not want this behavior you can run this command to change the Ubuntu locale after install completes. Чтобы это изменение вступило в силу, потребуется повторно запустить bash.exe.You will have to relaunch bash.exe for this change to take effect.

В приведенном ниже примере языковой стандарт изменяется на EN-US.The below example changes to locale to en-US:

sudo update-locale LANG=en_US.UTF8

Проблемы установки после восстановления системы WindowsInstallation issues after Windows system restore

  1. Удалите папку %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux.Delete the %windir%\System32\Tasks\Microsoft\Windows\Windows Subsystem for Linux folder.
    Примечание. Не делайте этого, если дополнительный компонент полностью установлен и работает.Note: Do not do this if your optional feature is fully installed and working.
  2. Включите дополнительный компонент WSL (если он еще не включен).Enable the WSL optional feature (if not already)
  3. RebootReboot
  4. Выполните команду lxrun /uninstall /fulllxrun /uninstall /full
  5. Установите Bash.Install bash

Нет доступа к Интернету в WSLNo internet access in WSL

Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL.Some users have reported issues with specific firewall applications blocking internet access in WSL. Сообщили о следующих брандмауэрах:The firewalls reported are:

  1. Kaspersky;Kaspersky
  2. AVG;AVG
  3. Avast.Avast

В некоторых случаях отключение брандмауэра обеспечивает доступ.In some cases turning off the firewall allows for access. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра.In some cases simply having the firewall installed looks to block access.

Ошибка «Отказ в разрешении» при проверке связиPermission Denied error when using ping

В выпуске Windows Anniversary Update, версия 1607 для проверки связи в WSL требуются права администратора.For Windows Anniversary Update, version 1607, administrator privileges in Windows are required to run ping in WSL. Чтобы выполнить проверку связи, запустите Bash для Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки или сеанса PowerShell с привилегиями администратора.To run ping, run Bash on Ubuntu on Windows as an administrator, or run bash.exe from a CMD/PowerShell prompt with administrator privileges.

В более поздних версиях Windows (сборка 14926+) права администратора не требуются.For later versions of Windows, Build 14926+, administrator privileges are no longer required.

Bash перестал отвечать на запросыBash is hung

Если при работе с Bash вы обнаружите, что Bash перестал отвечать на запросы (или взаимозаблокирован), помогите нам диагностировать проблему путем сбора и передачи дампа памяти.If while working with bash, you find that bash is hung (or deadlocked) and not responding to inputs, help us diagnose the issue by collecting and reporting a memory dump. Обратите внимание на то, что выполнение этих действий приведет к сбою системы.Note that these steps will crash your system. Не делайте этого, если вас это не устраивает, либо предварительно сохраните результаты своей работы.Do not do this if you are not comfortable with that or save your work prior to doing this.

Сбор дампа памятиTo collect a memory dump

  1. Измените тип дампа памяти на «Полный дамп памяти».Change the memory dump type to «complete memory dump». При изменении типа дампа запишите текущий тип.While changing the dump type, take a note of your current type.

  2. Выполните эти действия, чтобы настроить аварийное завершение с помощью клавиатуры.Use the steps to configure crash using keyboard control.

  3. Воспроизведите взаимоблокировку или прекращение ответа на запросы.Repro the hang or deadlock.

  4. Выполните аварийное завершение системы с помощью последовательности клавиш из пункта 2.Crash the system using the key sequence from (2).

  5. Произойдет аварийное завершение системы и будет собран дамп памяти.The system will crash and collect the memory dump.

  6. После перезагрузки системы отправьте memory.dmp на адрес электронной почты [email protected] the system reboots, report the memory.dmp to [email protected]. По умолчанию файл дампа находится в папке %SystemRoot%\memory.dmp или C:\Windows\memory.dmp, если C: является системным диском.The default location of the dump file is %SystemRoot%\memory.dmp or C:\Windows\memory.dmp if C: is the system drive. В письме укажите, что дамп предназначен для команды разработчиков WSL или Bash в Windows.In the email, note that the dump is for the WSL or Bash on Windows team.

  7. Восстановите исходное значение типа дампа памяти.Restore the memory dump type to the original setting.

Проверка номера сборкиCheck your build number

Чтобы узнать архитектуру компьютера и номер сборки Windows, выберитеTo find your PC’s architecture and Windows build number, open
Параметры > Система > О программеSettings > System > About

Найдите поля Сборка ОС и Тип системы.Look for the OS Build and System Type fields.

Чтобы найти номер сборки Windows Server, выполните в PowerShell следующую команду.To find your Windows Server build number, run the following in PowerShell:

systeminfo | Select-String "^OS Name","^OS Version"

Подтверждение включения WSLConfirm WSL is enabled

Вы можете убедиться, что подсистема Windows для Linux включена, выполнив в PowerShell следующую команду.You can confirm that the Windows Subsystem for Linux is enabled by running the following in PowerShell:

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

Проблемы с подключением к серверу OpenSSHOpenSSH-Server connection issues

Попытка подключения к серверу SSH завершается следующей ошибкой: «Connection closed by 127.0.0.1 port 22» (Подключение закрыто узлом 127.0.0.1 через порт 22).Trying to connect your SSH server is failed with the following error: «Connection closed by 127.0.0.1 port 22».

  1. Убедитесь, что сервер OpenSSH работаетMake sure your OpenSSH Server is running:

    sudo service ssh status
    

    и вы следовали указаниям в этом руководстве: https://help.ubuntu.com/lts/serverguide/openssh-server.html.en.and you’ve followed this tutorial: https://help.ubuntu.com/lts/serverguide/openssh-server.html.en

  2. Завершите работу службы sshd и запустите sshd в режиме отладки.Stop the sshd service and start sshd in debug mode:

    sudo service ssh stop
    sudo /usr/sbin/sshd -d
    
  3. Проверьте журналы запуска и убедитесь, что ключи сервера доступны и в журнале нет сообщений, как показано ниже.Check the startup logs and make sure HostKeys are available and you don’t see log messages such as:

    debug1: sshd version OpenSSH_7.2, OpenSSL 1.0.2g  1 Mar 2016
    debug1: key_load_private: incorrect passphrase supplied to decrypt private key
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_rsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_dsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_ecdsa_key
    debug1: key_load_private: No such file or directory
    debug1: key_load_public: No such file or directory
    Could not load host key: /etc/ssh/ssh_host_ed25519_key
    

Если вы видите такие сообщения и в разделе /etc/ssh/ отсутствуют ключи, потребуется повторно создать ключи или просто очистить и установить сервер OpenSSH.If you do see such messages and the keys are missing under /etc/ssh/, you will have to regenerate the keys or just purge&install openssh-server:

sudo apt-get purge openssh-server
sudo apt-get install openssh-server

«Указанная сборка не найдена».»The referenced assembly could not be found.» Это сообщение может появиться при включении дополнительного компонента WSL.when enabling the WSL optional feature

Данная ошибка связана с неправильным состоянием установки.This error is related to being in a bad install state. Чтобы устранить эту проблему, выполните следующие действия.Please complete the following steps to try and fix this issue:

  • Если вы используете команду включения компонента WSL в PowerShell, попробуйте использовать графический пользовательский интерфейс. Для этого откройте меню «Пуск», выполните поиск фразы «Включение или отключение компонентов Windows», а затем из списка выберите «Подсистема Windows для Linux». Этот дополнительный компонент будет установлен.If you are running the enable WSL feature command from PowerShell, try using the GUI instead by opening the start menu, searching for ‘Turn Windows features on or off’ and then in the list select ‘Windows Subsystem for Linux’ which will install the optional component.

  • Обновите версию Windows, выбрав «Параметры» > «Обновления» и щелкнув «Проверить наличие обновлений».Update your version of Windows by going to Settings, Updates, and clicking ‘Check for Updates’

  • Если оба способа не помогли и вам нужно использовать WSL, рассмотрите возможность обновления на месте, переустановив Windows 10 с установочного носителя и выбрав параметр «Сохранить все», чтобы сохранить свои приложения и файлы.If both of those fail and you need to access WSL please consider upgrading in place by reinstalling Windows 10 using installation media and selecting ‘Keep Everything’ to ensure your apps and files are preserved. Инструкции по такой установке можно найти на странице Переустановка Windows 10.You can find instructions on how to do so at the Reinstall Windows 10 page.

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

  • Время чтения: 2 мин

В этой статье

Применимо к Windows Server 2019 и более поздних версийApplies to Windows Server 2019 and later

В//Build2017 Корпорация Майкрософт объявила, что подсистема Windows для Linux будет доступна в Windows Server.At //Build2017, Microsoft announced that Windows Subsystem for Linux will be available on Windows Server. В этих инструкциях рассматривается запуск подсистемы Windows для Linux на Windows Server 1709 и более поздних версий.These instructions walk through running the Windows Subsystem for Linux on Windows Server 1709 and later.

Включение подсистемы Windows для Linux (WSL)Enable the Windows Subsystem for Linux (WSL)

Перед запуском Linux дистрибутивов в Windows необходимо включить дополнительный компонент «подсистема Windows для Linux» и перезагрузить компьютер.Before you can run Linux distros on Windows, you must enable the «Windows Subsystem for Linux» optional feature and reboot.

  1. Откройте PowerShell от имени администратора и выполните команду:Open PowerShell as Administrator and run:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
    
  2. При появлении запроса перезагрузите компьютер.Restart your computer when prompted. Эта перезагрузка необходима для того, чтобы WSL мог инициировать доверенную среду выполнения.This reboot is required in order to ensure that WSL can initiate a trusted execution environment.

Загрузка дистрибутив LinuxDownload a Linux distro

Для загрузки избранного дистрибутива Linux выполните следующие инструкции .Follow these instructions to download your favorite Linux distribution.

Извлечение и установка дистрибутив LinuxExtract and install a Linux distro

Теперь, когда вы загрузили дистрибутив, извлеките его содержимое и вручную установите дистрибутив:Now that you’ve downloaded a distro, extract its contents and manually install the distro:

  1. Извлеките <distro>.appx содержимое пакета, например с помощью PowerShell:Extract the <distro>.appx package’s contents, e.g. using PowerShell:

    Rename-Item ./Ubuntu.appx ./Ubuntu.zip
    Expand-Archive ./Ubuntu.zip ./Ubuntu
    
  2. Запустите средство запуска дистрибутив для завершения установки, запустите приложение запуска дистрибутив в целевой папке с именем <distro>.exe.Run the distro launcher To complete installation, run the distro launcher application in the target folder, named <distro>.exe. Например: ubuntu.exeи т. д.For example: ubuntu.exe, etc.

    Устранение неполадокTroubleshooting

    • Сбой установки с ошибкой 0x8007007e: Эта ошибка возникает, когда система не поддерживает WSL.Installation failed with error 0x8007007e: This error occurs when your system doesn’t support WSL. Убедитесь в следующем.Make sure that:
  3. Добавьте путь дистрибутив в путь среды Windows (C:\Users\Administrator\Ubuntu в этом примере это), например с помощью PowerShell:Add your distro path to the Windows environment PATH (C:\Users\Administrator\Ubuntu in this example), e.g. using Powershell:

    $userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
    [System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Administrator\Ubuntu", "User")
    

    Теперь можно запустить дистрибутив из любого пути, введя <distro>.exe.You can now launch your distro from any path by typing <distro>.exe. Пример: ubuntu.exeFor example: ubuntu.exe

После установки дистрибутив для Linux необходимо инициализировать новый экземпляр дистрибутив перед использованием дистрибутив.Now that your Linux distro is installed, you must initialize your new distro instance before using your distro.

Как установить Linux в Windows 10

&nbsp windows

Установка Linux в Windows 10В юбилейном обновлении Windows 10 версии 1607 появилась новая возможность для разработчиков — оболочка Ubuntu Bash, позволяющая запускать, устанавливать приложения Linux, использовать скрипты bash прямо в Windows 10, все это называется «Подсистема Windows для Linux». В версии Windows 10 1709 Fall Creators Update доступны уже три дистрибутива Linux для установки. Во всех случаях требуется 64-разрядная система для установки.

В этой инструкции — о том, как установить Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10 и некоторые примеры использования в конце статьи. Следует также учитывать, что есть некоторые ограничения при использовании bash в Windows: например, нельзя запускать GUI приложения (правда, сообщают об обходных путях с помощью X server). Кроме этого, командами bash нельзя запустить Windows-программы, несмотря на наличие полного доступа к файловой системе ОС.

Установка Ubuntu, OpenSUSE или SUSE Linux Enterprise Server в Windows 10

Начиная с версии Windows 10 Fall Creators Update (версия 1709) установка подсистемы Linux для Windows несколько изменилась по сравнению с тем, что было в предыдущих версиях (для предыдущих версий, начиная с 1607, когда функция была представлена в бета-версии, инструкция — во второй части этой статьи).

Теперь необходимые шаги выглядят следующим образом:

  1. Прежде всего, необходимо включить компонент «Подсистема Windows для Linux» в «Панель управления» — «Программы и компоненты» — «Включение и отключение компонентов Windows». Включение компонентов Linux для Windows 10
  2. После установки компонентов и перезагрузки компьютера, зайдите в Магазин приложений Windows 10 и загрузите оттуда Ubuntu, OpenSUSE или SUSE Linux ES (да, теперь доступно три дистрибутива). При загрузке возможны некоторые нюансы, о которых далее в примечаниях. Дистрибутивы Linux в магазине Windows 10
  3. Запустите загруженный дистрибутив как обычное приложение Windows 10 и выполните первоначальную настройку (имя пользователя и пароль). Настройка Ubuntu Linux в Windows 10 1709

Для включения компонента «Подсистема Windows для Linux» (первый шаг) можно использовать команду PowerShell:

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

Теперь несколько примечаний, которые могут быть полезны при установке:

  • Вы можете установить сразу несколько дистрибутивов Linux.
  • При загрузке дистрибутивов Ubuntu, OpenSUSE и SUSE Linux Enterprise Server в русскоязычном магазине Windows 10 заметил следующий нюанс: если просто ввести название и нажать Enter, то нужных результатов в поиске не оказывается, но если начать вводить и затем нажать по появляющейся подсказке, автоматически попадаешь на нужную страницу. На всякий случай прямые ссылки на дистрибутивы в магазине: Ubuntu, OpenSUSE, SUSE LES.
  • Запускать Linux можно и из командной строки (не только с плитки в меню Пуск): ubuntu, opensuse-42 или sles-12

Установка Bash в Windows 10 1607 и 1703

Для того, чтобы установить оболочку bash, выполните следующие простые действия.

  1. Зайдите в параметры Windows 10 — Обновление и безопасность — Для разработчиков. Включите режим разработчика (должен быть подключен Интернет для загрузки необходимых компонентов). Включение режима разработчика в Windows 10
  2. Зайдите в панель управления — Программы и компоненты — Включение или отключение компонентов Windows, отметьте пункт «Подсистема Windows для Linux». Установка подсистемы Linux в Windows 10
  3. После установки компонентов, введите в поиске Windows 10 «bash», запустите предлагаемый вариант приложения и выполните установку. Вы можете задать свое имя пользователя и пароль для bash, либо использовать пользователя root без пароля. Установка Ubuntu bash

По завершении установки вы можете запускать Ubuntu Bash на Windows 10 через поиск, или создав ярлык для оболочки там, где вам требуется.

Запуск Ubuntu Bash в Windows 10

Примеры использования Ubuntu Shell в Windows

Для начала отмечу, что автор не является специалистом по bash, Linux и разработке, а примеры ниже — просто демонстрация того, что в Windows 10 bash работает с ожидаемыми результатами для тех, кто разбирается в этом.

Приложения Linux

Приложения в Windows 10 Bash можно устанавливать, удалять и обновлять с помощью apt-get (sudo apt-get) из репозитория Ubuntu.

apt-get install в Windows 10

Использование приложений с текстовым интерфейсом ничем не отличается от такового на Ubuntu, например, вы можете установить Git в Bash и использовать его привычным образом.

Использование bash git в Windows 10

Скрипты bash

Вы можете запускать скрипты bash в Windows 10, создать их можно в имеющемся в оболочке текстовом редакторе Nano.

Скрипты bash в Windows 10

Скрипты bash не могут вызвать программы и команды Windows, но возможен запуск скриптов и команд bash из bat файлов и сценариев PowerShell:

bash -c "команда"

Также вы можете попробовать запускать приложения с графическим интерфейсом в Ubuntu Shell в Windows 10, на этот счет в Интернете уже имеется не одна инструкция и суть способа сводится к использованию Xming X Server для вывода GUI приложения. Хотя официально возможность работы с такими приложениями Майкрософт не заявлена.

Как было написано выше, я не тот человек, который может в полной степени оценить ценность и функциональность нововведения, но вижу как минимум одно применение для себя: различные курсы Udacity, edX и другие, связанные с разработкой проходить будет куда проще, работая с необходимыми инструментами прямо в bash (а в этих курсах обычно демонстрируется работа именно в терминале MacOS и Linux bash).

А вдруг и это будет интересно:

Ubuntu интегрировали в Windows 10 / Habr

Сегодня на конференции Build компания Microsoft расскажет о последних нововведениях, которые сделаны в новом билде Windows 10 Redstone. Незадолго до презентации стало известно, что на конференцию приглашены сотрудники Canonical, и этому есть веская причина.

Дело в том, что Microsoft совместно с Canonical сумели интегрировать операционную систему Ubuntu внутрь Windows 10 (что-то вроде эмулятора). Дастин Кирклэнд, сотрудник группы Ubuntu Product and Strategy, рассказал на конференции об этом проекте (видеозапись), а ещё раньше в своём блоге выложил несколько спойлеров.

«Это немного странно для меня, — пишет Дастин, — потому что я не использовал Windows уже около 16 лет. Но всё изменилось пару месяцев назад, когда погрузился в сверхсекретный (и абсолютно невероятный) проект между Microsoft и Canonical, который анонсировал сегодня во вступительной речи Кевин Галло».

Итак, в новом билде Windows 10 пространство пользователя Ubuntu и оболочка bash работают нативно в консоли cmd.exe!

Работает это следующим образом.

  1. Пользователь Windows 10
  2. Открывает меню «Пуск»
  3. Набирает там «bash» [enter]
  4. После чего открывается консоль cmd.exe
  5. С запущенным /bin/bash от Ubuntu
  6. С полным доступом ко всему пространству пользователя Ubuntu
  7. Да, там есть apt, ssh, rsync, find, grep, awk, sed, sortxargs, md5sum, gpg, curl, wget, apache, mysql, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch
  8. И большинство из десятков тысяч бинарных пакетов в архивах Ubuntu!

Дастин Кирклэнд говорит, что это не виртуальная машина, никаких контейнеров и не Cygwin, а нечто похожее на эмулятор, где системные вызовы Linux в реальном времени транслируются в системные вызовы Windows. Сейчас в Windows 10 используется Ubuntu 14.04 LTS.

Microsoft называет это «Windows Subsystem for Linux» (исходный код пока закрыт).

Трансляция вызовов очень эффективная: утилита sysbench показывает почти одинаковую производительность CPU, памяти и операций ввода/вывода.

Все логические диски, вроде C:, монтируются для чтения и записи в директории /mnt, то есть /mnt/c, /mnt/d и т.д. И наоборот, файловая система Ubuntu доступна через «Проводник» в C:\Users\Kirkland\AppData\Local\Lxss\rootfs\.

Из «подсистемы Linux» нормально запускается ssh.

Конечно, пока есть некоторые глюки, особенно с tty и vt100. Не очень хорошо работают byobu, screen и tmux. Но всё равно Microsoft и Canonical проделали огромную работу, что такое вообще стало возможным.

Подсистема Linux в Windows 10: включение и настройка

Как быстро установить Linux в Windows 10Как быстро установить Linux в Windows 10

Здравствуйте. Если у Вас возникла необходимость установить Линукс (Ubuntu) поверх ОС Виндовс, то сделать это можно разными способами. Чтобы не прибегать к использованию виртуальной машины, рекомендую воспользоваться новой возможностью «десятки», которая называется «подсистема Linux в Windows 10». Сейчас расскажу об активации и настройке.

СОДЕРЖАНИЕ СТАТЬИ:

Кому это нужно?

Если Вы перешли на эту страницу из поиска Яндекс или Google, то причины Вам очевидны. Для остальной части аудитории — рассказываю. Некоторые инструменты для разработчиков, программистов пока нестабильно работают в среде Виндовс, могут возникать конфликты с версиями и т.д. Лучшим вариантом станет использование UNIX-ориентированных систем, в число которых входят Linux и OS X.

Раньше пользователям ОС компании Microsoft приходилось параллельно устанавливать Ubuntu, или запускать её через Virtual Box. Но после выхода сборки build 14393 для Windows, появилась интересная возможность, которая позволяет без лишних телодвижений подключить нужную среду разработки.


Как активировать?

Некоторые пользователи утверждают, что после обновления данный функционал автоматически включился. Заработал Windows 10 Linux Bash (интерпретатор команд), а в папке с драйверами появились все необходимые элементы ядра — LXCore.sys, LXss.sys. Но так случилось не у всех. Поэтому, вот инструкция:

  • Сначала предстоит перейти в параметры системы и убедиться, что Ваша версия сборки и разрядность ОС соответствуют требованиям.
  • Нажимаем Win + I , идем в раздел «Система» и слева видим перечень вкладок. Внизу есть данные «О системе»:

Сведения о системе Windows 10Сведения о системе Windows 10

  • Если у Вас 64-битная система и построение версии 14393 (или более новое), то значит всё отлично!
  • Теперь следует переключиться в режим разработчика. Для этого возвращаемся к разделам параметров, нажав на значок «Главная» в верхней части окна. Идем в «Обновление…» и видим слева надпись: «Для разработчиков». Справа появиться несколько опций – выбираем нужный:

Настройки для разработчиковНастройки для разработчиков

  • Если предложит перезагрузиться – отказываемся.
  • Открываем главный поиск (значок «Лупа» возле кнопки «Пуск») и начинаем писать слово «компонент». В результатах находим «Вкл/Откл компонентов…» и кликаем по элементу:

Результаты поиска по запросу КомпонентРезультаты поиска по запросу Компонент

  • Когда откроется небольшое окно, следует дождаться загрузки списка, а затем найти пункт «подсистема Linux в Windows 10», поставить галочку и нажать «ОК».

Перечень компонентов ВиндовсПеречень компонентов Виндовс

  • Потребуется некоторое время (до 5 минут), чтобы активировать модуль. Просто откиньтесь на спинку кресла и подождите.

Кстати, можно проделать все вышеперечисленные шаги и более быстрым путем, запустив утилиту PowerShell от имени администратора (ищем через поиск):

Результаты поиска по запросу PowerРезультаты поиска по запросу Power

Затем вставляем к консоль строку:

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

Команда активации подсистемы в консоли PSКоманда активации подсистемы в консоли PS

Нажимаем Enter и получаем тот же результат.

Обязательно перезагружаем ПК для завершения инсталляции модуля.

Один этап пройден. Но это еще не всё!


Установка Bash

Чтобы в Windows 10 включить Linux возможности, нужно:

командная строка Windows 10командная строка Windows 10

  • Пишем команду bash и запускаем её на исполнение клавишей Enter :

команда bash в командной строкекоманда bash в командной строке

  • Для подтверждения нажмите латинскую букву «y» (yes). Если же сообщение будет на русском языке, то следует нажать «д» (да).
  • Дожидаемся окончания процедуры установки, после которой будет предложено указать имя нового пользователя и пароль (придумайте на своё усмотрение):

Вводим пароль и логин для ЮниксВводим пароль и логин для Юникс

А вот теперь всё! UNIX среда подключена. Файлы Linux располагаются по пути:

%localappdata%\lxss\

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

С уважением, Виктор!

Развитие мозга по максимомуРазвитие мозга по максимому

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *