🐧 Что надо знать о подсистеме Windows для Linux в 2022 году? |

🐧 Что надо знать о подсистеме Windows для Linux в 2022 году?

Статьи

Упоминаются ли Linux и Windows вместе?

Если да, то что это за объединение?

Может ли это быть чем-то, что позволит преодолеть разрыв между двумя мирами?

В прошлом люди, использующие технологический стек Microsoft, применяли Windows в качестве среды разработки, в то время как другие, более заинтересованные в сообществе разработчиков с открытым исходным кодом, предпочитали Linux.

До появления подсистемы Windows для Linux (WSL) между ними существовала четкая пропасть, и они никогда ничем не делились.

Но с появлением WSL разработчики теперь могут работать в Linux на своем настольном компьютере версии Windows 10 с помощью подсистемы Windows Subsystem for Linux или Windows WSL.

Запуск системы Linux рядом с системой Windows значительно упрощается и становится более гибким благодаря WSL.

Kali Linux в подсистеме Windows для Linux

Что такое подсистема Windows для Linux?

Подсистема Windows Subsystem for Linux (WSL) позволяет исполняемым файлам Linux 64-разрядного формата (ELF64) работать на ядре Windows в операционной системе (ОС) Windows 10.

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

Изначально он был разработан как вариант установки клиентской системы Windows.

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

Такая архитектура позволяет ядру Windows принимать и обрабатывать системные вызовы Linux.

На прошлой неделе компания Microsoft объявила, что Windows Subsystem for Linux версии 2 (WSL2) теперь совместима с Windows Server 2022.

Основными причинами для перехода с WSL 1 на WSL 2 являются:

  • Ускорение работы файловой системы
  • Поддержка совместимости системных вызовов.

WSL 2 запускает ядро Linux внутри легковесной виртуальной машины с использованием новейшей технологии виртуализации (VM).

Однако WSL 2 не является типичной виртуальной машиной.

Сравнение WSL1 и WSL2

За исключением производительности в файловых системах разных ОС, которую можно решить, храня файлы проекта в той же операционной системе, что и инструменты, используемые для работы над проектом, архитектура WSL 2 по многим параметрам превосходит WSL 1.

Только Windows 11 или 10, версия 1903, Build 18362 или более поздняя поддерживают WSL 2.

Другими ключевыми различиями между обеими версиями являются:

  • Архитектурное различие
  • Производительность ввода-вывода файлов
  • WSL 2 обеспечивает полную совместимость с системными вызовами

На Linux системные вызовы используются для доступа к файлам, запроса памяти и запуска процессов.

В отличие от WSL 1, которая была основана на слое трансляции, созданном командой WSL, WSL 2 имеет встроенное ядро Linux, которое работает со всеми системными вызовами.

Для чего нужна подсистема Windows для Linux?

С помощью подсистемы Windows для Linux вы можете:

  • Выбрать дистрибутивы GNU/Linux, которые вы предпочитаете, из магазина Microsoft.
  • Запустить бинарники ELF-64 или стандартные инструменты командной строки, такие как grep, sed или awk.
  • Запускать программы командной строки GNU/Linux и скрипты оболочки Bash, включая: Инструменты: tmux, emacs и vi, Языки: Go, Rust, NodeJS, Javascript, Python, Ruby, C/C++, C# и F#, Сервисы: PostgreSQL, MongoDB, Apache, MySQL, SSHD и lighttpd.
  • Установить дополнительное программное обеспечение с помощью менеджера пакетов в вашем собственном дистрибутиве GNU/Linux.
  • Использовать оболочку командной строки, аналогичную Unix, для запуска приложений Windows.
  • Запускать программы GNU/Linux на компьютере с Windows.
  • Запускать Linux в оболочке Bash (Ubuntu, Debian, OpenSUSE, Kali, Alpine и т.д.). Вы можете использовать Bash для запуска утилит и программ командной строки Linux.

Зачем использовать WSL вместо Linux на виртуальной машине?

WSL использует меньше ресурсов (процессор, память и хранилище), чем целая виртуальная машина.

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

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

Как настроить среду разработки WSL?

В составе операционной системы Windows есть подсистема для Linux, которая называется Windows Subsystem for Linux.

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

Установите дистрибутив Linux

Перед включением WSL установите дистрибутив Linux.

Чтобы воспользоваться преимуществами команды упрощенной установки, вы должны использовать последнюю версию Windows (Build 20262+).

Чтобы узнать, какая у вас версия и номер сборки, нажмите клавишу с логотипом Windows + R, введите winver и нажмите OK.

Обновления можно выполнить через меню Настройки или помощник обновления Windows.

Создание логина и пароля Linux

После завершения процесса установки WSL откройте дистрибутив Linux (по умолчанию Ubuntu).

Для вашего дистрибутива Linux должны быть созданы имена пользователей и пароли.

Обновление и модернизация пакетов

Используйте менеджер пакетов вашего дистрибутива для частого обновления пакетов.

Windows не выполняет автоматических обновлений и модернизаций.

Большинство пользователей Linux предпочитают справляться с этой задачей самостоятельно.

Можно включить больше дистрибутивов

Если вы хотите установить больше дистрибутивов Linux через Microsoft Store, вы можете загрузить свой собственный дистрибутив, использовать команду -import или загрузить свой собственный дистрибутив из Интернета.

Кроме того, вы можете создать уникальные образы WSL и распространить их по всей компании.

Настройка терминала Windows

Любое приложение, имеющее интерфейс командной строки, может быть запущено через терминал Windows.

Механизм рендеринга текста с ускорением GPU, множество вкладок и панелей, совместимость с символами Unicode и UTF-8, возможность создания собственных тем, а также возможность изменения текста, цвета фона и ярлыков – вот лишь некоторые из его ключевых особенностей.

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

Хранение файлов

Храните файлы проекта на том же компьютере, что и оборудование, которое вы собираетесь использовать.

Наибольшая скорость работы достигается при сохранении файлов в файловой системе WSL (Ubuntu, OpenSUSE и т.д.).

Для сохранения файлов в файловой системе Windows можно использовать командную строку Windows (PowerShell, Command Prompt) и инструменты Windows.

Хотя файлы можно просматривать из любой операционной системы, производительность может заметно снизиться.

Выберите редактор кода

Поскольку они изначально позволяют осуществлять удаленную разработку и отладку WSL, мы советуем использовать Visual Studio Code или Visual Studio.

С помощью Visual Studio Code вы можете использовать WSL как полнофункциональную среду программирования.

Visual Studio обеспечивает встроенную поддержку WSL для кроссплатформенной разработки на C++.

Использование Visual Studio Code

Вы можете использовать WSL в качестве основной среды разработки из VS Code с помощью расширения Remote – WSL и Visual Studio Code.

После установки и настройки VS Code вы можете использовать удаленный сервер VS Code для запуска вашего WSL-проекта.

Использование Visual Studio

Используя один и тот же экземпляр Visual Studio 2022, вы можете собирать и отлаживать проекты CMake на Windows, WSL-дистрибутивах и SSH-соединениях.

Использование Git для управления версиями

Наиболее распространенная программа управления версиями называется Git.

С помощью Git вы можете отслеживать изменения, которые вы вносите в файлы, чтобы иметь запись о том, что было сделано, и при необходимости вернуться к более старым версиям.

Git также облегчает сотрудничество, позволяя объединять правки нескольких авторов в одном хранилище.

Настройка Docker для удаленной разработки

Docker Desktop предлагает среду разработки для создания, распространения и запуска докеризованных приложений для Windows.

Вы можете запускать контейнеры Linux и Windows в Docker Desktop на одной машине, включив механизм на базе WSL 2.

Создание базы данных

Начните с подключения вашего проекта в WSL к базе данных. С MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server или SQLite вы сможете быстро приступить к работе.

Настройка GPU

Подсистема Windows для Linux (WSL) предоставляет отличную среду для запуска наиболее распространенных и популярных приложений машинного обучения с GPU-ускорением, независимо от того, являетесь ли вы специалистом по исследованию данных, инженером по ML или только начинаете работать с ML. Итак, вашим следующим шагом должна стать установка и запуск GPU.

Используйте основные команды WSL

Лучший способ администрирования дистрибутивов Linux, установленных через WSL, – это PowerShell или Windows Command Prompt (CMD).

Монтирование внешнего диска или USB

Используйте WSL 2 для монтирования диска и чтения его содержимого, если вам нужен доступ к диску формата Linux, который Windows не поддерживает.

Процедуры поиска диска и раздела для подключения к WSL2, их монтирования и получения доступа к ним рассматриваются в этом уроке.

Запуск приложений с графическим интерфейсом Linux

Чтобы запускать программы Linux GUI (X11 и Wayland) на Windows в полностью интегрированной среде рабочего стола, теперь вы можете изучить совместимость с Windows Subsystem for Linux (WSL).

Благодаря WSL 2 приложения с графическим интерфейсом Linux на Windows теперь могут ощущаться как родные и интуитивно понятные.

Плюсы и минусы использования подсистемы Windows для Linux

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

Плюсы

Идеально подходит для разработчиков, использующих инструменты с открытым исходным кодом

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

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

В последние годы поддержка Linux со стороны Microsoft постоянно улучшается, но она все еще не настолько совершенна, как при использовании виртуальной машины или контейнера.

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

Совместимость Windows-Linux

Совместимость Windows и Linux обеспечивается с помощью WSL.

Файловая система как Windows, так и Linux доступна для просмотра.

Кроме того, они могут запускать программы из командных интерпретаторов друг друга.

Это может привести к появлению некоторых интригующих приложений и, возможно, к переходу от рассмотрения этих двух систем как конкурентов к рассмотрению их как взаимодополняющих параметров.

Проще, чем двойная загрузка или виртуальные машины

Вам не нужно перезагружаться или запускать виртуальную машину, поскольку WSL уже работает в Windows.

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

Вы должны перезагрузить систему, если хотите использовать Windows для выполнения программ Linux или наоборот.

Хотя виртуальная машина (VM) является более простой и быстрой в настройке, Windows и Linux сталкиваются с трудностями при обмене данными, поскольку VM все еще является принципиально другой машиной.

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

Простое введение в Linux для пользователей Windows

Для тех, кто не знаком с Linux, WSL может стать лучшей отправной точкой.

Они могут познакомиться с командами Linux, не устанавливая полностью новую операционную систему. WSL можно установить всего несколькими щелчками мыши из магазина Microsoft Store.

Кроме того, это облегчит людям переход на Linux.

Минусы

Вы продолжаете использовать Windows

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

WSL будет поддерживать участие в этой системе.

Для ярых сторонников свободного программного обеспечения не подойдет ничто иное, как ПК под управлением свободной версии GNU/Linux.

WSL создавалась не для серверов

Дистрибутивы не предназначены для работы в качестве серверов, хотя WSL может быть установлена на Windows Server.

Запустить такие серверы, как Apache или MariaDB на Ubuntu сложнее, поскольку система не поддерживается.

Большинство пользователей, которым требуются серверы, устанавливают обычные Linux-серверы, поэтому этот недостаток может быть не столь существенным.

WSL может препятствовать внедрению Linux на настольных компьютерах

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

Учитывая, что у них уже есть настольная система Windows и они могут запускать приложения Linux GUI на Windows, они могут не видеть необходимости в установке совершенно новой настольной ОС.

Предположим, что только крошечный процент пользователей Linux работает с полным рабочим столом.

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

Заключение

В своем нынешнем виде WSL – это довольно крутой прогресс в Windows.

Разработчики, работающие в Windows, могут получить доступ к среде Linux благодаря Windows Subsystem for Linux.

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

Конечная цель – предоставить простой способ запуска Linux в Windows.

Самое главное, WSL не занимает много памяти (например, около 256 МБ для Bash), что означает, что ваша машина может работать быстрее и плавнее.

 

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