dpkg 错误:包含无法理解的数据成员
题
我正在尝试使用安装越狱调整 make package install
但我从 dpkg 收到此错误:
dpkg-deb: file `/tmp/_theos_install.deb' contains ununderstood data member data.tar.xz , giving up
dpkg: error processing /tmp/_theos_install.deb (--install):
subprocess dpkg-deb --fsys-tarfile returned error exit status 2
Errors were encountered while processing:
/tmp/_theos_install.deb
make: *** [internal-install] Error 1
据我所知,它无法理解 .xz 扩展名,但我不确定为什么要创建该文件。谢谢您的帮助。
解决方案
我找到了如何修复它。在 $THEOS/makefiles/package/deb.mk
替换这一行:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
用这一行:
$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
其他提示
这 .deb
文件被创建是因为你告诉 Theos 构建系统这样做。这 package install
Makefile 的规则是使用以下命令创建 Debian 软件包 xz
压缩。现在,这种压缩由以下版本支持 dpkg
等于或高于1.15.6。
因此,为了解决您的问题,您应该更新 dpkg
到较新的版本或安装没有打包支持的 Theos。大概是一个简单的 make install
会做的。
万一更新了 dpkg
不可能,并且您不想在没有包管理支持的情况下安装该程序,另一种(更痛苦的)方法是更改压缩包的算法。 这里 您有关于如何执行此操作的良好信息。
不隶属于 StackOverflow