Saya ingin menghapus libreoffice. Program ini terdiri dari sekitar tiga lusin modul. Idealnya, mereka dapat dihapus dengan:
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
tapi itu gagal dengan
Couldn't find any package whose name or description matched "libreoffice3.6*"
dll.
Bagaimana cara saya menghapus satu set paket berdasarkan pola?
PS: Saya senang dengan jawaban pakai dpkg
atau apt
juga
Jawaban:
Gunakan
apt-get
, bukanaptitude
, dan gunakan ekspresi reguler.Dalam ekspresi reguler,
.
berarti karakter apa saja, dan*
berarti nol atau lebih banyak kali. Jadi ekspresilibreoffice.*
cocok dengan nama paket apa pun yang berisi stringlibreoffice
, diikuti oleh sejumlah karakter.Kelilingi ekspresi reguler dengan tanda kutip tunggal untuk menghindari shell menafsirkan tanda bintang. (Jika Anda memiliki file bernama
libreoffice.example
misalnya di direktori Anda saat ini, shell akan menggantinyalibreoffice.*
denganlibreoffice.example
, jadi Anda harus menggunakan tanda kutip tunggal untuk menghentikan perilaku ini.)Hasil:
sumber
libreoffice*
(yaitu pola gaya glob) yang sedikit membingungkan saya karena keduanya seharusnya tidak bekerja :-)--dry-run
untuk melihat apa yang akan dihapus tanpa ada perubahan pada sistem.apt
gunakan ekspresi reguler POSIX. Fromman apt-get
(Debian Jessie): "Jika tidak ada paket yang cocok dengan ekspresi yang diberikan dan ekspresi berisi salah satu dari '.', '?' atau '*' maka itu dianggap sebagai ekspresi reguler POSIX ... "Alternatifnya adalah:
Ini akan mencantumkan semua paket yang cocok
libreoffice
. Ketika Anda telah mengkonfirmasi bahwa mereka semua adalah yang ingin Anda singkirkan, jalankan perintah berikut ... dengan hati-hati :Ide:
libreoffice
sumber
-p
opsi sehinggaxargs
akan meminta konfirmasi sebelum mengeksekusi setiap perintah yang dibangun, atau pertama memeriksa denganecho
bukannyasudo apt-get purge
-p
akan membantu, tetapi itu tidak akan menjadi perintah sekali pakai . Saya memang menggunakan gema untuk menguji apa yang saya dapatkan sebelum menjalankan perintah, jadi itu layak untuk direkomendasikan.-n1
itu bagus untukecho
tetapi Anda harus menghapusnya dari pembersihan; jika tidak, urutan dependensi (a tergantung pada b, mencoba menghapus b terlebih dahulu) mungkin mematahkan pembersihan.Aptitude memiliki dukungan untuk pola global, dan pertandingan keren lainnya seperti ini:
Ini akan cocok dengan paket apa pun yang memiliki nama itu
libreoffice
dan3.6
dan juga itu diinstal (itulah~i
singkatannya.sumber