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ファイルを抽出する方法と作成する方法に関するアイデアはありますか?単一のパッケージを持つ単純なテンプレートがあれば便利です。
私はそれを考え出した。
ar x
コマンドでメインパッケージを抽出し、tar -zxf
コマンドでcontrol.tar.gzを抽出できます。
control
ファイルを作成してから、tar
とar
を使用してアーカイブを行う必要があります。私の場合、私はpythonスクリプトだけを配布していたので、アーキテクチャの依存関係はありませんでした。バージョン管理にcontrol
とMakefile
をチェックして削除する必要があります他のすべての中間ファイル。
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:
「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/ を参照してください
これらのコマンドを使用した抽出:
コマンドを実行してファイルを抽出します。
ar -xv <.ipk file>
次のコマンドを実行して、control.tar.gzファイルを抽出します。
tar -zxvf control.tar.gz
data.tar.gz:コマンドを実行してuntarします:
tar –zxvf data.tar.gz