我在 WSL 上运行 Debian 12 bookworm。
我需要multipass
,没有 Debian 软件包,但是multipass
github 自述文件说在 Linux 中安装它snap
。
我尝试使用snapd
进行安装sudo apt-get install snapd
。这会安装一个snap
二进制文件,但是当我尝试安装multipass
,我收到一个错误:
$ sudo snap install multipass
error: cannot communicate with server:
Post "http://localhost/v2/snaps/multipass": dial unix /run/snapd.socket:
connect: no such file or directory
$
看起来好像有一些snapd
守护进程监听器没有在 TCP 端口 80(http)上打开,但是我找不到如何启动它。
$ sudo service snap start
snap: unrecognized service
$
$ sudo service snapd start
snapd: unrecognized service
$
如何在 Debian 12 bookworm(WSL 下)上snap
安装multipass
?
答案1
解决方案按照此 github 票证回复中的说明进行解释: WSL2-Ubuntu 20.04 Snap 商店由于 systemd 依赖性而无法工作 #5126。
明确地,修复您的snapd
安装以便您snapd
在套接字上监听(使您能够运行snap install multipass
):
- 登录到你的 Debian 12 WSL 实例
- 确保您已连接到互联网
sudo apt-get install -yqq daemonize dbus-user-session fontconfig
sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target
exec sudo nsenter -t $(pidof systemd) -a su - $LOGNAME
注意:最后一个nsenter
命令可能不是必需的;它在 Debian 12 软件包中也不可用util-linux
。