deb包上传到ftp之后,再下载回来就提示deb包损坏

因为apt指向的服务器限速

为提升效率,把linux机器的安装包用apt download下载到本地,再登录ftp服务器用mput上传到ftp服务器上

其他需要下载应用的linux机器再用wget把ftp上的deb包下载到本地,安装时提示deb包损坏

请问如何解决?

感觉像是 你上传上去的时候就有问题 是不是没有上传完整

如果在下载过程中使用ftp服务器传输deb包,可能会导致文件损坏。这可能是由于文件传输期间发生了意外中断或网络不稳定所致。

为了解决这个问题,可以尝试以下方法:

使用其他可靠的文件传输协议,比如SCP。

在Linux机器上安装openssh-server。
使用SCP命令从本地复制deb包到远程Linux机器上。
运行安装命令以安装deb包。
在下载deb包之前,使用md5sum检查文件完整性。

在上传deb包到ftp服务器之前,在Linux机器上使用md5sum命令生成校验和。
上传deb包和对应的校验和文件到ftp服务器。
在下载deb包之前,从ftp服务器上下载校验和文件。
在下载的deb包上使用md5sum命令生成校验和,并与之前下载的校验和进行比较,确保文件完整性。
如果FTP服务器仍然是唯一的选项,可以使用wget的--continue选项。

在上传deb包到ftp服务器之前,在Linux机器上使用md5sum命令生成校验和。
使用wget命令从ftp服务器下载deb包时,使用--continue选项继续下载中断的文件。
下载完成后,再次使用md5sum命令生成校验和,并与之前生成的校验和进行比较,确保文件完整性。
通过以上方法,您可以确保在下载和上传deb包时的文件完整性,并避免损坏的情况发生。

问题点:deb包损坏
分析思路: deb包传递的环节有3个.

  1. 网络 -> 本地;
  2. 本地 -> FTP服务器
  3. FTP服务器 -> LINUX机器
    每一个端点都获取MD5码,看看哪个环节的MD5码出现变化.如果没变化,这说明下载下来的安装包就是损坏的.

引用GPT进行回答:如果在使用wget从FTP服务器下载.deb包时提示损坏,这可能是由于文件在传输过程中出现了错误或损坏。

  1. 确保文件完整性:首先,请验证从FTP服务器下载的.deb文件是否完整。可以使用md5sumsha256sum等命令计算文件的哈希值,并与FTP服务器上的文件的哈希值进行比较,以确保文件没有在传输过程中发生损坏。

  2. 使用二进制模式传输文件:在使用wget下载文件时,请确保使用二进制模式进行传输。可以使用以下命令:

    wget --binary-mode ftp://ftp.example.com/path/to/file.deb
    
  3. 使用其他下载工具:除了wget,还有其他的命令行下载工具可用于从FTP服务器下载文件,例如curllftp。尝试使用这些工具进行下载,并检查是否有相同的问题。

  4. 检查FTP服务器配置:检查FTP服务器的配置,确保没有限制或设置导致下载的文件损坏。检查FTP服务器的日志文件以获取更多相关信息。

首先你在上传下载的时候是不是就出现了问题,其次检查你的ftp传输模式,避免上传下载时造成文本转换问题,或者必要的的时候检查你上传下载包的md5值是否一致,实在不行的话换个可靠一点的镜像源下载下

任何一个环节都有可能存在网络问题,所以一般下载网站会提供shasum/md5sum,你这个用linux自带的命令md5sum查看下三台机器的md5是否一致

img

用 Ubuntu deb源包的备份和恢复办法:

1.备份与还原

备份快速设置已下载的部分软件包,以便重装系统再次使用,免去重新下载的时间

tar cizvf backup.tar.gz /var/cache/apt/archives --exclude=/var/cache/apt/archives/partial/* --exclude=/var/cache/apt/archives/lock

重装系统,设置好源列表后,导入已备份的软件包即可,操作方法:sudo apt-get update && sudo tar xzvf backup.tar.gz -C /

2.清理

sudo apt-get clean
rm -rf ~/.thumbnails/fail/gnome-thumbnail-factory/*

http://t.csdn.cn/LJaO6
引用该回答,已解决!