如果我需要使用 Ansible 在 snap(类似于
snap install foobar --classic
命令)上安装(升级到)最新版本,我可以使用类似
- name: Install foobar snap
community.general.snap:
name: foobar
classic: true
channel: stable
但是如果我需要在 snap 上安装(升级到)特定的非最新版本(类似于
snap install foobar --classic --revision 1234
或 snap refresh foobar --revision 1234
命令),如何使用 Ansible 来做到这一点?
快照的修订版是 Snap Store 在每次上传快照时自动分配的编号,为每个快照二进制文件在其通道内和通道之间提供唯一的标识。因此,我们可以使用
channels
来安装它。
为此,首先我们可以做一个
$ snap info foobar
channels:
latest/stable: 2.59.4 2023-05-31 (19361) 55MB -
latest/candidate: 2.59.5 2023-06-09 (19457) 55MB -
latest/beta: 2.59.5 2023-05-27 (19457) 55MB -
2020.1/stable: 2.10.5 2020-01-13 (19535) 42MB -
然后我们就可以使用
- name: Install foobar snap
community.general.snap:
name: foobar
classic: true
channel: 2020.1/stable