web-dev-qa-db-fra.com

extraire et créer des fichiers ipk

les packages ipk sont les packages d'installation utilisés par opkg.

J'essaie d'extraire le contenu de l'un d'eux et de créer mon propre ipk.

J'ai lu que je devrais pouvoir les décompresser mais ce n'est pas vrai.

J'ai essayé:

tar -zxvf mypack.ipk

et je reçois:

Zip: stdin: not in gzip format

J'ai aussi essayé:

tar -xvf mypack.ipk

et je reçois:

tar: This does not look like a tar archive

J'ai trouvé que la plupart des informations sur Internet concernant les ipk sont inexactes.

Mon ipk a été généré par bitbake. J'ai du mal avec Bitbake et je veux éviter de l'utiliser.

Des idées sur la façon d'extraire et de créer des fichiers ipk? Un modèle simple avec un seul package serait utile.

22
max

Je l'ai compris.

Vous pouvez extraire le package principal avec le ar x, puis extrayez le control.tar.gz avec le tar -zxf commande.

28
max

Vous devez créer un fichier control, puis effectuer un archivage à l'aide de tar et ar. Dans mon cas, je distribuais juste des scripts python, donc il n'y avait pas de dépendance à l'architecture. Vous devriez vérifier les control et Makefile dans le contrôle de version et supprimer tous les autres fichiers intermédiaires.

Voici le contenu de control

 Package: my-thing-python 
 Version: 1.0 
 Description: python pour MyCompany 
 Section: extras 
 Priorité: facultatif 
 Responsable: John 
 Licence: FERMÉE 
 Architecture: tout 
 OE: my-thing-python 
 Page d'accueil: inconnu 
 Dépend: python python-distutils python-pyserial python-curses python-mmap python-ctypes 
 Source: N/A 

Voici mon Makefile qui se trouve dans le même répertoire que tous mes scripts python.

 tous: 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 
 
 nettoyer: FORCE 
 rm -rf ipk 
 rm -f control.tar.gz 
 rm -f data.tar.gz 
 rm -f my-thing -python.ipk 
 
 FORCE: 
 
19
Mark Lakata

J'ai testé la commande "ar x package-name.ipk" mais cela n'a pas aidé

J'ai trouvé la commande ci-dessous qui fonctionnait parfaitement

tar zxpvf package-name.ipk

Cela extrait trois fichiers:

debian-binary

data.tar.gz

control.tar.gz

utilisez la même commande pour ouvrir les fichiers data.tar.gz et control.tar.gz

pour plus d'informations, reportez-vous à https://cognito.me.uk/computers/manual-extractioninstallation-of-ipk-packages-on-gargoyleopenwrt/

6
Hamidreza

Extraire avec ces commandes:

  1. Extrayez le fichier en exécutant la commande:

      ar -xv   <.ipk file>
    
  2. Extrayez le fichier control.tar.gz en exécutant la commande:

      tar -zxvf control.tar.gz
    
  3. data.tar.gz: décompressez en exécutant la commande:

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