
我想下載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
.