Как очистить папку var в linux
Я исчерпал дисковое пространство и отметил, что у меня большой /var/cache каталог. Могу ли я безопасно удалить это? (используя Arch Linux, BTW).
Я бы проверил, что там, но, учитывая, что там находится магазин pacman, это пакеты, которые вы, возможно, захотите запустить, pacman -Sc или даже pacman -Scc если вы хотите очистить весь кеш пакетов. Большинство (но не все) файлы в /var/cache безопасном для удаления. Не удаляйте каталоги и не меняйте их владельца. Беги, du /var/cache/* | sort -n чтобы увидеть, что занимает место. Спросите здесь, если вы не знаете, безопасны ли большие каталоги для очистки.Нет .
Во-первых, я считаю, что /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". В Debian /var/cache/bind содержит файлы зон, переданные с других серверов имен - он не должен содержать мастер-зоны. Debian следует FHS, а FHS требует, чтобы файлы /var/cache были удалены. Конечно, вопрос об Arch, и дальше не следует удалять файлы, предварительно не выяснив, что это такое. Это все равно что сказать, что вы не должны удалять файлы во временном каталоге в Windows, не зная, что это такое. Если папка предназначена для временных файлов и ваша программа помещает туда временные данные, то это огромная проблема для вашей программы, а не для / var / cacheИзвините за (очень) поздний ответ, но я считаю, что важно включить этот бит для дальнейшего использования.
Выделил бит, который отвечает на этот вопрос.
Каталог / var / cache содержит кэшированные файлы, то есть файлы, которые были сгенерированы и могут быть сгенерированы заново в любое время, но их стоит хранить, чтобы сэкономить время их повторного вычисления.
Любое приложение может создать файл или каталог здесь. Предполагается, что файлы, хранящиеся здесь, не являются критическими, поэтому система может удалять содержимое / var / cache либо периодически, либо когда его содержимое становится слишком большим.
Любое приложение должно учитывать, что файл, хранящийся здесь, может исчезнуть в любое время, и быть готовым пересчитать его содержимое (с некоторым временным штрафом).
Так что да, вы можете удалить эти файлы, не ожидая ничего плохого.
Вам придется прыгать через несколько обручей, если вы удалите /var/cache и хотите использовать apt потом.Как уже говорили другие , /var/cache/ может использоваться любым приложением для хранения информации, чтобы сэкономить на времени поиска. Однако, по моему опыту, большая часть занимаемого там места занимает менеджер пакетов системы.
pacman сохраняет свои загруженные пакеты /var/cache/pacman/pkg/ и не удаляет старые или неустановленные версии автоматически, поэтому необходимо периодически намеренно очищать эту папку, чтобы предотвратить ее бесконечный рост.
Однако , если место для хранения не является отчаянной проблемой, чтобы сохранить головную боль позже, из-за будущей несовместимости; один из этих инструментов следует использовать: paccache , pkgcacheclean или pacleaner .
Для другой системы:
На основе Redhat (Fedora, CentOS, SL, . )
На основе Debian (Ubuntu, . )
Основанный на SUSE
Эта статья является более подробной версией инструкций в вики-арке о том, как ее использовать paccahceЭтот пост показался мне интересным тем, что я искал удаление из / var / cache в Ubuntu 15.10 для улучшения дискового пространства, вот что я нашел:
/ var / cache / apt файлы кеша удаляются после запуска 'sudo apt-get clean', однако структура каталогов остается, что не проблема, если вы ищете улучшения дискового пространства; 'apt-get clean' должен запускаться последним, если вы хотите улучшить дисковое пространство с помощью apt-get [auto] remove / [auto] clean и т. д.
Что касается всего остального в каталоге, я не мог согласиться с «Tor Valamo» и его объяснением. Это кеш, система и приложения, которые используют кеш, должны иметь возможность восстанавливать все, что они там создали. У вас просто незначительные потери производительности, так как кэш восстанавливается из приложения в приложение
Говоря, что каждая система может не соответствовать этому принципу, проведите некоторое тестирование, попробуйте переместить все в вашем каталоге кеша в новое место и проверьте, что ваша система и все ваши приложения работают перед окончательным удалением кеша.
Вы можете сделать это определение самостоятельно, используя lsof .
Запустите, lsof -Pn +D /var/cache/ | awk '' | sort | uniq чтобы увидеть, какое программное обеспечение в настоящее время имеет какие-либо открытые файлы в этом каталоге. Если что-то выглядит умеренно важным (или вы не знаете, что это такое), не удаляйте его.
По сути, удаляйте только те файлы, которые, как вы знаете , безопасны для удаления и в настоящее время не используются другими работающими программами.
Перемещено maxcom из linux-org-ru
sudo du -h --max-depth=1 /var
Для начала можно посмотреть чем занят корень. Возможно это кэш пакетов, его можно удалить без проблем. Но вообще 15 гигов маловато чтобы пользоваться системой не заморачивайсь экономией места
поставь ncdu
запусти sudo ncdu -x / увидишь кто чего жрет на указанном разделе.
кеш очищается sudo apt clean
корневой раздел занят на 100%. Но у меня разде /home еще на 100 GB
Накрошил разделов, не зная для чего. Вот и почувствовал на своей шкуре сказки «о прелестях отдельного хоме-раздела.»
На сегодня - это маловато. Нужно следить за каждым байтом. Что можно почистить, смотри здесь. Еще один финт тебе посказали. Заходишь в /var/cache/apt/archives и удаляешь из него все файлы. Эти пакеты туже установлену и больше не понадобяться. А понадобятся, то будут снова скачаны из репозитория.
Вы там не под рутом сидите, случайно? А то может понакачали всего в
/, вот и место кончилось. В общем берите du как тут уже советовали и смотрите что место поело.
Ну и про то что 15 гигов мало - вот с моей пекарни
Если б в тред не зашел то и не знал бы что у меня столько места - систему ставил года два назад, никаких проблем с местом не испытывал, хотя никак не ограничиваю себя в установке софта. Если что, разметка аналогичная - / и home на отдельном разделе. Так что не заморачивайтесь по этому поводу, просто разберитесь что там у вас лишнее завелось. Но вообще если у вас lvm то можете отгрызть кусок от /home в корень.
может просто свободных inode нет
Откуда вы столько всего берёте?
ну ваще от набора софта зависит, вот например:
кстати бтрф сжатие умеет
Не смотри на один корень в выхлопе df -h, смотри на все ФС в выхлопе, где место использовано под 100%.
А еще проверь, не нагадило ли что-то в точки монтирования твоего корня ДО монтирования - загрузить с какого-нибудь LiveUSB, смонтируй твой корень да почитай-посмотри там, что вдруг есть лишнее на месте точек монтирования твоей системы.
ну ваще от набора софта зависит
Но у меня машина не для играццо. ☺
Мне от этого вообще никак:
А линуксовые файловые системы мне вообще не грозят (и слава Котоне!):
mord0d ★★★★★ ( 02.07.20 10:10:51 )Последнее исправление: mord0d 02.07.20 10:13:36 (всего исправлений: 1)
Накрошил разделов, не зная для чего. Вот и почувствовал на своей шкуре сказки «о прелестях отдельного хоме-раздела.»
Можно накатить другую систему, не теряя данных. Удобно. Не у всех есть объемный внешний накопитель или безлимит и терабайты в облаке.
Анекдот знаете про эстонца и дохлую кошку? Вот у меня с софтом также.
Анекдот знаете про эстонца и дохлую кошку?
Пригодиться-то оно, может, и пригодится, но что помешает установить пакет по надобности? Даже в Gentoo есть FEATURES="buildpkg" и что-то для формирования бинарного пакета из установленного. Беречь диски путём избежания (пере)записи — просто глупо.
что помешает установить пакет по надобности?
Дык я так и делаю, потом удалить забываю\забиваю.
Беречь диски путём избежания (пере)записи — просто глупо.
Согласен. Если вы думаете что я этим страдаю - нет, всего лишь лень "убираться".
Дык я так и делаю, потом удалить забываю\забиваю.
Временный стафф можно устанавливать как автоматически установленное, это есть во всех менеджерах пакетов кроме самых упоротых, потом оно само через autoremove предложит удалить, чтобы не вычитывать длинные списки установленных пакетов на предмет неиспользуемого.
У меня есть обёртка над pkg-ng, которая этим занимается. :3
Если вы думаете что я этим страдаю - нет, всего лишь лень «убираться».
На ЛОРе кукаретики чуть ли не в каждом треде кричат «НЕЛЬЯ НАСИЛОВАТЬ SSD! НУЖНО БЕРЕЧЬ SSD! РЕСУРС КО-КО-КОНЧАЕТСЯ!», потому я по дефолту считаю что ЛОРовец занимается хернёй бережёт ресурс диска. Это уже на уровне рефлексов. ☺
У меня уже сдох один SSD, но там не ресурс кончился, а глюк контроллера случился, после года работы он просто сказал «Досвидонья!» и превратился в тыкву. Прямо во время работы.
Временный стафф можно устанавливать как автоматически установленное
Не знал об этом, попробую, спасибо!
Понимаю, меня тоже веселит когда вижу такие советы
Тогда хинт: если где-то в периодиках по расписанию выполняется autoremove, его лучше отключить. Не знаю, делает ли кто-нибудь так, но в какой-нибудь убунте в теории всё возможно. ☺
15 гигов маловато чтобы пользоваться системой не заморачивайсь экономией места
От дистрибутива зависит.
Почему-то, не помню, почему, решил, что / должен быть 30Г. Заметил, что больше десяти гигов занято не бывает. Даже (воистину, делать нечего больше было) ужал / до пятнадцати, /home передвинул влево. Экономией не морочусь. Убунты 16, 17, 18. / сейчас так и занят на 9,54 ГиБ.
Думаю больше зависит от того как систему используешь
Да как использую.
Когда apt предлагает сделать autoremove, делаю. У моей системы корень больше всего используется при обновлении ядер.
Вот и почувствовал на своей шкуре сказки «о прелестях отдельного хоме-раздела.
очень удобно особенно с lvm, без чуть менее но все еще удобнее чем все в одном разделе как. Другое дело что надо уметь пользоваться удобством.
Здравствуйте.
Небольшой вопрос - когда отчищается /var/tmp? С /tmp понятно - при загрузке сервисом bootmisc (настройка в /etc/conf.d/bootmisc):
/var/tmp не должна очищаться. man hier
У меня в /etc/fstab настроена очистка /var/tmp:
Lavos ★★★★★ ( 04.05.16 12:27:57 )Последнее исправление: Lavos 04.05.16 12:28:11 (всего исправлений: 1)
Как правило /var/tmp не монтируется в tmpfs и не очищается автоматически. Это можно делать в некоторых случаях, например, если не используются веб-серверы и другие подобные программы.
Можно ли в gentoo быть уверенным в том, что /tmp не будет зачищенна если не было перезагрузки?
У меня там, например, живёт ccache и kde-шные кэши.
Цитата из man hier:
То есть они НЕ ОБЯЗАНЫ удаляться при каждом ребуте. Но если ты хочешь их удалять - вперед, можешь сделать это через bootmisc
Всё же полной ясности это не вносит. Должны, не должны, удалим, не удалим. Что за гадание? Стандартизировали бы какой-нибудь механизм для всех и описали принцип. А так, что туда писать? В gentoo не затрут, а где-нибудь затрут. Бардак. Имхо, tmp директории надо затирать при перезагрузке, а если кому очень надо, то пусть настраивает расписание.
Даже для /var/run ничего конкретного не обещают.
Ну допустим, что run привязан к перезагрузке. Возможно ли создать в run загончик с правами 0777, который и сам бы не сносился перезагрузкой?
Стандартизировали бы какой-нибудь механизм для всех и описали принцип.
Механизм чего - очистки? Это решать системе инициализации. В systemd есть tmpfiles.d, в котором прописан период хранения всяких временных файлов
tmpfiles.d да это хорошая штука, только что поигрался. Не знал о таком, вы ответили на мои вопросы, спасибо.
Механизм чего - очистки? Это решать системе инициализации. В >>systemd есть tmpfiles.d, в котором прописан период хранения >>всяких временных файлов
Ну я понял, что к стандартным временным директория нет никаких гарантий, отчасти поэтому понадобилось делать tmpfiles.d ))
А почему tmpfiles.d привязана к systemd? У меня s-d нет, а тмпфайлз работает.
Благодарю всех за ответы, тему не зря завёл, давно мне покая не давали вопросы, которые решает tmpfiles.d.
Ребят, небольшое уточнение: почему я запрашивал права через tmpfiles.d 0777:
D /var/tmp/my_dir__ 0777 pavlick pavlick
А получил права 0755 (вроде того, my_dir__ уже снёс)?
А почему tmpfiles.d привязана к systemd? У меня s-d нет, а тмпфайлз работает.
Он и не привязан. ЕМНИП systemd первым его себе запилил, потому tmpfiles.d и ассоциируют с ним. Большинство популярных систем инициализации уже реализовали у себя такое же, потому оно почти везде работает.
похоже на то, umask как раз 0022. Но зачем оно так работает? Я ведь попросил конкретные права, чего оно самодеятельностью занимается?
Типа безопасность. Это в профиле настраивать надо
Странный этот umask, я на него вообще внимания никогда не обращал, пользовался цифровой формой прав, меня ничем не ограничивали. Пример:
Ещё раз спасибо, пошёл.
Если бы было, то можно было бы обойтись одним mount-юнитом без tmpfiles.d.
почему я запрашивал права через tmpfiles.d 0777
А получил права 0755
Содержимое точки монтирования и права на неё скрываются:
Ерунда какая-то. То umask применяется, то нет.
По идее, он прописан в системных настройках профиля, но можно переопределить в пользовательских.
Дело точно не в umask, поменял на 000 и на выходе tmpfiles.d получаю режим 0755.
Содержимое точки монтирования и права на неё скрываются:
Только не пойму - какая связь? Скрываются права и содержимое директории контейнера. И потом, my_dir__ не монтируется, иначе бы содержимое /var/tmp было бы скрыто и права бы изменились у /var/tmp, а не у my_dir__. Причина такого поведения (0755 вместо 0777) для меня пока абсолютна непонятна. Или я вас не понимаю.
В общем у меня сложилось впечатление, что tmpfiles.d в генте какая-то кривая, может недопилили ещё, а может раздумали делать. Показательно то, что даже нет man страницы. Если вместо D использовать d, то права получается задавать, также не работает age. Короче кривая какая-то реализация.
Это удалит все пакеты, не установленные в данный момент. Если это не освобождает достаточно места, используйте sudo apt-get clean . Это очищает все .debs загруженное и / или установленное.
Но похоже, что ваш жесткий диск не хватает места. Серьезно из космоса. 61Mb недостаточно для хорошей рабочей системы. Я нашел 2 варианта, которые могут обойти проблемы, связанные с пространством, хотя оба могут быть трудно использовать при использовании виртуальной машины. Более постоянным решением было бы увеличение размера вашей виртуальной машины (и я бы также посоветовал использовать метод, который позволяет машине динамически увеличиваться в размере; VirtualBox имеет такую настройку).
Альтернатива, если у вас есть раздел или внешнее хранилище.
С помощью этого метода вы перенаправляете место, где .deb хранятся s:
Запустите обновление и установите. После того, как вы закончите, вы можете вернуться в нормальное состояние с помощью:
Ofcourse необходимо изменить на имя вашего смонтированного диска.
Таким образом, вы создаете RAM-диск:
Очистить как с 1-й альтернативой.
Предупреждение: для этого требуется большой объем оперативной памяти, поэтому он может быть недоступен при использовании виртуальной системы.
Таким образом, я отредактировал свой вопрос, поместив визуальный результат команды (так что я поместил какое-то изображение, потому что я не знаю, как копировать, вставить содержимое оболочки . ) Вы имеете в виду, что последняя предложенная вами команда бесполезна, если у меня нет USB-накопителя или внешнего жесткого диска? @newben нет проблем :) если вы не возражаете, пожалуйста, удалите все комментарии (кроме 1-го: D), так как мыЭти команды будут удалять дополнительные пакеты, которые больше не требуются.
Откройте терминал ( Ctrl - Alt - T ) и введите
Всякий раз, когда вы устанавливаете программу, в ней хранятся пакеты (файлы .deb) /var/cache/apt/archives , которые, очевидно, занимают место (много места, если установлено много пакетов).
Чтобы избавиться от них, используйте:
Если вам интересно, в чем разница между clean и autoclean вот что написано на странице руководства:
clean: clean очищает локальный репозиторий полученных файлов пакетов. Он удаляет все, кроме файла блокировки, из / var / cache / apt / archives / и / var / cache / apt / archives / частичный /. APT используется как метод dselect (1), clean is run Те, кто не использует dselect, скорее всего, захотят время от времени запускать apt-get clean, чтобы освободить место на диске.
autoclean : как clean, autoclean очищает локальный репозиторий файлов пакетов. Разница в том, что он удаляет только файлы пакета, больше не может быть загружен и в основном бесполезен. Этот кэш должен поддерживаться в течение длительного периода времени без контроля. Параметр конфигурации Clean-Installed предотвратит удаление установленных пакетов, если он отключен.
Если дело обстоит так, инструкции по его решению / обходной путь находятся в отчете об ошибках выше.
Можете ли вы добавить краткое изложение предлагаемого обходного пути, процитировать части, которые нужно процитировать, и добавить соответствующие шаги, которые нужно выполнить по ссылке.Это на самом деле не ответ, а скорее обходной / полезный совет.
Это происходило на моей виртуальной машине, потому что я выделил слишком много места для обмена (около 40%). Я быстро изменил его размер с помощью gparted и смог освободить еще немного места для корневого раздела.
Теперь я могу обновить давно забытую виртуальную машину, для которой требовалось около 3 ГБ обновлений.
Читайте также: