
Ich möchte gnome-core
Paketabhängigkeiten herunterladen, um sie auf einem Debian 10 Arm-64-Gerät zu installieren, daher habe ich diesen Befehl verwendet:
sudo apt-cache depends -i gnome-core:arm64 | awk '/Depends:/ {print $2}' | xargs apt-get download
und habe diese Fehler bekommen:
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>
Die arm64-Architektur war zuvor aktiviert dpkg --add-architecture arm64
und sowohl die Repositorys main
als auch contrib
die Repositories waren aktiviert. Ich habe es jedoch getan apt update
und apt-get update
es dann erneut versucht, aber es trat keine Änderung auf und ich erhielt dieselben Fehler.
Ich verwende eine Debian 10 Buster x86-64 WSL-Maschine.
was ist das Problem und wie kann ich diese Abhängigkeiten herunterladen?
Antwort1
apt-cache
Die Ausgabe von kann auf diese Weise nicht analysiert werden. Sie erhalten
...
Depends: <adwaita-icon-theme:arm64>
adwaita-icon-theme
...
und Sie extrahieren, <adwaita-icon-theme:arm64>
was kein gültiger Paketname ist.
Spitze Klammern in apt-cache depends
der Ausgabe von ' bedeuten, dass der Resolver keine zu installierende Version gefunden hat, und die folgenden Zeilen zeigen, was stattdessen installiert werden sollte – für adwaita-icon-theme
geschieht dies, weil es als „Multi-Arch: fremd“ markiert ist, was es der nativen Version ermöglicht, die Abhängigkeit zu erfüllen.
Darüber hinaus analysieren Sie keine alternativen Abhängigkeiten, zum Beispiel
|Depends: firefox-esr:arm64
|Depends: firefox:arm64
|Depends: chromium:arm64
|Depends: <chromium-browser:arm64>
Sie müssen nur eines davon installieren, nicht alle.
All dies macht es wirklich schwierig, apt-cache
eine Liste mit herunterzuladenden Paketen für eine fremde Architektur zu erstellen. Sie wären besser dran, wenn Sie ein fremdes minimales Chroot verwenden und apt-get install --download-only
:
Installieren
mmdebstrap
:sudo apt install mmdebstrap qemu-user qemu-user-static binfmt-support libfakeroot:arm64 libfakechroot:arm64
Richten Sie ein Standard-
arm64
Chroot ein:sudo mmdebstrap --architectures=arm64 buster gnome-core-arm64
betreten Sie die Chroot-Umgebung:
sudo chroot gnome-core-arm64
Laden Sie die
gnome-core
Abhängigkeiten herunter:apt-get update apt-get install --download-only gnome-core
Verlassen Sie das Chroot-Verzeichnis und Sie finden die Paketdateien in
gnome-core-arm64/var/cache/apt/archives
.