如何在 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正常使用了。

相关内容