- Как установить и использовать Linux в Windows 10
- Что нужно знать о Подсистеме Windows для Linux (WSL)
- Как установить Linux (Bash) в Windows 10
- Как использовать оболочку Bash и установить программное обеспечение для Linux
- Запуск программ Linux в Windows Running Linux programs on Windows
- Как выполнять Linux-команды внутри Windows: официальный и сторонние способы
- Содержание
- WSL — официальная подсистема Linux внутри Windows
- CoreUtils — лёгкий инструмент для запуска базовых команд
- Cygwin — запуск команд и Bash-скриптов
Как установить и использовать Linux в Windows 10
Данная инструкция посвящена Подсистеме Windows для Linux (WSL), которая позволяет устанавливать и запускать различные дистрибутивы Linux прямо в самой Windows.
Подсистема Windows для Linux, представленная в Anniversary Update, стала стабильной функцией Fall Creators Update. Теперь вы можете запускать в Windows Ubuntu и openSUSE, Fedora и Kali Linux, а также другие дистрибутивы Linux.
Что нужно знать о Подсистеме Windows для Linux (WSL)
Это не виртуальная машина, контейнер или программное обеспечение Linux, скомпилированное для Windows (например, Cygwin). Вместо этого Windows 10 предлагает полную подсистему Windows, предназначенную для Linux для запуска программного обеспечения Linux. Она основан на заброшенной работе Microsoft Project Astoria по запуску приложений Android в Windows.
Думайте об этом как о противоположности Wine. В то время как Wine позволяет запускать приложения Windows непосредственно в Linux, подсистема Windows для Linux позволяет запускать приложения Linux непосредственно в Windows.
Microsoft работала с Canonical, чтобы предложить полную среду оболочки Bash на основе Ubuntu, которая работает поверх этой подсистемы, а в настоящее время теперь можно запускать полноценные дистрибутивы Linux. Технически это вообще не Linux. Linux — это базовое ядро операционной системы, которое здесь недоступно. Вместо этого она позволяет запускать оболочку Bash и те же двоичные файлы, которые вы обычно запускаете в Ubuntu Linux. Сторонники свободного программного обеспечения часто утверждают, что среднюю операционную систему Linux следует называть «GNU/Linux», потому что на самом деле на ядре Linux работает множество программ GNU. Оболочка Bash, которую вы получите, на самом деле представляет собой все эти утилиты GNU и другое программное обеспечение.
Эта функция изначально называлась «Bash в Ubuntu в Windows», но она также позволяла запускать Zsh и другие оболочки командной строки. Теперь же она поддерживает и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server, Fedora или Kali Linux вместо Ubuntu.
Здесь есть некоторые ограничения. Она пока не поддерживает фоновое серверное программное обеспечение и официально не работает с графическими настольными приложениями Linux. Не все приложения командной строки также работают, поскольку функция не идеальна.
Как установить Linux (Bash) в Windows 10
Эта функция не работает в 32-битной версии Windows 10, поэтому убедитесь, что вы используете 64-битную версию Windows. Всё равно пора перейти на 64-разрядную версию Windows 10, если вы используете 32-разрядную версию.
Предполагая, что у вас 64-битная Windows, для начала зайдите в Панель управления → Программы → Включение или отключение компонентов Windows.
Включите в списке опцию «Подсистема Windows для Linux» и нажмите кнопку «ОК».
Нажмите «Перезагрузить сейчас», когда вам будет предложено перезагрузить компьютер. Эта функция не будет работать, пока вы не перезагрузитесь.
Примечание. Начиная с Fall Creators Update, вам больше не нужно включать режим разработчика в приложении «Настройки», чтобы использовать эту функцию. Вам просто нужно установить его из окна функций Windows.
После перезагрузки компьютера откройте Microsoft Store из меню «Пуск».
И выполните поиск «Linux» в магазине. Выберите Debian или другой дистрибутив Linux из приложения Store.
Вы увидите список всех дистрибутивов Linux, доступных в настоящее время в Магазине Windows. Сюда входят Debian, Kali Linux, Ubuntu, openSUSE Leap и openSUSE Enterprise с обещанием скорого появления Fedora.
Чтобы установить дистрибутив Linux, щёлкните его, а затем нажмите кнопку «Получить» или «Установить», чтобы установить его, как любое другое приложение Store.
Если вы не знаете, какую среду Linux установить, мы рекомендуем Debian. Этот популярный дистрибутив Linux, которые может применяться для самых разных целей. Или выберите другую систему Linux если у вас более специфические потребности.
Вы также можете установить несколько дистрибутивов Linux, каждый из которых получит свои уникальные ярлыки. Вы даже можете запускать несколько разных дистрибутивов Linux одновременно в разных окнах.
Как использовать оболочку Bash и установить программное обеспечение для Linux
Теперь у вас есть полная оболочка командной строки bash на основе Debian или любого другого установленного вами дистрибутива Linux.
Поскольку это одни и те же двоичные файлы, вы можете использовать команду Debian apt или apt-get для установки программного обеспечения из репозиториев Debian, если вы используете Debian. Просто используйте любую команду, которую вы обычно используете в этом дистрибутиве Linux. У вас будет доступ ко всему программному обеспечению командной строки Linux, хотя некоторые приложения могут ещё работать не идеально.
Чтобы открыть установленную вами среду Linux, просто откройте меню «Пуск» и найдите установленный вами дистрибутив. Например, если вы установили Kali Linux, запустите ярлык Kali Linux.
Вы можете закрепить этот ярлык приложения в меню «Пуск», на панели задач или на рабочем столе для облегчения доступа.
При первом запуске среды Linux вам будет предложено ввести имя пользователя и пароль UNIX. Они необязательно должны совпадать с вашим именем пользователя и паролем Windows, но будут использоваться в среде Linux.
Например, если вы введёте «alex» и «zawindows» в качестве учётных данных, ваше имя пользователя в среде Linux будет «alex», а пароль, который вы используете в среде Linux, будет «zawindows» — независимо от вашего имени пользователя Windows и его пароля.
Вы можете запустить установленную среду Linux, выполнив команду wsl. Если у вас установлено несколько дистрибутивов Linux, вы можете выбрать среду Linux по умолчанию, запускаемую этой командой.
Если у вас установлена Kali Linux, вы также можете запустить команду kali, чтобы установить её. Для openSUSE Leap 42 используйте opensuse-42. Для SUSE Linux Enterprise Sever 12 используйте sles-12. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Windows.
Вы по-прежнему можете запустить среду Linux по умолчанию, выполнив команду bash, но Microsoft утверждает, что это устарело. Это означает, что команда bash может перестать работать в будущем.
Если у вас есть опыт использования оболочки Bash в Linux, Mac OS X или других платформах, вы будете как дома.
В Kali Linux и Ubuntu вам нужно добавить к команде префикс sudo, чтобы запустить её с правами root. Пользователь «root» на платформах UNIX имеет полный доступ к системе, как пользователь «Администратор» в Windows. Ваша файловая система Windows в среде оболочки Bash находится в /mnt/c.
Связанная статья: Что такое sudo
Используйте те же команды терминала Linux, которые вы использовали для передвижения. Если вы привыкли к стандартной командной строке Windows с её командами DOS, вот несколько основных команд, общих для Bash и Windows:
- Изменить каталог: cd в Bash, cd или chdir в DOS
- Список содержимого каталога: ls в Bash, dir в DOS
- Перемещение или переименование файла: mv в Bash, move и rename в DOS
- Скопировать файл: cp в Bash, copy в DOS
- Удалить файл: rm в Bash, del или erase в DOS
- Создайте каталог: mkdir в Bash, mkdir в DOS
- Используйте текстовый редактор: vi или nano в Bash, edit в DOS
Связанная статья: Азы работы в командной строке Linux (часть 1), а также последующе части
Важно помнить, что, в отличие от Windows, оболочка Bash и её среда, имитирующая Linux, чувствительны к регистру. Другими словами, «File.txt» с большой буквы отличается от «file.txt» без заглавной буквы.
Дополнительные инструкции смотрите в серии наших руководств Азы работы в командной строке Linux для начинающих.
Вам нужно будет использовать команду apt для установки и обновления программного обеспечения среды Debian, Kali Linux, Ubuntu. Не забудьте указать перед этими командами префикс sudo, чтобы они запускались от имени пользователя root — Linux-эквивалента Администратора. Вот команды apt, которые вам нужно знать:
Загрузить обновлённую информацию о доступных пакетах:
Установитm пакет приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Удаление пакета приложения (замените «ИМЯ-ПАКЕТА» на имя пакета):
Поиск доступных пакетов (замените СЛОВО словом, по которому нужно искать пакеты в именах и описаниях):
Загрузите и установите последние версии установленных пакетов:
Если вы установили дистрибутив SUSE Linux, вместо этого вы можете использовать команду zypper для установки программного обеспечения.
После того, как вы загрузили и установили приложение, вы можете ввести его имя в запросе, а затем нажать Enter, чтобы запустить его. Дополнительную информацию смотрите в документации к конкретному приложению.
Программное обеспечение, устанавливаемое в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или где-либо ещё в Windows, но только если вы запустите команду bash -c.
Запуск программ Linux в Windows Running Linux programs on Windows
Для запуска программы Linux в Windows возможны следующие варианты: To run a Linux program on Windows, you have these options:
- Запуск программы «как есть» в подсистеме Windows для Linux (WSL). Run the program as-is on the Windows Subsystem for Linux (WSL). В WSL программа выполняется непосредственно на оборудовании компьютера, а не на виртуальной машине. In WSL your program executes directly on the machine hardware, not in a virtual machine. WSL также поддерживает прямые вызовы файловой системы между системами Windows и Linux, устраняя необходимость в SSL-транспорте. WSL also enables direct filesystem calls between Windows and Linux systems, removing the need for SSL transport. WSL разработана как среда командной строки и не рекомендуется для приложений, интенсивно использующих графику. WSL is designed as a command-line environment and is not recommended for graphics-intensive applications. Дополнительные сведения см. в документации по подсистеме Windows для Linux. For more information, see Windows Subsystem for Linux Documentation.
- Запуск программы «как есть» на виртуальной машине Linux или в контейнере Docker на локальном компьютере или в Azure. Run the program as-is in a Linux virtual machine or Docker container, either on your local machine or on Azure. Дополнительные сведения см. в разделах Виртуальные машины и Docker в Azure. For more information, see Virtual Machines and Docker on Azure.
- Компиляция программы с использованием gcc или clang в средах MinGW или MinGW-w64, которые предоставляют слой преобразования системных вызовов Linux в системные вызовы Windows. Compile the program using gcc or clang in the MinGW or MinGW-w64 environments, which provide a translation layer from Linux to Windows system calls.
- Компиляция и запуск программы с использованием gcc или clang в среде Cygwin, которая предоставляет более полную среду Linux в Windows по сравнению с MinGW или MinGW-w64. Compile and run the program using gcc or clang in the Cygwin environment, which provides a more complete Linux environment on Windows compared to MinGW or MinGW-w64.
- Ручное портирование кода из Linux и компиляция для Windows с использованием Microsoft C++ (MSVC). Manually port your code from Linux and compile for Windows using Microsoft C++ (MSVC). Этот подход подразумевает рефакторинг кода, не зависящего от платформы, в отдельные библиотеки, и последующее переписывание специализированного кода, относящегося к Linux, в код для Windows (например, для API-интерфейсов Win32 или DirectX). This involves refactoring platform-independent code into separate libraries, and then re-writing the Linux-specific code to use Windows-specific code (for example, Win32 or DirectX APIs). Предположительно, этот вариант лучше всего подходит для приложений, в которых требуется высокопроизводительная графика. For applications that require high performance graphics, this is probably the best option.
—>
Как выполнять Linux-команды внутри Windows: официальный и сторонние способы
Под GNU/Linux-дистрибутивы создано огромное количество полезных и удобных инструментов и приложений для обычных пользователей и разработчиков. Далеко не всё из этого доступно на Windows, но, к счастью, для ОС от Microsoft есть решения, исправляющие эту проблему.
Содержание
WSL — официальная подсистема Linux внутри Windows
В Windows 10 существует крайне полезная вещь под названием Windows Subsystem for Linux (WSL). Она позволяет использовать GNU/Linux-среду прямо в Windows и запускать не только команды, но и, например, Bash-скрипты. Для использования WSL необходимо следовать инструкции ниже.
Шаг 1. Проверьте, подходит ли текущая версия Windows требованиям. Для этого нажмите сочетание клавиш Win+R, затем введите winver. Найдите строку «Сборка ОС» — она должна быть свежее версии 14316.
Шаг 2. Запустите стандартную утилиту PowerShell от имени администратора и введите в ней команду для включения WSL:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Шаг 3. Если версия Windows, определённая в первом пункте, свежее 18362, вы можете установить WSL 2, который в разы быстрее первой версии и обладает доработанным ядром. Введите команду ниже, если нужно установить WSL 2:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После этого скачайте и установите пакет обновления с официального сайта.
Шаг 4. Перезагрузите компьютер. Если была произведена установка WSL 2, введите в PowerShell от имени администратора следующую команду:
Шаг 5. После перезагрузки откройте фирменный магазин приложений Microsoft Store и найдите подходящий GNU/Linux-дистрибутив. Самым популярным является Ubuntu — вы можете установить любую версию из представленных в Microsoft Store.
Шаг 6. Как только установка завершится, найдите дистрибутив в меню «Пуск» и запустите его.
Шаг 7. Пройдите этап первоначальной настройки, введя имя нового пользователя и придумав пароль.
Шаг 8. Теперь различные GNU/Linux-команды можно выполнять, запустив дистрибутив, либо введя в командной строке wsl . Например, для просмотра всех файлов в текущей директории достаточно в командной строке выполнить wsl ls -a.
Обращу внимание на то, что путь к дискам в WSL отличается от такового в Windows. Вместо привычного C:/ используйте /mnt/c/. Также не забывайте про экранирование пробелов с помощью символа \ — это также пригодится при вводе путей к файлам.
Помимо выполнения базовых команд, с помощью WSL можно даже запускать приложения с графическим интерфейсом. Правда, рассчитывать на большое количество поддерживаемых подобных программ не стоит.
Шаг 1. Загрузите X-сервер и установите его.
Шаг 2. Запустите его с помощью ярлыка на рабочем столе. В открывшемся окне выберите вариант Multiple windows, затем Start no client. Завершите настройку кнопкой Finish.
Шаг 3. Откройте дистрибутив через меню Пуск и выполните команду export DISPLAY=:0
Шаг 4. Запустив приложение с графическим интерфейсом в WSL, вы увидите новое окно прямо в Windows.
CoreUtils — лёгкий инструмент для запуска базовых команд
Плюс данной утилиты — возможность запуска не только на Windows 10, но и на более старых версиях ОС. Кроме того, она легка и не занимает много места. Не обошлось без недостатков — программа скудна на функционал и не обновлялась очень давно. Она не только не умеет запускать скрипты и приложения с GUI, но и поддерживает лишь самые базовые GNU/Linux-команды. Установка CoreUtils весьма проста.
Шаг 1. Скачайте утилиту с официального сайта.
Шаг 2. Следуйте инструкциям установщика.
Шаг 3. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.
Шаг 4. Запустите командную строку и выполняйте команды прямо там.
Cygwin — запуск команд и Bash-скриптов
Ещё одна утилита, схожая с CoreUtils, но обладающая более широким функционалом — в том числе и возможностью запуска скриптов. Из минусов — немалый вес и более сложная установка. Разумеется, не идёт ни в какое сравнение с максимально удобным WSL, но для базовых команд вполне подойдёт.
Шаг 1. Загрузите Cygwin и запустите установку.
Шаг 2. Выберите Install from Internet, укажите директории для установки и загрузки пакетов, а также любой подходящий сайт из списка для скачивания файлов.
Шаг 3. В процессе установки можете выбрать необходимые пакеты, либо сразу нажать «Далее», оставив базовый набор.
Шаг 4. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:
Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.
Шаг 5. Команды можно выполнять как через командную строку, так и через специальный терминал.
Шаг 6. Для удаления Cygwin достаточно удалить папку, в которую программа была установлена, а также (по желанию) значение из переменной Path по методу, обратному тому, что был описан в 4 шаге (не удаляйте саму переменную).