Czy mogę bezpiecznie usunąć / var / cache?

78

Brakuje mi miejsca na dysku i zauważyłem, że mam duży /var/cachekatalog. Czy mogę to bezpiecznie usunąć? (przy użyciu Arch Linux, BTW).


źródło
6
Sprawdziłbym, co tam jest, ale biorąc pod uwagę, że tam, gdzie jest sklep Pacman, są to pakiety, które możesz chcieć uruchomić, pacman -Sca nawet pacman -Sccjeśli chcesz wyczyścić całą pamięć podręczną pakietów.
ksenoterrakid
Większość plików, ale nie wszystkie, /var/cachemożna bezpiecznie usunąć. Nie usuwaj katalogów ani nie zmieniaj ich własności. Biegnij, du /var/cache/* | sort -naby zobaczyć, co zajmuje miejsce. Zapytaj tutaj, czy nie wiesz, czy duże katalogi są bezpieczne do czyszczenia.
Gilles
Co z analizatorem użycia dysku - alternativeto.net/software/windirstat/?platform=linux
Aaron Newton

Odpowiedzi:

27

Nie .

Po pierwsze, uważam, że /var/cache/bind/jest to domyślny katalog, w którym bind9 oczekuje, że pliki strefy zostaną zapisane (przynajmniej w Debianie; nie wiem od razu, czy inne dystrybucje pójdą w tym samym kierunku)

Po drugie, zgodnie z tą dokumentacją , pacman (menedżer pakietów używany przez Arch Linux) przechowuje swoją pamięć podręczną pakietów /var/cache/pacman/pkg/i najprawdopodobniej nie oczekuje niczego poza modyfikacją zawartości.

Zalecam dokładniejsze zapoznanie się z dokumentacją i zdecydowanie, czy to dobry moment na wyczyszczenie pamięci podręcznej pakietów.

Shadur
źródło
Tak, nie usuwaj / var / cache / apt / archives dir, ale możesz usunąć pliki: /var/cache/apt/pkgcache.bin i /var/cache/apt/srcpkgcache.bin, ale zostaną one odtworzone przez „aktualizacja apt-get”.
diyizm
6
W Debianie /var/cache/bindzawiera pliki stref przeniesione z innych serwerów nazw - nie powinien zawierać stref głównych. Debian postępuje zgodnie z FHS, a FHS wymaga, aby pliki podlegające /var/cacheusunięciu. Oczywiście pytanie dotyczy Archa, a ponadto nie należy usuwać plików bez wcześniejszego ustalenia, co to jest.
derobert
19
To tak, jakby powiedzieć, że nie należy usuwać plików z katalogu tymczasowego w systemie Windows, nie wiedząc, jakie są. Jeśli folder jest przeznaczony na pliki tymczasowe, a twój program umieszcza tam dane tymczasowe, to jest to ogromny problem dla twojego programu, a nie dla / var / cache
Tor Valamo
81

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

Przepraszam za (bardzo) spóźnioną odpowiedź, ale uważam, że ważne jest, aby dołączyć ten fragment do wykorzystania w przyszłości.

Podkreśliłem bit, który odpowiada na to pytanie.

Katalog / var / cache zawiera pliki buforowane, tj. Pliki, które zostały wygenerowane i mogą być ponownie wygenerowane w dowolnym momencie, ale warto je przechowywać, aby zaoszczędzić czas na ich ponowne obliczenie.

Każda aplikacja może tutaj utworzyć plik lub katalog. Zakłada się, że przechowywane tutaj pliki nie są krytyczne, więc system może okresowo usuwać zawartość / var / cache lub gdy jej zawartość staje się zbyt duża.

Każda aplikacja powinna wziąć pod uwagę, że przechowywany tutaj plik może zniknąć w dowolnym momencie i być gotowy do ponownego obliczenia jego zawartości (z pewnym opóźnieniem czasowym).

Tak, możesz usunąć te pliki, nie oczekując, że wydarzy się coś złego.

Tor Valamo
źródło
7
Będziesz musiał przeskoczyć przez kilka obręczy, jeśli usuniesz /var/cachei chcesz aptpóźniej użyć .
Matthias Braun
13

Jak powiedzieli inni , /var/cache/może być używana przez dowolną aplikację do przechowywania informacji w celu zaoszczędzenia czasu pobierania. Z mojego doświadczenia wynika jednak, że większość zajmowanego tam miejsca pochodzi od menedżera pakietów systemu.

Z wiki Arch Linux :

pacmanzapisuje pobrane pakiety /var/cache/pacman/pkg/i nie usuwa automatycznie starych lub odinstalowanych wersji, dlatego konieczne jest okresowe czyszczenie tego folderu, aby zapobiec wzrostowi rozmiaru tego folderu w nieskończoność.

pacman -Sc

Jednakże , chyba że miejsce do przechowywania jest desperackim problemem, aby zaoszczędzić później bólu głowy, z powodu przyszłej niezgodności; jeden z tych innych narzędzi powinien być wykorzystany: paccache, pkgcacheclean, lub pacleaner.


W przypadku innego systemu:

Oparty na Redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

Oparty na Debianie (Ubuntu, ...)

apt-get autoclean

Oparty na SUSE

zypper clean
Kevin
źródło
2
+1! Zauważyłem dzisiaj, że brakuje mi miejsca na dysku ... krótkie du -hs /* 2> /dev/nullujawnienie, które /varbyło bardzo duże. Okazało się, że moja pamięć podręczna Pacmana miała 91 GB. pacman -Scwyczyściłem stare pakiety i zmniejszyłem pamięć podręczną Pacmana do 5 GB!
daniel451
1
Ten artykuł jest bardziej szczegółową wersją instrukcji na arch wiki o tym, jak używaćpaccahce
joelostblom
9

Znalazłem ten post jako interesujący, ponieważ chciałem usunąć z / var / cache na Ubuntu 15.10 w celu poprawy miejsca na dysku, oto co znalazłem:

Pliki cache / var / cache / apt są usuwane po uruchomieniu „sudo apt-get clean”, jednak struktura katalogów pozostaje bezproblemowa, jeśli szukasz miejsca na dysku; Polecenie „apt-get clean” powinno być uruchamiane jako ostatnie, jeśli chcesz uzyskać poprawę miejsca na dysku dzięki apt-get [auto] remove / [auto] clean itp.

Jeśli chodzi o wszystko inne w katalogu, nie mogłem się bardziej zgodzić z „Tor Valamo” i jego wyjaśnieniami. To pamięć podręczna, system i aplikacje korzystające z pamięci podręcznej powinny być w stanie zregenerować wszystko, co tam utworzyły. Masz tylko niewielki narzut wydajności, ponieważ pamięć podręczna jest regenerowana z aplikacji do aplikacji

Mówiąc, że każdy system może nie być zgodny z tą zasadą, przeprowadź testy, spróbuj przenieść wszystko z katalogu pamięci podręcznej do nowej lokalizacji i przetestuj działanie systemu i wszystkich aplikacji przed trwałym usunięciem pamięci podręcznej.

JeffreyJ
źródło
1

Możesz dokonać tego samodzielnie lsof.

Uruchom, lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqaby zobaczyć, które oprogramowanie ma aktualnie otwarte pliki w tym katalogu. Jeśli coś wygląda na umiarkowanie ważne (lub nie wiesz, co to jest), nie usuwaj go.

Poza tym i tak nie powinieneś wyrzucać katalogów bez kopii zapasowych; dotyczy to nawet /tmp. Jeśli plik jest obecnie używany, usunięcie nie zostanie zarejestrowane, dopóki program obsługi nie zostanie zamknięty (zobaczysz, że zniknął w systemie plików). Ponadto usunięcie może spowodować lsofawarię innych programów, które są obecnie uruchomione (zobacz powyższe polecenie), w przypadku awarii oczekiwanego pliku, którego brakuje.

Zasadniczo usuwaj tylko te pliki, które wiesz , że można je bezpiecznie usunąć i nie są obecnie używane przez inne uruchomione oprogramowanie.


źródło