วิธีการกำจัด arm64 ใน 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.

หลังจากฉันติดตั้ง Jetpack สำหรับ Jetson tx1 แล้วอูบุนตูของฉันก็พยายามดึงข้อมูลอัพเดตแขนอยู่ตลอดเวลา มีวิธีปิดใช้งานสิ่งนี้หรือไม่

แก้ไข:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

ฉันเห็นว่า arm64 รวมอยู่ในสถาปัตยกรรมต่างประเทศ ฉันจะลบออกได้อย่างไร


1
กรุณาเพิ่มการส่งออกของและdpkg --print-architecture dpkg --print-foreign-architectures
ผู้บัญชาการ Byte

ฉันประสบปัญหาเดียวกัน ลิงค์นี้ช่วยฉันในการลบแพ็คเกจแขน 64 จากนั้นใช้วิธีแก้ปัญหาที่ได้รับจากผู้บัญชาการไบต์
Raushan Kumar

คำตอบ:


16

คุณสามารถลบสถาปัตยกรรมต่างประเทศได้โดยเรียกใช้

sudo dpkg --remove-architecture arm64

หลังจากนั้นคุณต้องอัปเดตรายการซอฟต์แวร์ของคุณ

sudo apt update

หากคุณยังคงได้รับข้อผิดพลาดหรือคำเตือนคุณสามารถลองลบรายการซอฟต์แวร์ทั้งหมดและดาวน์โหลดซ้ำทั้งหมดจากเซิร์ฟเวอร์เพื่อให้แน่ใจว่าไม่มีสิ่งเก่าเหลืออยู่ โปรดทราบว่าการดาวน์โหลดที่สมบูรณ์จะใช้เวลานานกว่าปกติ:

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

ฉันจะได้รับdpkg: error: cannot remove architecture 'arm64' currently in use by the databaseซึ่งเป็นที่แปลกเพราะฉันไม่คิดว่าฉันใช้มัน ...
Moneyball

@MoneyBall คุณสามารถเพิ่มผลลัพธ์ของdpkg -l | grep arm64คำถามของคุณ? ดูเหมือนว่ามีการติดตั้งแพ็คเกจแขน 64 ซึ่งคุณจะต้องลบออกก่อน
ผู้บัญชาการ Byte

อึอึ ... ฉันมี arm64 cross compiler ... แต่ฉันลบ armhf ที่ประสบความสำเร็จได้สำเร็จ ขอขอบคุณ.
MoneyBall

คุณรู้วิธีที่ฉันสามารถทำการปรับปรุง apt-get เพื่อหยุดการดึงข้อมูลแพคเกจ arm64? ฉันจะกำจัดข้อผิดพลาด 404 ที่ไม่พบได้อย่างไร
MoneyBall

1
มีวิธีลบ arm64 จากฐานข้อมูลฉันมีปัญหาเดียวกัน แก้ไข sudo dpkg --force-architecture --remove-architecture arm64และsudo rm -rf /var/lib/apt/listsมีsudo apt updateการแก้ไขมัน
weezle1234

7

ประสบปัญหาเดียวกันขณะทำงานกับ jetson-tx2 arm64 คู่มือนี้อ้างถึงวิธีแก้ปัญหาในสถานการณ์การตั้งค่าขั้นสูงปรากฎว่าคุณไม่สามารถลบสถาปัตยกรรมได้โดยไม่ลบแพ็คเกจออก

สิ่งนี้มีประโยชน์เมื่อมีการเพิ่มสถาปัตยกรรมต่างประเทศทำให้เกิดข้อผิดพลาด "404 ไม่พบ" ให้ปรากฏขึ้นเมื่อมีการอัปเดตข้อมูลเมตาของที่เก็บ ตัวอย่างเช่นหากคุณต้องการ จำกัด ที่เก็บเฉพาะสถาปัตยกรรม amd64 และ i386 มันจะมีลักษณะดังนี้:

deb [arch=amd64,i386] <url>

ระบุตัวเลือกข้างต้นสำหรับที่เก็บทั้งหมดใน "sudo gedit /etc/apt/sources.list"

ตอนนี้ "sudo apt update" และมันจะดึงข้อมูลจาก amd64 และ i386 เท่านั้น


สิ่งนี้ใช้ได้กับฉันเมื่อวันที่ 18.04.2 ขอขอบคุณ! หวังว่าฉันจะสามารถโหวตได้สองครั้ง :)
cxw

1

ฉันมีปัญหาเดียวกันนี้และตามที่ผู้บัญชาการ Byte พูดถึงถ้าคุณไม่สามารถเรียกใช้โดยตรง

sudo dpkg --remove-architecture arm64

คุณมีแพ็กเกจ cross-compile arm64 ที่ติดตั้งไว้มากมายและจำเป็นต้องรันสิ่งนี้ก่อนที่จะลบ arm64 รันคำสั่งต่อไปนี้ตามลำดับที่แสดง:

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

0

เกิดขึ้นกับฉันเหมือนกัน ผมไม่สามารถที่จะ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 ซึ่งได้ทำการเคลียร์แพ็กเกจ cross-compiling เหล่านั้นรวมถึงสถาปัตยกรรม arm64:

$ ./JetPack_Uninstaller

หลังจากนั้นฉันก็สามารถใช้อีกครั้ง aptได้อย่างถูกต้อง


สถานที่JetPack_Uninstallerตั้งอยู่ที่ไหน
csg
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.