scp 无法正确传输文件

scp 无法正确传输文件

我用来scp将一些大文件(> 1 GB)从我的笔记本电脑(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即使数据正确,也会出现故障,因为 RAM 无法正常工作。
  3. 硬盘损坏:md5sum -c由于磁盘包含错误而发生故障。
  4. 综合以上原因。

请注意,我的硬盘和 RAM 都很新:我 5 个月前买的。

答案1

scp 通过 SSH 传输文件,SSH 进行加密真实性和完整性检查。这基本上排除了 WLAN 不良的可能性。

记性不好是有可能的。注意记性常常不好开始不好,这通常不是因为变老。安装并运行 memtest86/metest86+ 将确认这一点或基本上排除它。 (为了排除这种可能性,您需要让测试运行一段时间,至少过夜)。如果发现错误,您无需继续运行,可以立即停止并继续更换 DIMM。

磁盘也有可能损坏它。同样,磁盘布线也可能有问题,或者控制器有缺陷等。

其他可能性是文件系统错误(如果您使用的是 ext4 等常见的东西,则不太可能)、恶意软件(谢天谢地,在 Linux 上相当罕见),但这很可能是硬件问题。

相关内容