Open Source

Arch Linux Temizliği Nasıl Yapılır?

Okuma Süresi : 3 dk

İlgilendiğiniz şeylere düzenli olarak bakım uygulamanız onların daha sağlıklı ve sürdürülebilir olmasını sağlar. Bu yazıda Arch Linux sistemini nasıl temizleyeceğiniz hakkında bilgiler vereceğim.

Arch Linux, kurulumdan hemen sonra çok az disk alanı kaplamasına rağmen, zaman geçtikçe oldukça fazla büyür. Bu nedenle, bilgisayarınızda hiç boş alanınız kalmadıysa veya yalnızca Arch Linux sisteminizi temiz tutmak istiyorsanız, pacman deposundaki cache alanını temizlemek bunların başında gelmektedir.

Arch Linux Önbellek Temizliği

Arch Linux’un paket yöneticisi olan Pacman, sisteme kurduğunuz tüm paketleri /var/cache/pacman/pkg/ dizininde saklar ve eski veya kaldırılmış sürümleri otomatik olarak kaldırmaz. Arch’ın bunu otomatik olarak yapmaması iyi bir şeydir, zira bu durum, Arch Linux arşivi yoluyla önceki sürümü almaya gerek kalmadan bir paketin alt sürüme geçirilmesine izin verir. Örneğin, aşağıdaki komutu kullanarak bu dizinden bir paketi kolayca kurabilirsiniz.

sudo pacman -U /var/cache/pacman/pkg/packagename

Ya da bir programı kaldırdığınızı varsayalım, yeni bir yükleme için karşıdan indirmenize gerek kalmadan kolayca yeniden yükleyebilirsiniz. Yavaş bir internet bağlantınız varsa, bu yararlı olabilir. Ancak, bu durum /var/cache/pacman/pkg/ klasörünün zamanla büyümesini sağlar. Bu demek oluyor ki zaman zaman temizlik yapmanız gerekir. Manuel ve otomatik iki yöntemi de uygulayabilirsiniz.

Önbellek için Manuel Temizlik

Önbelleği manuel olarak temizleyebilirsiniz. Arch Linux rolling system olduğundan paketler devamlı güncellenmektedir. Yani eğer sistemdeki bir uygulama Arch sisteminiz için rüştünü ispatlamışsa önceki iki veya üç sürümün artık bir anlamı kalmamıştır. Özellikle depolama alanında yer açmak istiyorsanız seçeneklerden biri, şu anda kurulu olmayan önbelleğe alınmış paketleri kaldırmaktır:


$ sudo pacman -Sc

Packages to keep:
  All locally installed packages

Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove all other packages from cache? [Y/n]
removing old packages from cache...

Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n]
removing unused sync repositories...

Diğer seçenek, yüklü olanlar da dahil olmak üzere tüm paketi önbellekten kaldırmaktır:


$ sudo pacman -Scc

Cache directory: /var/cache/pacman/pkg/
:: Do you want to remove ALL files from cache? [y/N] y
removing all files from cache...

Database directory: /var/lib/pacman/
:: Do you want to remove unused repositories? [Y/n] n

Eğer bu paketlerden bazılarına kaldırdıktan sonra ihtiyacınız olursa, Arch Paket Arşivi’ne gidip manuel olarak indirebilirsiniz.

Önbellek için Otomatik Temizlik

Düzenli olarak /var/cache/pacman/pkg/ dizinini temizlemenin bir başka yolu da, en son 3 sürüm hariç, kurulu ve kaldırılmış paketlerin önbelleğe alınmış tüm sürümlerini otomatik olarak silen bir komut dosyası kullanmaktan geçiyor. paccache isimli bu komut dosyasına pacman-contrib paketini kurarak ulaşabilirsiniz.

sudo pacman -S pacman-contrib

Diyelim bu komut dosyasını kullanarak ayda bir otomatik temizlik yapmak istiyorsunuz. Bunun için systemd zamanlayıcıyı kullanabilirsiniz. Bunun için otomatik olarak tetiklencek şekilde /etc/systemd/system/ içinde yani sistem genelinde bir paccache.timer dosyası oluşturmanız gerekecek.

Bir editor ile paccache.timer dosyasını oluşturmak için açarsınız:

sudo nano /etc/systemd/system/paccache.timer

Ardından, bu betiği aylık olarak çalıştırmak için aşağıdaki gibi bir içeriği yapıştırarak kullanabilirsiniz:

[Unit]
Description=Clean old Arch pacman pkgs

[Timer]
OnCalendar=monthly
Persistent=true

[Install]
WantedBy=multi-user.target

Bundan sonra oluşturduğunuz systemd servisini her sistem açılışında başlaması için etkinleştirin ve başlatın:

sudo systemctl paccache.timer'ı enable
sudo systemctl paccache.timer'ı start

Kullanılmayan Artık Paketlerin Kaldırılması

Aslında kullandığım Arch sistemlerinde devamlı elimin altında olan komut genelde bu oluyor. Arch Linux’ta paketleri kurup kaldırdığınızda, kullanılmayan bazı yetim paketler sisteminizde kalabilir. Onları bulmak için şu komutu çalıştırabilirsiniz:

$ sudo pacman -Qtdq
gn
gperf
jre-openjdk-headless
libvisual
lld
ninja
sdx
ucl
upx

Gördüğünüz gibi yukarıdaki komutu çalıştırdığınızda hangi paketlerin yetim yani sistemde artık yüklü bir paketle ilişkisi kalmadığını öğrenebiliyorsunuz. Bunları kaldırmak için şu komutu ekleyerek devam edebilirsiniz:

sudo pacman -Rns $(pacman -Qtdq)

Home Dizininde Oluşan Önbelleği Temizleyin

Son olarak home dizininde yapılabilecek temizliğe göz atalım. Özellikle Arch Linux sisteminizde aur üzerinden derleyerek paketler yüklüyorsanız bunlar genelde /home/user/.cache klasörünüzde saklanmaktadır. Hatta yay kullanıyorsanız her programın PKGCONFIG dosyalarıyla düzenli olarak oluşturulmuş yükleme paketleri burada yer almaktadır.

Sistemimizi kullandıkça önbellek dolacak ve çok yer kaplayacaktır. Önbellek klasörü “.cache” boyutunu kontrol etmeyi şu komutla yapabilirsiniz:


$ sudo du -sh ~/.cache/
22G     /home/eorus/.cache/

Benim gibi uzun zamandır temizlemiyorsanız aşağıdaki gibi bir komutla tüm dosyaları kaldırabilirsiniz.

rm -rf ~/.cache/*

Hepsi bu kadar!