Можно ли безопасно удалить / var / cache?


79

Я исчерпал дисковое пространство и отметил, что у меня большой /var/cacheкаталог. Могу ли я безопасно удалить это? (используя Arch Linux, BTW).

cache 

6
Я бы проверил, что там, но, учитывая, что там находится магазин pacman, это пакеты, которые вы, возможно, захотите запустить, pacman -Scили даже pacman -Sccесли вы хотите очистить весь кеш пакетов.
ксенотеррацид

Большинство (но не все) файлы в /var/cacheбезопасном для удаления. Не удаляйте каталоги и не меняйте их владельца. Беги, du /var/cache/* | sort -nчтобы увидеть, что занимает место. Спросите здесь, если вы не знаете, безопасны ли большие каталоги для очистки.
Жиль "ТАК - перестань быть злым"

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

Ответы:


28

Нет .

Во-первых, я считаю, что /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, но они будут воссозданы msgstr "apt-get update".
diyism

6
В Debian /var/cache/bindсодержит файлы зон, переданные с других серверов имен - он не должен содержать мастер-зоны. Debian следует FHS, а FHS требует, чтобы файлы /var/cacheбыли удалены. Конечно, вопрос об Arch, и дальше не следует удалять файлы, предварительно не выяснив, что это такое.
Дероберт

19
Это все равно что сказать, что вы не должны удалять файлы во временном каталоге в Windows, не зная, что это такое. Если папка предназначена для временных файлов и ваша программа помещает туда временные данные, то это огромная проблема для вашей программы, а не для / var / cache
Tor Valamo

82

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

Извините за (очень) поздний ответ, но я считаю, что важно включить этот бит для дальнейшего использования.

Выделил бит, который отвечает на этот вопрос.

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

Любое приложение может создать файл или каталог здесь. Предполагается, что файлы, хранящиеся здесь, не являются критическими, поэтому система может удалять содержимое / var / cache либо периодически, либо когда его содержимое становится слишком большим.

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

Так что да, вы можете удалить эти файлы, не ожидая ничего плохого.


7
Вам придется прыгать через несколько обручей, если вы удалите /var/cacheи хотите использовать aptпотом.
Матиас Браун

13

Как уже говорили другие , /var/cache/может использоваться любым приложением для хранения информации, чтобы сэкономить на времени поиска. Однако, по моему опыту, большая часть занимаемого там места занимает менеджер пакетов системы.

Из Arch Linux вики :

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 кеш был 91GB. 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.