Làm thế nào để thoát khỏi arm64 trong apt


13
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.

Sau khi tôi cài đặt Jetpack cho Jetson tx1, Ubuntu của tôi liên tục cố gắng tìm nạp các bản cập nhật. Có cách nào để vô hiệu hóa điều này?

BIÊN TẬP:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

Tôi thấy rằng arm64 được bao gồm trong kiến ​​trúc nước ngoài. Làm thế nào để tôi loại bỏ nó?


1
Vui lòng thêm đầu ra của dpkg --print-architecturedpkg --print-foreign-architectures.
Chỉ huy Byte

Tôi phải đối mặt với cùng một vấn đề. liên kết này đã giúp tôi loại bỏ các gói arm64 của tôi. và sau đó sử dụng giải pháp được đưa ra bởi chỉ huy byte
Raushan Kumar

Câu trả lời:


16

Bạn có thể xóa kiến ​​trúc nước ngoài bằng cách chạy

sudo dpkg --remove-architecture arm64

Sau đó, bạn cần cập nhật danh sách phần mềm của bạn.

sudo apt update

Nếu bạn vẫn nhận được một số lỗi hoặc cảnh báo, bạn có thể thử xóa tất cả các danh sách phần mềm của mình và tải lại hoàn toàn chúng từ máy chủ, để đảm bảo không còn gì cũ. Lưu ý rằng việc tải xuống hoàn chỉnh sẽ mất nhiều thời gian hơn bình thường:

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

Tôi hiểu dpkg: error: cannot remove architecture 'arm64' currently in use by the databaseđiều này thật kỳ quặc bởi vì tôi không nghĩ rằng mình đang sử dụng nó ...
MoneyBall

@MoneyBall Bạn có thể thêm đầu ra dpkg -l | grep arm64cho câu hỏi của mình không? Có vẻ như một số gói arm64 đã được cài đặt, trước tiên bạn phải gỡ bỏ.
Chỉ huy Byte

ah crap ... Tôi có trình biên dịch chéo arm64 ... nhưng tôi đã gỡ bỏ thành công armhf, đó là một nỗi đau. Cảm ơn bạn.
MoneyBall

Bạn có biết làm thế nào tôi có thể thực hiện cập nhật apt-get để ngừng tìm nạp các gói arm64 không? Làm thế nào để tôi thoát khỏi những lỗi 404 không tìm thấy?
MoneyBall

1
Có cách nào để gỡ bỏ arm64 khỏi cơ sở dữ liệu không, tôi đang gặp vấn đề tương tự. EDIT sudo dpkg --force-architecture --remove-architecture arm64sudo rm -rf /var/lib/apt/listsvới sudo apt updatecố định nó.
greezle1234

7

Đối mặt với vấn đề tương tự trong khi làm việc với jetson-tx2 arm64. Hướng dẫn này đề cập đến giải pháp trong kịch bản thiết lập nâng cao Hóa ra bạn không thể xóa kiến ​​trúc mà không xóa các gói.

Điều này hữu ích khi kiến ​​trúc nước ngoài đã được thêm vào, gây ra lỗi "404 Không tìm thấy" xuất hiện khi dữ liệu meta của kho lưu trữ được cập nhật. Ví dụ: nếu bạn muốn giới hạn một kho lưu trữ chỉ các kiến ​​trúc amd64 và i386, nó sẽ trông như sau:

deb [arch=amd64,i386] <url>

Cung cấp tùy chọn trên cho tất cả các kho lưu trữ trong "sudo gedit /etc/apt/source.list"

Bây giờ "sudo apt update" và nó sẽ chỉ tìm nạp từ amd64 và i386.


Điều này làm việc cho tôi vào ngày 18.04.2. Cảm ơn bạn! Chúc tôi có thể upvote hai lần :).
cxw

1

Tôi gặp vấn đề tương tự và như Byte Commander đã đề cập nếu bạn không thể trực tiếp chạy

sudo dpkg --remove-architecture arm64

Bạn đã có một loạt các gói arm64 biên dịch chéo được cài đặt và cần chạy nó trước khi gỡ bỏ arm64. Chạy các lệnh sau theo thứ tự được liệt kê:

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

0

Điều tương tự cũng xảy ra với tôi. Tôi đã không thể apt update, và cũng không để apt upgrade, vì arm64 Gói thông báo Trang thất bại trong 404 Lỗi.

dpkg đã cho tôi đầu ra:

$ dpkg --print-foreign-architectures
i386
arm64

Nhìn vào các gói arm64 đã cài đặt của tôi cho thấy có một số công cụ biên dịch chéo được cài đặt bởi 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)
...

Giải pháp của tôi:

Tôi vừa chạy Jetpack Uninstaller, nó đã xóa tất cả các gói biên dịch chéo cũng như kiến ​​trúc arm64:

$ ./JetPack_Uninstaller

Sau đó tôi đã có thể sử dụng lại aptđúng cách.


Vị JetPack_Uninstallertrí của nó ở đâu?
csg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.