Crear Servidor repositorio paquetes local enigma2

Nuestros receptores enigma2 llevan integrado el sistema opkg para realizar la instalación de paquetes a traves de un repositorio de paquetes. Es decir cuando en una imagen enigma2 instalada en nuestro receptor pulsamos en menu + plugins y seleccionamos instalar, nos conectamos al servidor de la imagen que estamos usando para instalar paquetes (plugins) disponibles en el servidor de la imagen.

En este articulo vamos a tratar como crear nosotros un repositorio local de paquetes propio, para que el receptor se conecte a nuestro servidor local y poder instalar paquetes que tengamos en el mismo.

1. Requisitos

Los requisitos para crear nuestro servidor de repositorio local son los siguientes:

  • Una maquina con sistema operativo Linux
  • Instalación de git
  • Instalación de un web server (nginx)
  • Creación entorno feed
  • Instalación de opkg-utils
  • Creación paquete ipk enigma2
  • Creación Packages
  • Creación feed receptor enigma2

2. Instalación git

sudo apt-get update

sudo apt-get install git

El pase de diapositivas requiere JavaScript.

3. Instalacion de web server nginx

sudo apt-get update

sudo apt-get install nginx

El pase de diapositivas requiere JavaScript.

Una vez realizada la instalacion del servidor web nginx en nuestra maquina linux podemos comprobar que funciona introduciendo en nuestro navegador web:

http://127.0.0.1

4. Creación entorno feed

Una vez realizada la instalación del servidor web nginx en nuestra maquina linux, el directorio donde vamos a crear nuestro servidor de repositorios local para enigma2 sera:

/var/www/html

Por lo que vamos a darle en este ejemplo permisos a este directorio con el comando

sudo chmod 777 /var/www/html

Ahora en el interior de /var/www/html vamos a crear simplemente un directorio de trabajo en este caso, creamos el directorio jungle, por ejemplo con el comando

mkdir /var/www/html/jungle

En el interior del directorio jungle vamos a crear un directorio por ejemplo llamado feed el cual contendra nuestro sistema de paquetes, es decir el servidor de repositorios

mkdir /var/www/html/jungle/feed

Instalación de opkg-utils

Para finalizar nuestro entorno vamos a instalar la utilidad opkg-utils que nos facilitara como veremos mas adelante la creacion de paquetes ipkg y el archivo Packages para nuestro servidor de repositorios local.

Nos situamos en el directorio creado jungle

cd /var/www/html/jungle

Nos descargamos la utilidad opkg-utils a traves de git para ello:

git clone git://git.yoctoproject.org/opkg-utils

El pase de diapositivas requiere JavaScript.

De este modo ahora tendremos la utilidad opkg-utils en el directorio /var/www/html/jungle/opkg-utils de nuestra maquina linux.

5. Creacion paquete ipk enigma2

Ahora vamos a ver como crear un paquete ipk para nuestros receptores enigma2, en este caso vamos a realizar un ejemplo basico de una lista de canales.

5.1. En primer lugar debemos crear un directorio por cada paquete ipk que deseemos crear dentro del directorio que teniamos creado /var/www/html/jungle, pues creamos con el siguiente comando:

mkdir /var/www/html/jungle/lista_canales_astra

5.2. Ahora en el interior del directorio creado la estructura para la creacion de nuestro paquete ipk es la siguiente:

-lista_canales_astra

–CONTROL

—archivo control

–etc/enigma2

—archivos de la lista

Es decir:

  • creamos un directorio llamado CONTROL dentro de lista_canales_astra
  • Dentro del directorio CONTROL creamos un archivo llamado control
  • creamos dentro del directorio lista_canales_astra nuestra lista canales tal cual iria ubicada en nuestro receptor, como la listas canales en el receptor van ubicadas en /etc/enigma2/archivos-listas, pues creariamos es directorio

Por lo tanto para que lo veais graficamente quedaria de la siguiente manera:

 

5.3. Ahora debemos editar el archivo control que hemos creado dentro del directorio CONTROL el cual contendra informacion del paquete a crear, basicamente constara de los siguientes datos:

Package: nombre que tendra el achivo
Version: version del archivo
Architecture: arquitectura para el cual esta realizado el archivo
Maintainer:opcional poner quien lo mantiene
Depends:si la instalacion depende de otros paquetes de enigma2
Description:una descripcion del paquete

En este ejemplo para que lo veais visualmente quedaria:

Package: enigma2-plugin-settings-jungle.astra
Version: 6.10.20
Architecture: all
Maintainer: jungle-team
Depends: enigma2-plugin-systemplugins-serviceapp
Description: Lista canales Astra 19.2 Jungle-team

5.4. Una vez creado la estructura de nuestro paquete, ahora vamos a crear el paquete ipk con opkg-utils, y vamos ejecutar en el comando que el paquete ipk se cree en el directorio /var/www/html/jungle/feed que sera nuestro directorio de paquetes pues ejecutamos en este ejemplo:

/var/www/html/jungle/opkg-utils/opkg-build /var/www/html/jungle/lista_canales_astra /var/www/html/jungle/feed

El pase de diapositivas requiere JavaScript.

Y ya tenemos nuestro paquete ipk creado, este proceso con diferentes carpetas para ipks los repetiriamos tantas veces como paquetes ipk deseamos crear.

Ahora en el directorio /var/www/html/jungle/feed tendremos nuestros paquetes ipk creados, en este ejemplo

6. Creacion Packages

Una vez hemos creado nuestros paquetes ipk, ahora deberemos crear el archivo Packages el cual contiene informacion en modo lista de todos los paquetes ipk que tenemos en nuestro servidor de repositorios, y que es el archivo al que se conecta nuestro receptor enigma2 para obtener la información de los archivos a instalar.

Para ello nos situamos en el directorio feed que hemos creado, para ello ejecutamos:

cd /var/www/html/jungle/feed

Y para la creacion del archivo Packages a traves de la utilidad opkg-utils ejecutamos el comando:

../opkg-utils/opkg-make-index . > /var/www/html/jungle/feed/Packages

Para finalizar debemos comprimir el archivo Packages que se ha creado en .gz para ello ejecutamos el siguiente comando:

gzip -9 /var/www/html/jungle/feed/Packages

Una vez realizado, ya tenemos nuestro servidor feed creado, en este ejemplo pues:

7. Creación feed receptor enigma2

Una vez ya tenemos creado nuestro servidor de repositorios vamos a crear el archivo feed para nuestro receptor se pueda conectar al mismo, el cual en este ejemplo en local seria:

src/gz jungle-local http://192.168.1.13/jungle/feed

  • jungle-local–Nombre que deseemos darle
  • http://192.168.1.13/jungle/feed —-la ip de la maquina linux local donde tenemos el servidor con el directorio donde tenemos creado nuestro servidor

Una vez creado el archivo pues lo llamamos jungle-local.conf

A continuacion ese archivo creado lo introducimos en nuestro receptor enigma2 en la carpeta /etc/opkg

Una vez introducido ahora observaremos que cuando en nuestro receptor ejecutamos:

opkg update

Nos aparecera que nuestro receptor se ha conectado a nuestro servidor local creado

De esta manera ya podriamos instalar los paquetes que tuvieramos en nuestro servidor local en el receptor enigma2, por ejemplo ya nos apareceria el paquete de este ejemplo

Y tambien nos apareceria en el menu + plugins + instalar de la imagen de nuestro receptor

 

Related posts

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: