如何从本地文件安装 Snap 包

如何从本地文件安装 Snap 包

我有一个用 Python 编写的一次性使用程序。

Snapcraft 可以打包吗?如何在本地安装包?有没有类似 GDebi 的 Snaps 工具?

答案1

以下是从 Snap Store 本地安装 snap 包的示例 (来源)。

但是,这对您不起作用——为什么它不起作用以及您需要使用的方法详述如下。

$ snap download hello-world
Fetching snap "hello-world"
Fetching assertions for "hello-world"

$ sudo snap ack hello-world_27.assert 

$ sudo snap install hello-world_27.snap
hello-world 6.3 from 'canonical' installed

$ snap list
Name                   Version                   Rev   Developer      Notes
<snip>
hello-world            6.3                       27    canonical      -
  • 没有什么比 GDebi 更适合快照了。
  • 由于您已经有本地快照,因此显然可以跳过第一步。您不需要下载它。
  • 由于您进行了快照,所以没有 .assert 文件,因此您也跳过了第二步。
  • 最后,由于 Snaps 默认使用签名来保证安全性...但您的签名尚未签名...您必须在第三步使用标志禁用该保护--dangerous

因此,您制作本地制作的未签名 Snap 的方法如下:

$ sudo snap install /path/to/my-snap.snap --dangerous

答案2

总结:

如果你已经下载了文件,比如说abc.snap在当前文件夹中,

尝试:

snap install ./abc.snap --dangerous

解释:

snap 通常用发布者的私钥签名。当软件包被签名时,它只意味着它是由拥有私钥的人准备的。这实际上没有其他含义。这并不意味着该软件包对您的计算机来说是安全的。这并不意味着该软件包包含它所说的内容。它只意味着有人用他的私钥对其进行了签名。

如果您有一个.snap可能已签名也可能未签名的裸文件,则可以使用跳过签名验证--dangerous。事实上,没有什么比信任互联网上的随机人员来保管您的计算机内容更危险的了。

官方 snap 商店提供的软件包都是经过签名的,因此如果真的出了什么问题,可以追踪发布软件包的账户。这可能会阻止好人发布坏软件包。但这并不意味着软件包是安全的。它可能不会阻止坏人。

相关内容