"Clean up your filesystems with fslint (http://www.linux.com/feature/149490)" - использование fslint (http://www.pixelbeat.org/fslint/) для чистки мусора в файловой системе Linux. Например, программа находит дубликаты файлов, файлы с некорректными именами (битые UTF-8 символы), ошибочные символические ссылки, пустые директории и бинарные файлы с не удаленной отладочной информацией.URL: http://www.linux.com/feature/149490
Новость: http://www.opennet.me/opennews/art.shtml?num=18280
... А так же оптимизатор реестра, дефрагментатор, scandisk, Spy/Mail/Joke/ware сканеры, ускоритель интернета,...... :)
оффтопик:
А меня всегда радовала NTFS-3G, при помощи которой можно создать файл или папку с символами ":" и т.д. и которые нельзя будет удалить из под винды :)
А кто что может посоветовать для поиска дубликатов для консоли, кроме названного fslint?
>А кто что может посоветовать для поиска дубликатов для консоли, кроме названного
>fslint?find и diff.
т.е. ищем через find и сравниваем через diff...
P.S.
Как вариант можно еще через md5, sha1 хэши сранивать, по идее у одинаковых фалов они должны быть одинаковы. sha1sum или md5sum. :-)
>т.е. ищем через find и сравниваем через diff...
>P.S.
>Как вариант можно еще через md5, sha1 хэши сранивать, по идее у
>одинаковых фалов они должны быть одинаковы. sha1sum или md5sum. :-)ИМХО - слишком круто. Достаточно CRC32. Хотя я могу и ошибаться.
>find и diff.Ну вы и извращенцы.Это ж будет медленно так что повеситься можно пока дождешься что каждый файл сравнится с каждым.Нормальные дуп-килялки делают иначе - для файлов считается хэш.Сравниваются хэши между собой, файлы с одинаковыми считаются одинаковыми (или кандидатами на одинаковость если параноя).В результате каждый файл читается только ОДИН раз... а с вашим методом - это ж ппц.
Чтоб работать с хэшем его надо сначала создать :)
>Чтоб работать с хэшем его надо сначала создать :)Логично, но для чистилок-дуполовок с этим никаких проблем: 1 проход по диску - хэширование и далее разбор результатов путем сравнения хэшей.
Если с диффом - допустим, у нас есть файлы A, B, C и D.Нас волнует не являются ли они дупами?С диффом придется сравнить A с B, C и D.Потом B с C и D.Потом C и D.Итого 9 чтений файлов с диска на 4 файла.А если мы посчитаем хэш и будем сравнивать хранящиеся в RAM хэши - обойдемся 4-я чтениями с диска.Даже для 4 файлов экономия на чтении диска (самая тормозная часть работы, собссно) - более чем *вдвое*.Что будет на реальной ФС... если сравнивать все файлы друг с другом диффом - а вы не поседеете пока сравнение закончится?
>А кто что может посоветовать для поиска дубликатов для консоли, кроме названного
>fslint?Да нет, никто не против. Это же куча скриптов собранная воедино и каждый сам для себя делает такие вещи.
1. Если у меня в /usr/src/linux-* штук 17 исходников ядер, что же будет после прохода такой прогой.
2. Некоторые пустые каталоги нужны! К примеру дерево кэша squid_a, в /var/ тоже много пустых.
3. Линки никуда не указывающие, очень помогают разабраться в глюках системы.
Именно тот факт, что они никуда не указывают, сигнализирует о том,
что система выходит из под контроля, например вечно отсутствующие линки java и gcc
в каталоге /etc/alternatives/В общем, такие проги и утилитки, как вставные челюсти, для каждого делают свои! :)
>1. Если у меня в /usr/src/linux-* штук 17 исходников ядер, что же
>будет после прохода такой прогой.Для этого в правильных дуполовках бывают исключаемые пути :) В принципе не вижу большого криминала убить нафиг дупы, заменив их симлинками на один оригинал.Сэкономится туева хуча места а функционал имхо не пострадает.Единственное но - оригинал надо выбирать аккуратно а то убьешь вот так старое ядро, а тут то и наступят опаньки... в общем потенциально грабельки есть. Human factor называются :-)
>2. Некоторые пустые каталоги нужны!
Дык это, исключения что, не в моде?
>3. Линки никуда не указывающие, очень помогают разабраться в глюках системы.
Скорее, они эти глюки зачастую и создают.Нормальная ситуация - таких млинков нет.Если есть... ну да, фиксить это лучше вручную вместо тупого автоприбиения.
>В общем, такие проги и утилитки, как вставные челюсти, для каждого делают
>свои! :)И это тоже.Благо, алгоритм MD5 можно взять готовый (дергать MD5 из готовой либы катит на практически любом языке программирования или заюзать скажем md5sum из скрипта) а остальную логику в принципе по зубам написать неглупому школьнику: совершенно обычная работа с файловой системой, без каких либо наворотов.Так что если в каком-то экзотичном случае fslint вдруг не подошел - совершенно реально написать самопальную простую дуполовку с учетом местных особенностей.