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

问题描述 投票:8回答:3

我正在尝试使用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扩展名,但是我不确定为什么要创建该文件。感谢您的帮助。

makefile jailbreak dpkg theos
3个回答
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)

带有此行:

$(ECHO_NOTHING)COPYFILE_DISABLE=1 $(FAKEROOT) -r dpkg-deb -Zgzip -b "$(THEOS_STAGING_DIR)" "$(_THEOS_DEB_PACKAGE_FILENAME)" $(STDERR_NULL_REDIRECT)$(ECHO_END)

5
投票

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

因此,为了解决您的问题,您应该将dpkg更新为较新版本,或者在没有包装支持的情况下安装Theos。可能只需一个简单的make install即可。

如果无法更新dpkg,并且您不想在没有程序包管理支持的情况下安装程序,另一种(更痛苦的方法)是更改压缩程序包的算法。 Here您具有有关如何执行此操作的良好信息。


0
投票

就我而言,我在Ubuntu 18.04上构建了一个软件包,并试图在Debian 7(已隔离)上安装该软件包。我必须更改Makefile中的行,内容为:

dpkg --build $(DESTDIR)

.. to:

dpkg-deb --build -Zgzip $(DESTDIR)

感谢康纳!

© www.soinside.com 2019 - 2024. All rights reserved.