如何从本地文件安装 Snap 包

She*_*inn 17 package-management snap

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

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

use*_*733 15

以下是从 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      -
Run Code Online (Sandbox Code Playgroud)
  • 没有什么比 GDebi 更适合快照了。
  • 由于您已经拥有本地快照,因此显然可以跳过第一步。您不需要下载它。
  • 由于您进行了快照,因此没有 .assert 文件,因此您也跳过了第二步。
  • 最后,由于 Snap 默认使用签名进行安全保护...但您的签名未签名...您必须在第三步中使用该--dangerous标志禁用该保护。

因此,本地制作、未签名的 Snap 的方法将是:

$ sudo snap install /path/to/my-snap.snap --dangerous
Run Code Online (Sandbox Code Playgroud)


Geo*_*Rey 7

总而言之:

如果您已下载文件,例如abc.snap在当前文件夹中,

尝试:

snap install ./abc.snap --dangerous
Run Code Online (Sandbox Code Playgroud)

解释:

快照通常使用发布者的私钥进行签名。当包被签名时,仅意味着它是由拥有私钥的人准备的。从字面上看,这没有其他意思。这并不意味着该软件包对于您的计算机来说是安全的。这并不意味着包装中包含其所声称的内容。这意味着有人已经用他的私钥签署了它。

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

官方 snap 商店提供的软件包都经过签名,因此,如果发生真正的问题,可以追踪发布该软件包的帐户。这可能会阻止好人发布不良包裹。这并不意味着包裹是安全的。它可能不会阻止不良行为者。