Snap是Ubuntu母公司Canonical于2016年4月发布Ubuntu16.04时候引入的一种安全的、易于管理的、沙盒化的软件包格式,与传统的dpkg/apt有着很大的区别。Snap可以让开发者将他们的软件更新包随时发布给用户,而不必等待发行版的更新周期;其次Snap应用可以同时安装多个版本的软件,所以snap可以解决兼容性和依赖性的问题,当然带来的就是速度下降,特别是启动速度。

列出所有snap安装包

Ubuntu18.04的发行说明中提到,默认支持snap应用。还有,例如计算器这个系统应用竟然也是snap应用

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo snap list
# 会发现:计算器、日历等等系统应用都是snap应用
zhou@zhou-son:~$ sudo snap list
[sudo] zhou 的密码:
Name Version Rev Tracking Publisher Notes
core 16-2.35.2 5548 stable canonical✓ core
gnome-3-26-1604 3.26.0 70 stable/… canonical✓ -
gnome-calculator 3.30.0 238 stable/… canonical✓ -
gnome-characters 3.29.91 124 stable/… canonical✓ -
gnome-logs 3.30.0 45 stable/… canonical✓ -
gnome-system-monitor 3.30.0 57 stable/… canonical✓ -
gtk-common-themes 0.1 701 stable/… canonical✓ -
intellij-idea-ultimate 2018.3-EAP 83 edge jetbrains✓ classic

安装snap

ex:snap安装idea

1
2
3
sudo snap install intellij-idea-ultimate --classic --edge
# 这是专业版,讲道理是需要激活的,教育邮箱可以获取激活码,然而,snap安装不需要激活就用了,感觉有点……
# 安装成系统应用会减慢打开速度,但是可以解决了兼容性问题和依赖问题,也是一种妥协方案

更新snap包

1
2
3
4
5
# 通过指定包名来指定要更新的软件
sudo snap refresh intellij-idea-ultimate --classic --edge

# 不指定包名更新所有snap包
sudo snap refresh

还原snap包版本到以前安装的版本

1
sudo snap revert intellij-idea-ultimate --classic --edge

删除snap包

1
sudo snap remove intellij-idea-ultimate --classic --edge