snapcraft.yml 有什么作用?

snapcraft.yml 有什么作用?

我正在尝试了解 Snap 是如何分发的。我理解软件包由snapcraft.yml文件。它们包含用于下载、验证和安装软件的 shell 命令。我的问题是这些命令实际上在哪里运行?在下载软件的人的计算机上还是在 Snap 服务器上?

当我这样做时,snap download <package-name>我看到了一个.assert和一个.snap文件,但是没有snapcraft.yml,所以看起来 snapcraft 可能更像是一个 Snap 服务器?

我担心的是,如果snapcraft.yml有 SHA-256 哈希和 PGP 签名验证,这是否会发生在用户的计算机或服务器上——这可能会受到损害。

答案1

  1. snapcraft.yaml文件不包含 shell 命令。YAML 不是脚本;它是一种组织信息的方式。该文件在 snap 安装(和卸载)期间由系统的 snapd 读取。

  2. snapcraft.yaml文件位于 /snap/$SNAP-NAME/$VERSION/snap/snapcraft.yaml。显然,必须安装 snap 才能让系统读取该文件。

  3. snap 的哈希和签名不是在 YAML 文件中完成的。它不是 Debian 控制文件。

相关内容