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

UnixForum






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

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

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

Чистим файловую систему с помощью FSlint

Оригинал: Tidy up your filesystem with FSlint
Автор: Shashank Sharma
Дата: 30 октября 2007
Перевод: Александр Тарасов aka oioki
Дата перевода: 6 ноября 2007

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

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

Пользователи Fedora и Ubuntu могут установить FSlint с помощью yum и apt-get соответственно. После установки программу можно запустить выбрав Приложения -> Системные (если у вас Fedora 7) либо с помощью консольной команды fslint-gui. Тем, кто больше доверяет консоли, можно посоветовать ввести команду /usr/share/fslint/fslint/fslint, она выведет все файлы, которые FSlint может искать. На вашем экране появится список файлов с неправильными идентификаторами и конфликтующими именами, временные файлы, пустые каталоги, дубликаты и какой-то файл со странным названием lint. Никаких пояснений по этой информации не дается, поэтому вам нужно задействовать все свои навыки обращения с Linux, чтобы не поломать свою систему. Взгляните, к примеру, на то, что FSlint отнес к дубликатам:

.openoffice.org2.0/user/config/modern_en-US.sog
.openoffice.org2.0/user/config/modern_sk.sog
Lotus/XPD/.sodc/user/config/modern.sog
.gnome2/share/cursor-fonts/fonts.dir
.gnome2/share/fonts/fonts.dir
.openoffice.org2.0/user/config/cmyk.soc
Lotus/XPD/.sodc/user/config/cmyk.soc

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

.openoffice.org2.0/user/config/palette_bg.soc
.openoffice.org2.0/user/config/palette_cs.soc
.openoffice.org2.0/user/config/palette_da.soc
.openoffice.org2.0/user/config/palette_de.soc
.openoffice.org2.0/user/config/palette_en-US.soc
.openoffice.org2.0/user/config/palette_es.soc

Если вы хотите, чтобы FSlint показал лишь дубликаты, используйте средство findup. Команда /usr/share/fslint/fslint/findup каталог выведет список всех дубликатов в указанном каталоге. Аналогично можно использовать и другие программы пакета. Как я уже говорил, документации по ним нет, так что придется во всем разбираться самому. Я запустил fslint-gui и соотнес, что они делают с их именами. Надо сказать, разработчиками были выбраны не самые удачные имена программ. Но тем не менее, вот что выводит каждая программа:

findup - список файлов с одинаковыми именами
findsn - символьные ссылки
finded - все пустые каталоги
findtf - все временные файлы
findns - бинарные файлы, содержащие отладочную информацию (non-stripped)
findid - все файлы с неверными идентификаторами
findws - все файлы с избыточным числом пробелов в своем имени
findbl - "висячие" символьные ссылки
findnl - все файлы с некорректными именами
findul - все неиспользуемые библиотеки

Список консольных команд можно посмотреть, введя /usr/share/fslint/fslint/fslint --help.

Задействуем fslint-gui

Если консоль - слишком трудно для вас, попробуйте fslint-gui. В верхней части окна есть две вкладки - "Путь для поиска" (Search) и "Продвинутые параметры поиска" (Advanced search parameters). По умолчанию программа открывает первую вкладку, а окно разделяется на несколько панелей. В самой верхней панели можно указать список каталогов, в которых следует произвести поиск. По умолчанию выбирается ваш домашний каталог. FSlint проходит рекурсивно по указанным каталогам, т.е. вам не нужно указывать /home/mydir/stuff/, если /home/mydir/ уже включено в путь поиска. Чтобы отменить рекурсию, уберите галочку с опции "рекурсивно?" (recurse?).


Графическая оболочка FSlint

В левой панели находится список элементов, которые FSlint пытается найти в файловой системе. Для просмотра всех пустых каталогов в выбранном каталоге, выберите "Пустые директории" (Empty directories) и нажмите кнопку "Поиск" (Find). FSlint приступит к работе и выведет список искомых каталогов. Процесс поиска индицируется небольшой надписью "Поиск..." (Searching...) под кнопкой "Поиск". Чтобы удалить файл или каталог, выберите файл и нажмите "Удалить" (Delete). Кнопка "Сохранить" (Save) предназначена не для сохранения файла, но для сохранения результатов поиска. К примеру, если выбрать 5 файлов из списка найденного и нажать "Сохранить", FSlint спросит у вас, куда сохранить выбранное подмножество имен файлов. Еще одна кнопка - "Выбор" (Select), при нажатии на ней выпадает список, в котором будут представлены следующие варианты: "Выбрать по маске" (Select using wildcards), "Отменить выбор по маске" (Unselect using wildcards), "Инвертировать выбор" (Toggle selection), "Отменить выбор" (Unselect all). Для выбора или отмены выбора можно использовать любую маску. К примеру, чтобы выбрать все файлы, в имени которых содержится ru, используйте маску *ru*, а чтобы найти файлы, имена которых состоят из 5 символов, используйте ?????.

Для некоторых категорий с левой панели можно указывать дополнительные параметры. К примеру, при выборе "Временные файлы" (Temp files) можно указывать время, по прошествии которого файлы будут считаться устаревшими. Также FSlint может группировать символьные ссылки по различным категориям, таким как висячие, подозрительные, относительные, абсолютные или избыточное именование. Эти категории отображаются при выборе "Ошибки символических ссылок". FSlint не обновляет результаты поиска при выборе категории, так что придется нажимать "Поиск" для каждой из них.

Можно передать свои аргументы команде find, которую FSlint использует для поиска файлов. Делается это во вкладке "Продвинутые параметры поиска".

Заключение

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