Установка wsl
само собой на windows 10, кажется начиная с 2004 версии
проверить установленную версию можно с помощью winver
предварительная подготовка (активируем wsl )
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
shutdown /r
обновить wsl kernel
https://docs.microsoft.com/en-us/windows/wsl/wsl2-kernel
установить вторую версию wsl по умолчанию
wsl --set-default-version 2
выбрать дистрибутив linux по вкусу
например Ubuntu или Debian (полный список здесь)
скачать
с помощью powershell
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile wsl-ubuntu-2004.appx -UseBasicParsing
Invoke-WebRequest -Uri https://aka.ms/wsl-debian-gnulinux -OutFile wsl-debian.appx -UseBasicParsing
или wget
wget https://aka.ms/wslubuntu2004 -O wsl-ubuntu-2004.appx
wget https://aka.ms/wsl-debian-gnulinux -O wsl-debian.appx
удаленить ранее установленного дистрибутива
при первой установке это как бы и не нужно
а записал на всякий случай, например, на случай переустановки
wsl --list
wsl --unregister Ubuntu-20.04
wsl --unregister Debian
Get-AppxPackage *ubuntu* | Remove-AppxPackage
Get-AppxPackage *debian* | Remove-AppxPackage
установка дистрибутива
wsl --list
Add-AppxPackage wsl-ubuntu-2004.appx
Add-AppxPackage wsl-debian.appx
wsl --set-default Ubuntu-20.04
wsl --set-default Debian
wsl --list
первый запуск wsl (спросит предпочитаемый логин и пароль)
wsl
Настройка WSL
беспарольный sudo (по желанию)
echo 'your-wsl-username ALL=(ALL) NOPASSWD: ALL' | sudo tee -a /etc/sudoers > /dev/null
обновления
sudo apt -y update
sudo apt -y upgrade
sudo apt -y dist-upgrade
sudo apt -y autoremove
установка ansible
со стопроцентно рабочим вариантом еще не определился, поэтому оставил в комментах еще вариант, который пробовал
# ubuntu - install ansible
sudo apt -y install python3 python3-pip
sudo pip3 install ansible pywinrm[credssp]
# debian - install ansible
# sudo apt -y install dirmngr
# echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" | sudo tee -a /etc/apt/sources.list > /dev/null
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
# sudo apt -y update
# sudo apt -y install ansible
# pip3 install pywinrm[credssp]
установка предпочитаемой локали
sudo update-locale LANG=en_US.UTF8
Подготовка windows к удаленному управлению (WinRM)
(New-Object -TypeName System.Net.WebClient).DownloadFile("https://raw.githubusercontent.com/ansible/ansible/devel/examples/scripts/ConfigureRemotingForAnsible.ps1", "ConfigureRemotingForAnsible.ps1")
powershell.exe -ExecutionPolicy ByPass -File ConfigureRemotingForAnsible.ps1 -Verbose -DisableBasicAuth -EnableCredSSP -SkipNetworkProfileCheck
Проверка работоспособности WinRM
$computer = "localhost"
$username = "your-win-username"
$password = ConvertTo-SecureString -String "your-win-password" -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $password
$session_option = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
Invoke-Command -ComputerName $computer -UseSSL -ScriptBlock { ipconfig } -Credential $cred -SessionOption $session_option
Теперь можем использовать ansible в wsl для настройки windows
to be continued…