web-dev-qa-db-ja.com

IPKファイルの抽出と作成

ipkパッケージは、opkgで使用されるインストールパッケージです。

そのうちの1つのコンテンツを抽出し、独自の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ファイルを抽出する方法と作成する方法に関するアイデアはありますか?単一のパッケージを持つ単純なテンプレートがあれば便利です。

22
max

私はそれを考え出した。

ar xコマンドでメインパッケージを抽出し、tar -zxfコマンドでcontrol.tar.gzを抽出できます。

28
max

controlファイルを作成してから、tararを使用してアーカイブを行う必要があります。私の場合、私はpythonスクリプトだけを配布していたので、アーキテクチャの依存関係はありませんでした。バージョン管理にcontrolMakefileをチェックして削除する必要があります他のすべての中間ファイル。

controlの内容は次のとおりです

パッケージ:my-thing-python 
バージョン:1.0 
説明:python MyCompany 
 Section:extras 
 Priority:オプション
 Maintainer:John 
 License:CLOSED 
 Architecture:all 
 OE:my-thing-python 
 Homepage:unknown 
依存:python python-distutils python-pyserial python-curses python-mmap python-ctypes 
出典:N/A 

これは、すべてのmy pythonスクリプトと同じディレクトリにあるMakefileです。

 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:
 
19
Mark Lakata

「ar x package-name.ipk」コマンドをテストしましたが、役に立ちませんでした

完璧に機能する以下のコマンドを見つけました

tar zxpvf package-name.ipk

これにより、3つのファイルが抽出されます。

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/ を参照してください

6
Hamidreza

これらのコマンドを使用した抽出:

  1. コマンドを実行してファイルを抽出します。

      ar -xv   <.ipk file>
    
  2. 次のコマンドを実行して、control.tar.gzファイルを抽出します。

      tar -zxvf control.tar.gz
    
  3. data.tar.gz:コマンドを実行してuntarします:

         tar –zxvf data.tar.gz
    
4
ravi.zombie