我正在尝试使用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扩展名,但我不确定为什么要创建该文件。谢谢你的帮助。
答案 0 :(得分:24)
我发现了如何修复它。在$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)
答案 1 :(得分:5)
创建.deb
文件是因为您告诉Theos构建系统执行此操作。 Makefile的package install
规则是使用xz
压缩创建Debian包。现在,dpkg
等于或高于1.15.6的版本支持这种压缩。
因此,为了解决您的问题,您应该将dpkg
更新为更新版本,或者在没有打包支持的情况下安装Theos。可能只需要一个简单的make install
就可以了。
如果无法更新dpkg
并且您不希望在没有程序包管理支持的情况下安装程序,则另一种(更痛苦的)方法是更改压缩程序包的算法。 Here您有关于如何执行此操作的详细信息。
答案 2 :(得分:0)
在我的情况下,我正在Ubuntu 18.04上构建一个软件包,并试图在Debian 7(已隔离)上安装该软件包。我不得不将Makefile
中的行更改为:
dpkg --build $(DESTDIR)
.. to:
dpkg-deb --build -Zgzip $(DESTDIR)
感谢康纳!