Paketleri Listeleme (Sistem'den Kaldırılmış Olanlar)

Cevapla
Kullanıcı avatarı
TRWE_2012
Mesaj Panosu Yöneticisi
Mesaj Panosu Yöneticisi
Mesajlar: 753
Kayıt: 30 Ağu 2022 21:59
Konum: DÜZCE/Akçakoca
Meslek: MADEN MÜHENDİSİ
Teşekkür etti: 186 kez
Teşekkür edildi: 612 kez
İletişim:

Paketleri Listeleme (Sistem'den Kaldırılmış Olanlar)

Mesaj gönderen TRWE_2012 »

paket_kaldırma.sh

Kod İçeriği :

Kod: Tümünü seç

#!/bin/bash

# Kaldırılan Paketlerin Listesi ve Toplam Boyutunu Göster
echo "-------------------------------------"
echo "Kaldırılan Paketlerin Listesi ve Toplam Boyutu:"

# Kaldırılan Paketlerin Tarih ve Adlarını Al
kaldirilan_paketler=$(grep -B 1 "apt-get -u --purge remove" /var/log/apt/history.log | grep -E "Start-Date|Commandline" | awk 'BEGIN {FS="\n"} {if ($1 == "Start-Date:") {t=$2} else {print t " = " $0}}' | sed 's/Commandline: apt-get -u --purge remove //g' | sed 's/Start-Date: //g' | awk 'NR%2==1{date=$0} NR%2==0{print date " = " $0 " (kaldırıldı)"}' | sed 's/^ = //')

# Kaldırılan Paketlerin Tarih ve İsimlerini Göster
echo "Kaldırılan Paketler ve Tarihler (Format: dd/mm/yyyy - hh:mm:ss):"
echo "$kaldirilan_paketler"

# Kaldırılan Paketlerin Toplam Boyutunu Hesapla
toplam_kaldirilan_boyut=0

# Kaldırılan Paketlerin Boyutunu Hesapla
for paket in $(echo "$kaldirilan_paketler" | awk '{for(i=3;i<=NF;i++) print $i}'); do
    paket_boyutu=$(dpkg-query -W --showformat='${Installed-Size}\n' $paket 2>/dev/null)
    if [ ! -z "$paket_boyutu" ]; then
        toplam_kaldirilan_boyut=$((toplam_kaldirilan_boyut + paket_boyutu))
    fi
done

# Boyutu MB cinsinden hesapla
toplam_kaldirilan_boyut_mb=$(echo "scale=2; $toplam_kaldirilan_boyut/1024" | bc)

# Kaldırılan paketlerin sayısını ve boyutunu yazdır
echo "Toplam Kaldırılan Boyut: ${toplam_kaldirilan_boyut_mb} MB"
Kod Açıklaması :

Bu bash betiği, sistemde kaldırılan paketlerin listesini ve toplam boyutunu gösterir. Betik, /var/log/apt/history.log dosyasını kullanarak kaldırılan paketlerin tarihlerini ve isimlerini alır, ardından her bir paketin boyutunu hesaplayarak toplam boyutu MB cinsinden gösterir.

Betiğin işleyişi hakkında daha fazla bilgi:

Betiğin İşleyişi

1.Başlık ve Açıklama:

Betik, kullanıcıya kaldırılan paketlerin listesini ve toplam boyutunu göstereceğini belirtir.

2.Kaldırılan Paketlerin "Paket Bilgilerinin" Alınması:

grep komutları kullanılarak /var/log/apt/history.log dosyasından kaldırılan paketlerin tarihleri ve isimleri alınır.awk ve sed komutları ile veriler işlenir ve formatlanır.

3.Kaldırılan Paketlerin Gösterimi:

Kaldırılan paketlerin tarihleri ve isimleri ekrana yazdırılır.

4.Toplam Boyutun Hesaplanması:

Her bir kaldırılan paket için dpkg-query komutu kullanılarak kurulu boyutları alınır.Bu boyutlar toplanarak toplam boyut hesaplanır.

5.Sonuçların Gösterimi:

Toplam kaldırılan boyut, MB cinsinden hesaplanır ve ekrana yazdırılır.

Kullanım

Bu betiği çalıştırmak için bir terminal açın ve betiği bir dosyaya kaydedin (örneğin paket_kaldırma.sh). Ardından, dosyaya çalıştırma izni verin ve çalıştırın:

Kod: Tümünü seç

chmod +x paket_kaldırma.sh
Terminal'den çalıştırma (konsol penceresini root olarak açın) :

Kod: Tümünü seç

./paket_kaldırma.sh
Dikkat Edilmesi Gerekenler

1.Betik, yalnızca apt ile kaldırılan paketleri işler. Diğer paket yöneticileri (örneğin dpkg veya snap) ile kaldırılan paketler bu betikte yer almaz.

2./var/log/apt/history.log dosyasının mevcut olması ve yeterli izinlere sahip olmanız gerekir.

3.Betik, kaldırılan paketlerin boyutunu hesaplamak için dpkg-query komutunu kullanır, bu nedenle sistemde bu komutun çalışabilir olması gerekir.

Bu betik, sistem yöneticileri veya kullanıcılar için yararlı bir betik olup kendi özel ihtiyacımdan doğmuştur, özellikle sistemdeki gereksiz paketleri temizlemek ve disk alanını yönetmek için.

ÖRNEK KOMUT ÇIKTISI :

Kod: Tümünü seç

-------------------------------------
Kaldırılan Paketlerin Listesi ve Toplam Boyutu:
Kaldırılan Paketler ve Tarihler (Format: dd/mm/yyyy - hh:mm:ss):
01/10/2023 - 14:30:00 = apache2 (kaldırıldı)
01/10/2023 - 14:30:00 = mysql-server (kaldırıldı)
01/10/2023 - 14:30:00 = php (kaldırıldı)
01/10/2023 - 14:30:00 = libapache2-mod-php (kaldırıldı)
02/10/2023 - 09:15:00 = nginx (kaldırıldı)
02/10/2023 - 09:15:00 = php-fpm (kaldırıldı)
02/10/2023 - 09:15:00 = postgresql (kaldırıldı)
02/10/2023 - 09:15:00 = redis-server (kaldırıldı)
03/10/2023 - 11:00:00 = git (kaldırıldı)
03/10/2023 - 11:00:00 = vim (kaldırıldı)
03/10/2023 - 11:00:00 = curl (kaldırıldı)
03/10/2023 - 11:00:00 = wget (kaldırıldı)
04/10/2023 - 16:45:00 = docker.io (kaldırıldı)
04/10/2023 - 16:45:00 = docker-compose (kaldırıldı)
04/10/2023 - 16:45:00 = python3 (kaldırıldı)
04/10/2023 - 16:45:00 = python3-pip (kaldırıldı)

Toplam Kaldırılan Boyut: 45.32 MB
ÖRNEK KOMUT ÇIKTISI -Terminal : (Sistem : GNU/Linux Mint 21.1 x64 LXDE)
Resim
Açıklama

Kaldırılan Paketler ve Tarihler: Bu bölümde, her bir kaldırılan paketin kaldırıldığı tarih ve saat ile birlikte paketin adı gösterilmektedir. Örnek olarak, apache2, mysql-server, nginx, git, docker.io gibi popüler paketler yer almaktadır.

Toplam Kaldırılan Boyut: Bu kısımda, kaldırılan paketlerin toplam boyutu MB cinsinden hesaplanarak ekrana yazdırılmaktadır.

Güle güle kullanın....
Dosya ekleri
paket_kaldırma.sh.7z
TRWE_2012 tarafından kodlanmıştır.
Aralık 2025
(797 Byte) 4 kere indirildi
Verily We have granted thee a manifest Victory
Fetih Suresi - 1.Ayet


Resim
Resim

Etiketler:
Cevapla

“Bash Shell Betiklerimiz” sayfasına dön