“Interrupted by header callback: Server reports Content-Length”如何解决

mock初始化时的错误信息如下:

Downloading Packages:
[SKIPPED] systemd-233-6.fc25.x86_64.rpm: Already downloaded                    
[SKIPPED] systemd-pam-233-6.fc25.x86_64.rpm: Already downloaded                
[MIRROR] lightdm-1.18.3-1.1.fc25.x86_64.rpm: Interrupted by header callback: Server reports Content-Length: 209086 but expected size is: 209078
[FAILED] lightdm-1.18.3-1.1.fc25.x86_64.rpm: No more mirrors to try - All mirrors were already tried without success
(4-5/9): lightdm-gob 67% [=============       ] 1.9 MB/s | 3.4 MB     00:00 ETA
Error: Error downloading packages:
  Cannot download v2.1/lightdm-1.18.3-1.1.fc25.x86_64.rpm: All mirrors were tried

 [FAIL]
 [版本构建失败]          构建 lightdm-cgdl-greeter-1.0-14.fc25.src.rpm 失败! 请检查构建日志 /cgdl/desktop/jenkins/workspace/CGDL/CGDL-v2.1-sys-base-related/CGDL-v2.1-sys-base-related-dev-build/version-build-related/../build-x86_64/v2.1//log//verbuild//rpm_error.log  
 [构建失败] verbuild 退出,请查看构建日志:/cgdl/desktop/jenkins/workspace/CGDL/CGDL-v2.1-sys-base-related/CGDL-v2.1-sys-base-related-dev-build/version-build-related/../build-x86_64/v2.1//log//std_build.log 

原因分析:

1、期望的大小和实际包大小不一致,说明仓库获取时存在问题;由三种可能性:1> mock配置文件配置的仓库地址不正确,而安装mock依赖包时的实际数据与缓存中数据不一致;   2> mock配置的yum仓库存在过期缓存;3> 仓库目录下存在临时隐藏目录.repodata   4> mock配置的dnf仓库存在过期缓存;

解决办法:

1、修正mock配制文件的yum源地址;

2、dnf clean expire-cache

3、删除临时隐藏目录

备注:linux下查找缓存下是否有checksum不一致的包

[root@localhost os]# find /var/cache/ -name "python3-rpm*"
/var/cache/mock/desktop-v2.1-i386-release-sys-base-related/dnf_cache/desktop-32-update-f468bc6a55692839/packages/python3-rpm-4.13.0.1-1.1.fc25.i686.rpm
/var/cache/mock/desktop-v2.1-i386-release-wine-related/dnf_cache/desktop-32-update-f468bc6a55692839/packages/python3-rpm-4.13.0.1-1.1.fc25.i686.rpm
/var/cache/mock/desktop-v2.1-i386-release-software-center-related/dnf_cache/desktop-os-e21f8ca340c4e99c/packages/python3-rpm-macros-3-12.fc25.noarch.rpm

删除相关包方法:

rm `find /var/cache/ -name "python3-rpm*"`

将关于涉事包的所有mock缓存全部删除后,再次执行构建,成功;初步判定系统mock缓存目录下不同mock环境的缓存数据会相互影响。具体根因后面进一步跟进分析

posted @ 2018-04-11 08:50  无边身尊者  阅读(1160)  评论(0编辑  收藏  举报