如何在 Cubic 中安装 snap 包

如何在 Cubic 中安装 snap 包

我一直在通过 Cubic 中的 chroot 环境安装各种软件包来定制我的 Ubuntu Live ISO。通过 apt 安装似乎运行良好,但我似乎无法通过 snap 安装。这是我尝试“snap install vlc”时收到的错误

error: cannot communicate with server: Post http://localhost/v2/snaps/vlc: dial unix /run/snapd.socket: connect: no such file or directory

我该如何解决?

答案1

诸如此类的服务snapd无法在 Cubic 的终端页面中运行,因此您无法使用该snap install命令安装 snap 包。

但是,您可以“播种”快照。

以下是 Gnome Calculator snap 包的播种示例。我在 Xubuntu 20.04 上测试了这种方法。这些说明改编自这篇博文

在主机上执行以下步骤...

  1. 创建种子目录结构。

    mkdir seed
    cd seed
    mkdir snaps
    mkdir assertions
    
  2. 下载快照。

    安装 Gnome Calculator 需要以下附加快照:

    • 核心18
    • 侏儒-3-34-1804
    • gtk-通用主题

    识别所需的 snap 包可能是一个反复试验的过程(如下面的步骤 12 所述)。

    需要 snap包core,因为它被模型和账户断言使用(在下面的步骤 4 中)。

    根据你安装的 snap 包,你可能需要core18(Ubuntu 18.04) 或core20(Ubuntu 20.04)。请参阅这个答案详细解释了coresnap 包是什么以及为什么你需要它们。Gnome Calculator 需要core18

    snap download core
    snap download core18
    snap download gnome-3-34-1804
    snap download gnome-calculator
    snap download gtk-common-themes
    
  3. 将下载的文件移动到正确的目录。

    mv *snap ./snaps
    mv *assert ./assertions
    
  4. 创建模型和帐户断言。

    即使您下载了额外的 snap 包,您也只需要执行一次这一步。

    cd ./assertions
    snap known --remote model series=16 model=generic-classic brand-id=generic > generic-classic.model
    ACCOUNT_KEY=`awk '/sign-key-sha3-384/{print $2}' generic-classic.model`
    snap known --remote account-key public-key-sha3-384=${ACCOUNT_KEY} > generic.account-key
    snap known --remote account account-id=generic > generic.account
    
  5. 创建seed.yaml文件。

    cd ..
    touch ./seed.yaml
    
  6. 列出快照,以便您可以将它们添加到seed.yaml文件中。

    ls -1 snaps
    

    这是此示例的输出。

    core_11167.snap
    core18_2066.snap
    gnome-3-34-1804_72.snap
    gnome-calculator_884.snap
    gtk-common-themes_1515.snap
    
  7. seed.yaml在文本编辑器(例如 Gedit)中打开新文件。

    使用以下结构添加您在步骤 2 中下载的所有快照:

    • 文件开头为snaps:
    • -每个快照由包含破折号 ( ) 字符的线分隔
    • 是文件中下划线 ( ) 字符之前name的部分*.snap_
    • 应该channelstable(除非你从其他渠道下载)
    • 这只是文件file的完整文件名*.snap

    这是该seed.yaml示例。

    snaps:
      -
        name: core
        channel: stable
        file: core_11167.snap
      -
        name: core18
        channel: stable
        file: core18_2066.snap
      -
        name: gnome-3-34-1804
        channel: stable
        file: gnome-3-34-1804_72.snap
      -
        name: gnome-calculator
        channel: stable
        file: gnome-calculator_884.snap
      -
        name: gtk-common-themes
        channel: stable
        file: gtk-common-themes_1515.snap
    

使用 Cubic 执行以下步骤...

  1. 启动 Cubic。

  2. 导航到终端页面。

    更改当前目录:

    cd /var/lib/snapd
    
  3. 复制 snap 种子文件。

    打开文件浏览器,例如 Nautilus。

    将您在步骤 1 中创建的目录拖放seed到 Cubic 窗口上,以便将其复制到当前目录中/var/lib/snapd

  4. 完成生成自定义 ISO 并退出 Cubic。

测试并发现错误...

  1. 启动到您的自定义 ISO。

    打开终端并执行:

    snap warnings
    

    如果 snap 包安装成功,您将看到消息No warnings。否则,您将看到一条解释问题的消息。如果您尝试播种的 snap 需要另一个 snap 包,则会列出缺少的 snap 包。在这种情况下,请添加缺少的包,如步骤 2 所示。

    在我的测试中,Gnome 计算器图标最初并未显示在应用程序列表中。但是,当我使用 启动命令行中的应用程序后gnome-calculator,启动器图标便添加到了应用程序列表中。

相关内容