Ich habe kürzlich Arch Linux installiert und festgestellt, dass ich relativ schnell viel Speicherplatz wegfresse. Aus irgendeinem Grund habe ich bereits 17 GB in nur etwa 2 Wochen verwendet. Ich habe nicht viel Software installiert, daher glaube ich, dass alle alten Pakete irgendwo gepflegt werden.
Um dies zu unterstützen, habe ich festgestellt, dass pacman, wenn ich ein Paket installiert habe, dieses Paket entfernt und dann erneut installiert, lediglich die Software entpackt und erneut installiert, ohne sie erneut herunterladen zu müssen.
Nachdem ich mein Basissystem installiert hatte, bevor ich zusätzliche Software installiert habe, habe ich vielleicht etwa 2 GB 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.
Bin ich hier völlig falsch oder löscht Arch niemals alte Pakete, wenn ich neue Versionen herunterlade / aktualisiere?
Wenn ja, wie lösche ich diese nicht verwendeten Pakete?
Auch wenn ich installierte Pakete entferne, verwende ich pacman -R ...
quelle
cron
odersystemd
Job einzurichten .Antworten:
Nein, Pacman entfernt keine alten Pakete aus Ihrem Cache (
/var/cache/pacman/pkg
), sodass sie sich mit der Zeit füllen können.Sie können den Cache auf zwei Arten leeren: Die Brute-Force-Methode mit
pacman -Sc
:Oder für einen differenzierteren Ansatz können Sie eines der Hilfsprogramme verwenden, die mit Pacman-Contrib geliefert werden
paccache
:Standardmäßig
paccache
werden alle bis auf die letzten drei Versionen eines installierten Pakets entfernt. Sie können diese Nummer jedoch mit dem-k, --keep
Schalter ändern . Es gibt auch einen-d, --dryrun
Schalter, mit dem Sie eine Vorschau Ihrer Änderungen anzeigen können. Sehen Siepaccache --help
für alle Schalter.Das Paket pacman-contrib enthält eine Reihe von Dienstprogrammen, die Sie bei der Paketverwaltung unterstützen. Es lohnt sich, sie alle zu prüfen und sich ein Bild von ihrer Funktionsweise zu machen, um das Ausführen von Arch zu vereinfachen. Sie können die vollständige Liste anzeigen mit:
quelle
--clean
Switch sehr vorsichtig: Dies verhindert, dass Sie leicht auf das Arbeitspaket zurückgreifen können, falls ein Problem mit der neuesten Version auftritt (z. B. wenn ein neues Paket auf einer älteren lib- oder Python-Version basiert; dasselbe gilt für Hardware und die neueste Version Kernel). Ich finde das Setzen des Pacman-Cache an/
einer anderen Stelle als einer viel besseren Lösung (setze einfach den Pfad in /etc/pacman.conf ).paccache
, können Sie es erhalten, indem Sie daspacman-contrib
Paket installieren .$ pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin\/./ {print $NF}'
, eine Leerzeile in den Ergebnissen zu vermeiden? ;-)rm -rf /var/cache/pacman/pkg
war das FalscheIhr Paket-Cache ist in
/var/cache/pacman/pkg/
.HINWEIS:
pacman
Pakete wurden 2018 aktualisiert und müssen zusätzlich installiert werdenpacman-contrib
, um Skripte / Tools wiepaccache
unten beschrieben zu verwenden.Machen:
Gehen Sie
-dryrun
wie folgt vor, um zu sehen, was durch eine Ausführung dieses Dienstprogramms beim nächsten Mal entfernt werden könnte:So entfernen Sie zwischengespeicherte Pakete 17gbs klingt steil. Stellen Sie sicher, dass Sie keine Run-Away-Protokolle haben. Machen:
Oder auch nur:
Für eine allgemeinere Vorstellung davon, was los ist.
quelle
pacman -Scc
tut was du fragst, aber es wird nicht empfohlen. Aus dem WikiWenn ich Pakete deinstalliere, bevorzuge ich die Verwendung
pacman -Rnsc
, da dadurch auch Paketabhängigkeiten sowie Pakete, die von diesem abhängen, entfernt werden. Lesen Sie wie immer sorgfältig, welche Pakete entfernt werden, da Sie unser System sehr leicht unbrauchbar machen können.quelle
rm /var/cache/pacman/pkg/*
dann? Oder - es ist zumindest standardmäßig, denke ich. Ich habe meinen pkg-Cache vor/tmp
langer Zeit auf die meisten Computer verlagert undsquid
einen einzelnen zentralen Cache am Router verwalten lassen. Gar nicht so einfachpacman -Scc
.Ich empfehle dringend die Verwendung von
paccache
anstelle vonpacman -Sc
. Es gibt sogar ein sehr effektives Flag zum selektiven Entfernen der Versionen von deinstallierten Paketen-u
. Die vonpaccache
mir empfohlenen Flags sind (als Teil von paccache v5.0.2):-d
,--dryrun
: Trockenlauf durchführen und nur Kandidatenpakete finden-r
,--remove
: Kandidatenpakete entfernen-u
,--uninstalled
: Ziel nur deinstallierte Pakete-k
,--keep <num>
: behalte "num" jedes Pakets im Cache (Standard: 3)Beispiel: Suchen Sie nach verbleibenden Cache-Versionen von deinstallierten Paketen
quelle
-u
von möglichpaccache
. Beispiele für große Pakete sind zB Gnome, KDE oder Texlive, um Ihnen eine Idee zu geben.-k
Flagge war für mich neu und im Hilfedialog nicht sehr gut erklärt, daher war ihre Verwendung hier nützlich.