![Ubuntu 16.04 Xenial Xerus 上的 lxd init 失败](https://linux22.com/image/1157070/Ubuntu%2016.04%20Xenial%20Xerus%20%E4%B8%8A%E7%9A%84%20lxd%20init%20%E5%A4%B1%E8%B4%A5.png)
当我使用 lxd 时,它会失败lxd init
。
$ snap install lxd
lxd 3.0.0 from 'canonical' installed
$ lxd init
Error: Failed to connect to local LXD: Get http://unix.socket/1.0: dial unix
/var/snap/lxd/common/lxd/unix.socket: connect: no such file or directory
我的计算机上有以下内容:
$ snapcraft --version
snapcraft, version 2.42.1
$ uname -a
4.13.0-43-generic #48~16.04.1-Ubuntu SMP Thu May 17 12:56:46 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
我不知道这是否相关,但我的电脑使用 Intel i7-7500U 并且具有安全启动 UEFI。
以下是更多命令的输出:
$ snap services lxd
Service Startup Current
lxd.daemon enabled active
$ snap logs lxd.daemon
2018-05-28T22:22:42Z lxd.daemon[1404]: 5: fd: 11: pids
2018-05-28T22:22:42Z lxd.daemon[1404]: 6: fd: 12: perf_event
2018-05-28T22:22:42Z lxd.daemon[1404]: 7: fd: 13: hugetlb
2018-05-28T22:22:42Z lxd.daemon[1404]: 8: fd: 14: cpu,cpuacct
2018-05-28T22:22:42Z lxd.daemon[1404]: 9: fd: 15: freezer
2018-05-28T22:22:42Z lxd.daemon[1404]: 10: fd: 16: net_cls,net_prio
2018-05-28T22:22:42Z lxd.daemon[1404]: 11: fd: 17: name=systemd
2018-05-28T22:22:42Z lxd.daemon[1404]: lvl=warn msg="CGroup memory swap accounting is disabled, swap limits will be ignored." t=2018-05-28T22:22:42+0000
2018-05-28T22:22:42Z lxd.daemon[1404]: lvl=warn msg="Failed to update instance types: Get https://images.linuxcontainers.org/meta/instance-types/.yaml: lookup images.linuxcontainers.org on [::1]:53: dial udp [::1]:53: connect: cannot assign requested address" t=2018-05-28T22:22:42+0000
2018-05-28T22:22:43Z lxd.daemon[1404]: => LXD is ready
$ lxd init
Error: Failed to connect to local LXD: Get http://unix.socket/1.0: dial unix /var/snap/lxd/common/lxd/unix.socket: connect: permission denied
lxd snap 需要 ipv6 吗?我可以强制使用 ipv4 吗?还有其他问题吗?
编辑:
$ groups myusername
myusername : myusername adm cdrom sudo dip plugdev lpadmin sambashare lxd
我是 lxd 小组的成员。但是
$ groups
myusername adm cdrom sudo dip plugdev lpadmin sambashare
没有 lxd。这是什么意思?
答案1
当你运行命令lxd init
并且出现错误时,你会得到一个原因,
$ lxd init
Error: Failed to connect to local LXD: Get http://unix.socket/1.0: dial unix
/var/snap/lxd/common/lxd/unix.socket: connect: THE_REASON
原因没有这样的文件或目录意味着 LXD 服务尚未启动(可能需要等待一会儿或手动启动它)。
原因没有权限意味着您当前的帐户不属于该组
lxd
,因此不允许访问该套接字/var/snap/lxd/common/lxd/unix.socket
。
在这种情况下,请运行groups
以查看您的帐户是否是该lxd
组的成员。 如果您是该lxd
组的成员,则需要注销然后登录。 如果您不是该lxd
组的成员,请运行
$ sudo usermod --append --groups lxd myusername
然后注销并重新登录。
答案2
您的群组添加未生效。请注销并重新登录以执行此操作。但是,是的,这看起来像是权限问题 - 无论如何,lxd init 需要以 sudo IIRC 身份运行