Pacman – Paketcache automatisch bereinigen

Ein kurzer Tipp für zwischendurch: Wer Archlinux einsetzt wird merken, dass Pacmans Paketcache langsam aber stetig wächst und nur durch manuelles eingreifen aufgeräumt werden kann. Ich habe mir deshalb die Mühe gemacht und ein Paket im AUR veröffentlicht, welches diese Aufgabe automatisch übernimmt. Es ist lediglich nötig das Paket zu installieren, der Rest läuft über die seit Pacman Version 5.0 verfügbaren Hooks ab.

Wer es ausprobieren möchte sollte das Paket pacman-cleanup-hook aus dem AUR installieren:

$ pacaur -S pacman-cleanup-hook

Der Rest läuft dann wie gesagt automatisch, die Ausgabe sieht bspw. so aus:

$ sudo pacman -Syu
[…]
:: Starte post-transaction hooks...
(2/6) Keep the last cache and the currently installed.
'/var/cache/pacman/pkg/keepassxc-2.1.4-1-x86_64.pkg.tar.xz' wurde entfernt
'/var/cache/pacman/pkg/device-mapper-2.02.170-1-x86_64.pkg.tar.xz' wurde entfernt
'/var/cache/pacman/pkg/mesa-17.1.2-1-x86_64.pkg.tar.xz' wurde entfernt
'/var/cache/pacman/pkg/lvm2-2.02.170-1-x86_64.pkg.tar.xz' wurde entfernt

==> finished: 4 packages removed (disk space saved: 15.95 MiB)
[…]
$

Oder, falls nichts bereinigt werden kann, so:

$ sudo pacman -Syu
[…]
:: Starte post-transaction hooks...
(1/2) Keep the last cache and the currently installed.
==> no candidate packages found for pruning
[…]
$

Der Hook selbst ist relativ simpel gehalten, er ruft lediglich paccache -rvk2 auf, d.h. die letzten zwei Pakete bleiben erhalten, ältere Pakete werden automatisch gelöscht.