Введение
Я постоянно использую терминал для работы с git и автоматизации сборки проектов (вёрстка/фронтенд: компиляция pug и scss, обработка изображений, транспиляция js…). На моём рабочем компьютере стоит Windows 10, а на ноутбуке — OSX и мне хочется использовать одни и те же консольные команды на обеих системах, поэтому я использовал GitBash (терминал, устанавливающийся вместе с Git) внутри эмулятора (Cmder). Такая связка работала заметно медленнее терминала на OSX, поэтому я был воодушевлён новостью «В Windows 10 встроили подсистему Linux» (март 2020 г.), но тогда, в 2020 году, её использование разочаровало: нельзя было запускать из bash-терминала программы Windows, подсистема не определяла изменение файла, если изменение было сделано из Windows. Сейчас эти проблемы решены.
Спойлер
Главный выигрыш для меня — скорость. В моём стартовом репозитории есть трудоёмкая задача полной сборки проекта (компиляция, транспиляция, спрайты, шрифты, картинки…), с Gitbash она занимает 17 секунд, с bash-терминалом WSL — 10 секунд.
Упоминаемые в статье файлы
- .bashrc
- .dircolors
- .bash_aliases
- .inputrc
- .vimrc
Что такое WSL?
В начале цикла разработки Windows 10, Microsoft открыла страницу обсуждения и голосования за новые функции. Там зашел разговор о командной строке Windows. Разработчики спросили сообщество, что им не нравится в командной строке Windows и какие функции они хотели бы увидеть в новой версии.
Многие пользователи заявили что им нужны небольшие улучшения командной строки, другие же сказали что неплохо было бы иметь возможность использовать инструменты Linux / Unix и Bash в Windows 10. Много пользователей согласились с тем, что нужно сделать проще использование этих инструментов в Windows.
Прислушиваясь к голосу сообщества, в Microsoft первым делом улучшили CMD, PowerShell и другие инструменты командной строки. А во-вторых, они сделали, то что казалось невероятным несколько лет назад, они добавили реальный, нативный Bash вместе с поддержкой всех необходимых инструментов командной строки, работающих непосредственно на Windows, в среде, которая ведет себя как Linux. Это не какая-нибудь виртуальная машина, это реальный Linux в Windows.
Для реализации этого Microsoft построили новую инфраструктуру в Windows, это Windows Subsystem for Linux или WSL, на основе которой работает образ окружения Ubuntu, поставляемый партнером Canonical. Эта функция позволит разработчикам более эффективно использовать инструменты Linux. Инфраструктура основана на уже заброшенном проекте, Project Astoria, который должен был использоваться для запуска Android-приложений в Windows. Ее можно расценивать как противоположность Wine, только Wine запускает приложения Windows в Linux, подсистема Linux позволяет выполнять приложения Linux в Windows, точнее, только консольные приложения Bash в Windows 10.
С технической точки зрения, это вообще не Линукс. Каждая система GNU Linux должна быть основана на ядре Linux, здесь же просто есть возможность выполнять двоичные файлы, которые работают в Ubuntu.
С каждой новой версией в WSL всё меньше ограничений, вы уже можете использовать сервисы, а также с WSL 2 стали доступны графические приложения. Решение предназначено для разработчиков, которые хотят запускать linux-утилиты из командной строки Windows. Да, эти команды имеют доступ к файловой системе Windows, но вы не можете использовать их для автоматизации своих задач или в стандартной командной строке Windows. Теперь давайте разберемся как установить WSL в Windows 10.
Основы использования терминала Ubuntu в Windows 10
Это подсистема внутри Windows, чтобы использовать nodeJS и git, нужно поставить их в подсистему (даже если они уже установлены в Windows). Я выбрал вариант с Ubuntu, поэтому при установке nodejs пользовался этой инструкцией, а git установил командой sudo apt-get install git (не забудьте указать git-у своё имя пользователя и email).
Можно запускать приложения Windows. Попробуйте notepad.exe — запустится Windows-блокнот.
Диски Windows расположены в /mnt/ . Попробуйте cd /mnt/c/ && ls для перехода к диску С:/ и вывода его корневых директорий (по умолчанию вывод выглядит уныло, но это настраивается).
Директория пользователя расположена в ~ (cd ~ для переходя в неё). Просто напоминаю.
В Linux-системах заглавные и строчные символы — разные символы. При использовании автодополнения (Tab ) важно вводить символы в правильном регистре.
Директория пользователя подсистемы Linux физически у меня расположилась по довольно длинному пути (см. ниже). Сегмент nicothin — имя пользователя системы (как в начале пути (Windows), так и в конце (Ubuntu)).
c:\Users\nicothin\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\nicothin\
Если редактировать файлы Linux-подсистемы из Windows, то Linux в некоторых случаях не сможет получить к ним доступ (не хватит прав). После такого редактирования нужно в bash-терминале подсистемы выполнить что-то вроде chmod 777 ~/.bashrc (где ~/.bashrc — редактированный из Windows файл) и перезапустить терминал. Или можно использовать команду source ~/.bashrc (укажите редактированный файл) для применения внесённых изменений.
Как запускать Sublime Text из консоли Ubuntu
Если используете Sublime Text, добавьте путь к subl.exe в PATH в Windows, чтобы по команде в терминале subl.exe запускался Sublime Text:
- В проводнике сделайте правый клик на Этот компьютер, выберите Свойства, потом Дополнительные параметры системы.
- На вкладке Дополнительно нажмите кнопку Переменные среды.
- Сделайте двойной клик по Path для перехода к её редактированию.
- Нажмите кнопку Создать и добавьте путь к subl.exe. В моем случае это c:\Program Files\Sublime Text 3\.
- Перезапустите терминал.
Вконтакте ВКонтакте вконтакте вконтактов
Как установить Linux с рабочем столом используя WSL 2 в Windows 10
Шаг 1 — установите WSL 2
Если вы не сделали это раньше — установите подсистему Windows для Linux (WSL 2) в Windows 10.
- Откройте PowerShell от имени Администратора и выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- После выполнения, нажмите Y чтобы перезагрузить компьютер, или нажмите N, чтобы перезагрузить его вручную, позже.
- Загрузите и установите пакет обновления ядра Linux2 на странице https://aka.ms/wsl2kernel.
- Снова откройте PowerShell, введите следующую команду и нажмите Enter:
wsl —set-default-version 2
После выполнения этих действий ваше устройство начнет использовать новую версию подсистемы Windows Subsystem for Linux 2 по умолчанию для уже установленных и новых дистрибутивов.
Шаг 2 — Загрузите и установите дистрибутив Linux из Магазина Microsoft.
- Перейдите в магазин Windows и установите дистрибутив Kali Linux
Подробнее в нашем руководстве: Загрузить дистрибутив Linux из Microsoft Store
Шаг 3 — Установка Win kex
- Откройте меню «Пуск» и запустите «Kali Linux», настройте дистрибутив введя новый логин и пароль администратора.
- Далее выполните команду, которая установит пакеты Win kex:
sudo apt update && sudo apt install -y kali-win-kex
- В процессе вы увидите запрос для выбора раскладки клавиатуры, сделайте свой выбор (см. картинку ниже).
- Дождитесь завершения установки пакетов.
Шаг 4 — Запуск Kali Linux с графической оболочкой рабочего стола используя WSL 2
- Чтобы запустить Kali Linux с графическим интерфейсом рабочего стола, введите команду и нажмите Enter:
kex
- В консоли введите новый пароль администратора и подтвердите действия для запроса: «Would you like to enter a view-only password (y/n)?» нажав клавиши Y или N.
- Все, вы мгновенно загрузитесь на рабочий стол ОС Kali Linux; немного протестировав систему и могу сказать, что работает она отлично, быстрее чем на обычной виртуальной машине.
Рабочий стол хорошо смотрится и достаточно функционален. Из интересного: доступен режим Kali Undercover — вы можете найти его в меню или с помощью команды:
kali-undercover
В результате Linux станет абсолютно похож на Windows. Чтобы вернуть классический вид выполните эту команду ещё раз.
Настройка консоли Ubuntu
Цвета
Увы, сразу после установки консоль (особенно вывод команды ls ) выглядит «бородато» и «носит свитер».
Можно добавить файл с настройками цветового оформления (touch ~/.dircolors для создания файла) с этим содержимым.
Содержимое удобно добавлять из Windows, но тогда после сохранения файла в bash-терминале выполните chmod 777 ~/.dircolors и перезапустите терминал.
Переход к нужной директории при старте
Если при запуске терминала хочется попадать в директорию проектов, можно вписать в самом верху ~/.bashrc команду cd /mnt/d/projects/ (укажите путь к нужной директории).
Алиасы
Добавим файл (touch ~/.bash_aliases ) c этим содержимым и перезапустим bash-терминал.
Теперь по команде subl . откроется Sublime Text (текущая папка будет показана как проект), а по команде наподобие subl filename.txt можно быстро открывать файлы.
Странная проблема с алиасами
Я настраивал bash-терминал на двух домашних компьютерах с Windows 10 и на одном из них после добавления файла терминал при рестарте выводил 4 сообщения : command not found . Из-за чего — я так и не понял (права доступа были и владелец файла — я), но нашел строки в ~/.bashrc, которые к этому приводили. Это было подключение файла с алиасами:
if \[ -f ~/.bash_aliases \]; then . ~/.bash_aliases fi
Решил проблему, закомментировав эти строки и вписав алиасы прямо в ~/.bashrc (в самом низу).
Показ git-ветки в командной строке
Шаг 1: добавим в начале ~/.bashrc функцию для показа ветки:
git_branch() { git branch 2> /dev/NULL | sed -e ‘/^[^*]/d’ -e ‘s/* \(.*\)/ (\1)/’ }
Шаг 2: определим переменную, отвечающую за приглашение командной строки, добавим в неё показ результата работы этой функции (см. .bashrc ). Получится что-то вроде:
if [ «$color_prompt» = yes ]; then PS1=’${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[email protected]\h\[\033[00m\]: \[\033[01;34m\]\w\[\033[00m\]\e[32m$(git_branch)\e[0m \$ ‘ else PS1=’${debian_chroot:+($debian_chroot)}\[email protected]\h:\w\$ ‘ fi
Мелкие улучшения
Есть довольно много действий в bash-терминале, на которые Windows 10 отреагирует звуковым сигналом (нажатие Backspace, когда уже нечего стирать, например). Чтобы это отключить, создайте ~/.inputrc со строкой set bell-style none .
Vim по умолчанию показывает довольно тёмный текст, что на тёмном фоне смотрится плохо. Можно создать ~/.vimrc со строкой set background=dark, чтобы текст стал более читаемым.
Унификация Win32 и UWP
В рамках проекта «Воссоединение» (Project Reunion), анонсированного Microsoft, компания планирует обеспечить простую интеграцию между программными интерфейсами Win32 и Universal Windows Platform (UWP). предоставляя единую платформу для разработки с поддержкой обратной совместимости.
Другими словами, теперь разработчики смогут создавать такие приложения, которые заработают на любом устройстве с Windows 10, вне зависимости от аппаратной платформы и версии операционной системы. Существующие приложения также будет возможно адаптировать к новой модели.
Первыми компонентами новой платформы стали нативный фреймворк для проектирования интерфейса WinUI 3 и WebView2, позволяющий интегрировать веб-содержимое в любое приложение.
Исходный код обеих библиотек открыт и доступен любому желающему в соответствующих репозиториях Github.
- Конференция о новых коммуникационных технологиях INTERCOM / Remote edition пройдет 15 октября
- Короткая ссылка
- Распечатать
Замеченные баги
Работать с буфером обмена по умолчанию не комфортно (Ctrl + V, Shift + Insert не работают, приходится кликать (!!!) ПКМ по заголовку окна и выбирать Изменить → Вставить). Решается использованием терминала не самостоятельно, а внутри Cmder.
Несколько раз видел странный глюк отображения многострочной команды: как будто символы второй строки не перенеслись, а печатаются в первой строке. Редко, не критично.
На одном из домашних компьютеров работает сохранение истории команд между сеансами, на другом не работает (хотя права доступа и владелец файла ~/.bash_history — активный пользователь и сохранение истории включено). Не критично.
Не работают инструменты копирования в буфер. К примеру, при настройке SSH для github.com, есть инструкция для Linux:
sudo apt-get install xclip # Downloads and installs xclip. If you don’t have `apt-get`, you might need to use another installer (like `yum`) xclip -sel clip < ~/.ssh/id_rsa.pub # Copies the contents of the id_rsa.pub file to your clipboard
Но её невозможно выполнить, т.к. xclip работать не будет. Решается использованием виндовской утилиты: clip.exe < ~/.ssh/id_rsa.pub
После загрузки Windows иногда (было всего дважды) отказывается работать. Помогает перезагрузка (это же Windows).
Брандмауэр Windows по умолчанию не даёт зайти на запущенный внутри WSL сервер при запросе с другого устройства (запускаем сервер разработки на рабочем компе, открываем его страницы с телефона, находящегося в той же локальной сети). Как это лечить — не разобрался, приходится временно отключать брандмауэр.
Как заходить на сервер, запущенный в WSL, со сторонних устройств в одной локальной сети
Я пишу много html-страниц. В процессе работы у меня запущен локальный сервер, собирающий разметку, стили, javascript, спрайты и т.п. Бывает удобно запустить на основном компьютере сервер и зайти на него с помощью ноутбука, телефона, планшета (сервер доступен по IP, наподобие https://192.168.1.207:8080). Однако, встроенный в Windows 10 фаервол по умолчанию блокирует такие соединения.
Чтобы попасть на такой сервер, нужно добавить правило для брандмауэра:
- Найти с помощью поиска «Брандмауэр защитника Windows», открыть, нажать слева «Дополнительные параметры».
- В открывшемся окне Монитора брандмауэра выбрать (слева) «Правила для входящих…», нажать «Создать правило» (справа).
- Выбрать «Для порта», нажать «Далее».
- Выбрать «Определенные локальные порты», ввести номер порта (мой локальный сервер работает на порту 8080, его я и ввёл), нажать «Далее».
- Выбрать «Разрешить подключение», нажать «Далее», выбрать профили (я выбрал все), «Далее».
- Ввести какое-либо имя, нажать «Готово».
После этого получится зайти с любого устройства (в одной локальной сети) на запущенный в WSL на рабочем компьютере сервер.
Комфортное использование с Cmder
Для более тонкой настройки внешнего вида и комфортной работы с буфером обмена (привычное сочетание Ctrl + V для вставки) удобно использовать bash-терминал подсистемы Linux внутри cmder (эмулятор терминала, внутри которого можно запустить один из установленных в Windows терминалов). Для этого нужно добавить возможность старта WSL-консоли в настройках Cmder:
- Правый клик по иконке бургера в нижнем правом углу для перехода к настройкам.
- В разделе Startup выбрать радиокнопку Auto save/restore opened tabs, чтобы при рестарте не создавать вкладки заново.
- В разделе Startup, подразделе Tasks проверить наличие задачи WSL::bash. Если её нет, нажать кнопку Add/refresh default tasks… и согласиться на добавление задач.
- В списке задач появится пункт WSL::bash, при создании новой вкладки терминала нужно выбрать его.
Если в списке задач есть пункт WSL::bash, но WSL не запускается при его выборе (в момент создания новой вкладки Cmder), то в настройках можно попробовать нажать Add/refresh default tasks… и согласиться на обновление списка задач (см. п. 3). Если и после этого не получается запустить терминал подсистемы (Cmder сообщает о проблеме и пишет, что по нажатию Enter закроет вкладку), то можно добавить свою собственную задачу, которая будет запускать cmd.exe и сразу вызывать в ней команду bash. Команда запуска терминала будет выглядеть так:
*cmd /k «»%ConEmuDir%..init.bat» » && bash
Эмулятор Linux в Windows и Windows в Linux
Есть класс программ, позволяющих запускать программы других операционных систем (не обязательно Windows) в Linux и других UNIX-системах.
Это эмуляторы — такие программы, которые позволяют, грубо говоря, эмулировать Linux в Windows или наоборот. Среди них следует выделить наиболее часто применяемые.
1. WINE opensource, GPL. Wine Is Not a (CPU) Emulator это прослойка, которая транслирует Win32API в POSIX API, то есть свободная реализация Windows API, которая позволяет запускать программы Windows, переводя вызовы программы под Windows в вызовы Linux. Это позволяет выполнять программы почти на полной скорости. Однако из-за того, что продукты Microsoft являются закрытыми, невозможно точно воспроизвести структуру их API, что приводит к разного рода сбоям и странностям при выполнении Windows-программ в WINE. Положительным моментом является то, что вам не нужно ставитьWindows — только WINE и программу. Плюсы: достаточно быстрая работа на реальных ресурсах машины, работа с реальными каталогами и файлами, нет необходимости в установке Windows. Минусы: не все приложения поддерживаются и работают не всегда стабильно. Ссылки: https://www.winehq.org https://gazette.linux.ru.net/team/a_kuprin.html https://linuxshop.ru/linuxbegin/print633.html
1.1 CodeWavers CrossOver Office closedsource. Основанный на WINE коммерческий продукт, отличающийся лучшим исполнением особенно важных Windows приложений, таких как Adobe Photoshop, Microsoft Office, Autodesk AutoCAD и некоторых других. В общем, более стабильная, хотя и не самая свежая версия WINE, с графическим установщиком, который предоставит вам удобный и простой интерфейс для настройки. Ссылки: https://www.codeweavers.com
1.2 TransGaming Technologies WineX / Cedega
proprietary, но есть возможность скачать исходники. Так же основанный на WINE, но имеющий одно очень существенное, особенно для геймеров, усовершенствование — он содержит в себе улучшенную, вдобавок, полную (в плане совместимости) поддержку интерфейса
Direct3D
. Ссылки: https://www.transgaming.com
2. DOSEMUopensource, GPL. dosemu — эмулятор DOS для запуска старых приложений, часто используется для бухгалтерских и прочих весьма специфичных нужд. Многие программы под DOS использовали его «особенности» и баги для работы, которых в dosemu может не оказаться. Плюсы: быстрый запуск и работа устаревших, но нужных программ DOS (бухгалтерских, например), не требователен к ресурсам. Минусы: нетривиальная установка, не все программы будут работать. Ссылки: www.dosemu.org
3. Win4Lin closedsource. В файл, который для Windows будет диском, ставится полноценная копия Windows и потом туда ставятся нужные приложения. Старая версия Win4Lin позволяла запускать Windows 95 с очень приличной скоростью и работать с приложениями для этих систем в виндовс, однако для этого требуются патчи на ядро. Патчи есть далеко не для всех версий ядер, и для определённых версий Win4Lin патчи были свои — нужно было угадывать. Win4lin PRO не требует патча, позволяет запускать Windows2000/XP, но работает медленно и при этом подгружает служебные программы для «ускорения». Есть подозрения, что в этом эмуляторе используются наработки автора QEMU и особенно его ускоряющего модуля. Особенностью этого эмулятора является то, что есть возможность работать с реальными каталогами Linux. Плюсы: возможность запуска Windows. Минусы: проблемы с накладыванием патчей на ядро (закрытых и возможно небезопасных), либо очень низкая скорость запускаWindows, необходимость устанавливать Windows, невозможность эмуляции других ОС. Ссылки: https://www.win4lin.com/ https://www.netraverse.com/ https://sys.net.ru/docs/win4lin/Win4Lin6/ https://sys.net.ru/docs/win4lin/win4lin2debian
4. Виртуальные машины Имитируют весь компьютер целиком вместе с жёстким диском (в виде файла), CD-ROM и USB (всё это связано с железом настоящего компьютера). Установленная туда ОС будет работать с реальным железом только через эмулированное. Виртуальные машины это как раз то, что обычно называют «эмулятор Linux» или «Эмулятор Windows» — с помощью виртуальных машин вы действительно сможете эмулировать Linux или Windows.
4.1 QEMU opensource, GPL. QEMU — виртуальная машина. В QEMU можно поставить почти любую ОС — любой Windows (начиная с Windows95 до WindowsXPвключительно), любой дистрибутив Linux или FreeBSD, BeOS/Haiku, ReactOS, Syllable и проч. Для быстрой работы нужен kqemu — ускоряющий модуль (так же под GPL), который имеется на сайте автора. Для этого потребуются заголовки ядра — в основном, чтобы собрать ускоряющий модуль kqemu, с которым замедление работы гостевой ОС составит до 1.5 раза (вместо 5-10 раз без модуля). Этот эмулятор использует наработки другого проекта, BOCHS
. Так же позволяет создавать виртуальные машины собственной утилитой qemu-img. Работа с эмулятором (вызов, задание параметров) происходят в консольном режиме, но есть и графические оболочки. Плюсы: хорошая скорость работы (с kqemu) гостевой ОС, стабильность, широкие возможности (эмуляция нескольких платформ, одновременный запуск множества систем, точность эмуляции), защищённая среда. Минусы: несколько меньшая скорость эмуляции, чем VMware, консольный интерфейс (хотя есть графические оболочки типа Qemulator). Ссылки: форум о QEMU www.qemu.org
4.2 BOCHS opensource, GPL. BOCHS — виртуальная машина, точный эмулятор x86 платформы. Имеет свой BIOS, VGABIOS и прочее, что и используется QEMU. Очень точный, но очень медленный, применяется в основном разработчиками, где нужна уверенность, что это сбой в программе, а не эмулятора. Плюсы: полная точная эмуляция x86, возможность установки в него практически любой ОС, лёгкая и простая установка в Debian. Минусы: очень низкая скорость работы гостевой ОС. Ссылки: www.bochs.org
4.3 VMWare closedsource. VMWare — как и QEMU, виртуальная машина. Обладает более высокой скоростью эмуляции, поддерживает большее число ОС. Кроме того, установка VMWare на Дебиан нетривиальна, хотя имеются deb-пакеты в неофициальных репозиториях; требуется компиляция закрытых ускоряющих модулей с заголовками ядра. Есть сообщения, что у VMWare имеются проблемы с полноэкранным режимом. По требовательности к ресурсам мало отличается отQEMU, потребляя много оперативной памяти и процессорного времени. Возможности те же: безопасная среда для эмуляции гостевых ОС. Плюс графический интерфейс для создания виртуальных машин. Плюсы: более быстрая эмуляция гостевых ОС, есть графический интерфейс для создания виртуальных машин. Минусы: закрытые проприетарные модули потенциально могут вывести хост-ОС из стабильного состояния. Ссылки: https://www.vmware.com/ https://www.nixp.ru/news/6914 https://software.newsforge.com/print.pl?sid=05/04/27/186203
4.4 VirtualBox opensource, GPL. VirtualBox — так же виртуальная машина x86, основана на наработках QEMU
. Отличается простым графическим интерфейсом и весьма высокой скоростью эмуляции (часто быстрее
QEMU
) и поддержкой периферии (USB, сеть, FireWire). Точность эмуляции ниже, чем у
QEMU
(невозможно запускать многие ОС, например BeOS/Haiku, MenuetOS, Syllable). Есть guest additions, которые позволяют очень нужные вещи, а именно копи-паст с хост-системы в гостевую (clipboard sharing) и незаметный захват мыши. Плюсы: простая установка и настройка, возможно расширение функционала плагинами, широкая поддержка периферии, в ряде случаев быстрее
QEMU
. Минусы: при интенсивном использовании графический интерфейс мешает, точность эмуляции менее распространённых ОС не высока. Ссылки: https://www.virtualbox.org/
4.4 KVM — Kernel-based Virtual Machine opensource, GPL. KVM — это решение полной виртуализации, хотя сам по себе это модуль ядра Linux. Для работы требуется модифицированная версияQEMU
. Для работы требуется поддержка виртуализации процессором. Плюсы: модуль ускорителя в ядре, простая установка. Минусы: требуется поддержка виртуализации процессором. Ссылки: https://kvm.qumranet.com/kvmwiki https://inf.by/linux/211/
5. Гипервизорыopensource, GPL. XEN — гипервизор, позволяет запускать гостевую ОС как процесс ядра в хост-системе. Отличается очень низкими накладными расходами (от 2 до 8% потери производительности гостевой ОС), защитой хост-ОС, а так же использованием технологий виртуализации современных процессоров. Однако для того, чтобы использовать его возможности, требуется патч на ядро не только хост-ОС, но и гостевой ОС, что делает запуск проприетарных систем внутри очень непростым делом. Плюсы: потенциально наибольшая достижимая скорость работы гостевой ОС, ниже требования к ресурсам хост-ОС. Минусы: весьма нетривиальная установка — требуется патч на ядро гостевой ОС. Ссылки: https://www.cl.cam.ac.uk/Research/SRG/netos/xen/ https://wiki.xensource.com/xenwiki/XenFaq https://www.howtoforge.com/book/print/1169 https://xgu.ru/xen/manual/
6. Виртуализация на уровне операционной системы opensource, GPL. Open VZ это технология «лёгкой» виртуализации, позволяющая на одной аппаратной системе держать несколько различных версий Linux с одним ядром (поддерживающим ovz и содержащимся, как правило, на небольшом корне с ограниченным доступом по ssh и без других сервисов). В отличие от «тяжёлых» вариантов вроде Xen, Qemu или VMware, накладные расходы обычно составляют единицы процентов.