no se pueden descargar las dependencias de gnome-core para la máquina arm64

no se pueden descargar las dependencias de gnome-core para la máquina arm64

Quiero descargar gnome-corelas dependencias del paquete para instalarlas en un dispositivo Debian 10 arm-64, así que utilicé este comando:

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

y obtuve estos errores:

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>

La arquitectura arm64 se habilitó anteriormente dpkg --add-architecture arm64 y ambos mainrepositorios contribestaban habilitados; sin embargo, lo hice apt updatey apt-get updateluego lo volví a intentar, pero no se produjo ningún cambio y obtuve los mismos errores.

Estoy usando una máquina WSL Debian 10 buster x86-64.

¿Cuál es el problema y cómo puedo descargar esas dependencias?

Respuesta1

apt-cacheLa salida de no se puede analizar de esta manera; estás terminando con

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

y estás extrayendo <adwaita-icon-theme:arm64>cuál no es un nombre de paquete válido.

Los corchetes angulares en apt-cache dependsla salida ' significan que el solucionador no encontró una versión para instalar, y las siguientes líneas muestran qué se debe instalar en su lugar; en el caso de adwaita-icon-theme, esto sucede porque está marcado como "Multi-Arch: extranjero", lo que permite que la versión nativa satisfacer la dependencia.

Además de esto, no estás analizando dependencias alternativas, por ejemplo

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

Sólo necesitas instalar uno de estos, no todos.

Todo esto hace que sea realmente difícil de usar apt-cachepara crear una lista de paquetes para descargar para una arquitectura extranjera. Sería mejor que usaras un chroot mínimo externo y apt-get install --download-only:

  • instalar mmdebstrap:

    sudo apt install mmdebstrap qemu-user qemu-user-static binfmt-support libfakeroot:arm64 libfakechroot:arm64
    
  • configurar un arm64chroot predeterminado:

    sudo mmdebstrap --architectures=arm64 buster gnome-core-arm64
    
  • ingresa al chroot:

    sudo chroot gnome-core-arm64
    
  • descargar las gnome-coredependencias:

    apt-get update
    apt-get install --download-only gnome-core
    
  • Salga del chroot y encontrará los archivos del paquete en formato gnome-core-arm64/var/cache/apt/archives.

información relacionada