Как почистить centos 7 от мусора

Обновлено: 06.07.2024

Иногда так бывает, что надо почистить старые ядра CentOS 7. Чаще всего это происходит после того, как вы поставили обновления и сервер банально перестал грузится. Причина – закончившееся место в каталоге /boot . Это особенно актуально для серверов, где ограничено дисковое пространство, например для тех же VPS/VDS серверов.

Совет 1: Если вы давно не перезагружали хост, обратите внимание на то, что текущее загруженное ядро не будет самой последней версией. Возможно, есть смысл перезагрузить хост перед тем, как кардинально чистить ядра, чтобы не получить проблему при следущей штатной перезагрузке, когда где-либо всплывет зависимость от того ядра, которое вы удалили.

Совет 2: Несмотря на простоту ручного удаления файлов ядер из директории /boot , лучше этого не делать, пока штатные средства CentOS 7 позволяют удалить ядра.

Внимание! Процедура удаления ядра CentOS 7 безвозвратная, поэтому имейте всегда бэкап!

2. Удаление старых ядер.

Перед тем, как удалять ненужные ядра, нужно понять, какое ядро сейчас загружено:

Ответ:


Поэтому, перед тем как обновляться, неплохо взять за привычку проверять наличие свободного места.

Ответ:


Просмотреть, какие ядра хранятся можно с помощью пакетного менеджера rpm:

Ответ:


Внимание! Каждое ядро имеет размер 50-80 Мб, а то и под 150 Мб, поэтому, например на микро VPS, держать лишнее место под ненужные ядра может быть не очень здорово.

Можно удалить, к примеру, два ненужных ядра, ручным указанием какие три именно:

Но лучше делать это автоматизированно.

Чтобы удалить старые ядра автоматизированно потребуется пакет программного обеспечения yum-utils . Он одинаков, что для yum , что для dnf .

И удаляем старые ядра CentOS 7.

Параметр сount=X показывает сколько оставить старых ядер. К примеру оставим 2 крайних.

Ответ:


Смотрим, какие ядра остались:

Ответ:


Осталось крайних 2, как и планировалось.

Смотрим текущее ядро:

3. Автоматизация удалений ядер.

На самом деле, каждый раз удалять старые ядра руками нет необходимости. В настройках yum/dnf можно указать сколько старых ядер хранить и при обновлении лишние будут удаляться автоматически. Для этого надо задать параметр installonly_limit в конфигурационном файле.

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

І так, як очистити місце на CentOS або Linux подібних системах?
Для початку нам необхідно дізнатися які папки та файли займають найбільше місця і найголовніше! Потрібно дізнатися де саме знаходяться ті самі папки і файли. Система то велика, переглядати кожну папку замучишся.

Для роботи нам потрібна консоль.
Так само підійде і Shell-клієнт, якщо у вас панель ISPmanager. Я буду використовувати Shell-клієнт, тому що звик до Windows і звик бачити папки і файли. Вводити в консоль команди і вбивати те, чого не бачу, не дуже люблю.

1. Насамперед необхідно виконати команду для отримання поточного стану дискового простору і всіх розділів на сервері.
команда:

Після введення команди натискаємо Enter і бачимо наступне:

Як почистити місце на CentOS

Ми отримали інформацію:
- Загальний розмір диск
- Зайняте місце на диску
- Вільне місце на диску

2. Далі нам необхідно визначити, які папки займають найбільше місця.
команда:

Після введення команди натискаємо Enter і бачимо наступне:

Как очистить место на CentOS

Ми отримали інформацію:
- Імена папок
- Зайняте місце на диску

Як бачимо, основне місце на сервері займає папка var.

3. Нам потрібно перейти в папку var
Команда:

4. Перейшовши в папку var знову дивимося які папки скільки займають місця, для цього виконуємо вже знайому нам команду.
команда:

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

То есть бывают действительно критические ситуации — в этих условиях перестают нормально работать многие программы и службы. Поэтому задача становится следующей: срочно любой ценой освободить место на диске, чтобы можно было продолжить обслуживание системы и перейти ко второму этапу — поиску директорий и папок, которые привели к этой проблеме из-за того, что стали занимать слишком много места.

Предупрежу заранее: следующие команды хотя в основном и удаляют бесполезные файлы, после их выполнения могут потребоваться такие действия как:

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

Это означает, что НЕ копируйте бездумно команды — читайте пояснения к ним и оценивайте, насколько они безболезненны для вашей ситуации.

1. Удаление временных файлов

Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:

НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.

2. Удаление файлов кэширования

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

Для удаления кэша шрифтов:

Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):

Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):

Удаление кэша справочных страниц:

Вы можете продолжить поиск больших кэшей применимо к программному обеспечению, установленному на вашей системе. Например, это могут быть кэши веб-сервера, прокси-сервера и т. д.

3. Удаление логов (журналов)

На веб-серверах могут разрастись слишком сильно журналы веб-сервера.

Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:

Для удаления логов Apache на Arch Linux, BlackArch и их производных:

Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.

В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:

4. Очистите корзину

Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку

/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):

5. Удаление ненужных файлов исходного кода заголовков ядра

Следующее актуально только для Debian, Linux Mint, Ubuntu, Kali Linux и их производных. Проверьте папку /usr/src/, там будут подпапки вида linux-headers- - большинство из них можно удалить — оставьте только ту, номер которой соответствует текущему ядру системы — обычно это самый последний номер выпуска.

6. Удаление осиротевших пакетов

Осиротевшие пакеты — это те пакеты (программы), которые устанавливались в качестве зависимостей для других программ. Но по разным причинам они больше не нужны: или удалена программа, которая их использовала, или для той программы они перестали быть зависимостями после обновления программы.


На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:


Для Debian и производных предыдущая команда абсолютно безопасна.

В Arch Linux и производных список осиротевших пакетов можно увидеть следующим образом:

Прежде чем переходить к их автоматическому удалению, настоятельно рекомендуется изучить этот список!

Для рекурсивного удаления сироток и их конфигурационных файлов в Arch Linux и производных:


Если осиротевшие пакеты не были найдены, pacman завершит работу с ошибкой: ошибка: не задано целей (для справки используйте -h). Это ожидаемо, поскольку pacman -Rns не получил аргументов.

7. Очистка журналов systemd

Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl, подробности смотрите в статье «Как использовать journalctl для просмотра системных логов Linux».

Чтобы увидеть, сколько место занимают журналы, выполните:

Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:

Либо для удаления всех записей в системном журнале, старше одной недели:

8. Файлы в директории /lost+found

В папку /lost+found сохраняются файлы, которые были найдены после проверки файловой системы диска. Обычно такие проверки выполняются после внезапной перезагрузки системы или в случае признаков проблем с диском.

Найденные файлы обычно повреждены. Их цель — сохранить данные, которые в случае исправления ошибок на файловой системе были бы совсем утеряны.

Папка /lost+found может быть пустой (если не было проблем с диском). В случае если там есть файлы, то вы можете их просмотреть и, при желании, удалить.

9. Очистка PHP сессий

Иногда веб-приложений из-за бага могут создать бесчисленное количество сессий. Проверьте директорию /var/lib/php/sessions/ на предмет слишком большого количества файлов.

(БОНУС) 10. Проанализируйте файлы Docker

Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:

Заключение

Итак, мы рассмотрели, какие файлы можно удалить из Linux практически без потери информации. Кроме рассмотренных директорий, которые можно очистить как на удалённой системе с веб-сервером, так и на домашнем компьютере, пользователям с графическим рабочим столом следует обратить внимание на такие директории как:

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

Если я пропустил какие-то директории с файлами, которые можно безболезненно удалить, то пишите их в комментариях!


Мануал

Иногда вам может понадобиться удалить или форматировать жесткий диск для некоторых операций.

Наиболее распространенным вариантом использования для полного cтирания устройства будет то, когда устройство будет clfyj или продано, поскольку это действительно важно для защиты данных.

Есть несколько команд, которые могут помочь вам выполнить эти операции в Linux.

Команда dd может помочь вам скопировать и преобразовать файл.

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

Он предлагает некоторые операторы, которые вы можете использовать, чтобы указать, какое форматирование вы хотите.

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

Вы можете стереть диск, записав новые данные за каждый бит.

Чтобы еще больше усложнить процесс восстановления, мы будем записывать весь диск со случайными данными.

2) shred

Команда shred используется для многократной перезаписи указанных файлов и затруднения для восстановления данных.

Синтаксис приведен ниже.

Команда также перезаписывает данные в файле или целое устройство со случайными битами, что почти невозможно восстановить.

Эта команда навсегда удаляет данные.

Команда имеет некоторые параметры, которые можно использовать для очистки диска:

-f изменяет разрешения
-n (iterations = N) перезаписывает N раз вместо значения по умолчанию (3)
-s (size = N) определяет количество байтов,
-u усекает и удаляет файлы после перезаписи
-v показывает подробную информацию о прогрессе
-x не округляет размеры файлов до следующего полного блока
-z добавляет окончательную перезапись с нулями
-u удаляет файл после перезаписи

Итак, чтобы стереть раздел, вы можете использовать:

Можно использовать shred со случайными данными, как показано ниже.

3) wipe

Команда wipe может использоваться для безопасного удаления файлов с магнитных носителей.

Вы можете использовать команду wipe для очистки данных на диске.

Команда по умолчанию отсутствует, ее необходимо установить.

На Ubuntu 17.04

На Centos 7 вам нужно сначала скачать rpmforge

Теперь установим утилиту wipe

Вы можете стереть раздел, как показано ниже:

4) scrub

Команда scrub может использоваться для перезаписи данных с использованием шаблонов.

Команда по умолчанию недоступна, ее необходимо установить в вашей системе Linux.

Читайте также: