无法下载 arm64 机器的 gnome-core 依赖项

无法下载 arm64 机器的 gnome-core 依赖项

我想下载gnome-core软件包依赖项以安装在 debian 10 arm-64 设备上,所以我使用了以下命令:

sudo apt-cache depends  -i gnome-core:arm64 | awk '/Depends:/ {print $2}' | xargs  apt-get download

并得到这个错误:

E: Unable to locate package <adwaita-icon-theme:arm64>
E: Unable to locate package <fonts-cantarell:arm64>
E: Unable to locate package <sound-theme-freedesktop:arm64>
E: Unable to locate package <gnome-backgrounds:arm64>
E: Unable to locate package <gnome-session:arm64>
E: Unable to locate package <gnome-shell-extensions:arm64>
E: Unable to locate package <gnome-user-docs:arm64>
E: Unable to locate package <gsettings-desktop-schemas:arm64>
E: Unable to locate package <firefox:arm64>
E: Unable to locate package <chromium-browser:arm64>
E: Unable to locate package <system-config-printer-common:arm64>

之前使用了arm64架构,dpkg --add-architecture arm64 并且存储库都main启用contrib了,但是,我这样做了apt updateapt-get update然后我重试了,但没有发生任何变化,并得到了相同的错误。

我使用的是 debian 10 buster x86-64 WSL 机器。

问题是什么以及如何下载该依赖项?

答案1

apt-cache的输出不能以这种方式解析;你最终会得到

...
  Depends: <adwaita-icon-theme:arm64>
    adwaita-icon-theme
...

并且您正在提取的<adwaita-icon-theme:arm64>包名称不是有效的。

' 输出中的尖括号apt-cache depends意味着解析器没有找到要安装的版本,下面的行显示了应该安装的内容 - 对于adwaita-icon-theme,发生这种情况是因为它被标记为“Multi-Arch:foreign”,这允许本机版本满足依赖性。

除此之外,您没有解析替代依赖项,例如

 |Depends: firefox-esr:arm64
 |Depends: firefox:arm64
 |Depends: chromium:arm64
 |Depends: <chromium-browser:arm64>

您只需要安装其中之一,而不是全部。

所有这些使得apt-cache构建用于外部架构下载的软件包列表变得非常困难。你最好使用外部最小 chroot 并且apt-get install --download-only

  • 安装mmdebstrap

    sudo apt install mmdebstrap qemu-user qemu-user-static binfmt-support libfakeroot:arm64 libfakechroot:arm64
    
  • 设置默认arm64chroot:

    sudo mmdebstrap --architectures=arm64 buster gnome-core-arm64
    
  • 输入chroot:

    sudo chroot gnome-core-arm64
    
  • 下载gnome-core依赖项:

    apt-get update
    apt-get install --download-only gnome-core
    
  • 退出 chroot,您将在gnome-core-arm64/var/cache/apt/archives.

相关内容