Pertanyaan Bagaimana cara menghapus semua paket i386 dari Ubuntu 64bit?


Seiring waktu saya menginstal banyak paket i386, yang saya tidak lagi perlukan. Bagaimana saya bisa membersihkan sistem dan tetap hanya dengan paket amd64?


30
2018-03-15 18:39


asal


askubuntu.com/questions/66875/how-to-disable-multiarch-support - Vitaliy Kulikov


Jawaban:


Jika mereka tidak menghalangi Anda, saya akan meninggalkan mereka di mana mereka berada.
Jika Anda bersikeras menghapus, gunakan dpkg -l | grep i386 untuk membuat daftar paket i386. Anda dapat menghapus ini setelah pemeriksaan hati-hati dengan sesuatu seperti itu sudo apt-get purge <package-name>.


15
2018-03-15 18:51



Kecuali bakat itu rusak pada multiarch, sehingga tidak akan berfungsi dengan baik: P - tumbleweed
apt-get purge <package-name> masih harus bekerja. - Eliah Kagan
"setelah pemeriksaan hati-hati" - itu tidak jelas. Harap lebih jelas. - kevinarpe
Saya memiliki sistem i386 pada usb kadang-kadang saya menggunakannya pada mesin amd64, sekarang saya hanya ingin melakukan inverse, jadi setelah menjalankan dpkg -l | grep amd64 saya mendapat pkg i386 dalam daftar saya yang amd64-microcode 3.20160316.3 i386 , saya pikir bahwa ':' dalam pola grep itu penting! (dpkg -l | grep ":amd64") - Jonas


Solusi otomatis atas berbahaya dan tidak selalu berfungsi (1), jadi di sini dengan cara lain

sudo aptitude purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

atau

sudo apt-get purge `dpkg --get-selections | grep ":i386" | awk '{print $1}'`

(Coba gunakan selalu dan hanya salah satu alat. Karena bakat lebih baik ketika mengalami masalah ketergantungan, saya lebih suka itu.)

Ide bagus juga

dpkg --remove-architecture i386

dan mungkin

dpkg --print-foreign-architectures

(1) Perintah sebelumnya juga mencantumkan paket yang hanya memiliki i386 dalam namanya (meskipun untuk arsitektur 64bit), ekspresi reguler tidak berfungsi dan dpkg memperlihatkan paket yang telah dihapus, tetapi masih memiliki file konfigurasi yang tersisa (dpkg-l  menunjukkan "rc" daripada "ii" sebagai status).


23
2018-02-17 21:30



Karena kamu menggunakan awk bagaimanapun, Anda juga bisa menyingkirkan grep doa. Juga, $() lebih disukai daripada backticks. Saya baru saja menyingkirkan paket i386 saya menggunakan perintah ini berdasarkan yang Anda berikan: sudo apt purge $(dpkg --get-selections | awk '$1 ~ /:i386$/ { print $1 }') - scy


Saya meledakkan semua paket 32-bit saya seperti ini:

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

21
2018-06-15 09:51



bagaimana membuat perintah semacam ini, saya tahu apt-get dan grep tapi whats awk '{print $ 1}', hanya ingin tahu. - Sukupa91
mengagumkan, dan saya dapat menghapus arsitektur i386 sekarang, tetapi ketika saya melakukannya dpkg -l | grep i386 untuk memeriksa paket masih ada ide, juga +1 untuk komentar previouse dan tebakan saya itu terkait dengan teknik shell scripting - Ismail Marmoush
Tidak ada tanggapan mungkin karena komentar bukan tempat untuk tutorial awk. Sedikit awk itu hanya mencetak bidang pertama dari setiap baris yang disalurkan. Pemisah field default Awk adalah spasi, "". - rthbound


Jika ada yang bertanya-tanya, ada cara yang jauh lebih baik dan anggun untuk melakukan ini. Jawaban terakhir sebelumnya berharap untuk melakukan hal yang sama, tetapi pencarian itu gagal karena arsitektur sebenarnya bukan bagian dari nama paket, kecuali dalam kasus-kasus khusus.

sebagai root (atau dengan sudo) jalankan:

aptitude remove ~i~ri386

Jika Anda tidak menggunakan bakat atas apt-get sudah, lakukan. Ini sangat bagus. Anda dapat menemukan daftar istilah pencarian bakat sini.


9
2018-04-18 12:44





Inilah cara lain yang bahkan berisiko lebih rendah:

apt-get remove "^.*:i386$"

Ini khusus akan mencocokkan hanya paket yang diakhiri dengan ":i386", yang merupakan konvensi penamaan standar untuk semua i386 paket arsitektur Debian.


6
2018-02-09 11:09



mengapa menghapus pembersihan? - Lotus
@Lotus: Saya tidak menyadari perbedaannya. Bisakah kamu jelaskan? Mungkin kita dapat memperbarui jawaban ini untuk memperbaikinya. - kevinarpe
pembersihan mengambil file konfigurasi juga dan setiap direktori yang tersisa iirc - Lotus
@Lotus Saya menggunakan pembersihan dan bekerja pada 14.04. Ini hanya bekerja untuk saya setelah menghapus tanda kutip dan carret. sudo apt-get purge .*:i386 - Antonios Hadjigeorgalis


Itu panduan multiarch debian sebutkan perintah ini: apt-get purge ".*:<arch>", yang akan terlihat seperti ini i386:

apt-get purge ".*:i386"

Anda kemudian dapat menghapus arsitektur dari dpkg:

dpkg --remove-architecture i386

4
2018-01-17 19:44