Snap简介
Snap在 techopedia 上的定义是这样的:
Ubuntu Snappy is a package manager originally created by Canonical for the Ubuntu Phone distribution. Packages are called “snaps” and are designed to work across different Linux distributions, not just Ubuntu.
Ubuntu tutorials提供了 Basic snap usages 介绍。本文基本上是基于这个简介的提炼。
1. 开始
1.1 安装 snapd 服务
snapd 是管理snap的服务,支持很多Linux:
- ubuntu
- debian
- suse
- 等等
对于Ubuntu来说,16.04 LTS及以后版本都已自带 snapd 服务。之前的版本可以用如下方法进行安装:
|
|
2. 安装与运行 snap
2.1 搜索一个 snap
语法:
$ snap find part-of-snap-name
比如说我们想搜索一个含有”hello”的snap:
|
|
搜索的返回结果包括:snap名字,版本号,作者,简述
2.2 安装与运行
安装一个 snap
语法:
$ sudo snap install _snap_fullname
例:
注意,第一次安装 snap 的时候,snapd 会下载系统所需的 base snap,这会多消耗一些时间;后续再装其他 snaps 就快了。
运行一个 snap
语法:
$ _snap_fullname
例:
2.3 列出已安装的 snaps
|
|
注意,上面列出的那个 core snap 就是上文中提到的 base snap。
2.4 更新
实际上 snaps 会每天在后台自动更新。当然你也可以手动刷新:
|
|
3. snap 的更多特性
3.1 snap 能提供一个或多个命令
当安装了一个 snap_example 的时候,我们可以用 snap_example.sub_command_name
来使用其提供的各种命令
3.2 snap 能提供服务
服务就是长时间运行的命令。
比如你安装了 shout
这个 snap,那么你就可以通过 http://localhost:9000 来与此服务交互
3.3 卸载 snap
语法:
$ snap remove _snap_fullname
例:
snap 及其依赖、相关联的用户数据,都将被清理干净。如果 snap 是一个服务,则该服务先被停止然后清除。
4. snap 的不同版本
与其他软件一样,各个开发队伍对其 snap 也提供以下几种版本:
stable
为稳定版;candidate
为尝鲜版,一般在稳定版发布前几日推出,以便用户可以尝鲜并测试;beta
为未完全完成但已达到某些里程碑节点的版本;edge
为刚刚开发出来的最前沿版本,仅通过冒烟测试,尚未充分测试
默认安装 stable
版。
4.1 切换其他版本
强制切换其他版本的命令如下:
语法:
$ sudo snap refresh _snap_fullname –channel=_channelname
或
sudo snap install _snap_fullname –_channelname
例:
这时,再调用 hello,执行的就是 beta 版的 hello 了
4.2 退回
如果发现某一个版本有问题,snap 支持退回一个版本。
语法:
$ sudo snap revert _snap_fullname
例: