Ответ 1
Я понял это.
Вы можете извлечь основной пакет командой ar x
, а затем извлечь control.tar.gz командой tar -zxf
.
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 был сгенерирован битбаком. У меня тяжелое время с битбаком и я хочу избежать его использования.
Любые идеи о том, как извлечь и как создавать ipk файлы? Простой шаблон с одним пакетом будет полезен.
Я понял это.
Вы можете извлечь основной пакет командой ar x
, а затем извлечь control.tar.gz командой tar -zxf
.
Вам нужно создать файл control
, а затем сделать некоторое архивирование с помощью tar
и ar
. В моем случае я распространял только скрипты python, поэтому не было никакой зависимости от архитектуры. Вы должны проверить control
и Makefile
на управление версиями и удалить все остальные промежуточные файлы.
Вот содержимое 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:
Я тестировал команду "ar x package-name.ipk", но это не помогло
Я нашел команду ниже, которая отлично работала
tar zxpvf package-name.ipk
Это извлекает три файла:
Debian-бинарная
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