Неверную контрольную сумму MD5 загруженных файлов

у меня есть Ubuntu 10.04.1 LTS linux server, который испытывает некоторые странные проблемы... Я просто пытался скачать 440 МБ tgz архивировать по HTTP с помощью wget, а при расширении с помощью tar -xzf filename.tgz Я получил:

gzip: stdin: invalid compressed data--crc error

найти этот нечетный я переименовал файл filename-bad.tgz и снова скачал его. Я получил ту же ошибку при второй загрузке... На сайте указана контрольная сумма md5 для файла, поэтому я проверил обе попытки загрузки, чтобы увидеть, может быть, этот файл был просто развращать...

два файла имели разные контрольные суммы!

поэтому я загрузил этот файл на свою локальную рабочую станцию и запустил md5sum на нем есть. На этот раз контрольная сумма MD5 была правильной, и файл был извлечен правильно. Поэтому я скопировал файл с рабочей станции на сервер и побежал md5sum на эту копию. Это был новый md5sum, отличающийся от правильного md5sum и отличающийся от двух других попыток!

здесь деталь сервер:

  • Intel(R) Core(TM) i5 CPU (Dual Core)
  • 8GB RAM
  • программное обеспечение RAID5 массив с использованием устройств Linux md и 3 1Tb SATA диски
  • 2 карты ethernet, подключенные к двум различным сетям в нашем офисе (проводная и беспроводная сеть)

Я подозревал, что массив RAID был деградирован / неисправен, поэтому я запустил mdadm --detail и он сообщил, что государство было clean и все диски были в active sync. Способствовать тест, я скопировал файл 1GB с SD-карты в массив RAID, и md5sum этого файла проверен.

что может быть?

изменить: выход cmp -l как просила:

324268145 115 105
324268657 274 264
324269297 332 322
324270577 345 344
324270833 155 154

EDIT2: я только что понял, что одна из копий, которые у меня есть, действительно имеет правильную контрольную сумму MD5, поэтому я скопировал файл с моей локальной машины еще два раза, и оба раза контрольная сумма была правильной! Итак, еще несколько тестов в порядке здесь...

EDIT3: я сейчас не могу воспроизвести эту проблему. Что звучит как плохой таран для меня. Будет работать memtest сегодня вечером, любые другие идеи приветствуются!

EDIT4: Ok. Теперь это становится странным. Проблема на 100% воспроизводима при копировании файла на конкретную виртуальную машину VMWare, запущенную на сервере. Если я копирую файл на эту виртуальную машину, иногда, если я сразу копирую файл на хост, проблема воспроизводима. scp также иногда говорит это при копировании на виртуальную машину:

Received disconnect from 10.1.0.73: 2: Packet corrupt

все это, как мне кажется, подсказки плохого барана. Все согласны? Другие возможные объяснения?

EDIT5: решено. Боже, что могло быть причиной этой проблемы? Я просто не могу понять.... : -)

2436 Errors! All Right!

(Я тестировал оперативную память на этой системе сразу после того, как купил ее, что было два-три месяца назад... Ну что ж. Нетерпение как это время назвать Dell...)

26
задан 3498DB
20.04.2023 7:22 Количество просмотров материала 2569
Распечатать страницу

3 ответа

эти два файла имели одинаковый размер? Если нет, то один из файлов, вероятно, был усечен.

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

TCP-пакеты имеют 16-битную контрольную сумму. Это означает, что около одной ошибки в 65536 останется незамеченной, поэтому ошибка передачи находится в пределах область возможностей.

ни одна из возможностей выше удовлетворительно не объясняет третье значение md5sum.

попробуйте сравнить файлы (например, с cmp -l) и посмотреть, есть ли шаблон для различий. Если вы видите, что различия всегда кажутся в определенных битовых позициях (что-то вроде всегда в самом значимом бите байтовой позиции вида 8*n+3), это обычно признак того, что ваша оперативная память неисправна. Как правило, в случае повреждения данных не объяснимый программным обеспечением или сетевой передачи, оперативная память является первым местом, чтобы посмотреть.

2
отвечен Gilles 2023-04-21 15:10

при передаче по FTP используйте двоичный режим передачи. В противном случае все окончания строк в файле будут искажены. Windows не нужно калечить Терминаторы строк в текстовом режиме.

0
отвечен BillThor 2023-04-21 17:27

в качестве быстрой проверки, если вы передаете файл с помощью sneakernet (т. е. помещаете его на флэш-накопитель и проходите по нему), он работает нормально?

0
отвечен Tristan 2023-04-21 19:44

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх