提取和创建ipk文件

max*_*max 22 packages

ipk包是opkg使用的安装包.

我正在尝试提取其中一个的内容,并创建我自己的ipk.

我读过我应该能够解开他们,但事实并非如此.

我试过了:

tar -zxvf mypack.ipk
Run Code Online (Sandbox Code Playgroud)

我得到:

zip: stdin: not in gzip format

我也尝试过:

tar -xvf mypack.ipk
Run Code Online (Sandbox Code Playgroud)

我得到:

tar: This does not look like a tar archive

我发现互联网上关于ipk的大部分信息都是不准确的.

我的ipk是由bitbake生成的.我在使用bitbake时遇到了困难,并希望避免使用它.

关于如何提取以及如何创建ipk文件的任何想法?具有单个包的简单模板将是有用的.

max*_*max 30

我想到了.

您可以使用该ar x命令提取主包,然后使用该命令解压缩control.tar.gz tar -zxf.


Mar*_*ata 20

您需要创建一个control文件,然后使用tar和进行一些归档ar.就我而言,我只分发python脚本,因此没有架构依赖.您应该检查controlMakefile进入版本控制,并删除所有其他中间文件.

这是内容 control

Package: my-thing-python
Version: 1.0
Description: python scripts for MyCompany
Section: extras
Priority: optional
Maintainer: John 
License: CLOSED
Architecture: all
OE: my-thing-python
Homepage: unknown
Depends: python python-distutils python-pyserial python-curses python-mmap python-ctypes
Source:  N/A

这是我的Makefile所有python脚本所在的目录.

all: my-thing-python.ipk


my-thing-python.ipk:
        rm -rf ipk
        mkdir -p ipk/opt/my-thing-python
        cp *.py ipk/opt/my-thing-python
        tar czvf control.tar.gz control
        cd ipk; tar czvf ../data.tar.gz .; cd ..
        echo 2.0 > debian-binary
        ar r my-thing-python.ipk control.tar.gz data.tar.gz  debian-binary

clean: FORCE
        rm -rf ipk
        rm -f control.tar.gz
        rm -f data.tar.gz
        rm -f my-thing-python.ipk

FORCE:


小智 8

我已经测试了“ 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/


rav*_*bie 5

使用以下命令提取:

  1. 通过运行以下命令来提取文件:

      ar -xv   <.ipk file>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 通过运行以下命令来提取control.tar.gz文件:

      tar -zxvf control.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)
  3. data.tar.gz:通过运行以下命令解压缩:

         tar –zxvf data.tar.gz
    
    Run Code Online (Sandbox Code Playgroud)