dpkg错误:包含未理解的数据成员

Con*_*nor 8 makefile dpkg jailbreak theos

我正在尝试安装越狱调整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
Run Code Online (Sandbox Code Playgroud)

所以据我所知,它无法理解.xz扩展名,但我不确定为什么要创建该文件.谢谢您的帮助.

Con*_*nor 25

我发现了如何解决它.在$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)
Run Code Online (Sandbox Code Playgroud)

用这一行:

$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)
Run Code Online (Sandbox Code Playgroud)

  • 这导致我另一个错误:找不到要安装的“./com.mytest.tweak2_0.0.1-1_iphoneos-arm.deb”。中止。有任何想法吗? (2认同)

rul*_*rul 5

.deb创建该文件是因为您告诉Theos构建系统执行此操作.package installMakefile 的规则是使用xz压缩创建Debian包.现在,这种压缩由dpkg等于或高于1.15.6的版本支持.

因此,为了解决您的问题,您应该更新dpkg到更新的版本或安装Theos而不需要打包支持.可能是一个简单的make install意志.

如果dpkg无法进行更新并且您不希望在没有包管理支持的情况下安装程序,则另一种(更痛苦的)方法是更改​​压缩包的算法.在这里您可以获得有关如何执行此操作的详细信息