Pacman belleği temizleme

pacman_bellek

Pacman’ın kullandığı cep belleği yaklaşık 8GB’a yaklaşmıştı.

Ufak bir betik yazdım.

#!/bin/zsh
ADET=$(sudo ls /var/cache/pacman/pkg/ | wc -l)
echo $ADET adet paket var
BOYUT=$(du -sh /var/cache/pacman/pkg/ | cut -f1)
echo Bu paketler $BOYUT kadar yer kaplıyor

echo Kurulmamış tüm paketleri kaldırıyorum
sudo pacman -Sc

ADET=$(sudo ls /var/cache/pacman/pkg/ | wc -l)
echo $ADET kadar paket kaldı
BOYUT=$(du -sh /var/cache/pacman/pkg/ | cut -f1)
echo Kaldırıldıktan sonra boyut $BOYUT oldu

Kütüğü temizle.sh ismiyle kaydedip sonra sh temizle.sh şeklinde çalıştırabilirsiniz.

Hatta ufak bir işlev yazmak düşünülebilir.

Betik çalıştıktan sonra cep belleği 2,4G oldu.

Bazı hatalar fark ettiğim için, bir kaç öneri ve düzeltmeler:

  1. Bu başlangıcı #!/usr/bin/env bash ile değiştir.
    (Kullanılan komutlar zsh için özel değil…)
  2. Kayıt etmek için herangi bir isim kullanılabilir, örnek: sadece temizle de olabilir… (.sh gerekmez…)
  3. Gereken dosya yetkisi chmod a+x temizle verildikten sonra sadece o isimi kullanarak çalıştırılabilir: ./temizle
    (1)'deki başlangıç saten tek bu özellik için kullanılır

Böylece daha düzgün bir shell script oluşturmuş olursun :wink:


Biraz daha düzeltilmiş hali:
(ShellCheck bile itiraz etmez…)

  1. pacman_temizle dosyası olarak kayıt edin:
    #!/usr/bin/env bash
    cep_bellek="/var/cache/pacman/pkg"
    
    if test "$(id -u)" -ne 0; then
    	echo "Yönetici olmanız gerekiyor !"
    	exit 1
    elif test ! -d "$cep_bellek"; then
    	echo "Pacman cep belleği bulunamadı !"
    	exit 2
    fi
    
    printf "%d adet paket var.\n" \
    	"$(find "$cep_bellek" -maxdepth 1 -mindepth 1 | wc -l)"
    printf "Bu paketler %s kadar yer kaplıyor.\n" \
    	"$(du -sh "$cep_bellek" | cut -f1)"
    
    echo "Kurulmamış tüm paketleri kaldırıyorum"
    pacman -Sc
    
    printf "%d kadar paket kaldı.\n" \
    	"$(find "$cep_bellek" -maxdepth 1 -mindepth 1 | wc -l)"
    printf "Kaldırıldıktan sonra boyut %s oldu.\n" \
    	"$(du -sh "$cep_bellek" | cut -f1)"
    
  2. chmod a+x pacman_temizle
  3. sudo ./pacman_temizle

1 Like