ipk包是opkg使用的安装包。
我正在尝试提取其中之一的内容并创建我自己的 ipk。
我读到我应该能够解压它们,但事实并非如此。
我已经尝试过:
tar -zxvf mypack.ipk
我得到:
zip: stdin: not in gzip format
我也尝试过:
tar -xvf mypack.ipk
我得到:
tar: This does not look like a tar archive
我发现互联网上大多数有关 ipk 的信息都不准确。
我的ipk是由bitbake生成的。我在使用 bitbake 时遇到了困难,想避免使用它。
关于如何提取和创建 ipk 文件有什么想法吗?一个带有单个包的简单模板会很有用。
我明白了。
您可以使用
ar x
命令解压主包,然后使用 tar -zxf
命令解压 control.tar.gz。
我已经测试了
ar x package-name.ipk
命令,但没有帮助
我发现下面的命令运行得很好
tar zxpvf package-name.ipk
这会提取三个文件:
debian-binary
data.tar.gz
control.tar.gz
使用相同的命令打开
data.tar.gz
和 control.tar.gz
文件
欲了解更多信息,请参阅 https://cognito.me.uk/computers/manual-extractioninstallation-of-ipk-packages-on-gargoyleopenwrt/
您需要创建一个
control
文件,然后使用 tar
和 ar
进行一些归档。就我而言,我只分发 python 脚本,因此不存在体系结构依赖性。 您应该将 control
和 Makefile
检查到版本控制中,并删除所有其他中间文件。
以下是
control
的内容
软件包:my-thing-python 版本:1.0 说明:MyCompany 的 python 脚本 部分:附加内容 优先级:可选 维护者:约翰 许可证:已关闭 架构:全部 OE:我的东西Python 主页: 未知 取决于: python python-distutils python-pyserial python-curses python-mmap python-ctypes 资料来源:不适用
这是我的
Makefile
,它与我的所有 python 脚本位于同一目录中。
全部:my-thing-python.ipk 我的东西-python.ipk: rm-rf ipk mkdir -p ipk/opt/my-thing-python cp *.py ipk/opt/my-thing-python tar czvf 控件.tar.gz 控件 cd ipk; tar czvf ../data.tar.gz .;光盘 .. echo 2.0 > debian-二进制 ar r my-thing-python.ipk control.tar.gz data.tar.gz debian-binary 清洁:力 rm-rf ipk rm -f 控制.tar.gz rm -f 数据.tar.gz rm -f my-thing-python.ipk 力量:
使用这些命令提取:
通过运行命令解压文件:
ar -xv <.ipk file>
通过运行以下命令解压 control.tar.gz 文件:
tar -zxvf control.tar.gz
data.tar.gz :通过运行以下命令解压:
tar –zxvf data.tar.gz
如果您想要 ipk 中的文件列表,您可以执行以下操作:
#!/bin/sh
for f
do
tar -x -z -f $f ./data.tar.gz -O | tar tvzf -
done
-O 提取到标准输出。 ipk 文件曾经是 AR(如 DPKG),但现在是 tgz。 我觉得某些 dpkg 实用程序应该可以处理 ipkg 文件,但我还没有找到合适的。