Подтвердить что ты не робот

Извлечение и создание файлов ipk

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 файлы? Простой шаблон с одним пакетом будет полезен.

4b9b3361

Ответ 1

Я понял это.

Вы можете извлечь основной пакет командой ar x, а затем извлечь control.tar.gz командой tar -zxf.

Ответ 2

Вам нужно создать файл 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:

Ответ 3

Я тестировал команду "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/

Ответ 4

Извлечение с помощью этих команд:

  • Извлеките файл, выполнив команду:

      ar -xv   <.ipk file>
    
  • Извлеките файл control.tar.gz, выполнив команду:

      tar -zxvf control.tar.gz
    
  • data.tar.gz: untar, выполнив команду:

         tar –zxvf data.tar.gz