После того, как я попробовал качать проблемный файл несколько раз и на воткнутую флешку, и на созданную в памяти файловую систему (tmpfs), выяснилось, что и туда он тоже чаще всего скачивается с ошибкой.
При этом сами диски работают на вид нормально. Сеть на малой скорости тоже работает нормально.
Косяки начинаются на большой скорости качания.
То есть непохоже что дело в жестких дисках.
А как так вообще может быть, чтобы файл был скачан с ошибками? Там же должен вроде как быть контроль сумм отдельных пакетов. Если пакет скачался неправильно, он должен его перекачивать заново до тех пор, пока не скачается верно. Он должен сыпать ошибками сети тогда, а вместо этого молча качает. Такое может быть только если пакеты скачиваются с ошибками, но контрольная сумма совпадает. А шанс этого настолько мал, что прежде чем получится ошибочный пакет с верной контрольной суммой, его должно забросать пакетами с неверной суммой. И скорость должна падать в сотни-тысячи-ибольше раз.
Я не знаю, как оно работает на самом деле, это чисто мои дилетантские предположения. Но у меня возникла мысль, не поломал ли я что-нибудь софтово, когда выносил NetworkManager, так что он перестал на низком уровне проверять контроль сумм?