惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
Visual Studio Blog
IT之家
IT之家
博客园 - 聂微东
The Cloudflare Blog
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
H
Help Net Security
博客园 - 叶小钗
V
V2EX
WordPress大学
WordPress大学
J
Java Code Geeks
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园_首页
C
Check Point Blog
B
Blog
D
DataBreaches.Net
美团技术团队
罗磊的独立博客

栖童の小站

中兴微ZX296716机顶盒TTL救砖全攻略 | 栖童の小站 闲鱼副业之行:在机顶盒救砖中,窥见人性的温差 | 栖童の小站 CMCC RAX3000QY路由器TTL刷机与OpenWrt解锁全记录 | 栖童の小站 晨星9385芯片设备免拆包自修改教程 | 栖童の小站 小众云服务商深度测评:小兔互联、初七云、星辰云对比 | 栖童の小站 我的2025:在破除幻象、划定边界与坚守内心的一年 | 栖童の小站 闲鱼求职骗局实录:我是如何识破假冒京东HR | 栖童の小站 “大仙”是如何操控你的:亲历东北出马仙骗局与背后的恐惧营销心理学 | 栖童の小站 一次网站性能翻车实录:滥用SWPP插件导致的用户体验灾难与修复 | 栖童の小站 未成年网络暴力观察:从劝诫到被“人肉”的反思 | 栖童の小站 卸任版主后的身份枷锁:虚拟社交中的友谊与边界 | 栖童の小站 Clarity主题深度定制指南 | 栖童の小站 从Hexo到Nuxt:我的小站重构与品牌升级之路 | 栖童の小站 在爱恨之间:我的人际关系修复与挣扎 | 栖童の小站 信仰的见证:当基督徒的行为违背圣经 | 栖童の小站 版主生涯的回忆:在deepin论坛的日子 | 栖童の小站 从耕种到秋收 | 栖童の小站 当田园牧歌遭遇田埂上的贪婪 | 栖童の小站 芜湖散记:江畔的温柔与遗憾 | 栖童の小站 零成本自建网站统计:在Vercel上部署Umami完全指南 | 栖童の小站 童年的两面:简单的快乐与沉重的烙印 | 栖童の小站 家庭阴影与校园霸凌的自愈 | 栖童の小站 公共澡堂体验:记录一次北方乡下的专业搓澡 | 栖童の小站 如何打造高效的团队 | 栖童の小站 Linux系统Git使用指南:从本地仓库创建到远程仓库推送 | 栖童の小站 Hexo Butterfly主题进阶美化:添加FPS显示、节日弹窗与评论提示 | 栖童の小站 告别手动编译:利用GitHub Actions自动化部署你的Hexo博客 | 栖童の小站 Linux音频修复:解决前置耳机及麦克风插孔无声方案 | 栖童の小站 从零搭建Hexo静态博客:环境配置、主题安装到部署上线完全指南 | 栖童の小站 Debian系统编译Linux内核deb包:从编译到打包安装全流程 | 栖童の小站
解决Debian包格式兼容:从zst到xz的手动转换与重打包教程 | ...
栖童, sweetcandymini@foxmail.com · 2023-06-27 · via 栖童の小站

本文详解如何修复新系统生成的zst格式Debian包在旧系统上安装失败的“unknown compression”错误。通过"tar"、"dpkg-deb"等命令行工具手动解包、转换格式并重新打包,实现完美兼容。

开篇

由于GitHub环境是Ubuntu 22.04,而Debian 11以下版本不支持zst格式Debian软件包解压,我们需要将zst格式Debian软件包转换为xz格式

一、创建目录结构

bash
mkdir -p Newdeb build/DEBIAN

二、解压Debian软件包(假设文件名为1.deb)

bash
 ar x 1.deb

这将解压出data.tar.zstcontrol.tar.zst等文件。

三、安装zstd

确保系统上已安装zstd工具,以便能够解压zst文件:

bash
 sudo apt install zstd

解压data.tar.zstcontrol.tar.zst文件:

bash
# 解压 data.tar.zst 到 build 目录
tar -I zstd -xvf data.tar.zst -C build/
# 解压 control.tar.zst 到 build/DEBIAN 目录
tar -I zstd -xvf control.tar.zst -C build/DEBIAN/

五、重新打包为新的Debian软件包

最后,我们使用dpkg-deb工具将build目录中的内容重新打包为一个新的Debian软件包,并指定使用xz压缩

bash
 dpkg-deb -Z xz -b build/ Newdeb/

这将生成一个新的Debian软件包在Newdeb目录中,该文件使用xz格式进行压缩,从而兼容Debian 11以下版本的系统。