URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 44258
[ Назад ]

Исходное сообщение
"OpenNews: Использование fslint для чистки мусора в файловой системе Linux"

Отправлено opennews , 06-Окт-08 19:11 
"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


Содержание

Сообщения в этом обсуждении
"Использование fslint для чистки мусора в файловой системе Linux"
Отправлено pavlinux , 06-Окт-08 19:11 
... А так же оптимизатор реестра, дефрагментатор, scandisk, Spy/Mail/Joke/ware сканеры, ускоритель интернета,...... :)


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено Аноним , 07-Окт-08 08:50 
оффтопик:
А меня всегда радовала NTFS-3G, при помощи которой можно создать файл или папку с символами ":" и т.д. и которые нельзя будет удалить из под винды :)

"Использование fslint для чистки мусора в файловой системе Linux"
Отправлено Аноним , 07-Окт-08 00:22 
А кто что может посоветовать для поиска дубликатов для консоли, кроме названного fslint?

"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено rakshas , 07-Окт-08 00:34 
>А кто что может посоветовать для поиска дубликатов для консоли, кроме названного
>fslint?

find  и diff.


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено rakshas , 07-Окт-08 00:47 
т.е. ищем через find и сравниваем через diff...
P.S.
Как вариант можно еще через md5, sha1 хэши сранивать, по идее у одинаковых фалов они должны быть одинаковы. sha1sum или md5sum. :-)

"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено charon , 07-Окт-08 11:42 
>т.е. ищем через find и сравниваем через diff...
>P.S.
>Как вариант можно еще через md5, sha1 хэши сранивать, по идее у
>одинаковых фалов они должны быть одинаковы. sha1sum или md5sum. :-)

ИМХО - слишком круто. Достаточно CRC32. Хотя я могу и ошибаться.


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено User294 , 07-Окт-08 09:06 
>find  и diff.

Ну вы и извращенцы.Это ж будет медленно так что повеситься можно пока дождешься что каждый файл сравнится с каждым.Нормальные дуп-килялки делают иначе - для файлов считается хэш.Сравниваются хэши между собой, файлы с одинаковыми считаются одинаковыми (или кандидатами на одинаковость если параноя).В результате каждый файл читается только ОДИН раз... а с вашим методом - это ж ппц.


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено pavlinux , 07-Окт-08 12:56 
Чтоб работать с хэшем его надо сначала создать :)


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено User294 , 07-Окт-08 17:51 
>Чтоб работать с хэшем его надо сначала создать :)

Логично, но для чистилок-дуполовок с этим никаких проблем: 1 проход по диску - хэширование и далее разбор результатов путем сравнения хэшей.

Если с диффом - допустим, у нас есть файлы A, B, C и D.Нас волнует не являются ли они дупами?С диффом придется сравнить A с B, C и D.Потом B с C и D.Потом C и D.Итого 9 чтений файлов с диска на 4 файла.А если мы посчитаем хэш и будем сравнивать хранящиеся в RAM хэши - обойдемся 4-я чтениями с диска.Даже для 4 файлов экономия на чтении диска (самая тормозная часть работы, собссно) - более чем *вдвое*.Что будет на реальной ФС... если сравнивать все файлы друг с другом диффом - а вы не поседеете пока сравнение закончится?


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено pavlinux , 07-Окт-08 02:54 
>А кто что может посоветовать для поиска дубликатов для консоли, кроме названного
>fslint?

Да нет, никто не против. Это же куча скриптов собранная воедино и каждый сам для себя делает такие вещи.

1. Если у меня в /usr/src/linux-* штук 17 исходников ядер, что же будет после прохода такой прогой.
2. Некоторые пустые каталоги нужны! К примеру дерево кэша squid_a, в /var/ тоже много пустых.
3. Линки никуда не указывающие, очень помогают разабраться в глюках системы.
Именно тот факт, что они никуда не указывают, сигнализирует о том,
что система выходит из под контроля, например вечно отсутствующие линки java и gcc
в каталоге /etc/alternatives/

В общем, такие проги и утилитки, как вставные челюсти, для каждого делают свои! :)


"Использование fslint для чистки мусора в файловой системе Li..."
Отправлено User294 , 07-Окт-08 18:41 
>1. Если у меня в /usr/src/linux-* штук 17 исходников ядер, что же
>будет после прохода такой прогой.

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

>2. Некоторые пустые каталоги нужны!

Дык это, исключения что, не в моде?

>3. Линки никуда не указывающие, очень помогают разабраться в глюках системы.

Скорее, они эти глюки зачастую и создают.Нормальная ситуация - таких млинков нет.Если есть... ну да, фиксить это лучше вручную вместо тупого автоприбиения.

>В общем, такие проги и утилитки, как вставные челюсти, для каждого делают
>свои! :)

И это тоже.Благо, алгоритм MD5 можно взять готовый (дергать MD5 из готовой либы катит на практически любом языке программирования или заюзать скажем md5sum из скрипта) а остальную логику в принципе по зубам написать неглупому школьнику: совершенно обычная работа с файловой системой, без каких либо наворотов.Так что если в каком-то экзотичном случае fslint вдруг не подошел - совершенно реально написать самопальную простую дуполовку с учетом местных особенностей.