安装 snap 包后需要用户对目录有权限

安装 snap 包后需要用户对目录有权限

我正在创建 Dart 语言 sdk 的 snap 包。这是 snapcraft.yaml

name: dart-sdk
version: 2.0.0
summary: Dart Language SDK
description:  This includes the Dart SDK

confinement: classic
parts:
  dart-sdk:
    plugin: dump
    source: https://storage.googleapis.com/dart-archive/channels/stable/release/2.0.0/sdk/dartsdk-linux-x64-release.zip

    build-packages:
      - wget
      - unzip 

安装后,它会进入 /snap/dart-sdk/current/dart-sdk,但该目录需要 root 权限才能访问。如何制作 snap 包,以便在安装时,sdk 目录具有用户权限而不是 root 权限?

答案1

  • 不,这违背了 snap 的初衷。所以 snap 不允许动态更改应用程序。

  • 另外,我认为将二进制档案转换为快照没有任何好处,正如您所打算的那样。

    无论如何,您可以覆盖prepare:并提取该二进制档案。因此它被捕捉了。

  • 正确的方法是从源包构建 snap。这样你就可以确定它适用于任何平台。顺便说一句,snapcraft它没有很好的文档记录,最好从snapd源代码中学习并snapcraft.yaml在开源存储库中重新提交。

相关内容