Kann ich / var / cache sicher entfernen?


78

Mir geht der Speicherplatz aus und ich habe festgestellt, dass ich ein großes /var/cacheVerzeichnis habe. Kann ich das sicher entfernen? (mit Arch Linux, BTW).

cache 

6
Ich würde nachsehen, was da drin ist, aber angesichts dessen, wo der Pacman Store seine Pakete hat, möchten Sie sie vielleicht ausführen pacman -Scoder sogar pacman -SccIhren gesamten Paket-Cache bereinigen.
Xenoterracide

Die meisten, aber nicht alle Dateien unter können /var/cachesicher gelöscht werden. Löschen Sie die Verzeichnisse nicht und ändern Sie nicht deren Eigentümer. Laufen Sie, um du /var/cache/* | sort -nzu sehen, was Platz beansprucht. Fragen Sie hier nach, wenn Sie nicht wissen, ob die großen Verzeichnisse sicher gesäubert werden können.
Gilles

Was ist mit einem Disk Usage Analyzer - alternativeto.net/software/windirstat/?platform=linux
Aaron Newton

Antworten:


27

Nein .

Zum einen glaube ich, dass dies /var/cache/bind/das Standardverzeichnis ist, in dem bind9 erwartet, dass seine Zonendateien gespeichert werden (zumindest unter Debian; ich weiß nicht ohne weiteres, ob andere Distributionen diesem Beispiel folgen).

Zum anderen speichert pacman (der von Arch Linux verwendete Paketmanager) laut dieser Dokumentation seinen Paketcache unter /var/cache/pacman/pkg/und erwartet höchstwahrscheinlich, dass nichts als sich selbst den Inhalt ändert.

Ich empfehle Ihnen, die Dokumentation genauer durchzulesen und zu entscheiden, ob dies ein guter Zeitpunkt ist, um den Paket-Cache zu leeren.


Ja, löschen Sie nicht das Verzeichnis / var / cache / apt / archives, aber Sie können Dateien löschen: /var/cache/apt/pkgcache.bin und /var/cache/apt/srcpkgcache.bin, aber sie werden von neu erstellt msgstr "apt-get update".
Diyismus

6
/var/cache/bindEnthält unter Debian Zonendateien, die von anderen Nameservern übertragen wurden - es sollten keine Masterzonen enthalten sein. Debian folgt FHS, und FHS erfordert, dass die Dateien unter /var/cachegelöscht werden können. Natürlich geht es um Arch, und außerdem sollte man Dateien nicht löschen, ohne zuerst herauszufinden, was sie sind.
Derobert

19
Das heißt, Sie sollten in Windows keine Dateien im temporären Verzeichnis löschen, ohne zu wissen, um welche es sich handelt. Wenn der Ordner für temporäre Dateien vorgesehen ist und Ihr Programm nicht-temporäre Daten dort ablegt, ist dies ein großes Problem für Ihr Programm, nicht für / var / cache
Tor Valamo

81

Aus http://www.lindevdoc.org/wiki//var/cache

Entschuldigen Sie die (sehr) späte Antwort, aber ich glaube, es ist wichtig, dieses Bit für zukünftige Referenz einzuschließen.

Markierte das Bit, das diese Frage beantwortet.

Das Verzeichnis / var / cache enthält zwischengespeicherte Dateien, dh Dateien, die generiert wurden und jederzeit neu generiert werden können. Sie sollten jedoch gespeichert werden, um Zeit für die Neuberechnung zu sparen.

Jede Anwendung kann hier eine Datei oder ein Verzeichnis erstellen. Es wird davon ausgegangen, dass die hier gespeicherten Dateien nicht kritisch sind, sodass das System den Inhalt von / var / cache entweder regelmäßig oder bei zu großem Inhalt löschen kann.

Jede Anwendung sollte berücksichtigen, dass die hier gespeicherte Datei jederzeit verschwinden kann und bereit ist, ihren Inhalt neu zu berechnen (mit einer gewissen Zeitstrafe).

Also ja, Sie können diese Dateien entfernen, ohne zu erwarten, dass etwas Schlimmes passiert.


7
Sie müssen durch einige Rahmen springen, wenn Sie löschen /var/cacheund anschließend verwenden möchten apt.
Matthias Braun

13

Wie andere gesagt haben, /var/cache/kann von jeder Anwendung verwendet werden , um Informationen zu speichern , auf Abruf Zeit zu sparen. Meiner Erfahrung nach stammt der größte Teil des dort belegten Speicherplatzes aus dem Paketmanager des Systems.

Aus dem Arch Linux Wiki :

pacmanspeichert die heruntergeladenen Pakete in /var/cache/pacman/pkg/und entfernt die alten oder deinstallierten Versionen nicht automatisch. Daher ist es notwendig, diesen Ordner absichtlich regelmäßig zu bereinigen, um ein unbegrenztes Anwachsen des Ordners zu verhindern.

pacman -Sc

Es sei denn, Speicherplatz ist ein verzweifeltes Problem, um später Kopfschmerzen im Hinblick auf eine zukünftige Inkompatibilität zu vermeiden. : eine dieser anderen Instrumente sollten genutzt werden paccache, pkgcachecleanoder pacleaner.


Für ein anderes System:

Redhat basiert (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Debian-basiert (Ubuntu, ...)

apt-get autoclean

SUSE basiert

zypper clean

2
+1! Mir ist heute aufgefallen, dass mir der Speicherplatz ausgeht ... eine kurze du -hs /* 2> /dev/nullEnthüllung, /vardie sehr groß war. Es stellte sich heraus, dass mein Pacman-Cache 91 GB groß war. pacman -Scbereinigte die alten Pakete und reduzierte den Pacman-Cache auf 5 GB!
Daniel451

1
Dieser Artikel ist eine ausführlichere Version der Anweisungen im Arch-Wiki zur Verwendungpaccahce
joelostblom

9

Fand diesen Beitrag interessant, da ich nach einer Löschung aus / var / cache unter Ubuntu 15.10 suchte, um den Speicherplatz zu verbessern. Folgendes habe ich gefunden:

/ var / cache / apt Cache-Dateien werden nach dem Ausführen von 'sudo apt-get clean' entfernt. Die Verzeichnisstruktur bleibt jedoch erhalten. Dies ist kein Problem, wenn Sie nach Verbesserungen des Speicherplatzes suchen. 'apt-get clean' sollte zuletzt ausgeführt werden, wenn Sie eine Speicherplatzverbesserung mit apt-get [auto] remove / [auto] clean usw. erzielen möchten.

Was alles andere im Verzeichnis angeht, könnte ich Tor Valamo und seiner Erklärung nicht mehr zustimmen. Der Cache, das System und die Apps, die den Cache verwenden, sollten in der Lage sein, alles, was sie dort erstellt haben, neu zu generieren. Sie haben nur geringe Performance-Overheads, da der Cache von App zu App neu generiert wird

Wenn Sie sagen, dass möglicherweise nicht jedes System diesem Prinzip entspricht, führen Sie einige Tests durch, verschieben Sie alles in Ihrem Cache-Verzeichnis an einen neuen Speicherort und testen Sie, ob Ihr System und alle Ihre Anwendungen funktionieren, bevor Sie den Cache dauerhaft entfernen.


1

Diese Bestimmung können Sie selbst vornehmen lsof.

Führen lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqSie den Befehl aus , um zu ermitteln, welche Software derzeit geöffnete Dateien in diesem Verzeichnis hat. Wenn etwas mäßig wichtig aussieht (oder Sie nicht wissen, was es ist), entfernen Sie es nicht.

Außerdem sollten Sie nicht nur Verzeichnisse ohne Backups ausblasen. das gilt sogar für /tmp. Wenn eine Datei gerade verwendet wird, wird das Entfernen erst registriert, nachdem der Handler geschlossen wurde (im Dateisystem wird dies angezeigt). Außerdem kann das Entfernen dazu führen, dass andere Programme, die gerade ausgeführt werden (siehe lsofBefehl oben), abstürzen, wenn eine erwartete Datei fehlt.

Entfernen Sie grundsätzlich nur Dateien, von denen Sie wissen , dass sie sicher entfernt werden können und die derzeit nicht von anderer laufender Software verwendet werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.