Home

IPK - Manual crear paquete

Тайна го

Usuario Destacado
Loco por OpenSPA
5 Nov 2016
1.411
1.360
0
43
En este manual vamos a tratar como crear un paquete ipk simple de manera manual en nuestro receptores linux.

Requerimiento para realizar esta opcion:

  • Programa para acceder al receptor via telnet
  • Editor de textos (preferiblemente notepad ++)
  • utilidad tar (viene instalada por defecto en imagen openspa)
  • utilidad ar (es opcional, como parte de busybox para realizar la creacion de paquetes le falta la opcion -r, por lo que si lo realizamos con esta opcion deberemos instalarla externamente en nuestro receptores)

Estructura paquete ipk:

Una paquete ipk contiene la siguiente estructura de archivos:

  • control.tar.gz (archivo que contiene los archivos control de instalacion del paquete ipk)
  • data.tar.gz (archivo que contiene los archivos que se van a instalar en nuestro receptor, deben tener la misma estructura de directorios que donde se instalaran en el receptor)
  • debian-binary (es simplemente un archivo que contiene el texto 2.0, para indicar que es compatible con el sistema debian 2.0)

1. Contenido control.tar.gz

El archivo control.tar.gz contiene los siguientes archivos:

control (obligatorio), archivo de texto con los siguientes apartados:

Código:
Package: Nombre del paquete
Version: Version del paquete
Description: Descripcion del paquete
Section: Es opcional, describe la categoria del paquete, como por ejemplo base, devel, multimedia, python...
Priority: la prioridad que le damos al paquete, opciones validas, optional-standard-extra-important
Maintainer: Es opcional, nombre de la persona que mantiene el paquete
Architecture: CPU requerida para el paquete, ejemplos: all (para todas), mipsel (solo se instalaria en receptores mipsel)....
Depends: Es opcional pondremos lista paquetes que son necesarios que esten instalados para que este paquete se instale
Source:Es opcional, direccion url o archivos usados

postinst (opcional), script que se ejecuta despues de instalacion de los archivos se ha realizado correctamente
postrm (opcional), script que se ejectua despues que los archivos se han desistalado correctamente
preinst (opcional), script que se ejecuta antes de la instalacion de los archivos del paquete
prerm (opciona), script que se ejectua antes que se desistalen los archivos

2. Contenido data.tar.gz

El archivo data.tar.gz contiene los archivos que se van a instalar en el receptor, con la misma estructura de archivos en los que se ubicaran en el receptor.

Ejemplo: Imagina que deseamos instalar un archivo llamado oscam en /usr/bin en el receptor.
Pues deberemos crear: usr/bin/oscam en este archivo.

Creacion paquete ipk

Ahora vamos a ver como crear un paquete ipk en este ejemplo simple solamente de un archivo.

a) En primer lugar creamos unas carpetas en el receptor para crear un entorno de creacion de paquetes, en este ejemplo lo vamos a crear en /media/hdd, para ello accedemos al receptor via consola terminal y ejecutamos:

  • Creamos una carpeta principal, para ello:
PHP:
mkdir /media/hdd/createpaquete

1.png


  • En el interior de la carpeta principal creamos una carpeta llamada data donde introduciremos en el interior los archivos a instalar, y una carpeta llamada control donde introduciremos los archivos control:
PHP:
mkdir /media/hdd/createpaquete/data
mkdir /media/hdd/createpaquete/control

2.png


  • Una vez hemos creado el entorno de carpetas accedemos al receptor via ftp y en este ejemplo vamos a crear un paquete ipk que instalara un archivo llamado ejemplo.txt en /etc/enigma2 del receptor pues para ello en el interior de data creamos la carpeta etc en el interior enigma2 y en el interior el archivo ejemplo.txt
3.png

  • Ahora dentro de la carpeta control creamos el archivo control en este ejemplo vamos a llamar al paquete ejemplo version 1.0, para ello, creamos el archivo control obligatorio, en este caso al poner dependencia openspa-enigma2 solo se instalaria en imagenes openspa.
Código:
Package: ejemplo
Version: 1.0
Description: ejemplo creacion paquete ipk
Section: base
Priority: optional
Maintainer: ejemplo openspa
Architecture: all
Depends: openspa-enigma2
Source: openspa.info

Y opcionalmente vamos a crear archivo script postinst:

PHP:
#!/bin/sh
echo "*******************************************************"
echo "instalado ejemplo creacion paquete ipk:"
echo "           http://openspa.info/          "
echo "*******************************************************"
exit 0

4.png


Importante: Todos los archivos que sean ejecutables tipo binarios o script necesitan permisos de ejecucion, por lo tanto antes de crear el paquete ipk debemos dar permisos de ejecucion, en este ejemplo solamente al archivo script postinst, pues para ello:

Código:
chmod 777 /media/hdd/createpaquete/control/postinst

5.png


  • Ahora vamos a crear los archivos control.tar.gz y data.tar.gz con lo que hemos creado, para ello accedemos por consola terminal y nos situamos en la carpeta control, para ello:
Código:
cd /media/hdd/createpaquete/control

y ejecutamos:

Código:
tar -cvzf control.tar.gz *

7.png


8.png



Y para data.tar.gz pues realizamos:

Código:
cd /media/hdd/createpaquete/data

y ejecutamos:

Código:
tar -cvzf data.tar.gz *

9.png


10.png

  • Ahora los archivos data.tar.gz y control.tar.gz los copiamos a la raiz de la carpeta create paquete y creamos en ella el archivo debian-binary con el texto en su interior 2.0
11.png

  • Y para terminar creamos el paquete ipk para ello, nos situamos en la carpeta /media/hdd/createpaquete y ejecutamos:
Código:
cd /media/hdd/createpaquete
Código:
tar -cvzf ejemplo_1.0_all.ipk data.tar.gz control.tar.gz debian-binary

12.png


13.png


  • Y comprobamos que la instalacion del paquete creado se realiza correctamente:
14.png


15.png
 
  • Me gusta
Reactions: popi65 y tzinm