GNU/Linux >> Belajar Linux >  >> Linux

Hapus Paket yang Diinstal Pada Tanggal/Waktu Tertentu Di Linux

Saya menginstal dan menguji banyak aplikasi di VM Linux saya. Setelah selesai dengan pengujian, saya akan menghapus paket terinstal yang tidak lagi digunakan. Karena saya sering menginstal banyak aplikasi, saya merasa agak memakan waktu untuk menghapus paket secara manual satu per satu. Saya juga terkadang lupa untuk menghapus paket yang tidak perlu. Jika Anda seperti saya, berikut adalah solusi sederhana untuk menemukan dan menghapus semua paket yang diinstal pada tanggal dan waktu tertentu di Linux.

Seperti yang mungkin sudah Anda ketahui, kami dapat menemukan daftar paket terinstal yang diurutkan berdasarkan tanggal penginstalan di berbagai distribusi Linux menggunakan salah satu dari perintah berikut.

Di Arch Linux, EndeavourOS dan Manjaro Linux:

$ expac --timefmt='%Y-%m-%d %T' '%l\t%n'|sort -n

Di Fedora, RHEL, CentOS, AlmaLinux dan Rocky Linux:

$ sudo rpm -qa --last

Di Debian, Ubuntu, Linux Mint, dan Pop OS:

$ grep " install " /var/log/dpkg.log

Perintah di atas akan mencantumkan semua paket yang diinstal pada semua tanggal. Namun, kami tertarik untuk menemukan dan menghapus paket yang diinstal pada tanggal dan waktu tertentu saja.

Kita bisa menggunakan %yyyy-%mm-%dd parameter dengan grep perintah untuk mendaftar semua paket yang diinstal pada tanggal dan waktu tertentu.

Misalnya, perintah berikut menampilkan semua paket yang diinstal pada 14 September 2021 di sistem bullseye Debian 11 saya.

$ grep "2021-09-14.*.install " /var/log/dpkg.log

Contoh keluaran:

2021-09-14 06:51:51 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:14:14 install hello:amd64 <none> 2.10-2
2021-09-14 11:17:13 install hello:amd64 <none> 2.10-2
2021-09-14 11:17:13 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:22:29 install hello:amd64 <none> 2.10-2
2021-09-14 11:22:29 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:41:16 install nano:amd64 5.4-2 5.4-2
2021-09-14 11:41:17 install tmpreaper:amd64 <none> 1.6.14+nmu2
2021-09-14 11:41:17 install vim-runtime:all 2:8.2.2434-3 2:8.2.2434-3
2021-09-14 11:41:18 install vim:amd64 2:8.2.2434-3 2:8.2.2434-3

Seperti yang Anda lihat pada output di atas, saya telah menginstal tmreaper , vim dan nano paket.

Jika rotasi log diaktifkan, konten /var/log/dpkg.log berkas akan dihapus. Dalam hal ini, Anda dapat melihat file log instalasi sebelumnya menggunakan perintah:

$ grep "2021-09-14.*.install " /var/log/dpkg.log.1

Jika Anda hanya ingin membuat daftar nama paket, tidak termasuk tanggal/waktu penginstalan dan detail arsitektur dari output, jalankan:

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1

Sekarang Anda hanya akan melihat nama paket yang diinstal pada tanggal yang ditentukan:

tmpreaper
hello
hello
tmpreaper
hello
tmpreaper
nano
tmpreaper
vim-runtime
vim

Kami sekarang memiliki nama semua paket yang diinstal pada tanggal yang ditentukan.

Untuk menghapus instalasi semua paket yang diinstal pada tanggal tertentu, cukup tambahkan masing-masing apt argumen perintah dengan xargs di akhir perintah sebelumnya.

Harap diperhatikan bahwa perintah berikut tidak akan meminta konfirmasi pengguna apa pun sebelum menghapus paket. Jadi, selalu merupakan praktik yang baik untuk melakukan lari kering untuk memverifikasi paket mana yang akan dihapus sebelum menjalankan perintah yang sebenarnya.

Untuk mensimulasikan (dry run) proses penghapusan paket, cukup tambahkan -s atau --simulate seperti di bawah ini.

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1 | xargs sudo apt purge -y -s

Perintah di atas hanya akan mensimulasikan proses penghapusan paket, tetapi tidak akan menghapus paket.

Setelah Anda mengetahui paket mana yang akan dihapus, jalankan kembali perintah di atas tanpa -s atau --simulate pilihan:

$ grep "2021-09-14.*.install " /var/log/dpkg.log | awk '{ print $4 }' | cut -d: -f1 | xargs sudo apt purge -y

Jika rotasi log diaktifkan, jalankan perintah ini sebagai gantinya:

$ grep "2021-09-14.*.install " /var/log/dpkg.log.1 | awk '{ print $4 }' | cut -d: -f1 | xargs sudo apt purge -y

Kali ini paket yang diinstal pada tanggal yang ditentukan akan dihapus dari sistem Anda.

Bacaan terkait:

  • Cara Menemukan Dan Menghapus Paket yang Tidak Digunakan Di Linux
  • Cara Menghapus Paket yang Diinstal Dari Repositori Tertentu Di CentOS, Fedora
  • Cara Mudah Memasang Dan Menghapus Grup Paket Di Arch Linux
  • Cara Mudah Menghapus Program yang Diinstal Dari Sumber Di Linux

Linux
  1. Cara Menginstal Paket Dari Repositori Tertentu Di Linux

  2. Cara Mendaftar Paket yang Diinstal Dari Repositori Tertentu Di Linux

  3. Cara menginstal/menghapus/meminta/memperbarui paket RPM di Linux (Lembar Cheat)

  1. Cara Mendaftar Semua Paket yang Terinstal Di Linux

  2. Hapus sepenuhnya semua paket yang saya instal?

  3. Memasang ekstensi PHP di Linux

  1. Cara menginstal Program dari Sumber di Linux

  2. Cara Menginstal Paket .tar.gz Atau .tgz Di Linux

  3. Cara Menghapus Program yang Diinstal Dari Sumber Menggunakan GNU Stow Di Linux