Чем забит диск linux

Записки IT специалиста

Linux — начинающим. Как узнать чем занято место на диске?

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

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

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

И когда встает вопрос: а собственно, чем это занято место на диске? Ответить на него бывает непросто, нужен анализ использования диска и сегодня мы рассмотрим, как это можно сделать.

Утилиты df и du

Начнем с самых основ, эти утилиты может и не радуют удобством, но они есть в любом Linux-дистрибутиве и просто делают свою работу. Начнем с df, эта утилита позволяет получить отчет о доступном и использованном пространстве на файловых системах. Использовать ее просто:

Ключ -h (—human-readable) выводит данные в удобочитаемом формате, т.е. мегабайтах и гигабайтах, также можете использовать ключ -H, он делает тоже самое, но с использованием системы СИ, т.е. в расчетах используется 1000 вместо 1024.

linux-disk-space-001.png

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

Ниже показана часть такого вывода:

Читайте также:  Скольки битная система linux

linux-disk-space-002.png

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

Ну вот, совсем уже другое дело. Как можем увидеть, больше всего места занимает директория /var:

linux-disk-space-003.png

Теперь проанализируем персонально ее:

linux-disk-space-004.png

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

Утилита ncdu

Все это хорошо, но несколько долго и муторно, может быть есть способ проще? Есть, это утилита ncdu (NCurse Disk Usage), которая представляет удобный интерактивный инструмент с псевдографическим интерфейсом. Для установки в DEB-cистемах используйте команду:

Если запустить утилиту без параметров, то она проанализирует текущее расположение, поэтому мы выполним:

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

linux-disk-space-005.png

Здесь же сразу вы можете получить дополнительную информацию, так значок @ слева обозначает что перед нами символическая ссылка, а буква e (empty) — указывает на пустую директорию. Как мы уже говорили, система интерактивна, для навигации следует использовать стрелки, а для перехода с уровня на уровень — Enter . Но это еще не все, вы можете сразу отсюда удалять файлы простым нажатием на d , но при этом вам придется явно подтвердить удаление, что исключает случайные срабатывания.

linux-disk-space-006.png

Для быстрого знакомства со всеми возможностями утилиты всегда можно вызвать встроенную справку, нажав ? . Все это указано прямо в шапке утилиты.

linux-disk-space-007.png

На наш взгляд, данная утилита заслуживает того, чтобы стать частью джентельменского набора любого администратора, на своих серверах мы устанавливаем ее по умолчанию. Кстати, если вы работаете с WSL (Windows Subsystem for Linux), то можете с помощью ncdu выполнять анализ файловых систем Windows.

Инструменты графической оболочки

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

linux-disk-space-008.png

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

linux-disk-space-009.png

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

Читайте также:  How to install tar files in linux

linux-disk-space-010.png

Что именно использовать из предложенных вариантов — личное дело каждого. Linux тем и хорош, что предоставляет множество разных путей для решения одной и той же задачи и нельзя сказать, что какой-то из этих путей правильный, а остальные нет. Все они ведут к одной цели.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Дополнительные материалы:

  1. Linux — начинающим. Часть 1. Первое знакомство
  2. Linux — начинающим. Часть 2. Установка Ubuntu Server
  3. Linux — начинающим. Часть 3. Установка Debian 7 для сервера
  4. Linux — начинающим. Часть 4. Работаем с файловой системой. Теория
  5. Linux — начинающим. Часть 4. Работаем с файловой системой. Практика
  6. Linux — начинающим. Часть 5. Управление пакетами в Debian и Ubuntu
  7. Linux — начинающим. Часть 6. Управление пользователями и группами. Теория
  8. Linux — начинающим. Часть 6. Управление пользователями и группами. Практика
  9. Linux — начинающим. Часть 7. Потоки, перенаправление потоков, конвейер
  10. Настройка языка и региональных стандартов в Ubuntu Server/Debian
  11. Используем APT Pinning для закрепления пакетов в Debian и Ubuntu
  12. Linux — начинающим. Что такое Load Average и какую информацию он несет
  13. Обновляем снятый с поддержки дистрибутив Ubuntu
  14. Linux — начинающим. Обновление Debian до следующего выпуска
  15. Осваиваем эффективную работу в Midnight Commander
  16. Linux — начинающим. Что такое пространства подкачки и как они работают
  17. Linux — начинающим. Screen — многозадачность в терминале и ни единого разрыва!
  18. Linux — начинающим. Как узнать температуру процессора и накопителей
  19. Linux — начинающим. Как получить информацию об оборудовании ПК
  20. Linux — начинающим. Установка и первоначальная настройка Debian 11 для сервера

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Подпишись на наш Telegram-канал

Или подпишись на наш Телеграм-канал:

Источник

Закончилось место на сервере Linux. Как узнать, чем занято?

Начинающие мастера часто сталкиваются с проблемой, когда заканчивается свободное место на хостинге или VPS с Linux. При этом объёмных работ по наполнению сайтов, работающих на сервере, не производилось. У моего коллеги был случай, когда из-за нехватки места не могли создастся файлы сессий на сайте. Давайте разберёмся, как это предотвратить на реальном примере.

Как узнать в linux, сколько осталось свободного места

Для того, чтобы узнать сколько место осталось на сервере, выполните команду:

Читайте также:  На каком языке пишут по для linux

Данная команда отобразит информацию о свободном пространстве на жёстком диске в гигабайтах. Кроме того, программа вычисляет процент занятого пространства, чтоб облегчить восприятие. Если занято более 90% — уже стоит беспокоиться.

Свободное место в Linux

Печальная картина — sda1 у нас занят 21 ГБ из 24. Место скоро закончится, но лучше это предотвратить.

Как узнать, чем занято место на сервере

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

Поищем 10 самых больших файлов на сервере, выполнив команду:

find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk ''

Нашли самые объёмные файлы

Поиск больших файлов в linux

Видим, что самый большой файл лежит в папке mysql и имеет расширение MYD. Его трогать нельзя, так как в этом файлы хранятся данные для базы данных MySQL. Это относится и к файлам ipdata1 и ib_logfile*.

В файле selogs.txt хранилась информация о ботах поисковых систем, приходящих на сайт. Такие файлы можно безболезненно удалять, выполнив команду:

rm /var/www/****/protected/logs/selogs.txt

Файлы логов btmp.* содержат в себе информацию о неудачных попытках входа в систему. Возможно вас пытаются взломать, подобрав пароль методом bruteforce. Чтобы себя обезопасить, рекомендую настроить авторизация по ssh ключу. Изучив содержимое этих файлов (при необходимости), их тоже можно удалить.

Очистка linux системы с помощью утилиты apt

Если у вас дистрибутив семейства Debian, можете удалить ненужные пакеты и кэш с помощью утилиты apt.

Перед установкой какого-либо пакета через apt-get, он кэшируется в локальный репозиторий. Объём сохранённых deb пакетов может достигать внушительных размеров. Команда команда apt-get clean удалит все закэшированные deb пакеты и освободит обширное пространство на диске.

При установке программы, вмести с ней в linux устанавливаются дополнительные пакеты, которые использует эта программа. Если программа была удалена, то её зависимости автоматически не удаляются. Данная команда и предназначена для удаления этих пакетов. Но если доля зависимостей ваших программ может быть невелико, то размер зависимостей устаревших версий ядра операционной системы linux может быть огромным. Выполните эту команду и увидите эффект.

Освобождение места с помощью утилиты yum

В семействе дистрибутивов RedHat аналогичные операции можно произвести с помощью следующих команд:

 yum clean packages yum autoremove 

Детальное исследование занятого места на дисках в Linux

Для детального исследования занятого пространства в linux рекомендую использовать утилиту ncdu. Установить ее можно командой:

Если у вас yum, вместо apt-get, то:

После установки перейдите в любую папку и выполните в консоли команду:

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

Результат работы программы ncdu

Таким образом, можно искать папки, занимающие большие объёмы дискового пространства.

Источник

Оцените статью
Adblock
detector