Seiring waktu saya menginstal banyak paket i386, yang tidak lagi saya perlukan. Bagaimana saya bisa membersihkan sistem dan hanya menggunakan paket amd64?
package-management
64-bit
uninstall
32-bit
yossile
sumber
sumber
Jawaban:
Jika mereka tidak menghalangi Anda, saya akan meninggalkan mereka di tempat mereka.
Jika Anda bersikeras menghapus, gunakan
dpkg -l | grep i386
untuk membuat daftar paket-i386. Anda dapat menghapus ini setelah memeriksa dengan teliti sepertisudo apt-get purge <package-name>
.sumber
apt-get purge <package-name>
harus tetap bekerja.dpkg -l | grep amd64
saya mendapat i386 pkg di daftar saya yangamd64-microcode 3.20160316.3 i386
, saya pikir ':' dalam pola grep penting ! (dpkg -l | grep ":amd64"
)Solusi otomatis teratas berbahaya dan tidak selalu berfungsi (1), jadi inilah cara lain
atau
(Cobalah untuk selalu menggunakan dan hanya salah satu alat. Karena bakat lebih baik ketika mengalami masalah ketergantungan, saya lebih suka itu.)
Ide bagus juga
dan mungkin
(1) Perintah sebelumnya juga mencantumkan paket-paket yang hanya memiliki i386 dalam namanya (meskipun untuk arsitektur 64bit), ekspresi reguler tidak berfungsi dan dpkg memperlihatkan paket yang sudah dihapus, tetapi masih ada file konfigurasi yang tersisa ( dpkg -l menampilkan "rc" daripada "ii" sebagai status).
sumber
awk
tetap menggunakan , Anda juga bisa menghilangkangrep
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 }')
Saya merusak semua paket 32-bit saya seperti ini:
sumber
dpkg -l | grep i386
untuk memeriksa paket masih ada ide, juga +1 untuk komentar sebelumnya dan tebakan saya itu terkait dengan teknik skrip shellsudo dpkg --remove-architecture i386
Jika ada yang bertanya-tanya, ada cara yang lebih waras dan anggun untuk melakukan ini. Jawaban terakhir sebelumnya berharap untuk melakukan hal yang sama, tetapi pencarian gagal karena arsitektur sebenarnya bukan bagian dari nama paket, kecuali dalam kasus khusus.
sebagai root (atau dengan sudo) jalankan:
Jika Anda tidak menggunakan aptitude daripada apt-get, lakukan. Sangat bagus. Anda dapat menemukan daftar istilah pencarian aptitude di sini .
sumber
Berikut cara lain yang berisiko lebih rendah:
apt-get remove "^.*:i386$"
Ini secara khusus hanya akan cocok dengan paket yang diakhiri
":i386"
, yang merupakan konvensi penamaan standar untuk semuai386
paket Debian arsitektur.sumber
sudo apt-get purge .*:i386
The panduan multiarch debian ini menyebutkan perintah ini:
apt-get purge ".*:<arch>"
yang akan terlihat seperti ini untuki386
:Anda kemudian dapat menghapus arsitektur dari dpkg:
sumber