Predvoditelev.RU
Заметки

Настройка Snap в Ubuntu WSL

На момент написания этой статьи установка snap-пакетов в дистрибутиве Ubuntu для WSL по умолчанию не работает. Исправим это.

При попытке установки snap-пакета видим примерно следующее:

> sudo snap install task --classic
error: cannot communicate with server: Post http://localhost/v2/snaps/task: dial unix /run/snapd.socket: connect: no such file or directory

Для работы команды snap необходима работающая в фоне служба "snapd", которая в свою очередь зависит от подсистемы "systemd". Но "systemd" по умолчанию в дистрибутиве отключена, при этом WSL c версии 0.67.6 её поддерживает.

Сначала обновим сам WSL. Для этого выходим из WSL и в командной строке Windows выполняем команду:

wsl --update

Далее включим "systemd". В конфигурационном файле /etc/wsl.conf (нужно создать, если не существует) в секции [boot] ставим значение true для опции systemd:

[boot]
systemd=true

Готово. Выключаем WSL (wsl --shutdown), запускаем заново и проверяем:

❯ sudo snap install task --classic
task v3.20.0 from Andrey Nering (andreynering) installed

Теперь всё должно работать.

Полезные ссылки

При написании статьи использовалось следующее ПО:

  • Windows 10.0.19044.0
  • WSL 1.0.3.0
  • Ubuntu 20.04.5 WSL
  • snap 2.55.5+20.04
@sergei_predvoditelev — Авторский канал в Telegram: заметки о веб-разработке, PHP, открытом ПО, развитии и немного о жизни.