Yüklediğim tüm paketler tamamen kaldırılsın mı?


12

Bazı araçları test etmek ve yüklemek için CentOS7 yüklü bir Linux sunucusu kullanıyordum. Ve şimdi kaç tane paket yüklediğimi hatırlamıyorum.

Sunucum olduğu gibi yeni olacak tüm paketleri kaldırmak istiyorum. Her paketi aramak ve tek tek kaldırmak istemiyorum. Bunları yalnızca bir komutla kaldırmanın bir yolu var mı?


/var/log/yum.logyardımcı olabilir, hem paket adını hem de zaman damgasını listeler. Görebildiğim kadarıyla, ilk yüklemeler tarafından eklenen paketleri listelemiyor.
Ulrich Schwarz

Yum.log dosyası, yüklediğim tüm paketleri listeleyebilir, ancak tümünü yalnızca 1 komutuyla nasıl silebilirim?
Bir

2
"Standart kabuk teknikleri";) gibisudo yum remove $(gawk '$0 ~ /Installed/ {printf "%s ", $NF}' /var/log/yum.log)
Ulrich Schwarz

Yanıtlar:


14

Tüm dosyaları kurulum tarihlerinin tersi sırada bir dosyada listeleyin:

rpm -qa --last >list

Gibi hatlar alacaksınız

atop-2.1-1.fc22.x86_64                        Wed Apr 13 07:35:27 2016
telnet-server-0.17-60.fc22.x86_64             Mon Apr 11 20:10:43 2016
mhddfs-0.1.39-3.fc22.x86_64                   Sat Apr  9 21:26:06 2016
libpcap-devel-1.7.3-1.fc22.x86_64             Fri Apr  8 09:40:43 2016

Sizin için geçerli olan kesme tarihini seçin ve onu izleyen tüm satırları silin. Tarih bölümünü kaldırdıktan sonra kalan satırları kaldırmak için yum verin. Örneğin

sudo yum remove $(awk '{print $1}' <list)

7

Ayrıca deneyebilir yum historyve genellikle nelerin yüklendiğinin numaralandırılmış bir listesini alırsınız, örneğin:

[root@localhost ~]# yum history
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
ID | Login user               | Date and time    | Action(s)      | Altered
 3 | root <root>              | 2011-09-14 14:36 | Install        |    1   
 2 | root <root>              | 2011-09-12 15:48 | I, U           |   80   
 1 | System <unset>           | 2011-09-12 14:57 | Install        | 1025  

ve daha sonra yum history undo 3örneğin kullanabilirsiniz .

Yum geçmişi hakkında daha fazla bilgi burada .


0

Tüm geçmiş işlemlerini geri almak için aşağıdaki o-astarı kullanabilirsiniz:

# yum history list|awk '$1 ~ /[0-9]+/ {print $1}'| while read a; do yum history undo -y $a; done

Bu komutu çalıştırırken dikkatli olun, çünkü kurulu tüm paketlerinizi kaldıracaktır! Onay istiyorsanız, -y bayrağını kaldırabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.