
Quiero descargar gnome-core
las 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 main
repositorios contrib
estaban habilitados; sin embargo, lo hice apt update
y apt-get update
luego 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-cache
La 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 depends
la 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-cache
para 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
arm64
chroot predeterminado:sudo mmdebstrap --architectures=arm64 buster gnome-core-arm64
ingresa al chroot:
sudo chroot gnome-core-arm64
descargar las
gnome-core
dependencias: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
.