新闻详情

新闻详情

首页 / 资讯中心 / 详情

Fish Shell 发布包完整性校验:从两条验证命令到发布流水线

发布时间:2026/9/2 14:07:44来源:尧图网络
Fish Shell 发布包完整性校验:从两条验证命令到发布流水线
Fish Shell 发布包完整性校验从两条验证命令到发布流水线【免费下载链接】fish-shellThe user-friendly command line shell.项目地址: https://gitcode.com/GitHub_Trending/fi/fish-shellFish Shell 是主打易用性的命令行 shell它的发布流程同样值得细看。本文讲清 fish 发布包的 SHA256 校验和 GPG 签名是怎么生成的如何在本地验证下载的包没被掉包以及校验和不匹配时按什么顺序排查最后把验证变成下载后的固定动作。下载的 fish 包怎么确认没被掉包shell 这种东西是要执行你机器上任何命令的所以装的东西是不是官方那一份比装什么都重要。你从镜像站或波动网络下载的 tar.xz可能在传输中损坏也可能被中间环节替换。官方发布页针对每个版本给出两层保护SHA256 校验和保证字节一致随附的.asc文件是 GPG 分离签名保证签名者确实是 fish 维护者。两道验证各管一件事SHA256 回答文件对不对任何一个字节不同哈希都会彻底改变。GPG 签名回答发布的人是谁镜像站就算替换了文件没有维护者的私钥也签不出能通过验证的签名。两者配合才构成完整的发布包完整性验证。本地只需要两条命令下载完成后对文件算哈希并与发布说明中的值比对再验一次签名openssl dgst -sha256 fish-4.8.1.tar.xz gpg --verify fish-4.8.1.tar.xz.asc fish-4.8.1.tar.xz没有 openssl 时用sha256sum也一样。两个结果都匹配这个包就可以放心解开了。校验和不匹配先查什么先怀疑传输再怀疑文件大多数不匹配其实是下载没下完或网络中断导致的。先看文件体积是否与发布页一致重新下载后再验一次。如果你是从第三方镜像拿的注意镜像自带的校验值没有权威性只认官方发布说明里的那份。再核对你手里比对的值确认三件事你比对的是同一个版本4.8.1和4.8.1-rc0的哈希完全不同哈希是从正确的发布说明段落复制的你验的文件确实是你想装的那个。换网络重新下载后仍然不匹配就停手别装换官方渠道再取。SHA256 和 GPG 签名是怎么生成的打包脚本顺手就算好了源码包的打包逻辑在 build_tools/make_tarball.sh用git archive加xz生成 tar.xz 后脚本末尾立即执行openssl dgst -sha256输出哈希打包和校验在同一个动作里完成。给 Rust 依赖做离线构建用的 build_tools/make_vendor_tarball.sh 同样带这一步保证 vendor 包也能被核验。发布流水线是一揽子动作完整的自动化流程定义在 .github/workflows/release.yml先校验 tag 是否真的是发布版本再构建源码包为 Linux 的 x86_64 和 aarch64 交叉编译静态链接二进制创建 draft release最后为 macOS 构建经过代码签名和公证的安装包。build_tools/release.sh 会用 GPG 对源码包生成fish-X.Y.Z.tar.xz.asc分离签名并上传build_tools/release-notes.sh 则在发布说明里明确写出签名文件的存放位置方便你核对。自己也能复现一遍如果你不放心可以拉一份仓库亲眼看看git clone https://gitcode.com/GitHub_Trending/fi/fish-shell翻一下 build_tools/ 下的脚本从打包到算哈希到签名整条链路都是明文可审计的。把验证变成下载后的固定动作以后每次拿到 fish 发布包动作固定成三拍比对 SHA256、验证 GPG 签名、确认版本一致。三拍全过再解压有一拍不过就停在原地。这一步多花半分钟换来的是对我装进去的东西到底是谁发的有完整答案。延伸阅读CHANGELOG.rst 查看版本发布记录doc_internal/ 内有 macOS 构建与公证细节。【免费下载链接】fish-shellThe user-friendly command line shell.项目地址: https://gitcode.com/GitHub_Trending/fi/fish-shell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单 2026/9/2 15:04:55

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单

SmartTube:3 步搞定 Android TV 上 HDR 播放,附硬件检查清单 【免费下载链接】SmartTube Browse media content with your own rules on Android TV 项目地址: https://gitcode.com/GitHub_Trending/smar/SmartTube 遥控器按下播放按钮的那一刻&a…

阅读更多 →
Android服药提醒APP开发:从需求分析到MVVM架构与AlarmManager实战 2026/9/2 15:04:55

Android服药提醒APP开发:从需求分析到MVVM架构与AlarmManager实战

简介:本资源是一套面向计算机专业本科生的Android毕业设计实战项目,聚焦老年人健康管理场景,解决独居或慢性病老人漏服、错服药物的现实问题。项目采用Android原生开发技术栈,基于Java语言实现,涵盖首页展示、个性化用…

阅读更多 →
MATLAB实现受限玻尔兹曼机:从原理到实践 2026/9/2 15:04:55

MATLAB实现受限玻尔兹曼机:从原理到实践

简介:本资源是一份面向机器学习初学者与研究者的受限玻尔兹曼机(RBM)MATLAB实现代码包,聚焦无监督特征学习与概率生成建模任务,适用于图像数据(如手写数字)的隐层表示训练与采样生成。压缩包共2…

阅读更多 →
多行文本替换实战:从正则原理到VS Code、Perl、Python批量处理 2026/9/2 15:04:55

多行文本替换实战:从正则原理到VS Code、Perl、Python批量处理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
会计专业数据科学实践指南:从零完成AI期末报告 2026/9/2 15:04:55

会计专业数据科学实践指南:从零完成AI期末报告

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程 2026/9/2 15:01:55

让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程

让任意模型出现在Codex子代理选择器中:OpenCodex Sub-agent Surface深度使用教程 【免费下载链接】opencodex Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞