2013-06-28 6 views
19

ipk-пакеты - пакеты инсталляции, используемые opkg.извлечение и создание ipk-файлов

Я пытаюсь извлечь содержимое одного из них, а также создать свой собственный 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's неточна.

Мой ipk был создан Bitbake. У меня тяжелое время с битбоком и я хочу избежать его использования.

Любые идеи о том, как извлечь и как создать ipk-файлы? Было бы полезно использовать простой шаблон с одним пакетом.

ответ

22

Я понял.

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

+1

Я думаю, что вы имеете в виду «ar x», а затем tar-команды –

17

Вам необходимо создать файл 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, который сидит в том же каталоге, что и все мои питона сценариев.

 
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: 

+0

Спасибо, что именно я искал :) – Deko

+0

@MarkLakata, После установки пакета он выдает сообщение об ошибке «Собранные ошибки: * pkg_init_from_file: Malformed package file my-thing-python.ipk.'. См. Этот вопрос [http://stackoverflow.com/q/36331535/2706918) –

+0

Что означает 'OE:' стоять? – kmort

2

Распаковка с этими командами:

  1. Распакуйте файл, выполнив команду:

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

    tar -zxvf control.tar.gz 
    
  3. данные.tar.GZ: распаковывает, выполнив команду:

     tar –zxvf data.tar.gz 
    
3

Я испытал «Ясь х пакетов-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/