Ubuntu 20.4虚拟机下Filezilla传输文件及Archive Manager解压Zip文件异常求助
Ubuntu 20.4虚拟机下Filezilla传输文件及Archive Manager解压Zip文件异常求助
看起来你遇到的是文件传输完整性失效的问题——不管是下载后解压报错,还是上传文件变成0字节,核心大概率是文件在传输过程中损坏或中断了。咱们一步步来排查定位:
先从Filezilla本身的配置入手
- 切换FTP传输模式:Hyper-V的网络环境对被动(PASV)模式的端口转发可能有限制。打开Filezilla,进入
编辑 > 设置 > 连接 > FTP > 传输模式,尝试在主动(PORT)和被动模式之间切换,再重新传输文件测试。 - 开启文件完整性校验:在Filezilla的
编辑 > 设置 > 传输里,勾选相关的校验选项,传输完成后对比本地文件和服务器端的文件大小、MD5哈希值(Ubuntu本地用md5sum 你的文件名计算,服务器端如果能获取哈希值最好),确认文件是否真的传输完整。
排查Hyper-V的网络配置问题
- 切换虚拟机网络适配器类型:如果当前用的是“内部”或“专用”网络,建议改成外部网络(绑定到物理机的真实网卡),让虚拟机直接接入公网,减少中转环节的丢包概率。
- 安装Hyper-V增强工具:Ubuntu 20.04在Hyper-V下默认的网络驱动可能存在兼容性问题,执行以下命令安装增强工具,然后重启虚拟机:
sudo apt update && sudo apt install linux-tools-virtual linux-cloud-tools-virtual - 调整虚拟交换机设置:如果用的是外部网络,关闭虚拟交换机的“允许管理操作系统共享此网络适配器”选项,避免物理机和虚拟机的网络冲突。
验证文件本身与Archive Manager的问题
- 用命令行测试解压:打开Ubuntu终端,执行
unzip 你的zip文件名,如果命令行也报错,说明文件确实传输损坏;如果命令行能正常解压,那就是Archive Manager的问题,尝试重装它:sudo apt remove --purge file-roller && sudo apt install file-roller - 对比文件大小:下载完成后先查看本地文件大小,如果和服务器端的文件大小不一致,直接说明传输过程中丢包了,重点回到网络和Filezilla的排查。
其他备选排查方案
- 换用命令行FTP工具测试:安装
lftp工具,用命令行传输文件,排除Filezilla客户端的问题:
如果换工具后传输正常,那就是Filezilla的问题,尝试重装Filezilla:sudo apt install lftp lftp 你的ISP服务器地址 # 下载文件 get 数据库dump文件名 # 上传文件到网站 put 本地文件名sudo apt remove --purge filezilla && sudo apt install filezilla - 检查物理机网络稳定性:在Windows物理机上用
ping 你的ISP服务器地址 -t测试,同时在Ubuntu虚拟机里用ping 你的ISP服务器地址 -c 100测试,看看是否存在频繁丢包的情况。
备注:内容来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

