我一直在通过 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 上测试了这种方法。这些说明改编自这篇博文。
在主机上执行以下步骤...
创建种子目录结构。
mkdir seed cd seed mkdir snaps mkdir assertions
下载快照。
安装 Gnome Calculator 需要以下附加快照:
- 核
- 核心18
- 侏儒-3-34-1804
- gtk-通用主题
识别所需的 snap 包可能是一个反复试验的过程(如下面的步骤 12 所述)。
需要 snap包
core
,因为它被模型和账户断言使用(在下面的步骤 4 中)。根据你安装的 snap 包,你可能需要
core18
(Ubuntu 18.04) 或core20
(Ubuntu 20.04)。请参阅这个答案详细解释了core
snap 包是什么以及为什么你需要它们。Gnome Calculator 需要core18
。snap download core snap download core18 snap download gnome-3-34-1804 snap download gnome-calculator snap download gtk-common-themes
将下载的文件移动到正确的目录。
mv *snap ./snaps mv *assert ./assertions
创建模型和帐户断言。
即使您下载了额外的 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
创建
seed.yaml
文件。cd .. touch ./seed.yaml
列出快照,以便您可以将它们添加到
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
seed.yaml
在文本编辑器(例如 Gedit)中打开新文件。使用以下结构添加您在步骤 2 中下载的所有快照:
- 文件开头为
snaps:
-
每个快照由包含破折号 ( ) 字符的线分隔- 是文件中下划线 ( ) 字符之前
name
的部分*.snap
_
- 应该
channel
是stable
(除非你从其他渠道下载) - 这只是文件
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 执行以下步骤...
启动 Cubic。
导航到终端页面。
更改当前目录:
cd /var/lib/snapd
复制 snap 种子文件。
打开文件浏览器,例如 Nautilus。
将您在步骤 1 中创建的目录拖放
seed
到 Cubic 窗口上,以便将其复制到当前目录中/var/lib/snapd
。完成生成自定义 ISO 并退出 Cubic。
测试并发现错误...
启动到您的自定义 ISO。
打开终端并执行:
snap warnings
如果 snap 包安装成功,您将看到消息
No warnings
。否则,您将看到一条解释问题的消息。如果您尝试播种的 snap 需要另一个 snap 包,则会列出缺少的 snap 包。在这种情况下,请添加缺少的包,如步骤 2 所示。在我的测试中,Gnome 计算器图标最初并未显示在应用程序列表中。但是,当我使用 启动命令行中的应用程序后
gnome-calculator
,启动器图标便添加到了应用程序列表中。