使用snap 的过程中经常遇到无法链接的情况。
$ sudo snap install code --classic
error: unable to contact snap store
这是因为SnapCraft将软件包放在自己的海外服务器上,因为众所周知的原因,访问速度异常缓慢,不加代理的情况下,基本无法使用。
Linux上的一些应用程序会通过读取环境变量 http_proxy 和 https_proxy 来应用代理服务器设置,典型的有Chrome。
然而,Snap比较特别,它不会从环境变量中上述环境变量中读取代理服务器设置,因此直接使用
export http_proxy=[代理服务器地址]
export https_proxy=[代理服务器地址]
是不起作用的。
网上有一些修改配置文件的方法,个人觉得很麻烦,也容易出错,所以选了最简单可靠的命令行模式。
$ sudo snap set system proxy.https="http://代理服务器地址:代理端口"
$ sudo snap set system proxy.http="http://代理服务器地址:代理端口"
尝试使用 Ubuntu 的 Snap 后,发现真的非常方便。
看过Snap的介绍以后,发现Snap的沙盒理念非常先进,在存储基本不成问题背景下,会系统环境的影响更小。
而且docker-compose命令也会一起安装,更是方便。
$ sudo snap install docker
# 设置开机启动
$ sudo snap start docker --enable
# 确认服务状态
$ sudo snap services docker
# 查看服务详情
$ service snap.docker.dockerd status
使用sudo安装后要注意以后调用时,都要使用sudo命令前缀。
# 安装目录
/snap/docker/current
# 服务启动配置文件
/etc/systemd/system/snap.docker.dockerd.service
# 配套 AppArmor 配置文件
/var/lib/snapd/apparmor/profiles/snap.docker.docker
/var/lib/snapd/apparmor/profiles/snap.docker.dockerd
# 默认 Unix Socket 文件路径
unix:///var/snap/docker/current/run/docker/libcontainerd/docker-containerd.sock