Ich habe kürzlich Arch Linux installiert und festgestellt, dass ich relativ schnell viel Speicherplatz verschwende. Aus welchen Gründen auch immer habe ich in knapp 2 Wochen schon 17GB verbraucht. Ich habe nicht viel Software installiert, also glaube ich, dass alle alten Pakete irgendwo gepflegt werden.
Um dies zu unterstützen, habe ich festgestellt, dass, wenn ich ein Paket installiert habe, dieses Paket entferne und es dann neu installiere, Pacman die Software lediglich entpackt und neu installiert, ohne sie erneut herunterladen zu müssen.
Nachdem ich mein Basissystem installiert hatte, habe ich vor der zusätzlichen Software etwa 2 GB oder so verwendet. Ich habe seitdem nur Matlab, Skype, Wine und ein paar andere kleine Programme installiert. Natürlich habe ich auch fehlende Bibliotheken und ähnliches installiert, aber nicht annähernd 15GB wert.
Liege ich hier völlig falsch oder löscht Arch niemals alte Pakete beim Herunterladen/Upgrade auf neue Versionen?
Wenn ja, wie lösche ich diese unbenutzten Pakete?
Wenn ich installierte Pakete entferne, verwende ich außerdem pacman -R ...
Akzeptierte Antwort:
Nein, Pacman entfernt keine alten Pakete aus Ihrem Cache (/var/cache/pacman/pkg
), sodass er sich mit der Zeit füllen kann.
Sie können den Cache auf zwei Arten leeren:die Brute-Force-Methode mit pacman -Sc
:
-c, –clean
Entfernt Pakete, die nicht mehr installiert sind, aus dem Cache sowie derzeit ungenutzte Synchronisationsdatenbanken, um Speicherplatz freizugeben.
Wenn Pacman Pakete herunterlädt, speichert es sie in einem Cache-Verzeichnis. Außerdem werden Datenbanken für jede Sync-DB gespeichert, von der Sie
herunterladen, und werden nicht gelöscht, selbst wenn sie aus der Konfigurationsdatei pacman.conf(5) entfernt werden. Verwenden Sie einen Schalter –clean
, um nur Pakete zu entfernen, die nicht mehr installiert sind; Verwenden Sie zwei, um alle Dateien aus dem Cache zu entfernen. In beiden Fällen haben Sie
eine Ja- oder Nein-Option, um Pakete und/oder nicht verwendete heruntergeladene Datenbanken zu entfernen.
Oder Sie können für einen differenzierteren Ansatz eines der Dienstprogramme verwenden, die mit pacman-contrib geliefert werden, paccache
:
Paccache ist ein flexibles Pacman-Cache-Reinigungsprogramm, das zahlreiche
Optionen hat, um zu steuern, wie viel und was aus jedem Verzeichnis gelöscht wird,
das Pacman-Paket-Tarballs enthält.
Standardmäßig paccache -r
entfernt alle bis auf die letzten drei Versionen eines installierten Pakets, aber Sie können diese Nummer mit -k, --keep
ändern schalten. Es gibt auch ein -d, --dryrun
Wechseln Sie zur Vorschau Ihrer Änderungen. Sie können auch -m, --move <dir>
verwenden Möglichkeit, die Pakete in ein separates Verzeichnis Ihrer Wahl zu verschieben. Siehe paccache -h
oder paccache --help
für alle Schalter.
Es gibt eine Reihe von Dienstprogrammen im Paket pacman-contrib, die bei der Paketverwaltung helfen. Es lohnt sich, sie alle durchzusehen und zu verstehen, wie sie funktionieren und das Ausführen von Arch viel einfacher machen können. Sie können die vollständige Liste anzeigen mit:
pacman -Ql pacman-contrib | awk -F"[/ ]" '//usr/bin/ {print $NF}'