The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Рекурсивный md5sum, зависает"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r email(ok) on 11-Май-09, 15:11 
Всем привет,
хочу написать программу, которая считает рекурсивно контрольные суммы всех файлов на файловой системе.
Делаю на Перле, вроде, сделал.
Но только на этапе подсчета контрольных сумм она виснет. Непонятно, почему.
Можете подсказать, есть ли какие-то ограничения у md5sum? Почему такое может происходить
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Рекурсивный md5sum, зависает"  +/
Сообщение от allez (ok) on 11-Май-09, 19:34 
>Всем привет,
>хочу написать программу, которая считает рекурсивно контрольные суммы всех файлов на файловой
>системе.
>Делаю на Перле, вроде, сделал.
>Но только на этапе подсчета контрольных сумм она виснет. Непонятно, почему.
>Можете подсказать, есть ли какие-то ограничения у md5sum? Почему такое может происходить

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

P. S. Вам эту задачу в учебном заведении задали?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r email(ok) on 11-Май-09, 20:03 
>[оверквотинг удален]
>>Но только на этапе подсчета контрольных сумм она виснет. Непонятно, почему.
>>Можете подсказать, есть ли какие-то ограничения у md5sum? Почему такое может происходить
>
>Покажите свой скрипт. Вы, похоже, допустили где-то ошибку и вместо того, чтобы
>отыскать и исправить
>ее, начинаете искать несуществующие изъяны у использованного инструмента. Специально прогнал эту
>задачу на трех десятках тысяч файлов в каталогах разной степени вложенности -
>не зависает.
>
>P. S. Вам эту задачу в учебном заведении задали?

это связано с моими исследованиями (:

вот скрипт, на перле:

#!/usr/bin/perl -w

    system ("ls / -aR > result");
    $path;
    @list;
    
    open (SDATA, result);  #тут мы получили список всех файлов, для которых прогоним md5sum
    while (my $line = <SDATA>) {
        chomp($line);
        if ($line =~ /^\//) {
        chop ($line);
        $path = $line;
        }
        elsif ($line ne "." && $line ne "..") {

        my $toFile = $path.'/'.$line;   #генерируем имя файла,
                system ("md5sum $toFile");      #и считаем контрольную сумму
           }
         }
вот в этой проге на каком-то этапе она словно зависает, приходится закрывать терминал

можете поделиться своей? Или указать, что я сделал не так?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Рекурсивный md5sum, зависает"  +/
Сообщение от angra (ok) on 12-Май-09, 01:18 
Мда, лучше четко скажите чего вам надо. Проще дать вам готовый однострочник(почти наверняка это будет find . -type f -exec md5sum '{}' \;), чем комментировать все дурости, которые вы наделали.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Рекурсивный md5sum, зависает"  +/
Сообщение от allez (ok) on 12-Май-09, 04:51 
>можете поделиться своей? Или указать, что я сделал не так?

Я не мудрствовал лукаво и использовал ту же команду, которую указал angra.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r email(ok) on 12-Май-09, 22:31 
>>можете поделиться своей? Или указать, что я сделал не так?
>
>Я не мудрствовал лукаво и использовал ту же команду, которую указал angra.
>

все равно виснет. Каждый раз на файле /proc/kmsg

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Рекурсивный md5sum, зависает"  +/
Сообщение от Андрей (??) on 13-Май-09, 01:21 
Высчитывать md5 для /proc безсмысленно, так как содержимое /proc постоянно меняется.
man proc.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r (ok) on 15-Май-09, 12:41 
>Высчитывать md5 для /proc безсмысленно, так как содержимое /proc постоянно меняется.
>man proc.

аминь. Одну причину зависания выяснили. Хотя постом выше написано, что работает "на ура".

Какие-нибудь еще могут быть глюки с этим?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Рекурсивный md5sum, зависает"  +/
Сообщение от allez (ok) on 15-Май-09, 13:50 
>аминь. Одну причину зависания выяснили. Хотя постом выше написано, что работает "на ура".

В моем сообщении нигде не сказано о вычислении хеша MD5 для содержимого /proc. На всякий случай
уточню: я выполнил команду find ~ -type f -exec md5sum {} \;, которая отработала на моем
домашнем каталоге.


>Какие-нибудь еще могут быть глюки с этим?

Как было сказано выше, не следует прогонять md5sum на динамически изменяющихся файлах. Так что
кроме /proc нужно исключать из обработки как минимум /var/log и /tmp...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r email(ok) on 16-Май-09, 15:55 
>>Какие-нибудь еще могут быть глюки с этим?
>
>Как было сказано выше, не следует прогонять md5sum на динамически изменяющихся файлах.
>Так что
>кроме /proc нужно исключать из обработки как минимум /var/log и /tmp...

поможете с командой?
Для того, чтобы исключить /proc я прогнал find / -type d -name proc -prune -o -exec md5sum {} \;

В этот раз команда зависла в каталоге /var
я попробовал
find / -type d -name proc -prune -name var -prune -o -exec md5sum {} \;

команда все равно зависла в каталоге var
как исключить сразу несколько каталогов? Я в инете поискал, не нашел

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Рекурсивный md5sum, зависает"  +/
Сообщение от angra (ok) on 16-Май-09, 16:45 
А может пора уже сказать зачем вам понадобилось делать md5sum от корня? Сдается вы изобретаете велосипед, причем  на ручном приводе и с треугольными колесами :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Рекурсивный md5sum, зависает"  +/
Сообщение от Gekt0r email(ok) on 16-Май-09, 16:56 
>А может пора уже сказать зачем вам понадобилось делать md5sum от корня?
>Сдается вы изобретаете велосипед, причем  на ручном приводе и с
>треугольными колесами :)

мне нужен максимально подробный "снимок" файловой системы. Файлы и их контрольные суммы.
Кроме как почитать для каждого md5, я не знаю, как это можно сделать.

Зачем это, пока говорить не могу :(

Как можно несколько каталогов из find исключить?) Или есть вариант приделать велосипеду круглые колеса?))

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Рекурсивный md5sum, зависает"  +/
Сообщение от angra (ok) on 16-Май-09, 17:30 
>Как можно несколько каталогов из find исключить?)

Ну можно почитать опции find, только при этом не забывать, что многое зависит от версии. Я бы просто использовал find | grep -v 'regex' | xargs или возможности шелла по заданию стартовых точек для find вместо /

>Или есть вариант приделать велосипеду круглые колеса?))

Это вам виднее, вы же знаете для чего вы все это делаете. Если для безопасности, то есть вещи типа rkhunter, если для синхронизации, то есть rsync. Практически наверняка есть готовая тулза, которая делает хеши нужных файлов в системе. Удачи в работе над велосипедом.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Рекурсивный md5sum, зависает"  +/
Сообщение от Самый Анонимус on 17-Май-09, 01:16 
>мне нужен максимально подробный "снимок" файловой системы. Файлы и их контрольные суммы.

aide

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру