snap

介绍

snap 是通用的 Linux 包管理程序。

安装

按照 snapcraft 的说法,ubuntu 16.04 默认安装了 snap:

https://snapcraft.io/docs/core/install-ubuntu

但是我们会发现 linux mint 18.1 默认没有安装snap,原因不明,因此需要自己动手安装snap。

错误安装方式

警告!

不能按照标准的 ubuntu 16.04 安装方式来安装,如果照做的话:

  1. sudo apt update
  2. sudo apt install snapd

安装完成之后可以看到snap版本信息为:

  1. snap --version
  2. snap 2.25
  3. snapd 2.26.14
  4. series 16
  5. linuxmint 18
  6. kernel 4.4.0-87-generic

snap 会在之后安装其他模块时报错:

  1. snap install core
  2. error: cannot perform the following tasks:
  3. - Setup snap "core" (2462) security profiles (cannot setup seccomp for snap "core": fork/exec /usr/lib/snapd/snap-seccomp: no such file or directory)
  4. - Setup snap "core" (2462) security profiles (fork/exec /usr/lib/snapd/snap-seccomp: no such file or directory)

导致 snap 完全无法使用。

也不要像某些人建议的用 ppa:snappy-dev/edge 这个ppa安装最新的开发版本,这个版本在后面使用时会报错。

正确安装方式

正确的安装方法是使用 ppa:snappy-dev/tools:

  1. sudo -i
  2. add-apt-repository ppa:snappy-dev/tools -y
  3. apt update
  4. # If you already had snapd installed you need to do a dist-upgrade
  5. apt dist-upgrade
  6. # If not, install it with this:
  7. apt install snapcraft
  8. apt install snapd
  9. apt install ubuntu-core-launcher

注: hp 是设置 http_proxy 的alias。见前面代理设置的章节

此时看snap安装的版本信息,版本和前面的不同,

  1. snap --version
  2. snap 2.26.14
  3. snapd 2.26.14
  4. series 16
  5. linuxmint 18
  6. kernel 4.4.0-87-generic

此时可以正常安装 core 模块:

  1. hp snap install core
  2. 2017-08-10T01:23:24+08:00 INFO Waiting for restart...
  3. core 16-2.26.14 from 'canonical' installed