Что такое подсистема Windows для Linux (WSL) и как вы ее используете?
Подсистема Windows для Linux (WSL) — это инструмент, предоставляемый Microsoft для изначального запуска Linux в Windows. Он разработан, чтобы обеспечить бесперебойную работу, по сути предоставляя полную оболочку Linux, которая может взаимодействовать с вашей файловой системой Windows.
Не просто виртуальная машина
Давайте начнем с того, чем WSL не является — это не полноценный рабочий стол Linux, который вы можете получить, например, запустив Ubuntu в VirtualBox. Технически он использует виртуализацию из соображений производительности, но это сильно отличается от запуска полноценной виртуальной машины. Все это управляется за вас и просто предоставляет простую оболочку и среду для выполнения вашей работы и использования знакомых команд bash, таких как git
, ssh
, и всех других инструментов, которые приходят с выбранным дистрибутивом.
По сути, WSL позволяет вам установить полный дистрибутив Linux в виде приложения из магазина приложений. Вы можете просто загрузить Ubuntu (или дистрибутив по вашему выбору), установить его и сделать его доступным в виде приложения, которое вы можете запустить, или профиля в вашем терминале для работы вместе с CMD или Powershell.
Хотя самое простое объяснение состоит в том, что он «позволяет запускать bash в Windows», это больше, чем просто оболочка; вы можете устанавливать программы с помощью apt
и настраивать его как обычный экземпляр Linux.
WSL предназначен для того, чтобы предоставить разработчикам и ветеранам bash опыт работы с оболочкой Linux, несмотря на то, что им приходится использовать Windows в качестве основной ОС. Он предлагает лучшее из обоих миров, позволяя запускать приложения Windows, такие как Visual Studio, вместе с оболочкой Linux для более удобного доступа к командной строке.
Microsoft предлагает две версии WSL: версию 1 и версию 2. WSL 2 использует виртуальную машину и использует полное ядро Linux, созданное и поставляемое с Windows. WSL 1 старше и, как правило, намного медленнее, но имеет лучшую производительность при работе с файловыми системами, например. доступ к файлам Windows из Linux и наоборот. Мы рекомендуем WSL 2 для большинства операций, так как он быстрее и лучше работает с такими инструментами, как Docker.
Настройка WSL
WSL — это необязательная функция Windows, поэтому ее необходимо включить. Откройте Powershell от имени администратора через меню «Пуск»:
Затем включите его:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Вам нужно будет перезагрузить компьютер, чтобы изменения вступили в силу. После этого вы можете открыть Магазин Windows и выполнить поиск «WSL», который отобразит доступные дистрибутивы:
При первом запуске вам будет предложено указать имя пользователя и пароль для экземпляра. Они предназначены только для Linux и не должны совпадать с вашим паролем Windows.
Первый, который вы устанавливаете, должен быть установлен по умолчанию, но если вы устанавливаете несколько, вам нужно будет установить значение по умолчанию вручную. Вы можете управлять WSL с помощью команды wsl
в Powershell. Например, список всех установленных на данный момент версий:
wsl --list
Затем вы можете установить дистрибутив WSL по умолчанию с помощью следующей команды, которую также можно использовать для переключения между WSL 1 и 2 ″.
wsl --set-version Ubuntu-20.04 2
Вы также можете установить предпочтительную версию WSL (1 против 2) для всех будущих установок:
wsl --set-default-version 2
Использование WSL
Вы можете открыть WSL несколькими способами. Самый простой способ — просто нажать Windows и ввести «wsl», после чего автоматически запустится wsl.exe
и откроется дистрибутив по умолчанию.
Это всего лишь основное окно терминала; если вы используете новое терминальное приложение Microsoft, которое мы настоятельно рекомендуем, ваши версии WSL могут быть доступны через раскрывающееся меню (наряду с любыми профилями SSH, которые вы, возможно, настроили):
Если вы хотите настроить новый профиль, конфигурация для этого следующая:
{ "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}", "hidden": false, "name": "Ubuntu", "source": "Windows.Terminal.Wsl", "fontFace": "RobotoMono Nerd Font", "fontSize" : 10, "cursorColor" : "#FFFFFF", "cursorShape" : "bar", "fontFace" : "RobotoMono Nerd Font", "acrylicOpacity" : 0.75, "closeOnExit" : true, "colorScheme" : "Campbell" },
Примечание о файловых системах
Ваша файловая система Linux смонтирована в /
, как обычно. Windows находится в /mnt/c/
или в зависимости от того, какая буква диска используется по умолчанию (также монтируются дополнительные диски).
Поскольку все это виртуально, ваши файлы Linux, конечно же, хранятся на самом диске. Для WSL 1 они хранятся в простой папке. Однако WSL 2 меняет ситуацию и сохраняет файлы в виде образа виртуального жесткого диска или VHDX.
Вы можете найти эти образы по следующему пути, и хотя их можно смонтировать, пока дистрибутив не зарегистрирован, мы не рекомендуем возиться с ними со стороны Windows.
%USERPROFILE%AppDataLocalPackagesCanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgscLocalState