scp не передает файлы правильно

scp не передает файлы правильно

Я использую scpдля передачи некоторых больших файлов (> 1 ГБ) с моего ноутбука (Ubuntu 12.04) на мой настольный компьютер (Ubuntu 14.04). Ноутбук имеет беспроводное соединение с моим маршрутизатором, а настольный компьютер имеет кабельное соединение.

Из любопытства я решил проверить переданные файлы с помощью md5-дайджеста: я создал дайджест на исходном компьютере, перенес его на целевой компьютер и использовал его с опцией -cпроверки переданных файлов. К моему удивлению, более чем в 50% случаев я получаю ошибку:

md5sum: WARNING: 1 computed checksum did NOT match

Мой вопрос: так ли часто происходит повреждение данных с scp? Я бы предположил, что (1) ошибки передачи данных довольно редки, и (2) scpпроверяет свои данные и, возможно, повторно отправляет их в случае ошибки. Что может быть причиной этих ошибок? Мои гипотезы:

  1. Плохое соединение WLAN, которое часто приводит к повреждению данных во время передачи.
  2. Плохая память: md5sum -cпроисходит сбой даже при корректных данных, поскольку оперативная память работает неправильно.
  3. Неисправный жесткий диск: md5sum -cпроисходит сбой, поскольку диск содержит ошибку.
  4. Сочетание вышеперечисленных причин.

Обратите внимание, что мой жесткий диск и оперативная память довольно новые: я купил их 5 месяцев назад.

решение1

scp передает файлы через SSH, который выполняет криптографическую проверку подлинности и целостности. Это в основном исключает возможность плохой WLAN.

Плохая память вполне вероятна. Обратите внимание, что плохая память частоначинаетсяплохо, это обычно не от старения. Установка и запуск memtest86/metest86+ либо подтвердит это, либо в основном исключит. (Чтобы исключить это, вам нужно оставить тест запущенным на некоторое время, по крайней мере на ночь). Если он обнаружит ошибку, вам не нужно его продолжать работать, вы можете немедленно остановить его и приступить к замене модулей DIMM.

Также возможно повреждение диска. Аналогично, у вас может быть плохой кабель к диску, или неисправный контроллер и т. д.

Другими возможными причинами являются ошибки файловой системы (маловероятные, если вы используете что-то распространенное, например ext4), вредоносное ПО (к счастью, довольно редкое для Linux), но, скорее всего, это проблема оборудования.

Связанный контент