dpkg: error: tidak dapat menghapus arsitektur 'i386' yang saat ini digunakan oleh database

11

Saya menggunakan perintah ini untuk menambahkan lengkungan i386:

sudo dpkg --add-architecture i386

Dan kemudian segera setelah tanpa menginstal paket apa pun saya mencoba untuk menghapus lengkungan i386 seperti:

sudo dpkg --remove-architecture i386

Dan saya mendapat kesalahan:

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

Solusi yang saya lihat sejauh ini melibatkan penghapusan paket i386, saya belum menginstalnya, yang diinstal sangat penting untuk berfungsinya OS. Apa yang saya lakukan?

Sunting, SILAKAN BACA BERIKUT UNTUK MENGHINDARI MENGHANCURKAN OS ANDA:

Ternyata OS Linux 64-bit sudah menyertakan lengkungan i386, jadi perintahnya sudo dpkg --add-architecture i386tidak benar-benar melakukan apa-apa.

daka
sumber

Jawaban:

7

Pada instalasi amd64 (PC 64-bit), arsitektur i386 (PC 32-bit) aktif secara default. Dari daftar Anda, sepertinya Anda baru saja menggunakan paket 32-bit yang digunakan untuk Wine. Wine membutuhkan banyak perpustakaan 32-bit untuk menjalankan aplikasi Windows 32-bit. Anda tidak akan dapat menghapus arsitektur i386 kecuali Anda menghapus Wine 32-bit. Tetapi tidak ada gunanya melakukan ini: tidak ada yang salah dengan memiliki arsitektur i386 yang diaktifkan.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
26

Lari

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

Dan kemudian jika senang dengan mereka dihapus, jalankan

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

Dan kemudian coba lagi

dpkg --remove-architecture i386
steve
sumber
2
Terima kasih untuk ini, sangat berguna! Apakah Anda tahu apakah ini aman untuk dilakukan di Ubuntu 16.04 64-bit? Saya bertanya karena saya melihat daftar panjang paket dan khawatir ada yang tidak beres jika saya menghapus semuanya
sunyata
2
@sunyata jika tujuan Anda adalah untuk menghapus i386 dari sistem Anda, maka itulah caranya: hapus semua paket i386 dan kemudian hapus arsitekturnya.
Braiam
Itu membantu saya. Setelah saya menghapus i386 saya berhasil memperbarui firefox. Terima kasih.
makkasi