duf: просмотр использования диска в Linux
Что такое duf?
duf (Disk Usage/Free) — это бесплатная и открытая консольная утилита, которая показывает использование дискового пространства и свободное место прямо в терминале. Коротко — duf объединяет идеи df и du в одном инструменте и отображает данные в удобной табличной форме.
Определение: duf — компактный инструмент для быстрого анализа состояния дисков и точек монтирования в системах Unix-подобного типа.

Почему стоит выбрать duf?
duf выгодно отличается удобочитаемым и наглядным выводом, гибкими возможностями фильтрации и сортировки, а также экспортом результатов в формат JSON для интеграции с другими инструментами. Основные преимущества:
- Цветной и понятный табличный вывод.
- Поддержка тем оформления терминала (light/dark и др.).
- Фильтры по типам файловых систем, точкам монтирования и категориям (local, network и пр.).
- Сортировка по любым колонкам.
- Экспорт в JSON для последующей обработки.
Краткая памятка — когда duf полезен
- Быстрая проверка заполнения дисков на сервере.
- Получение читабельной таблицы с удобной сортировкой.
- Экспорт состояния для мониторинга и отчётности.
- Замена единичных вызовов df/du скриптами с JSON-выводом.
Как установить duf на Linux
Ниже — проверенные способы установки в зависимости от дистрибутива.
1. Установка через DEB или RPM пакет
Разработчики публикуют готовые пакеты на странице релизов GitHub. Выберите файл с расширением .deb для Debian/Ubuntu-подобных систем или .rpm для RHEL/Fedora/CentOS-подобных.
Ссылка для скачивания: duf Package (страница релизов на GitHub)
Если предпочитаете загрузку из терминала, убедитесь, что wget установлен:
wget --versionПример загрузки пакета для Debian (версию уточните на странице релизов):
wget https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.debДля RHEL-подобных систем:
wget https://github.com/muesli/duf/releases/download/v0.6.2/duf_0.6.2_linux_amd64.rpmУстановка пакета:
На Debian/Ubuntu:
sudo dpkg -i duf_0.x.x_linux_amd64.debНа RHEL/Fedora/CentOS:
sudo rpm -i duf_0.x.x_linux_amd64.rpmПользователи Arch Linux могут установить duf из AUR через помощник:
yay -S dufПримечание: замените 0.x.x на актуальную версию из релизов.
2. Установка через Snap
Если в системе настроен Snap, установите пакет duf-utility:
snap --version
sudo snap install duf-utilityЕсли snap отсутствует, установите его через менеджер пакетов вашего дистрибутива.
3. Сборка из исходников
duf написан на Go. Чтобы собрать из исходников, требуется установленный Go и git:
git clone https://github.com/muesli/duf.git
cd duf
go buildПосле сборки в текущей директории появится исполняемый файл duf.
Быстрый запуск и базовые команды
После установки выполните в терминале:
dufКоманда покажет список устройств и точек монтирования в виде таблицы.

Можно ограничить вывод конкретной точкой монтирования:
duf /
duf /homeПоказать все файловые системы, включая псевдо и недоступные:
duf --allФильтрация результатов
duf поддерживает фильтрацию по таблицам, файловым системам и точкам монтирования.
- Показать только таблицы local и network:
duf --only local,network- Скрыть таблицы local и network:
duf --hide local,network
- Показать только указанные типы файловых систем:
duf --only-fs tmpfs,vfat- Скрыть указанные типы файловых систем:
duf --hide-fs tmpfs,vfat- Показать только конкретные точки монтирования:
duf --only-mp /,/home- Скрыть точки монтирования:
duf --hide-mp /,/homeСовет: комбинируйте –only/–hide с –json для скриптовой обработки только нужных записей.
Сортировка и видимые колонки
- Сортировать по размеру:
duf --sort size
- Показать только колонки SIZE и AVAIL:
duf --output size,avail- Скрыть колонки и выбрать другие — используйте –output с перечислением нужных колонок.
Просмотр информации по inode
По умолчанию duf показывает данные по блокам. Чтобы увидеть информацию по inode (число файлов), используйте:
duf --inodesПонимание: блоки — это единицы хранения, inodes — метаданные файлов (структура, владельцы, права). В некоторых сценариях отсутствие inodes (полный inode) означает, что на диске нельзя создать новые файлы, несмотря на свободное место.
Экспорт результатов в JSON
Для интеграции в инструменты мониторинга или автоматизации применяйте экспорт в JSON:
duf --json > duf-output.json
Совет: перед передачей данных в систему агрегации можно использовать jq для фильтрации и преобразования.
Темы терминала
duf автоматически определяет цветовую схему терминала. При необходимости принудительно укажите тему:
duf --theme light
duf --theme darkПолучение справки
Если нужен синтаксис и доступные опции:
duf --help
Сравнение: df vs du vs duf
| Команда | Что показывает | Удобство чтения | Формат вывода | Подходит для |
|---|---|---|---|---|
| df | Использование блоков по файловым системам | Сырой, компактный | Текст | Быстрая проверка свободного места на ФС |
| du | Использование пространства по файлам/директориям | Зависит от опций | Текст | Анализ конкретных директорий |
| duf | Объединённый обзор ФС с фильтрами, сортировкой и цветом | Читаемый, наглядный | Текст/JSON | Быстрая диагностика и экспорт в JSON |
Когда duf не заменит du
- Если нужно детализированное суммирование по вложенным каталогам (du -sh */). duf удобен для обзора ФС, но для глубокого анализа отдельных директорий удобнее du.
Практические сценарии и рецепты
Ниже — набор полезных практических примеров, готовых к использованию.
Быстрая проверка перед развёртыванием
duf --only local --sort percentИспользуйте для оценки загрузки локальных дисков и принятия решения о переносе данных.
Экспорт состояния всех дисков в JSON и отправка в удалённый лог-сервер
duf --json | curl -X POST -H "Content-Type: application/json" -d @- https://log.example.com/dufАвтоматическое оповещение при заполнении > 85% (пример скрипта)
#!/bin/bash
THRESHOLD=85
PCT=$(duf --json | jq '.[] | .percent' | sort -nr | head -n1 | tr -d '"%')
if [ "$PCT" -ge "$THRESHOLD" ]; then
echo "Disk usage is ${PCT}%" | mail -s "Disk alert" admin@example.com
fiSOP — стандартная процедура установки и проверки duf (короткий playbook)
- Проверить наличие необходимых инструментов: wget, snap или go.
- Скачать пакет или собрать из исходников.
- Установить пакет и проверить версию: duf –version.
- Выполнить duf для быстрого обзора: duf –all.
- Настроить регулярную задачу (cron/systemd timer) для экспорта JSON и передачи в систему мониторинга.
- Добавить тесты и алерты при достижении порогов.
План действий при инциденте «Диск заполнен» (runbook)
- Выполнить duf –sort percent чтобы найти проблемные ФС.
- Для подозрительных точек применить du -sh /path/* чтобы найти большие каталоги.
- Очистить временные файлы и логи: journalctl –vacuum-time=7d, rm -rf /tmp/* (с осторожностью).
- При критическом состоянии — перенести данные на другой диск или откатить недавние операции записи.
- Проверить inode: duf –inodes.
- Зафиксировать действия в журнале инцидента и уведомить заинтересованных лиц.
Чек-листы по ролям
Администратор:
- Проверил установку duf и версию.
- Настроил регулярный экспорт состояния.
- Определил пороги и алерты.
DevOps-инженер:
- Интегрировал duf в пайплайн мониторинга.
- Написал скрипт оповещений по порогам.
- Обеспечил безопасную ротацию логов.
Новый пользователь Linux:
- Запустил duf для обзора.
- Изучил –help и основные флаги.
- Научился читать столбцы SIZE и AVAIL.
Сниппет — шпаргалка по ключевым флагам duf
- –all — показать все ФС
- –only / –hide — фильтрация таблиц
- –only-fs / –hide-fs — фильтрация по типам ФС
- –only-mp / –hide-mp — фильтрация по точкам монтирования
- –sort <колонка> — сортировка
- –output <колонки> — выбрать колонки
- –inodes — показать inode
- –json — экспорт в JSON
- –theme
— тема
Ментальные модели и эвристики для работы с дисками
- «Процент — это экстренная подсказка»: 70–85% — пора планировать очистку; >90% — действовать немедленно.
- «Свободные inodes важнее свободного пространства»: если нет inodes, новые файлы создать нельзя даже при наличии свободных блоков.
- «ФС и точки монтирования — разные уровни» : сначала смотрим ФС (duf), затем углубляемся в каталоги (du).
Уровни зрелости использования duf в организации
- Уровень 1 — ручные проверки оператора (запуск duf локально).
- Уровень 2 — регулярный экспорт JSON и простые алерты.
- Уровень 3 — интеграция с системой мониторинга, автоматические действия при порогах.
Советы по миграции и совместимости
- Проверяйте версии пакетов перед установкой, особенно если используете пакетный менеджер дистрибутива.
- На серверах с ограниченным набором утилит удобнее установить duf как статически скомпилированный бинарник.
- Если используете системы мониторинга, убедитесь, что JSON-структура совместима с ожидаемым форматом.
Критерии приёмки
- duf успешно установлен и duf –version возвращает корректную версию.
- Выполнение duf не вызывает ошибок и показывает все ожидаемые точки монтирования.
- Экспорт в JSON проходит без потерь полей и может быть прочитан скриптами.
Типичные ошибки и их решение
- Проблема: duf не найден после установки через dpkg. Решение: выполнить sudo apt-get install -f для установки зависимостей и повторить установку.
- Проблема: некорректная цветовая схема. Решение: использовать –theme light/dark.
- Проблема: не видит сетевые ФС. Причины: права доступа, временные сети, точки монтирования не активны.
Пример применения в CI/CD
Добавьте шаг в конвейер, который перед деплоем проверяет свободный объём:
- name: Проверить дисковое пространство
run: |
duf --only local --json > duf-ci.json
python scripts/check_disk.py duf-ci.jsonЕсли скрипт обнаружит заполнение выше допустимого порога — сборка прервётся.
Короткий глоссарий
- ФС — файловая система.
- Точка монтирования — директория, куда присоединён раздел или устройство.
- Inode — структура, содержащая метаданные файла.
- Блок — минимальная единица хранения на диске.
FAQ
Как обновить duf до последней версии?
Обновление зависит от способа установки: если вы устанавливали через пакет, скачайте новый .deb/.rpm и повторите установку; через snap — sudo snap refresh duf-utility; из исходников — git pull && go build.
Можно ли использовать duf на серверах без GUI?
Да. duf полностью работает в терминале и предназначен для серверных и десктопных окружений.
duf заменит ли полностью du и df?
Нет, duf предназначен для обзора и экспорта состояния ФС. Для детального анализа отдельных директорий всё ещё полезен du.
Заключение
duf — компактный и удобный инструмент для мониторинга дискового пространства. Он экономит время при диагностике состояния ФС, упрощает экспорт данных и легко интегрируется в автоматизированные процессы мониторинга. Начните с простой установки, добавьте регулярный экспорт JSON и настройте алерты — и вы получите надёжный базовый слой контроля пространcтва диска.
Ключевые действия: установить duf, прогнать duf –all, настроить экспорт и оповещения.
Похожие материалы
Что такое Group Policy в Windows и как им управлять
Диспетчер буфера обмена Windows 11 — как пользоваться
Как заглушать рекламу в Spotify
Спуфинг: виды атак и защита
Перемещение папок пользователей в Windows 10