使用ar命令删除deb包内control.tar.xz模块失败的技术问询
解决Deb包中删除control.tar.xz失败的问题
我来帮你搞定这个问题!从你提供的ar tv输出日志能看到核心原因:control.tar.xz条目后面带了个斜杠/,这说明ar工具把这个文件识别成了目录类型,而不是普通的压缩包文件。这就是你执行ar d my-archive.deb control.tar.xz时提示“not found in archive”的根本原因。
解决步骤:
确认归档内的准确条目名称
先再次执行查看命令,确认条目名称:ar tv MyDebian.deb从输出里复制带斜杠的完整条目名,也就是
control.tar.xz/。带斜杠执行删除命令
用带斜杠的名称执行删除操作:ar d my-archive.deb control.tar.xz/这次就能成功删除这个条目了。
添加新的control压缩包
删除完成后,你就可以添加新的control压缩文件了。如果你的新文件是xz格式:ar r my-archive.deb control.tar.xz如果是gz格式:
ar r my-archive.deb control.tar.gz
补充说明
这种带斜杠的条目通常是因为打包工具在创建Deb包时,错误地将control.tar.xz标记为目录类型导致的。只要使用ar工具时匹配准确的条目名称(包括斜杠),就能正常操作啦。
内容的提问来源于stack exchange,提问作者Alain1303




