
File source: http://commons.wikimedia.org/wiki/File:U.S._Troops_Surrounded_by_Holiday_Mail_During_WWII.jpg
- 1. Requisitos
- 2. Instalación git
- 3. Instalacion de web server nginx
- 4. Creación entorno feed
- 5. Creacion paquete ipk enigma2
- 6. Creacion Packages
- 7. Creación feed receptor enigma2
- 1. Requisitos
- 2. Instalación git
- 3. Instalacion de web server nginx
- 4. Creación entorno feed
- 5. Creacion paquete ipk enigma2
- 6. Creacion Packages
- 7. Creación feed receptor 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
3. Instalacion de web server nginx
sudo apt-get update
sudo apt-get install nginx
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
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
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