Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apt-sync.py增加跳过SHA-256 验证参数 #179

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

yylbfyl
Copy link

@yylbfyl yylbfyl commented Aug 23, 2024

新加了一个跳过文件 SHA-256 验证的参数。因为有些遗留的旧仓库很久不更新了,Release文件里的MD5Sum值和真实文件的SHA-256值不一样,会导致 apt-sync.py 跳过下载这些文件,但真实情况是需要下载这些文件的。用户可以在 command 里增加 --skip-checksum 参数来跳过 MD5Sum 验证,即可正常下载仓库里的文件。

@Harry-Chen
Copy link
Member

因为有些遗留的旧仓库很久不更新了,Release文件里的MD5Sum值和真实文件的SHA-256值不一样

如果不更新,理应所有文件都不变化,为什么会有这种情况呢?

@yylbfyl
Copy link
Author

yylbfyl commented Aug 23, 2024

由于生成Release文件和更新deb包是两个独立的步骤,在一些少见的情况下,一些私有仓库会出现包被更新了,但是生成Release文件的脚本没有执行,导致Release文件里还是旧的MD5Sum值,比如我们公司内部的私有仓库有时就有这样的情况,但此时客户端又需要下载新的deb包,所以就增加了 --skip-checksum 参数,默认值是 false不跳过验证,由用户自己选择是否跳过 SHA-256 验证。

@shankerwangmiao
Copy link
Member

但是仍有问题是,这样的仓库因为 checksum 不通过而让用户无法使用。

@taoky
Copy link
Contributor

taoky commented Aug 23, 2024

默认值是 false不跳过验证,由用户自己选择是否跳过 SHA-256 验证。

很大的仓库每个文件都跑一遍 SHA256 需要不小的 IO 和 CPU 成本。这个选项应该默认和之前的行为保持一致(不验证)。

(抱歉理解错了,之前是只有新的包检查 sha256,这个 PR 是添加了跳过 sha256 检查的功能

@yylbfyl
Copy link
Author

yylbfyl commented Aug 23, 2024

但是仍有问题是,这样的仓库因为 checksum 不通过而让用户无法使用。

我的私有仓库同步下来后,可以自己跑dpkg-scanpackages工具对新的deb包文件生成新的Release文件,在我的这一层达成一致。但不管怎么说,希望增加一个 MD5Sum 的开关,由用户自己去决定是否开启。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants