Como crear un paquete ipk de instalacion enigma2

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 (normalmente viene instalada en todas las imagenes)
  • 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:

Insertar CODE, HTML o PHP:
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
  • 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
  • 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

 

  • 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,
Insertar CODE, HTML o PHP:
Package: ejemplo
Version: 1.0
Description: ejemplo creacion paquete ipk
Section: base
Priority: optional
Maintainer: ejemplo boxtvmania
Architecture: all
Depends: si queremos que dependa de alguna libreria
Source: boxtvmania.blog

Y opcionalmente vamos a crear archivo script postinst:

PHP:
#!/bin/sh
echo "*******************************************************"
echo "instalado ejemplo creacion paquete ipk:"
echo "           https://boxtvmania.blog/          "
echo "*******************************************************"
exit 0

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:

Insertar CODE, HTML o PHP:
chmod 777 /media/hdd/createpaquete/control/postinst

 

  • 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:
Insertar CODE, HTML o PHP:
cd /media/hdd/createpaquete/control

y ejecutamos:

Insertar CODE, HTML o PHP:
tar -cvzf control.tar.gz *

Y para data.tar.gz pues realizamos:

Insertar CODE, HTML o PHP:
cd /media/hdd/createpaquete/data

y ejecutamos:

Insertar CODE, HTML o PHP:
tar -cvzf data.tar.gz *
  • 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

 

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

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: