Чи можу я безпечно видалити / var / cache?


78

У мене не вистачає місця на диску і зазначив, що у мене є великий /var/cacheкаталог. Чи можна безпечно видалити це? (використовуючи Arch Linux, BTW).

cache 

6
Я б перевірив, що там є, але враховуючи, що там, де знаходиться Pacman store, це пакунки, які ви можете запустити, pacman -Scабо навіть pacman -Sccякщо ви хочете очистити весь кеш-пакет.
ксенотеррацид

Більшість, але не всі файли під цим файлом /var/cacheбезпечно видаляти. Не видаляйте каталоги та не змінюйте їх власність. Біжи, du /var/cache/* | sort -nщоб побачити, що приймає приміщення. Запитайте тут, якщо ви не знаєте, чи безпечні чисті великі каталоги.
Жиль

Як щодо аналізатора використання диска - alternativeto.net/software/windirstat/?platform=linux
Аарон Ньютон

Відповіді:


27

Ні .

Для одного, я вважаю, що /var/cache/bind/це каталог за замовчуванням, де bind9 очікує збереження зонних файлів (принаймні, на Debian; я не знаю напевно, чи відповідають інші дистрибутиви)

З іншого боку, згідно з цією документацією , pacman (менеджер пакунків, який використовується Arch linux) зберігає під кешем пакунків пакунок, /var/cache/pacman/pkg/і він, швидше за все, не очікує нічого, крім самого себе, змінити вміст.

Рекомендую більш детально ознайомитися з документацією та вирішити, чи справді це час для очищення кеш-пакету.


Так, не видаляйте / var / cache / apt / archives dir, але ви можете видалити файли: /var/cache/apt/pkgcache.bin та /var/cache/apt/srcpkgcache.bin, але їх буде відтворено "оновлення apt-get".
диїзм

6
У Debian /var/cache/bindмістяться файли зон, передані з інших серверів імен - він не повинен містити головних зон. Debian слідує за FHS, і FHS вимагає, щоб файли в розділі /var/cacheбули видалені. Звичайно, питання стосується Arch, і далі не слід видаляти файли, попередньо принаймні не з'ясовуючи, що вони є.
дероберт

19
Це як сказати, що не слід видаляти файли з тимчасового каталогу у Windows, не знаючи, що вони є. Якщо папка призначена для тимчасових файлів, а програма містить там тимчасові дані, то це величезна проблема для вашої програми, а не для / var / cache
Tor Valamo

81

Від http://www.lindevdoc.org/wiki//var/cache

Вибачте за (дуже) пізню відповідь, але я вважаю, що важливо включити цей біт для подальшого ознайомлення.

Виділено біт, який відповідає на це питання.

Каталог / var / cache містить кешовані файли, тобто файли, які були згенеровані та можуть бути згенеровані будь-коли, але їх варто зберігати, щоб заощадити час на їх перерахунок.

Будь-яка програма може створити тут файл або каталог. Передбачається, що збережені тут файли не є критичними, тому система може періодично видаляти вміст / var / cache, або коли його вміст стає занадто великим.

Будь-яка програма повинна враховувати, що збережений тут файл може зникнути будь-коли, і бути готовим перерахувати його вміст (з певним часовим покаранням).

Так що так, ви можете видалити ці файли, не очікуючи, що станеться щось погане.


7
Якщо ви видалите і хочете використовувати їх згодом, вам доведеться перестрибнути кілька обручів . /var/cacheapt
Маттіас Браун

13

Як говорили інші , /var/cache/будь-яка програма може використовуватись для зберігання інформації для економії часу на пошук. На моєму досвіді, більшість місця, зайнятого там, знаходиться у менеджера пакунків системи.

З вікі Arch Arch :

pacmanзберігає завантажені пакети в /var/cache/pacman/pkg/і не видаляє стару чи невстановлену версію автоматично, тому необхідно навмисно очищати цю папку періодично, щоб запобігти збільшенню розміру такої папки на невизначений термін.

pacman -Sc

Однак , якщо місце для зберігання не є відчайдушним питанням, щоб позбавити головний біль пізніше, внаслідок майбутньої несумісності; один з цих інструментів слід використовувати: paccache, pkgcachecleanабо pacleaner.


Для іншої системи:

На основі Redhat (Fedora, CentOS, SL, ...)

yum clean all
# or
dnf clean all

На основі Debian (Ubuntu, ...)

apt-get autoclean

SUSE на основі

zypper clean

2
+1! Сьогодні я помітив, що у мене не вистачає місця на диску ... коротке du -hs /* 2> /dev/nullвиявило, що це /varбуло дуже багато. Виявилось, що мій кеш-пам'ять pacman був 91 Гб. pacman -Scочистили старі пакунки і зменшили кеш-пам'ять Pacman до 5 ГБ!
daniel451

1
Ця стаття є більш докладною версією інструкцій у вікі арки про те, як користуватисяpaccahce
joelostblom

9

Ця публікація виявилася цікавою тим, що я шукав видалити з / var / cache на Ubuntu 15.10 для поліпшення дискового простору, ось що я знайшов:

/ var / cache / apt кеш-файли видаляються після запуску "sudo apt-get clean", однак структура каталогів залишається, що не є проблемою, якщо ви шукаєте удосконалення місця на диску; 'apt-get clean' має бути запущений останнім, якщо ви бажаєте покращити місце на диску за допомогою apt-get [auto] remove / [auto] clean тощо.

Щодо всього іншого в каталозі, я не міг більше погодитися з "Tor Valamo" та його поясненнями. Це кеш, система та програми, які використовують кеш, повинні мати можливість відновити все, що вони там створили. У вас просто незначні накладні витрати, оскільки кеш регенерується з програми в програму

Кажучи, що кожна система може не відповідати цьому принципу, зробіть тестування, спробуйте перенести все, що знаходиться в каталозі кешу, на нове місце і перевірити, чи працює ваша система та всі ваші програми, перш ніж назавжди видалити кеш.


1

Ви можете зробити це визначення самостійно, використовуючи lsof.

Запустіть, lsof -Pn +D /var/cache/ | awk '{print $1}' | sort | uniqщоб побачити, яке програмне забезпечення наразі має відкриті файли у цьому каталозі. Якщо щось виглядає помірно важливим (або ви не знаєте, що це таке), тоді не знімайте його.

Крім того, ви не повинні просто видувати каталоги без резервного копіювання; це стосується навіть /tmp. Якщо зараз використовується файл, ваше видалення не буде зареєстровано, поки обробник не закриється (ви побачите, що він пройшов у файловій системі). Більше того, видалення може призвести lsofдо краху інших програм, які зараз запущені (див. Команду вище), якщо очікуваний файл, який там є, відсутній.

В основному, тільки видалити файли , які ви знаєте , є безпечними для видалення і в даний час не використовується іншими під управлінням програмного забезпечення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.