Главная > Операционные системы > Windows > Windows 10 WSL – запуск исполняемых файлов и конфигурирование подсистемы Windows для Linux (WSL) в Windows 10
В современных версиях операционной системы Windows 10 имеется возможность использования подсистемы Windows
для Linux (WSL - Windows Subsystem for Linux), позволяющей легко и просто установить
из Microsoft Store некоторые дистрибутивы Linux, в том числе Debian, Ubuntu, Kali, Suse.
Подробности - Linux в среде Windows 10.
При использовании WSL, пользователь получает не изолированную виртуальную машину с Linux, а интегрированную
в Windows подсистему с возможностью выполнения утилит командной строки из обеих ОС, запуск программ одной ОС из
среды другой и т.п. Кроме того, WSL предоставляет пользователю Windows 10 возможность использования нескольких
дистрибутивов Linux одновременно. Примеры использования WSL.EXE для запуска приложений.wsl –h - то же, что и в предыдущем примере, но с использованием синтаксиса укороченных параметров. wsl –list - отобразить список дистрибутивов Linux, зарегистрированных в системе. Пример отображаемой информации: Распределения подсистемы Windows для Linux: Ubuntu (по умолчанию) kali-linux SLES-15 Ubuntu-18.04 На сегодняшний день перевод сообщений утилиты wsl.exe на русский язык оставляет желать лучшего. Первым в списке зарегистрированных в Windows 10 дистрибутивов Linux отображается дистрибутив, установленный по умолчанию. Именно этот дистрибутив используется для запуска исполняемых файлов Linux, если явно не указано имя другого дистрибутива. wsl.exe - если параметры командной строки не заданы, выполняется запуск дистрибутива Linux, установленного по умолчанию. wsl -d Ubuntu - запустить дистрибутив Ubuntu. Для завершения работы в консоли Linux можно использовать команды logout или exit. После запуска дистрибутива отображается стандартный эмулятор терминала Linux с приглашением к вводу команд. Пользователю предоставляется стандартная оболочка bash. wsl -e ls -l /etc - выполнить команду ls -l /etc для дистрибутива по умолчанию (отобразить содержимое каталога /etc в подробном формате). wsl -d sles-15 -e ls -l /etc - то же, что и в предыдущем примере, но команда выполняется в среде дистрибутива sles-15 Для идентификации дистрибутива сценариями, можно использовать стандартную для WSL переменную окружения WSL_DISTRO_NAME. Для просмотра переменных окружения дистрибутива по умолчанию, можно воспользоваться командой: wsl -e env - отобразить переменные окружения. В текущих версиях утилиты wsl.exe допускается форма командной строки без параметра -e: wsl env Пример отображаемой информации о переменных окружения: HOSTTYPE=x86_64 LANG=C.UTF-8 WSL_DISTRO_NAME=Ubuntu USER=root PWD=/mnt/c/WINDOWS/system32 HOME=/root NAME=Win10 SHELL=/bin/bash TERM=xterm-256color SHLVL=1 LOGNAME=root PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32/OpenSSH/: /mnt/c/Users/User/AppData/Local/ Microsoft/WindowsApps WSLENV= _=/usr/bin/env Как видим, текущий каталог, определяемый значением переменной PWD принимает значение, соответствующее текущему каталогу на момент запуска wsl.exe, в данном случае, C:\Windows\System32, что соответствует /mnt/c/WINDOWS/system32 в Linux. Переменную WSLENV можно применить для совместного использования сценариями Windows и Linux. Пути поиска исполняемых файлов включают в себя как каталоги файловой системы Windows, так и каталоги Linux. wsl -d kali-linux -u root ifconfig - отобразить конфигурацию сетевых интерфейсов дистрибутива kali-linux от имени суперпользователя root. Одновременное применение команд разных ОС с разными переменными окружения и различным синтаксисом может вызывать некоторые трудности, Например, нужно установить и сражу же запустить в среде WSL файловый менеджер Midnight Commander ( mc). Напрашивается решение объединить установку и запуск в контейнер: wsl apt-get install mc && mc Но, интерпретатор команд Windows воспримет специальный символ & как предназначенный командной оболочке Windows и интерпретирует вводимую строку как 2 команды: Wsl apt-get install mc - установить утилиту mc в среде Linux по умолчанию mc - выполнить команду mc в среде Windows 10 Чтобы установленная программа mc выполнялась в среде Linux, она должна запускаться с помощью wsl.exe: wsl apt-get install mc & wsl mc Кроме того, необходимо учитывать, что имена некоторых команд в Linux и Windows совпадают, а в путях поиска исполняемых файлов присутствуют каталоги обеих операционных систем, а также то, что текущим каталогом на момент выполнения команд Linux, будет каталог, бывший текущим на момент запуска утилиты wsl.exe. wsl ping ya.ru - выполнение команды ping.ya.ru в среде дистрибутива Linux, установленного по умолчанию. wsl –e /mnt/c/windows/system32/ping.exe ya.ru - выполнение команды ping.ya.ru в среде Windows 10. Примеры использования WSL.EXE для администрирования дистрибутивов Linux.wsl --import ubuntu2 D:\linux\ubuntu2 D:\ubuntu.tar - импорт указанного TAR-файла D:\ubuntu.tar в качестве нового дистрибутива ubuntu2, размещаемого в каталоге D:\linux\ubuntu2. При стандартной установке дистрибутивы Linux устанавливаются в каталог "C:\Users\имя пользователя\Local Settings\Packages" wsl --list --all - отобразить список установленных дистрибутивов Linux, включая те, которые устанавливаются или удаляются в данный момент времени. wsl --list –running - отобразить список выполняющихся в данный момент дистрибутивов. wsl –setdefault ubuntu2 - установить дистрибутив ubuntu2, в качестве дистрибутива по умолчанию. wsl -t Ubuntu - завершить работу дистрибутива Ubuntu wsl --unregister ubuntu - отменить регистрацию дистрибутива Ubuntu wsl --upgrade Ubuntu - выполнить перевод дистрибутива Ubuntu в формат файловой системы WslFs. Материал взят с сайта: Главная > Операционные системы > Windows > Windows 10 |