Forums -> Глюкодром -> Хэш не совпадает
| Full Version

Sinner
:help:
Ситуация такая:
Файл был выложен в Ослиную расшарку на одной машине.
Одновременно, тот же файл (из той же директории) был вытащен по FTP на другую машину, где в свою очередь был расшарен.
Но, как оказалось при расшарке Осел (или его клон) создал для файла совсем другой хэш. То есть для Осла это как бы совершенно другой файл.
Вопрос:
Или можно как-то изменить хэш файла на машине номер 2 (известно его значение на машине номер 1, которая основная), существуют ли какие-нибудь утилиты для этих целей?

В любом случае, подскажите как быть.

Заранее благодарен.

П.С. Внимание! Опытных ословодов прошу обратит свое внимание и протянуть руку помощи!
izanoza
Сначала надо проверить не изменился ли файл при передачи по фтп, для этого можно подсчитать, например, контрольную сумму любым методом. Тот же QuickSFV пойдёт.

Если суммы отличаются, то надо синхронизировать файлы, где-то было тут описание программы которое это делает, подзабыл я. LF_ проде как ссылку на неё давал, а может я ошибаюсь, надо поискать.

Но сначала проверь что файлы одинаковые.
Sinner
Размеры файлов совпадают до последнего байта, что-же такого могло приключиться с файлом, что его похэшило по-другому?
LF_
Файлы ясное дело не одинаковые - хеш осла попрочней SFV будет, а програмка - я обычно пользую http://remotefilesync.sourceforge.net/

Но есть и более извратные методы : http://netlab.e2k.ru/forum/index.php?showtopic=23647
LF_
QUOTE (Sinner @ 15-04-2004, 21:04)
Размеры файлов совпадают до последнего байта, что-же такого могло приключиться с файлом, что его похэшило по-другому?

ФТП клиент глюкнул и принял не тот байт :) Сбой в передачи был, наверное ...
Сергей Иванович
Да не бывает таких софтовых глюков. В смысле они очень редки. А вот из-за чего файлы бьются в 999 случаях из тысячи - так это сбоящее железо!
Sinner
QUOTE (Sergey Overkill @ 16-04-2004, 04:58)
Да не бывает таких софтовых глюков. В смысле они очень редки. А вот из-за чего файлы бьются в 999 случаях из тысячи - так это сбоящее железо!

Спасибо, конечно, за инфо, но если можно что нибудь более практичное, прикладное так сказать, вон как у LF_, то буду очень признателен...
MAL
QUOTE (Sinner @ 16-04-2004, 00:42)
Вопрос:
Или можно как-то изменить хэш файла на машине номер 2 (известно его значение на машине номер 1, которая основная), существуют ли какие-нибудь утилиты для этих целей?

Насколько я понял ваш русский.
Или можете изменить любой байт в файле на машине номер 2 и перезагрузив "Осла" - хеш изменится. Менять байт можно любым hexeditor-ом
Сергей Иванович
QUOTE (Sinner @ 16-04-2004, 08:20)
QUOTE (Sergey Overkill @ 16-04-2004, 04:58)
Да не бывает таких софтовых глюков. В смысле они очень редки. А вот из-за чего файлы бьются в 999 случаях из тысячи - так это сбоящее железо!

Спасибо, конечно, за инфо, но если можно что нибудь более практичное, прикладное так сказать, вон как у LF_, то буду очень признателен...

Ну дык о прикладном LF_ уже сказал. Зачем ещё что-то добавлять. Мне просто подумалось, что захочется в будущем избежать побития файлов. Потому-то я и сказал о том, по какой причине в подавляющем большинстве случаев побитие происходит. :)
Vento
QUOTE
А вот из-за чего файлы бьются в 999 случаях из тысячи - так это сбоящее железо!

Всё ничего только вот я так и не понял что значит "сбоящее железо" ?
izanoza
Vento
А чего тут понимать, и так ясно. Сбойный сектор на харде; сбоящая память, в которой байтики меняют произвольно свои значения; конроллер IDE на маме, который вместо одного сектора записал блок в другой; скачок напряжения от плохого блока питания, и вашему харду просто похудало в момент записаи. И ещё куча причин.
Сергей Иванович
Кстати, как я понимаю, речь идёт о предварительной раздаче членам релиз-группы. В этом случае возможен и следующий вариант:
1) Человек, у которого файл неправильный, ставит на закачку файл по правильному линку. Тот, у кого имеется правильный файл, должен шарить его, желательно сообщив, на каком он сервере, чтобы качающий мог легко и быстро поймать его.
2) Когда мул человека, поставившего файл на закачку обнаружит источник (это важно!), он, мул, получит hashset файла.
3) Теперь мула нужно остановить, выяснив перед этим, какой PART файл соответствует закачке.
4) Дальше этот PART удаляется и на его место копируется битый файл, который нужно переименовать в удалённый PART.
5) Теперь при помощи DonkeyDoctor делается Test Met (там нужно будет выбрать нужный part.met, а потом пару раз ответить "да") и всё, можно опять запускать мула, у которого в закачке окажется почти полный файл. Будет не хватать лишь тех частей, в которых имеется "побитость". В принципе уже можно будет делать релиз, а человек докачает недостающие чанки уже попутно... :)
LF_
ФТП клиенты еще как глючат - как и фтп сервера, особенно если связь плохая и обрывы с ретраями идут.. Может и железо тоже - но правильное сказать - ГЛЮКИ они везде могут быть :D Что касается как проще - прога, которую я дал - она простая как грабли, она работает именно так, как надо - все изварты по дозакачать ослом хешсетов и прочее - зачем это надо, когда известен отправитель и получатель - им проще будет напрямую все сделать :)
Sinner
Всем огромное СПАСИБО!!!
Все получилось.
Возьмем на вооружение програмку (по совету LF_-a) - вот уж действительно, проще некуда :) )

З.Ы. Хороший юбилейный пост с переходом в Junior-ы получился :) . Мелочь, а приятно :D .