dpkg: ข้อผิดพลาด: ไม่สามารถลบสถาปัตยกรรม 'i386' ที่ฐานข้อมูลใช้อยู่ในปัจจุบัน


12

ฉันใช้คำสั่งนี้เพื่อเพิ่มซุ้ม i386:

sudo dpkg --add-architecture i386

และหลังจากนั้นทันทีโดยไม่ต้องติดตั้งแพ็คเกจใด ๆ ฉันพยายามลบ arch i386 ดังนี้:

sudo dpkg --remove-architecture i386

และฉันได้รับข้อผิดพลาด:

dpkg: error: cannot remove architecture 'i386' currently in use by the database

วิธีแก้ไขที่ฉันได้เห็นแล้วเกี่ยวกับการลบแพ็คเกจ i386 ฉันยังไม่ได้ติดตั้งใด ๆ แพ็คเกจที่ติดตั้งนั้นมีความสำคัญต่อการทำงานของระบบปฏิบัติการ ฉันจะทำอย่างไร

แก้ไขโปรดอ่านต่อไปนี้เพื่อหลีกเลี่ยงการทำลายระบบปฏิบัติการของคุณ:

ปรากฎว่าระบบปฏิบัติการ Linux แบบ 64 บิตมีส่วนโค้ง i386 อยู่แล้วดังนั้นคำสั่งsudo dpkg --add-architecture i386จึงไม่ได้ทำอะไรเลย

คำตอบ:


8

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


26

วิ่ง

dpkg --get-selections | awk '/i386/{print $1}'

และถ้ามีความสุขกับพวกเขาถูกลบออกวิ่ง

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`

แล้วลองอีกครั้ง

dpkg --remove-architecture i386

2
ขอบคุณสำหรับสิ่งนี้มีประโยชน์มาก! คุณรู้หรือไม่ว่าสิ่งนี้ปลอดภัยที่จะทำบน Ubuntu 16.04 64-bit? ฉันกำลังถามเพราะฉันเห็นรายชื่อแพ็คเกจที่ยาวและกังวลว่าบางสิ่งอาจผิดปกติถ้าฉันลบมันออกหมด
sunyata

2
@sunyata หากวัตถุประสงค์ของคุณคือการลบ i386 ออกจากระบบของคุณนั่นคือวิธีการ: ลบแพ็คเกจ i386 ทั้งหมดแล้วจึงลบสถาปัตยกรรม
Braiam

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