如何擺脫apt中的arm64

如何擺脫apt中的arm64
W: Invalid 'Date' entry in Release file /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release
N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository 'http://repository.spotify.com stable InRelease' doesn't support architecture 'arm64'
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

在我為 Jetson tx1 安裝 Jetpack 後,我的 ubuntu 不斷嘗試取得arm更新。有辦法禁用這個嗎?

編輯:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

我看到國外的架構包含arm64。我該如何刪除它?

答案1

您可以透過運行來刪除外部架構

sudo dpkg --remove-architecture arm64

之後,您需要更新您的軟體清單。

sudo apt update

如果仍然收到一些錯誤或警告,您可以嘗試刪除所有軟體清單並從伺服器完全重新下載它們,以確保不會遺留任何舊軟體。請注意,完整下載將比平常花費更長的時間:

sudo rm -rf /var/lib/apt/lists
sudo apt update

答案2

使用 jetson-tx2 arm64 時遇到相同的問題。這手動的參考進階設定方案中的解決方案事實證明,如果不刪除軟體包,就無法刪除體系結構。

當新增外部架構時,這非常有用,導致更新儲存庫元資料時出現「404 Not Found」錯誤。例如,如果您想將儲存庫限制為僅 amd64 和 i386 架構,則它看起來像:

deb [arch=amd64,i386] <url>

為「sudo gedit /etc/apt/sources.list」中的所有儲存庫提供上述選項

現在“sudo apt update”,它將僅從 amd64 和 i386 取得。

答案3

我遇到了同樣的問題,正如 Byte Commander 所提到的,如果你不能直接運行

sudo dpkg --remove-architecture arm64

您已經安裝了一堆交叉編譯arm64軟體包,需要在刪除arm64之前運行它。按列出的順序執行以下命令:

sudo apt autoremove 
sudo dpkg --remove-architecture arm64
sudo apt-get update 

答案4

同樣的情況也發生在我身上。我無法apt update,也無法apt upgrade,因為arm64軟體包更新失敗,出現404錯誤。

dpkg給了我輸出:

$ dpkg --print-foreign-architectures
i386
arm64

看看我安裝的arm64軟體包發現Jetpack安裝了一些交叉編譯的東西:

$ dpkg -l | grep arm64
ii  cuda-cudart-cross-aarch64-9-0:arm64  9.0.252-1           arm64   CUDA Runtime cross-aarch64 dev links, headers
ii  libc6-arm64-cross                    2.23-0ubuntu3cross1 all     GNU C Library: Shared libraries (for cross-compiling)
ii  linux-libc-dev-arm64-cross           4.4.0-18.34cross1   all     Linux Kernel Headers for development (for cross-compiling)
...

我的解決方案:

我剛剛運行了 Jetpack Uninstaller,它清除了所有交叉編譯套件以及 arm64 架構:

$ ./JetPack_Uninstaller

之後我又能夠apt正常使用了。

相關內容