
Quero baixar gnome-core
as dependências do pacote para instalar em um dispositivo debian 10 arm-64, então usei este comando:
sudo apt-cache depends -i gnome-core:arm64 | awk '/Depends:/ {print $2}' | xargs apt-get download
e recebi estes erros:
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>
A arquitetura arm64 foi habilitada anteriormente usando dpkg --add-architecture arm64
e ambos main
os contrib
repositórios foram habilitados, no entanto, eu fiz apt update
e apt-get update
tentei novamente, mas nenhuma alteração ocorreu e obtive os mesmos erros.
Estou usando uma máquina WSL debian 10 buster x86-64.
qual é o problema e como posso baixar essas dependências?
Responder1
apt-cache
a saída de não pode ser analisada dessa maneira; você está acabando com
...
Depends: <adwaita-icon-theme:arm64>
adwaita-icon-theme
...
e você está extraindo <adwaita-icon-theme:arm64>
um nome de pacote não válido.
Colchetes angulares na apt-cache depends
saída ' significam que o resolvedor não encontrou uma versão para instalar, e as linhas a seguir mostram o que deve ser instalado - para adwaita-icon-theme
, isso acontece porque está marcado como “Multi-Arch: Foreign”, o que permite que a versão nativa seja satisfazer a dependência.
Além disso, você não está analisando dependências alternativas, por exemplo
|Depends: firefox-esr:arm64
|Depends: firefox:arm64
|Depends: chromium:arm64
|Depends: <chromium-browser:arm64>
Você só precisa instalar um deles, não todos.
Tudo isso torna realmente difícil construir apt-cache
uma lista de pacotes para download para uma arquitetura estrangeira. Seria melhor usar um chroot mínimo estrangeiro e apt-get install --download-only
:
instalar
mmdebstrap
:sudo apt install mmdebstrap qemu-user qemu-user-static binfmt-support libfakeroot:arm64 libfakechroot:arm64
configure um
arm64
chroot padrão:sudo mmdebstrap --architectures=arm64 buster gnome-core-arm64
digite o chroot:
sudo chroot gnome-core-arm64
baixe as
gnome-core
dependências:apt-get update apt-get install --download-only gnome-core
saia do chroot e você encontrará os arquivos do pacote em
gnome-core-arm64/var/cache/apt/archives
.