
Я хочу загрузить 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 update
а apt-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
настроить
arm64
chroot по умолчанию: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
.