Когда следует использовать WSL?
WSL — это универсальный инструмент. Он предоставляет отличный способ узнать, как работать с инструментами Linux, попробовать различные дистрибутивы Linux или легко включить средства Linux и Windows в рабочую среду и среду разработки. WSL предназначен для разработки и имеет конкретные проблемы, которые следует учитывать, если вы хотите использовать его для рабочих нагрузок, но отлично подходит для конвейеров CI/CD.
Как установить WSL?
Для выполнения команды установки WSL необходимо убедиться, что вы работаете под управлением Windows 11 или Windows 10 версии 2004+ (сборка 19041 и выше).
Откройте PowerShell (или командную строку Windows) и введите:
wsl --install
Команда --install
выполняет следующие действия:
включает дополнительные компоненты WSL и платформы виртуальных машин;
скачивает и устанавливает последнюю версию ядра Linux;
задает WSL 2 в качестве среды по умолчанию;
Скачивает и устанавливает дистрибутив Ubuntu Linux (может потребоваться перезагрузка)
Во время установки потребуется перезапустить компьютер.
Посмотрите статью об устранении неполадок при возникновении проблем.
Для дальнейших действий вам понадобятся базовые навыки работы с командной строкой linux. Создайте учетную запись пользователя и задайте пароль.
Bash
Давайте рассмотрим несколько базовых команд Bash, которые будут работать как в Bash, так и в PowerShell. Откройте командную строку Ubuntu (или предпочитаемое дистрибутив Linux) и введите следующие команды:
pwd
: рабочий каталог выводит путь к текущему каталогу, выбранному в командной строке.ls
илиdir
: список содержимого текущего каталога. Некоторые команды включают флаги, которые могут изменить операцию. Например, введитеls -l
дополнительные сведения о содержимом каталога, например размер, владелец и дата последнего изменения. Введитеls -a
, чтобы включить все содержимое каталога, включая все скрытые файлы. Bash будет включать скрытые.bash_history
и.bash_logout
.bashrc
.profile
файлы, которые могут быть полезны для административных задач и настройки Bash.cd
: команда каталога изменений должна сопровождаться немного информацией, указывающей, на что нужно изменить каталог. Вы можете указать имя каталога, напримерcd project-folder
переместить уровень каталога, используяcd ..
или перейти к домашнему каталогу.cd ~
mkdir
: создание нового каталога. Например,mkdir new-folder
.cp
: скопировать файл или каталог. Например,cp file.txt
илиcp folder-1
. Создание копии с именем того же, что и существующий файл, автоматически заменит этот файл, поэтому рекомендуется использовать-i
интерактивный флаг, который будет предупреждать вас перед удалением или заменой существующего файла. Например,cp -i file.txt
.rm
: удалить файл или каталог. Например,rm file.txt
. Чтобы удалить каталог в Bash, необходимо добавить-r
флаг. Например,rm -r folder-1
.cp
Как и команда, рекомендуется использовать-i
флаг для предоставления запросов, подтверждающих, что вы собираетесь удалить или удалить. Флаг-f
принудительно удаляет, подавляя любые запросы. Как правило, рекомендуется избегать использования флага-f
, если вы не уверены в том, что вы делаете.clear
: очистить экран терминала.
Восстановление пароля пользователя WSL
Чтобы изменить или сбросить пароль, откройте дистрибутив Linux и введите команду: passwd
Вам будет предложено ввести текущий пароль, а затем появится запрос на ввод нового пароля, который нужно подтвердить.
Если вы забыли пароль для дистрибутива Linux, сделайте следующее.
- Откройте PowerShell и перейдите в корень дистрибутива WSL по умолчанию с помощью команды
wsl -u root
.
Если вам нужно обновить забытый пароль в дистрибутиве, который не используется по умолчанию, используйте команду
wsl -d Debian -u root
, заменивDebian
именем целевого дистрибутива. - После открытия дистрибутива WSL на корневом уровне в PowerShell можно использовать эту команду для обновления пароля:
passwd <username>
где<username>
имя пользователя учетной записи в дистрибутиве, пароль которого вы забыли. - Вам будет предложено ввести новый пароль UNIX, а затем подтвердить его. После успешного обновления пароля закройте WSL в PowerShell с помощью команды:
exit
Использование WSL из Windows Terminal
Windows Terminal может запускать любое приложение с помощью интерфейса командной строки. К его основным функциям относится поддержка нескольких вкладок, панелей, символов Юникода и UTF-8, а также модуль отрисовки текста с ускорением GPU, возможность создания собственных тем и настройки текста, цвета, фона и сочетаний клавиш.
Всякий раз, когда установлен новый дистрибутив WSL Linux, для него будет создан новый экземпляр в Windows Terminal , который можно настроить в соответствии с вашими предпочтениями.
Рекомендуется использовать WSL с Windows Terminal, особенно если вы планируете работать с несколькими командными строками.
WSL для проектов
explorer.exe .
– просмотр файлов из любой файловой системы в Windows проводник.
Проекты нужно располагать в папке пользователя
\\wsl.localhost\Ubuntu\home\<user_name>
, что бы избежать лишних проблем с правами.Docker
Установить Docker можно с страница на оф. сайте или прямая ссылка.
Сразу при входе или первом запуске Docker, вам предложат принять соглашение.
Далее будет запуск необходимых служб. Открывайте Docker Dashboard, ярлык на рабочем столе или в трее иконка.
Зайдите в настройки (1) и убедитесь (2) – что выбран WSL2.
Проверка работы docker
Попробуйте запустить контейнер через консоль wsl. Например, поднимем текстовый рассказ фильма Star Wars в контейнере.
- Запустите WSL консоль.
- Введите команду:
docker run -it --rm mikesplain/telnet towel.blinkenlights.nl
Кратко по параметрам:
run
запуск нового контейнера.-it
контейнер будет запущен в интерактивном (i) режиме, и используется tty взаимодействие, позволяет использовать консоль внутри контейнера (t).--rm
контейнер будет удален после завершения своей работы.mikesplain/telnet
название образа, он будет загружен из dockerhub.towel.blinkenlights.nl
параметр, который будет использовать контейнер. В данном случае программа telnet.
В итоге увидите титры и начало истории, а значит все работает отлично и можно полноценно пользоваться Docker.