Пытаюсь запустить Home Assistant на Linux Debian развернутом в Windows Subsystem for Linux. Для этого необходимо обновить Debian до версии 11.
Сначала развернем Windows Subsystem for Linux (WSL) на MS Windows 10.1. Запускаем Командную строку (CMD) от Администратора, и выполняем команду установки сервиса:
wsl --install
2. Перезагружаем компьютер, после входа в систему автоматически начинает разворачиваться образ с Ubuntu, т.к. нам он не нужен, то рубим установку.
3. Обновление до WSL 2 (на текущую дату уже не актуально):
3.1 Качаем и устанавливаем:
wsl_update_x64.msi3.2 Открываем PowerShell от имени Администратора и выполняем следующую команду, чтобы задать WSL 2 в качестве версии по умолчанию при установке нового дистрибутива Linux:
wsl --set-default-version 2
4. Устанавливаем образ Дебиана:
Смотрим список доступных дистрибутивов Linux
PS C:\WINDOWS\system32> wsl --list --online
Ниже приведен список допустимых распределений, которые можно установить.
Установите с помощью команды wsl --install -d <Distro>.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
openSUSE-42 openSUSE Leap 42
SLES-12 SUSE Linux Enterprise Server v12
Ubuntu-16.04 Ubuntu 16.04 LTS
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
PS C:\WINDOWS\system32>
Разворачиваем образ Debian:
wsl --install -d debian
Получил информацию что установился, но не показывает установленный линус.
PS C:\WINDOWS\system32> wsl --list -v
Нет установленных дистрибутивов подсистемы Windows для Linux.
Дистрибутивы можно установить из Microsoft Store:
https://aka.ms/wslstore
При повторной установке вылезает ошибка:
WslRegisterDistribution failed with error: 0x80370102
Пошел в BIOS и включил Intel Virtual Technology
Запустил продолжение установки Debian:
wsl --install -d debian
Задал логин и пароль:
Проверяем версию:
admin@comp:~$ cat /etc/issue
Debian GNU/Linux 9 \n \l
Заходим в консоль сервера Debian под Rootисточник1. Переходим в папку где лежит исполняемый файл для дистрибутива Linux, который мы используем с WSL. В Windows 10 он лежит в профиле пользователя.
Запускам CMD от Администратора и идем в папку с ВМ:
cd C:\Users\myuser\AppData\Local\Microsoft\WindowsApps>
Смотрим с помощью команды DIR как называется образ, у нас это Debian
2. Указываем пользователя под которым входить в систему (Root) вместо учетной записи пользователя, которую вы создали при установке дистрибутива Linux:
C:\Users\myuser\AppData\Local\Microsoft\WindowsApps>debian config --default-user root
3. Запускаем образ Debian:
C:\Users\myuser\AppData\Local\Microsoft\WindowsApps>debian
root@comp:~#
Как видим - консоль от Рута запущена (~#, а не ~$)
Обновляем образ Debian 9 до Debian 10.Я пользовался
инструкцией, там все очень подробно и с пояснениями расписано. Приведу тезисно команды для выполнения:
1. Проверяем версию:
root@comp:~# cat /etc/issue
Debian GNU/Linux 9 \n \l
2. Выполняем команды:
sudo apt update
sudo apt dist-upgrade
dpkg -C
apt-mark showhold
Образ чистый, никаких ошибок не наблюдается.
3. Нужно исправить файл
/etc/apt/sources.list и заменить в нем все репозитории
stretch на
buster. Я установил MC и в нем исправил файл.
4. Продолжаем обновление, команды:
apt update
apt list --upgradable
apt-get upgrade
apt-get dist-upgrade
Проверяем версию ОС:
root@comp:~# cat /etc/issue
Debian GNU/Linux 10 \n \l
Обновляем образ Debian 10 до Debian 11.Я пользовался
инструкцией, автор все очень подробно и с пояснениями расписал.
Приведу тезисно команды для выполнения:
1. Команды:
sudo apt update
sudo apt dist-upgrade
sudo apt --fix-broken install
sudo apt autoremove
2. Опять исправляем файл
/etc/apt/sources.list, меняем
buster на
bullseye, меняем
/updates на
-security.
3. Команды для минимального обновления:
sudo apt update
sudo apt upgrade --without-new-pkgs
4. Проверяем ОС:
root@comp:~# cat /etc/issue
Debian GNU/Linux 11 \n \l
root@comp:~#
5. Полное обновление:
sudo apt dist-upgrade
sudo apt autoremove
Окончательная проверка:
root@comp:~# cat /etc/issue
Debian GNU/Linux 11 \n \l
root@comp:~# cat /etc/debian_version
11.2
root@comp:~# uname -r
5.10.16.3-microsoft-standard-WSL2
root@comp:~#
Готово. Теперь у нас Debian 11 в Windows Subsystem for Linux.