Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Файловые системы Linux

Куда подевалось дисковое пространство?

Оригинал: Where has my disk space gone?
Автор: Federico Kereki, 17 декабря 2008 г.
Перевод: В.А.Костромин, 6 января 2009 г.

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

Программа Filelight разработана для KDE, но будет работать и в других рабочих средах. Последняя версия датирована 20-м сентября 2006, хотя версия для KDE 4 обещана (не очень твердо): автор пока "примеривается" ("getting round to it"). Filelight входит в состав большинства дистрибутивов, так что может быть легко установлена соответствующим пакетным менеджером. Она может также работать в качестве плагина для Konqueror. Если вы ее установили, в Konqueror появляется новый режим просмотра: check View -> View Mode -> Radialmap View.

В Filelight ваше дисковое пространство представляется круговой диаграммой, а каждая директория - сектором, пропорциональным размеру дискового пространства, занимаемого этой директорией. Сектора-директории отличаются цветом. Подкаталоги отображаются в виде концентрических колец, окружающих основную диаграмму. Если в подкаталоге содержится слишком много файлов, в соответствующем месте отображается черный треугольник. Помещая указатель мыши на какой-либо сектор диаграммы, вы видите всплывающее окно, в котором показан полный путь к соотвествующей директории, ее размер (в мегабайтах и в процентах от общего объема диска) и число файлов в ней. Щелчок мышкой на директории действует рекурсивно: выбранная директория отбражается в центре круговой диаграммы, а по окружности вы видите детали. Щелчок правой кнопкой мыши по какому-либо сектору вызывает появление контекстного меню, с помощью которого можно удалить каталог или отдельный файл.

Filelight имеет немного конфигурационных параметров, но вы можете задать используемые цвета, указать, надо ли отображать мелкие файлы, и определить еще некоторые детали отображения. Вы можете также указать, что некоторые каталоги (такие как /sys или /proc) не будут сканироваться.

Philesight - это клон Filelight, написанный на Ruby и ориентированный на работу через Web. Для того, чтобы запустить Philesight Вам нужно иметь сервер, поддерживающий CGI; требования программы и инструкции по установке смотрите на веб-сайте программы. Щелчком по каталогу вы можете раскрыть его, и, в силу того, что программа ориентирована на Web, вы получаете возможность удаленно проверить наличие свободного места на хосте. Но если свободного места недостаточно, для исправления ситуации вам потребуется другой инструмент.

JDiskReport подобен Filelight, но имеет то преимущество, что может работать на других операционных системах, поскольку написан на Java. Установка производится легко; просто скачайте zip-архив с последней версией, разархивируйте и выполните команду
java -jar JDiskReport-1.3.1.jar
(для текущей версии). При первом запуске программа попросит принять условия лицензионного соглашения, затем спросит вас, какой каталог вы хотите анализировать и просканирует его. Некоторые каталоги (такие как /proc) автоматически исключаются; чтобы узнать, какие именно, перейдите к File -> Preferences -> Filter.

JDiskReport показывает анализируемые каталоги как круговые диаграммы, причем самые большие подкаталоги отображаются как индивидульные слои, а меньшие каталоги объединяются и показываются на отдельном слое. Это может оказаться проблемой, поскольку вы не имеете возможности открыть и изучить подкаталоги, которые объединены в этот слой. Если вы хотите получить более подробную картину (чтобы меньшее количество файлов попало в общий слой), перейдите в File -> Preferences -> Charting и попробуйте поменять задаваемые здесь параметры.

Щелчок по слою вызывает переход на нижний уровень и отображение на диаграмме состава директории, соответствующей этому слою. Дерево каталогов отображается в левой части окна программы. Щелчком по имени каталога Вы можете перейти к его диаграмме. В нижней части экрана имеется маленькая иконка "view", позволяющая изменить тип диаграммы на один из следующих вариантов: круговую диаграмму, подобную той, что используется в Filelight, гистограмму, либо просто список файлов. Клетка для отметки галочкой (checkbox) позволяет скрыть или показать отдельные файлы; каталоги отображаются всегда.

JDiskReport имеет и другие функции. Вкладка Top 50 позволяет отобразить список из 50 самых больших (или самых старых, или самых новых) файлов. Вкладки Size Dist, Modified и Type показывают гистограммы по размеру, дате или типу файлов, которые информативны, но не очень полезны. Иконки на панели инструментов позволяют перемещаться по каталогам, обновлять результаты сканирования и сортировать результаты различными способами. Однако вы не сможете удалять файлы непосредственно из JDiskReport, что несколько раздражает; после того, как вы решили, что надо удалить какой-то файл, вы вынуждены прибегнуть к какому-то другому инструменту для освобождения пространства.

Все рассмотренные выше программы использовали для представления диского пространства круговые диаграммы. В отличие от них KDirStat представляет занятое простанство в виде прямоугольников и квадратов, используя технику карт-деревьев (treemapping). Весь каталог представляется прямоугольником внутри которого размещаются другие прямоугольники и квадраты, площадь которых пропорциональна объему подкаталогов и файлов основного каталога. Это позволяет с одного взгляда выявить самые большие подкаталоги.

Хотя KDirStat - приложение из KDE, его можно запустить и в других средах и даже существует клон для Windows - WinDirStat. Поскольку эта программа включена во многие дистрибутивы, инсталляция его не является проблемой. Когда запускаешь эту программу, появляется запрос, какую директорию нужно исследовать. Во время процесса расчета объемов по экрану бегают фигурки Pacman-ов (их можно отключить через меню "Настройки - Конфигурировать WinDirStat - Список каталогов". После того, как карта будет создана, вы можете щелкнуть по любому прямоугольнику для получения информации о соответствующем файле. Вы можете также отправить его в корзину или удалить безвозвратно. Можно также определить другие операции над выделенным файлом; для этого используйте вкладку "Очистка" в меню "Настройки - Конфигурировать WinDirStat", где имеется строка, в которую вы можете ввести собственную команду.

FSView - это плагин к Konqueror, который позволяет получить аналогичную картинку: перейдите в любой каталог, выберите в меню View -> View Mode -> File Size View, и вы получите карту выбранной директории. Щелчок по квадратику позволит вам перейти в соответствующий каталог, вы можете также удалить какие-то файлы для освобождения дискового пространства.

Baobab (сейчас он стал называться Disk Usage Analyzer) предоставляет два альтернативных стиля: простой список с указание процентов или карту, аналогичную используемым в предыдущих программах. Однако она использует неудачный алгоритм, делающий навигацию сложной. Помешая указатель мыши над прямоугольником, вы получаете подсказку с именем папки, а щелчок правой кнопкой приводит к появлению меню, выбрав в нем пункт Open вы можете открыть файловый менеджер, с помощью которого удалить какие-то файлы. Имеется возможность задать устройства, которые будет сканироваться программой.

Консольные команды

Если вас не интересует объем конкретных директорий, но вы хотите знать, сколько у вас осталось свободного пространства на диске, вы можете воспользоваться консольной командой
df -hT
которая выводит листинг, показывающий все файловые системы, их тип, общее и доступное пространство. Для этой команды существует несколько графических оболочек, представляющих ту же информацию в более удобном виде. Например, Frees - это скрипт на языке Python, который просто переформатирует вывод df, но позволяет исключить из сканирования некоторые диски и задать просмотр только тех колонок, которые вы хотите видеть. Объем общего пространства также вычисляется и показывается. KDiskFree делает практически то же самое, но позволяет, кроме того, монтировать и размонтировать устройства. Наконец, KwikDisk - это апплет к KDiskFree, который размещается в системном трее и может предупредить вас о том, что диск скоро переполнится.
Если вы хотите получить более специфическую информацию, вы можете составить цепочку из нескольких команд в классическом Unix-стиле, например, такого вида
du | sort -rn | head -n 20
При этом будет вычислен общий объем имеющегося у вас пространства, а также объем, занимаемый каждым каталогом, затем результат сортируется по убыванию объемов и, наконец, показываются только первые 20 строк упорядоченного списка. Подобные команды позволяют вам определить, кто является "пожирателем пространства", но оставляют на ваше усмотрение способы решения этой проблемы.

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

Оригинальная статья находится здесь: http://www.linux.com/feature/154908



Средняя оценка 4 при 1 голосовавших