> For the complete documentation index, see [llms.txt](https://docs.editran.onesait.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.editran.onesait.com/documentacion-editran/open-v5.3/linux/instalacion.md).

# Instalación

Este documento proporciona el manual de instalación del Sistema Editran.

Editran es una plataforma de comunicaciones, desarrollada por Indra, sobre redes de datos e Internet que posibilita la comunicación directa entre aplicaciones informáticas residentes en diferentes máquinas y sistemas operativos de diferentes empresas, organismos y entidades públicas o privadas.

El documento describe los procesos que es necesario realizar para instalar y configurar el Sistema Editran. También se incluyen los procesos necesarios para actualizar una instalación a su siguiente versión oficial.

El manual va dirigido a administradores de sistemas y se asume que el lector posee los conocimientos técnicos necesarios para realizar las tareas que en él se describen.

## Prerrequisitos

### Requisitos de hardware

Las características hardware del equipo dependerán del nivel de carga de trabajo que se espere en cada despliegue del producto. Se da una configuración orientativa por tipos de instalación.

#### Procesador

Dada la diversidad de arquitecturas diferentes existentes para estos sistemas operativos, deben consultar con el fabricante de los equipos el que se adapte mejor a sus necesidades. En líneas generales el rendimiento del producto mejora con:

* Mayor velocidad del procesador.
* Mayor número de núcleos/hilos.

#### Espacio HDD

El disco necesario depende en gran parte del tamaño máximo de los ficheros transmitidos y del tiempo que se mantengan en el equipo. Al no conocerse de antemano, sólo se tienen en cuenta los siguientes factores:

* Espacio necesario para el software Editran. Depende del SO, pero no supera los 30 MB.
* Espacio necesario para datos de configuración del producto. Cada perfil de transmisión definido ocupa unos 35 KB. El total de transmisiones a configurar dependerá tanto del número de entidades con las que debamos comunicar como de los tipos de información intercambiada. Por tanto, para una instalación media (250 perfiles diferentes) habría que contar con 10 MB aproximadamente.
* Espacio para ficheros temporales creados por Editran durante las transmisiones. Por cada transmisión se necesitará tener espacio en disco para el triple del volumen de datos transferidos. En la tabla se da un dimensionamiento recomendado según el uso que se vaya a hacer del producto, basado en el número máximo de transmisiones concurrentes y el volumen de los ficheros intercambiados.

#### Dimensionamiento HDD

| Carga    | Nº Transmisiones | Tamaño Ficheros | Espacio HDD |
| -------- | ---------------- | --------------- | ----------- |
| Baja     | 1 - 25           | 50 MB           | 20 GB       |
| Estándar | 25 - 100         | 250 MB          | 140 GB      |
| Alta     | > 100            | 1 GB            | > 300 GB    |

#### Comunicaciones

Tarjeta de red Ethernet para protocolo TCP/IP.

#### Soluciones de escalabilidad y alta disponibilidad

A nivel de infraestructuras para instalaciones que tengan estas necesidades se recomienda una solución de virtualización. Las implicaciones que tendría en el producto:

* Para que esta solución proporcione capacidades de escalabilidad, habría que asociarla a la instalación de múltiples instancias Editran aisladas, cada una gestionando su grupo de transmisiones.
* Es necesario instalar el componente Editran/PX que se configura para que enrute el tráfico entrante a la instancia que corresponda.

#### Arquitectura virtualización

![esquema arquitectura virtualizacion](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-da2fd5fca3544945d93d3783b4bbfb8a41f48e4e%2Fimage1.png?alt=media)

### Requisitos Software

#### Sistemas Operativos

En entornos Unix se distribuyen instaladores para los SO y arquitecturas de la tabla. Los instaladores se generan y se prueban en las versiones dadas de cada SO, no obstante, es normal que sean compatibles con versiones superiores.

#### Instaladores

| SO              | Arquitectura | Nombre                             |
| --------------- | ------------ | ---------------------------------- |
| Linux Red Hat 8 | X86\_64      | Editran-v5.3.x-x86\_64-redhat8.run |
| Linux Red Hat 9 | X86\_64      | Editran-v5.3.x-x86\_64-redhat9.run |

#### Software adicional

* Se debe disponer en el sistema anfitrión de una ***máquina virtual Java*** en versión **21**.
* En sistemas **Red Hat Enterprise Linux 8 (RHEL 8)** se debe contar con **OpenSSL versión 1.1.1** instalado.
* En sistemas **Red Hat Enterprise Linux 9 (RHEL 9)** se debe contar con la versión de **OpenSSL 3.5** proporcionada por el propio sistema operativo con todas las actualizaciones de seguridad aplicadas.

> ℹ️*Nota:* Editran sólo tiene dependencia de la librería **libcrypto** de OpenSSL, que es la que proporciona los algoritmos de cifrado simétrico y de clave pública usados en su criptografía.

### Conectividad

Editran es un protocolo cliente/servidor. Para habilitar conexiones remotas desde cualquier otra entidad deberá disponer de acceso a Internet con una IP pública fija asignada y un puerto TCP abierto de entrada y/o salida (por defecto Editran utiliza el puerto 7777).

> ℹ️*Nota:* Se recomienda que el equipo donde se instala Editran esté en la red interna con una IP privada y la conexión a Internet se haga a través del módulo **Editran/PX** desarrollado como pasarela para añadir más seguridad a las comunicaciones TCP/IP en redes públicas. Para obtener más información de este componente, consulte su manual de usuario.

## Instalación del sistema

### Tareas previas

#### Descarga de software Onesait Editran

Para la descarga del software acceda a la página oficial del producto [Editran](https://www.onesait.com/editran/resources).

En ***Recursos > Unix > Software*** encontrará enlaces a los instaladores de software del producto para los Sistemas Operativos actualmente soportados.

Si necesita ayuda puede ponerse en contacto con el grupo de soporte en:

* Teléfono de soporte - 91 480 80 80
* Dirección e-mail - <editran@minsait.com>

#### Creación del usuario editran

Aunque no es imprescindible, se recomienda crear una nueva cuenta de usuario especialmente creada para trabajar con editran. Por seguridad, sólo este usuario debería tener los permisos para ejecutar y configurar el sistema asumiendo el rol de administrador del producto.

### Procedimiento de instalación

Como usuario ***root***, cree un directorio principal en un sistema de archivos que cuente con espacio suficiente para funcionar como ubicación destino de Editran. Por ejemplo:

`mkdir /opt/editran`

Copiar en este directorio el fichero de instalación con extensión **.run** descargado. Revisar el apartado de los requisitos software para calcular el espacio en disco que puede necesitar para su entorno de producción.

> ℹ️\*Nota: En este documento en ocasiones se utiliza \<home-editran> como referencia para mencionar el directorio raíz de la instalación elegido, que por defecto se utiliza /opt/editran pero puede ser cambiado por otro. Si elige uno distinto, deberá sustituir cualquier referencia al directorio raíz /opt/editran por el elegido.

Cambie el propietario del directorio al usuario **editran**. Por ejemplo:

`chown -R editran /opt/editran`

Inicie sesión con usuario **editran**, cambie a directorio de instalación y ejecute el instalador (en el ejemplo Editran-v5.3.x-x86\_64-redhat9.run):

```bash
cd /opt/editran

./Editran-v5.3.x-x86_64-redhat9.run
```

A continuación se detallan los pasos de instalación mediante capturas del instalador ejecutado en modo texto (consola). En servidores que dispongan de interfaz gráfica, el instalador mostrará ventanas equivalentes a las pantallas descritas en este apartado, manteniendo el mismo flujo, opciones y valores que se presentan en el modo texto.

#### Directorio de instalación

El instalador solicita el directorio creado en el punto anterior para copiar en él los archivos del producto.

Puede introducir una ruta o pulsar **Enter** para aceptar la ruta propuesta por defecto.

![directorio de instalación](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-cdd664e1f52b2ebbe5502b2f15aabfb07e8e3105%2F01_instalacion_linux_ruta.png?alt=media)

#### Directorio de datos de configuración

De forma predeterminada, **Editran** almacena los ficheros de configuración y los ficheros temporales en el directorio de instalación.

Si desea utilizar una ruta diferente, active la opción de directorio personalizado cuando el instalador muestre el siguiente prompt:

`Directorio de datos de configuracion personalizado [y/N]:`

* **Y/y**: activa la configuración personalizada y permite indicar la ruta del directorio de datos.
* **N/n** o **Enter**: mantiene la ruta por defecto (directorio de instalación).

Ejemplo de selección de un directorio de datos personalizado:

![datos](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-06043e091d1b784a79aa033281a21acb2b346cf6%2F02_instalacion_linux_dir_datos.png?alt=media)

#### Resumen e instalación

Una vez completadas las opciones anteriores, el instalador muestra un resumen con los valores seleccionados.

Tras su confirmación, realiza la copia de archivos y finaliza el proceso de instalación.

![resumen](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-87f89442c01e05809ad7aec10a97af9cf824f6a2%2F03_instalacion_linux_fin.png?alt=media)

El software instalado se estructura según el siguiente árbol de directorios:

```txt
\<home-editran>
    |-- bin
    |     |-- jar
    |     |-- lib
    |     |-- utils
    |     |-- SL
    |-- inst
    |-- cfg
    |-- log
    |-- tmp
```

| Ruta                            | Descripción                                                                                                                                                                                 |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *\<home-editran>*               | Directorio raíz del software de Editran.                                                                                                                                                    |
| *\<home-editran>*/**bin**       | Programas que implementan la funcionalidad de Editran.                                                                                                                                      |
| *\<home-editran>*/bin/**jar**   | Librerías Java de la utilidad gráfica para administración del fichero de claves DES.                                                                                                        |
| *\<home-editran>*/bin/**lib**   | Librerías de las que dependen los programas Editran tanto las propias como las de terceros distribuidas con el producto                                                                     |
| *\<home-editran>*/bin/**utils** | Scripts de gestión de intercambio de claves y scripts plantilla para instalaciones en las que se necesite desarrollar procedimientos específicos previos y posteriores a las transmisiones. |
| *\<home-editran>*/bin/**SL**    | Servicio de gestión de licencia.                                                                                                                                                            |
| *\<home-editran>*/**inst**      | Scripts útiles durante el proceso de instalación del producto.                                                                                                                              |
| *\<home-editran>*/**cfg**       | Directorio donde se ubicarán los ficheros de configuración de **Editran**.                                                                                                                  |
| *\<home-editran>*/**log**       | En este directorio Editran deja los ficheros de log del sistema.                                                                                                                            |
| *\<home-editran>*/**tmp**       | Se crea vacío en la instalación. Editran lo usa como directorio para almacenar ficheros temporales generados durante las transmisiones: tampones, estado, etc...                            |

> ℹ️*Nota:* Si durante la instalación se seleccionó un directorio personalizado para los datos de configuración, las carpetas `tmp` y `cfg` se ubicarán en dicho directorio, en lugar de encontrarse dentro de `<home-editran>`.

### Tareas posteriores

#### Verificar dependencias

La instalación de Editran incluye el script *\<home-editran>***/inst/depends** para comprobar si el sistema tiene instaladas las librerías externas que necesita el producto.

Se muestran a continuación dos ejemplos representativos.

* **Ejemplo 1**: Un caso de éxito en RHL9

  ```bash
  #Dependencias:
  -->OpenSSL v3
  #Paquetes instalados [rpm]:
  openssl V3.5.5
  openssl-devel V3.5.5
  openssl-fips-provider V3.0.7
  openssl-fips-provider-so V3.0.7
  openssl-libs V3.5.5
  xmlsec1-openssl V1.2.29
  #Resolviendo libcrypto.so.3  Ya esta resuelta
        libcrypto.so.3 => /lib64/libcrypto.so.3 (0x00007fd6f0400000)
  lrwxrwxrwx 1 root root 18 Apr 10 08:07 /lib64/libcrypto.so.3 -> libcrypto.so.3.5.5
  ```

  Este mensaje confirma que Editran ha localizado `libcrypto.so.3` y que puede usarla sin pasos adicionales.
* **Ejemplo 2**: OpenSSL no está instalado como paquete Sw:

  ```bash
  #Dependencias:
  -->OpenSSL v3

  #Paquetes instalados [rpm]:
  #Resolviendo libcrypto.so.3 ... no instalada
  ```

  En este caso, el script no ha podido localizar la librería y la dependencia queda sin resolver. El administrador debe crear manualmente el enlace simbólico para que Editran la encuentre:

  ```bash
  cd \<home-editran>/bin/lib
  ln -s /usr/lib/libcrypto.so.3.5.5 libcrypto.so.3
  ```

  Si la librería no está instalada en el sistema, primero debe instalarse el paquete de OpenSSL correspondiente. Una vez instalada, puede relanzarse el script para comprobarla de nuevo.

#### Licencia de uso

Para poder utilizar Editran es necesario disponer de una licencia válida emitida por **Indra**. El licenciamiento se realiza por equipo, así que la licencia queda asociada al servidor concreto en el que se va a arrancar el sistema.

Para solicitarla, siga estos pasos:

* Ejecute el script de generación del identificador del equipo:

  ```bash
  cd \<home-editran>/bin
  ./licencia.sh
  ```
* Envíe a <editran@minsait.com> el fichero **hostid\_dd-mm-yyyy.txt** generado por el script. Si dispone de una licencia anterior, adjunte también el fichero **licencia.dat** de esa instalación.
* Cuando reciba la nueva licencia por correo, copie el archivo adjunto en el directorio **bin/SL** y renómbrelo como **licencia.dat**.
* Proteja ese fichero para evitar modificaciones accidentales, ya que Editran deja de funcionar si la licencia no es válida o se altera.

## Configuración inicial del sistema

Una vez instalado Editran es necesario realizar una serie de tareas con el objetivo de configurar el sistema, para que todos sus componentes puedan ejecutarse adecuadamente.

En este apartado se describe sólo la configuración mínima necesaria para que pueda arrancar el sistema, en los manuales de usuario de los componentes Editran/P y Editran/G se explica en detalle la manera en que se crean los perfiles para las transmisiones.

### Parámetros de inicio

Editran ya está preparado para funcionar con los valores por defecto de los parámetros de inicio. Solo es necesario modificar estos parámetros para personalizar el entorno de ejecución en instalaciones que así lo requieran; para ello, descomente y asigne valor únicamente a las variables de entorno del script **EDItran** que necesite ajustar respecto a su valor por defecto.

Algunas variables deben definirse también en el **perfil del usuario** administrador de Editran (shell profile, por ejemplo `~/.bashrc` en bash) **solo si se descomentan en el script EDItran y se les asigna un valor distinto del valor por defecto**. En ese caso, mantenga el mismo valor en ambas ubicaciones para que utilidades como **menup**, **menug** y otros comandos apliquen la misma configuración.

#### Variables de entorno de Editran

| **Variable**              | **Descripción**                                                                                                                                                                                                                                                                                     | Valores admitidos                                           | Valor por defecto       | Definir en perfil (si valor no predeterminado) |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | ----------------------- | ---------------------------------------------- |
| EDI\_IPC\_KEY\_BASE       | Rango de puertos TCP usados para la comunicación entre los procesos Editran. Será necesario definirlo si coinciden con puertos ya en uso por otras aplicaciones.                                                                                                                                    |                                                             | 8000                    | Sí                                             |
| EDI\_DATA                 | Directorio personalizado para los ficheros de datos de Editran: configuración y ficheros temporales (tampones, estado, etc.). En esta versión existe la posibilidad de desligarlos del path de instalación del producto definiendo la ruta en la que los procesos buscan y guardan dichos ficheros. | Path existente y con permisos                               | home-editran            | Sí                                             |
| EDI\_TOUT\_IDLE           | La variable establece el timeout de inactividad del protocolo. Cualquier sesión conectada, pero sin tráfico de datos se liberará agotado ese tiempo.                                                                                                                                                |                                                             | 600(segundos)           | No                                             |
| EDI\_DBGL                 | Determina el nivel de información de log que se registra durante las transmisiones.                                                                                                                                                                                                                 | <p>1(info)<br>2(traza)<br>3(debug)</p>                      | info                    | No                                             |
| EDI\_MGLOG                | Determina si la información de log se registra en un único fichero o en ficheros diferentes para cada *Presentación*. Dichos ficheros se guardan en \<home-editran>/log.                                                                                                                            | Si no existe la variable el fichero de log es único         | fichero único           | No                                             |
| EDI\_GUPGRADE             | Los parámetros que Editran pasa a los programas de usuario previos y posteriores han cambiado en esta versión. Se recomienda que se adapten durante el proceso de migración pero, si no es posible, se puede trabajar en modo compatible con versiones inferiores dando valor a esta variable.      | Si existe la variable se activa el modo compatible          | modo estándar           | Sí                                             |
| EDI\_REPORT\_PATH         | Generación de informes diarios de ficheros transmitidos. Más detalle de esta funcionalidad en *Manual de Usuario Editran/G*.                                                                                                                                                                        |                                                             |                         | No                                             |
| EDI\_REPORT\_LEVEL        | Nivel de detalle en la generación de informes de ficheros.                                                                                                                                                                                                                                          | <p>0(básico)<br>1(extendido)</p>                            | básico                  | No                                             |
| EDI\_SHARE\_FF            | Integración con el servicio de firma (Editran/FF). Más detalle de esta funcionalidad en *Manual de Usuario Editran/G*.                                                                                                                                                                              |                                                             |                         | No                                             |
| LICSRV                    | Variable para configurar la ip y el puerto de escucha del servidor de licencia. El puerto debe tener el mismo valor que la variable SL.PORTSRV definida en el punto [Servicio de Licencia](#servicio-de-licencia)                                                                                   |                                                             | 127.0.0.1:50777         | Sí                                             |
| FACTSRV                   | Variable para configurar la ip y el puerto de escucha del servidor de facturación. El puerto debe tener el mismo valor que la variable FC.PORTSRV definida en el punto [Servicio de Licencia](#servicio-de-licencia)                                                                                |                                                             | 127.0.0.1:50778         | Sí                                             |
| EDI\_DELAY\_LIC           | Variable para configurar el tiempo de espera tras arrancar el servicio de licencia.                                                                                                                                                                                                                 | Número de segundos de demora                                | 2 segundos              | No                                             |
| EDI\_DISABLE\_LOG\_BACKUP | Variable que deshabilita el backup de los ficheros de log en el arranque de Editran.                                                                                                                                                                                                                | <p>0(backup de log activo)<br>1(backup de log inactivo)</p> | 0(backup de log activo) | No                                             |

### Ajustes de configuración del Servidor de Licencia

No es necesario hacer ningún ajuste en la configuración del servidor de licencia, salvo que se deseen establecer puertos de escucha diferentes a los que el servidor usa por defecto.

Los parámetros configurables se encuentran en `<home-editran>/bin/SL/App.conf` y son los siguientes:

* **BASE**

  El instalador ya deja configurado este parámetro con la ruta `<home-editran>/bin/SL`. Es el directorio raíz del servicio de licencia y en él se generarán sus logs, informes, temporales, etc.

  ```txt
  # Dir BASE de la Aplicación
  BASE: /opt/editran/bin/SL
  ```
* **SL.PORTSRV** (opcional)

  Inclúyalo si desea usar un puerto de licencia distinto del predeterminado (**50777**).

  ```txt
  # SL (Servidor Licencia)
  #-------------------------
  SL.PORTSRV: 50777
  ```

  Si se personaliza, el puerto debe coincidir con la variable **LICSRV** definida en [los parámetros de inicio](#parámetros-de-inicio). No se deben utilizar los puertos reservados para Editran.
* **FC.PORTSRV** (opcional, solo si la licencia tiene facturación)

  Inclúyalo si desea usar un puerto de facturación distinto del predeterminado (**50778**).

  ```txt
  # FC (Servidor Facturación)
  #---------------------------
  # Día del mes que se genera el informe
  #DIAINF: 1
  FC.PORTSRV: 50788
  ```

  Si se personaliza, el puerto debe coincidir con la variable **FACTSRV** definida en [los parámetros de inicio](#parámetros-de-inicio). No se deben utilizar los puertos reservados para Editran.
* **DIAINF** (opcional, solo si la licencia tiene facturación)

  Sirve para elegir el día de generación del informe de resultados de facturación. Por defecto es el primer día de mes; solo hay que descomentarlo si desea otro día.

  ```txt
  # FC (Servidor Facturación)
  #---------------------------
  # Día del mes que se genera el informe
  DIAINF: 2
  ```

### Entorno local

Una vez que se dispone de un fichero de licencia en `<home-editran>/bin/SL`, para que Editran pueda ejecutarse es imprescindible definir un **Entorno local**.

Parámetros a configurar:

* **Código Entidad**: Indra asigna un código único que identifica a cada entidad/organismo en la red lógica Editran.
* **IP y puerto del servicio**: Dirección IP del servidor y puerto TCP abierto para la escucha de conexiones remotas.

En el manual de usuario de [Editran/P](/documentacion-editran/open-v5.3/linux/plataforma.md) puede ver cómo realizar esta tarea desde la interfaz de usuario. Si se arranca el sistema sin estar definido, en el fichero `<home-editran>/log/editranp.out` se registrará el siguiente mensaje de error:

```txt
10/11/2025 14:43:55.728 [xinitenv.c] No existe perfil del entorno local
```

### Instancias Editran concurrentes

Si necesita tener varias instancias de Editran en la misma máquina, configure cada una como un entorno independiente.

#### Qué debe ser distinto en cada instancia

| Elemento                         | Requisito                                              |
| -------------------------------- | ------------------------------------------------------ |
| Usuario de la aplicación Editran | Un usuario diferente por instancia.                    |
| Directorio de instalación        | Un directorio diferente por instancia.                 |
| EDI\_IPC\_KEY\_BASE              | Un valor diferente por instancia.                      |
| Puertos de licencia              | Un valor diferente por instancia.                      |
| Recursos TCP de Editran          | IP y/o puertos de escucha diferenciados por instancia. |

#### Pasos de configuración (por instancia)

1. Instale Editran con un usuario y un directorio exclusivos para esa instancia.
2. Edite el script **EDItran** y defina valores propios para:

   ```txt
   EDI_IPC_KEY_BASE=<valor_unico>
   LICSRV=127.0.0.1:<puertoLicencia>
   # Configurar FACTSRV solo si la licencia tiene facturación
   FACTSRV=127.0.0.1:<puertoFacturacion>
   ```
3. Añada esas mismas variables con los mismos valores en el perfil del usuario que arranca la instancia.
4. En **SL/App.conf**, configure los puertos:

   ```txt
   SL.PORTSRV: <puertoLicencia>
   # Configurar FC.PORTSRV solo si la licencia tiene facturación
   FC.PORTSRV: <puertoFacturacion>
   ```

   `SL.PORTSRV` debe coincidir exactamente con el puerto configurado en `LICSRV`.\
   `FC.PORTSRV` debe coincidir exactamente con el puerto configurado en `FACTSRV`.
5. Verifique que los recursos TCP (IP/puertos) de esa instancia no se solapan con los de otras instancias.

> **Resultado esperado:** cada instancia puede arrancar y operar en paralelo sin conflicto de puertos ni de recursos compartidos.

## Iniciar y detener el sistema

### Script EDItran

En los entornos Unix para arrancar y parar el sistema se ejecuta el script **EDItran**. Su sintaxis es:

```bash
Usage: EDItran [-l] [-t] [-f] start|stop|status|version
        -l       Operativa restringida al Servidor de Licencia
        -t       Traza
        -f       Ignora otro EDITRAN arrancado
        start    Arranca el servicio
        stop     Detiene el servicio
        status   Obtiene el estado del servicio
        version  Muestra la version del sistema EDITRAN
```

Al arrancar Editran se admiten las siguientes opciones:

* **-l** Esta opción restringe el alcance del comando solo al servidor de licencia.
* **-t** Activa traza. Los procesos de Editran dejan información adicional que permite depurar situaciones de error. La traza se escribe en la salida estándar de errores del proceso que se redirige a un fichero que se nombra como el proceso que lo genera y extensión **.out**. Esta información será requerida normalmente por el grupo de Soporte de Editran para analizar incidencias.

  Desde la versión 5.0.2, existe también la posibilidad de activar la traza temporalmente sin que se tenga que parar y arrancar Editran. La manera de hacerlo es enviando la señal SIGUSR2 al proceso que se necesite analizar. Por ejemplo, si se tratase de ***editranp***, el usuario que arrancó el sistema deberá seguir los siguientes pasos:

  * Obtener el pid del proceso

    ```bash
    ps -ef | grep editranp
    usredi 1143 1 0 Sep 29 ? 72:40 editranp
    ```
  * Activar la traza enviando la señal al proceso con el comando **kill**

    ```bash
    /usr/bin/kill -USR2 1143
    ```
  * Una vez realizada la prueba que se quiere analizar, desactivar la traza volviendo a ejecutar:

    ```bash
    /usr/bin/kill -USR2 1143
    ```
  * En el fichero **log/editranp.out** quedan reflejadas estas acciones con los siguientes mensajes:

    ```
    10/11/2017 15:40:14.094 [LOG][SIG17]:Traza On
    10/11/2017 15:50:18.615 [LOG][SIG17]:Traza Off
    ```
* **-f** Si se especifica esta opción, al hacer **start** se permite arrancar Editran aunque haya otra instancia arrancada. Para que varios sistemas puedan funcionar simultáneamente de forma correcta es necesario haber realizado la instalación con los requisitos que se detallan en el apartado [Instancias Editran concurrentes](#instancias-editran-concurrentes).

### Servicio editran.service en Linux Red Hat

Es posible arrancar y parar Editran como servicio. Para ello debe configurar la unidad de servicio proporcionada en la instalación del producto siguiendo los siguientes pasos:

* Modificar el fichero /opt/editran/bin/service/editran.service

  ```txt
  [Unit]
  Description=Editran
  After=network.target

  [Service]
  Type=forking
  User=editran
  WorkingDirectory=/opt/editran/bin
  Environment=JAVA_HOME=/path/to/java
  ExecStart=/opt/editran/bin/EDItran -s start
  ExecStop=/opt/editran/bin/EDItran -s stop

  [Install]
  WantedBy=multi-user.target
  ```
* En el apartado User habrá que definir el usuario que arrancará el servicio.
* En WorkingDirectory, ExecStart y ExecStop hay que definir la ruta de instalación de Editran.
* En la ruta /path/to/java se debe definir la ruta de instalación de java.
* Autenticado como **root**, en la ruta **/etc/systemd/system/** se debe crear el fichero de enlace editran.service apuntando a /opt/editran/bin/service/editran.service (salvo que la instalación de editran esté en un punto de montaje, en ese caso se debe crear una copia de /opt/editran/bin/service/editran.service en /etc/systemd/system)
* Posteriormente se debe recargar la configuración del administrador systemd: `systemctl daemon-reload`
* Si lo desea, se puede configurar el servicio para que se inicie automáticamente al arrancar el sistema: `systemctl enable editran.service`

Dependiendo de las dependencias particulares de su sistema, es posible que tenga que adaptar el fichero editran.service para que esta opción funcione correctamente.

* Los comandos admitidos por el servicio son:
  * systemctl status editran.service
  * systemctl start editran.service
  * systemctl stop editran.service
  * systemctl restart editran.service

> ℹ️*Nota:* Antes de arrancar el servicio debe tener una licencia válida y un entorno local definido.

## Actualización de versión

### Versión origen 5.3.x sin cambio de SO

Una vez descargado el instalador de la nueva versión, la actualización se realiza sobre la instalación existente.

Pasos previos:

* Detenga Editran.
* Realice una copia de seguridad del directorio actual. Por ejemplo:

  ```bash
  cp -r /opt/editran /opt/editran.v53x
  ```
* Ejecute el instalador correspondiente a su sistema operativo (RHEL8 o RHEL9). Por ejemplo:

  ```bash
  cd /opt/editran
  ./Editran-v5.3.x-x86_64-redhatx.run
  ```

A continuación se detallan las pantallas del instalador en modo texto (consola). En servidores con interfaz gráfica, el asistente mostrará ventanas equivalentes con el mismo flujo de opciones.

#### 1) Directorio de actualización

El instalador solicita el directorio en el que se copiarán los archivos del producto.

Debe indicar la ruta de la instalación existente para que el instalador detecte correctamente que se trata de una actualización.

![directorio de instalación](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-f49644974219cbf6a6c07c41793b74a441c1b077%2F04_actualizacion_linux_ruta.png?alt=media)

#### 2) Directorio de datos de configuración

Si en la instalación anterior se utilizó una ruta de datos personalizada, active la opción de directorio personalizado cuando el instalador muestre el siguiente prompt:

`Directorio de datos de configuracion personalizado [y/N]:`

* **Y/y**: activa la configuración personalizada y permite indicar la ruta del directorio de datos.
* **N/n** o **Enter**: mantiene la ruta por defecto (directorio de instalación).

En caso de seleccionar **Y**, introduzca la misma ruta de datos que utilizaba la instalación anterior:

![datos](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-06043e091d1b784a79aa033281a21acb2b346cf6%2F02_instalacion_linux_dir_datos.png?alt=media)

Si la instalación anterior no tenía ruta de datos personalizada, seleccione **N**.

#### 3) Resumen e instalación

Una vez completadas las opciones anteriores, el instalador muestra un resumen con los valores seleccionados.

Tras la confirmación, se copian los archivos y finaliza el proceso de actualización.

![resumen](https://3256837847-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiQfLim2uDaLOZRkgWkOk%2Fuploads%2Fgit-blob-cc874d00fe943189fa85e7d4de61660afd09c2c8%2F06_actualizacion_linux_fin.png?alt=media)

No es necesario solicitar una nueva licencia: el fichero de licencia de la versión origen es compatible con la versión actualizada.

### Versión origen 5.2.1 o anterior sin cambio de SO

Una vez descargado el instalador de la nueva versión de Editran, debe realizar los siguientes pasos:

* Detener Editran.
* Renombrar el directorio de instalación de Editran. Por ejemplo: `mv /opt/editran /opt/editran.v510`
* Realizar la [instalación del producto](#procedimiento-de-instalación).
* Solicitar un nuevo fichero de [licencia](#licencia-de-uso).
* Migrar la configuración de la versión anterior. Para ello dispone de la utilidad **migra-cfg**. El directorio *\<home-editran>***/inst** contiene los scripts (**.bash** y **.sh**, según sea nuestro *shell*) que realizan la tarea.

  Comprobar que la variable Editran\_HOME del script que se utilice tenga el valor adecuado a la instalación del cliente.
* El script **migra-cfg.bash** realiza tres pasos diferentes, y, en caso de que alguno falle, tras arreglar el error, se puede relanzar utilizando la opción **-c** indicando el paso deseado `cfg2txt | txt2cfg | migragc`

#### Ni la instalación antigua ni la nueva tienen definido EDI\_DATA

Si ni la instalación antigua ni la nueva tienen definido EDI\_DATA(directorio para los ficheros de datos de Editran) hay que proceder de la siguiente manera:

* Situarse en *\<home-editran>***/bin** y ejecutar:

  ```bash
  ../inst/migra-cfg.bash
  ```
* El script va informando de los pasos que se realizan, pidiendo la respuesta del usuario cuando se necesitan datos adicionales o confirmación. De forma resumida las acciones que realiza el script y los mensajes que se muestran al usuario son:
* Se pide al usuario el path y versión a migrar:

  ```
  Introduzca la version a migrar (ej. 50): 51
  Version: 51
  Introduzca la release a migrar (ej. 2): 0
  Release: 0
  Introduzca el path de version a migrar: /opt/editran.v510
  Path: /opt/editran.v510
  ```
* Se copia la configuración al nuevo directorio creado *\<home-editran>***/migration**

  ```
  Copiar configuracion V51 R0 [OK]
  ```
* La migración de los ficheros de perfiles Editran se hace en dos pasos, primero se pasan a texto.

  ```
  Volcar Perfiles Editran/P a texto /opt/editran/migration/perfilesP.txt
  Volcar Perfiles Editran/G a texto /opt/editran/migration/perfilesG.txt
  ```
* Si se detecta que los perfiles antiguos tienen configuraciones descatalogadas en esta versión, se mostrará el siguiente mensaje:

  ```
  Configuracion obsoleta [WARN]

  Se han detectado perfiles con datos incompatibles con la instalacion de Editran.

  Los puede consultar en /opt/editran/migration/configuracionObsoleta.csv

  Si continua con la migracion se actualizaran con valores que necesitaran revision por parte del operador.

  Desea continuar? (si/no)?:
  ```
* Si no hay configuraciones obsoletas, aparecerá el siguiente mensaje:

  ```
  Configuracion obsoleta [OK]
  ```
* En el siguiente paso se generan los ficheros cfg de los perfiles:

  ```
  Configurando Editran/P /opt/editran/migration/perfilesP.txt
  Configurando Editran/G /opt/editran/migration/perfilesG.txt
  ```
* Por último, se migran las claves del módulo Editran/GC. Dependiendo de la configuración original se mostrarán los siguientes mensajes:
  * Si no se usaba Editran/GC

    ```
    editran/GC: /opt/editran.v510/controlGC.cfg no existe
    ```
  * Si existen claves RSA pero sin módulo Editran/GC

    ```
    RSA: las claves /opt/editran.v510/ckds.rsa deben migrarse manualmente
    ```
  * Se muestra el resultado (OK o ERROR) de la migración de claves:

    ```
    Migrar Editran/GC [OK]
    ```
  * Por último, se verifican las claves RSA:

    ```
    Revision de claves RSA [OK]
    ```
* Si durante este proceso aparecen mensajes de error debe contactar con el Soporte Técnico de Editran y enviar el contenido del directorio *\<home-editran>***/migration** para que se valoren dichos mensajes.

#### La instalación antigua o la nueva tienen definido EDI\_DATA

Si la instalación antigua o la nueva tienen definido **EDI\_DATA**, el script de migración utilizará automáticamente la ruta contenida en esa variable para buscar los ficheros a migrar, sin solicitarla por pantalla.

**Configuración de EDI\_DATA antes de ejecutar la migración:**

Según la configuración de EDI\_DATA en versión antigua y nueva, siga los pasos indicados en la tabla:

| Versión antigua            | Versión nueva              | Configurar EDI\_DATA temporalmente como | Carpeta donde el script buscará los perfiles |
| -------------------------- | -------------------------- | --------------------------------------- | -------------------------------------------- |
| EDI\_DATA=/path/to/dataOld | EDI\_DATA=/path/to/dataNew | EDI\_DATA=/path/to/dataOld              | /path/to/dataOld                             |
| EDI\_DATA=/path/to/dataOld | Sin EDI\_DATA              | -                                       | /path/to/dataOld                             |
| Sin EDI\_DATA              | EDI\_DATA=/path/to/dataNew | -                                       | /path/to/dataNew                             |

**Ficheros origen:**

Antes de ejecutar el script, verifique que la carpeta donde el script busca los perfiles contiene todos los ficheros necesarios según la versión de Editran origen. Si alguno no existe, cópielo desde la instalación antigua:

| Versión antigua    | Ficheros que deben estar en la carpeta origen                                                                                                                 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Anterior a 520** | <p><code>editranp.cfg</code><br><code>editrang.cfg</code><br><code>controlGC.cfg</code><br>directorio <code>.rsa</code><br><code>ckds.des</code></p>          |
| **520**            | <p><code>cfg/editranp.cfg</code><br><code>cfg/editrang.cfg</code><br><code>cfg/controlGC.cfg</code><br><code>cfg/.rsa</code><br><code>bin/ckds.des</code></p> |
| **Superior a 520** | <p><code>cfg/editranp.cfg</code><br><code>cfg/editrang.cfg</code><br><code>cfg/controlGC.cfg</code><br><code>cfg/.rsa</code><br><code>cfg/ckds.des</code></p> |

Donde

* **editranp.cfg** y **editrang.cfg** son los ficheros de perfiles.
* Fichero de claves **ckds.des**
* Fichero de claves **ckds.rsa** (si existiera en la instalación anterior y sólo si tiene licencia RSA)
* **controlGC.cfg** (si existiera en la instalación anterior y sólo si tiene licencia RSA)
* Directorio **.rsa** (si existiera en la instalación anterior y sólo si tiene licencia RSA)

**Migración:**

En este punto ya puede situarse en *\<home-editran>***/bin** y ejecutar:

`../inst/migra-cfg.[ba]sh`

* El script va informando de los pasos que se realizan, pidiendo la respuesta del usuario cuando se necesitan datos adicionales o confirmación. De forma resumida las acciones que realiza el script y los mensajes que se muestran al usuario son:
* Se pide al usuario el path y versión a migrar:

  ```
  Introduzca la version a migrar (ej. 50): 51
  Version: 51
  Introduzca la release a migrar (ej. 2): 0
  Release: 0
  Detectado EDI_DATA
  Path: /opt/editran/share
  ```
* Se copia la configuración al nuevo directorio creado *\<home-editran>***/migration**

  ```
  Copiar configuracion V51 R0 [OK]
  ```
* La migración de los ficheros de perfiles Editran se hace en dos pasos, primero se pasan a texto.

  ```
  Volcar Perfiles Editran/P a texto /opt/editran/migration/perfilesP.txt
  Volcar Perfiles Editran/G a texto /opt/editran/migration/perfilesG.txt
  ```
* Si se detecta que los perfiles antiguos tienen configuraciones descatalogadas en esta versión, se mostrará el siguiente mensaje:

  ```
  Configuracion obsoleta [WARN]

  Se han detectado perfiles con datos incompatibles con la instalacion de Editran.

  Los puede consultar en /opt/editran/migration/configuracionObsoleta.csv

  Si continua con la migracion se actualizaran con valores que necesitaran revision por parte del operador.

  Desea continuar? (si/no)?:
  ```
* Si no hay configuraciones obsoletas, aparecerá el siguiente mensaje:

  ```
  Configuracion obsoleta [OK]
  ```
* En el siguiente paso se generan los ficheros cfg de los perfiles:

  ```
  Configurando Editran/P /opt/editran/migration/perfilesP.txt
  Configurando Editran/G /opt/editran/migration/perfilesG.txt
  ```
* Por último, se migran las claves del módulo Editran/GC. Dependiendo de la configuración original se mostrarán los siguientes mensajes:
  * Si no se usaba Editran/GC

    ```
    editran/GC: /opt/editran/share/controlGC.cfg no existe
    ```
  * Si existen claves RSA pero sin módulo Editran/GC

    ```
    RSA: las claves /opt/editran/share/ckds.rsa deben migrarse manualmente
    ```
  * Se muestra el resultado (OK o ERROR) de la migración de claves:

    ```
    Migrar Editran/GC [OK]
    ```
  * Por último, se verifican las claves RSA:

    ```
    Revision de claves RSA [OK]
    ```
* Si durante este proceso aparecen mensajes de error debe contactar con el Soporte Técnico de Editran y enviar el contenido del directorio \<home-editran>/migration para que se valoren dichos mensajes.
* Si la nueva instalación tiene EDI\_DATA, el script de migración dejará configurada una nueva carpeta que propondrá como nuevo EDI\_DATA.

  ```
  Se ha creado un nuevo directorio /opt/editran/share_FROM_510 para ser utilizado como EDI_DATA. Por favor reconfigure su instalacion.
  ```

### Migración entre diferentes SO

Una vez descargado el instalador de la nueva versión de Editran, debe realizar los siguientes pasos:

* Realizar la instalación del producto.
* Solicitar una nueva [licencia](#licencia-de-uso).
* Exportar los perfiles a texto plano en el SO original. Ejecute los comandos respetando los nombres de los ficheros txt que aparecen en ellos:

  ```bash
  ediperfi -r -a -operfilesP.txt
  igaperfi -r -a -operfilesG.txt
  ```
* Crear en la nueva instalación el directorio *\<home-editran>***/migration**.

#### Caso A: la nueva instalación no tiene EDI\_DATA

* Dentro de *\<home-editran>***/migration** cree un directorio nuevo, por ejemplo *\<home-editran>***/migration/origen**.
* Ese será el directorio que deberá indicar al script cuando solicite el path de la versión a migrar.

#### Caso B: la nueva instalación tiene EDI\_DATA

* La ruta definida en **EDI\_DATA** será la que el script utilice como carpeta origen.
* Si esa ruta no coincide con la carpeta donde están los perfiles antiguos, ajuste temporalmente el valor de **EDI\_DATA** antes de ejecutar la migración.
* En ambos casos, copie en la carpeta origen los ficheros de la antigua versión siguiendo la estructura de la tabla:

  | Versión antigua    | Contenido del directorio origen                                                        |
  | ------------------ | -------------------------------------------------------------------------------------- |
  | **Anterior a 520** | <p>perfilesP.txt<br>perfilesG.txt<br>controlGC.cfg<br>.rsa<br>ckds.des<br>ckds.rsa</p> |
  | **520**            | <p>perfilesP.txt<br>perfilesG.txt<br>cfg/controlGC.cfg<br>cfg/.rsa<br>bin/ckds.des</p> |
  | **Superior a 520** | <p>perfilesP.txt<br>perfilesG.txt<br>cfg/controlGC.cfg<br>cfg/.rsa<br>cfg/ckds.des</p> |

  Donde

  * **perfilesP.txt** y **perfilesG.txt** son los ficheros generados en el primer punto.
  * Fichero de claves **ckds.des**
  * Fichero de claves **ckds.rsa** (si existiera en la instalación anterior y sólo si tiene licencia RSA)
  * **controlGC.cfg** (si existiera en la instalación anterior y sólo si tiene licencia RSA)
  * Directorio **.rsa** (si existiera en la instalación anterior y sólo si tiene licencia RSA)
* Situarse en *\<home-editran>***/bin** y ejecutar la utilidad de migración, especificando como argumento el paso a realizar: recuperar configuración desde texto. Si el SO origen es Windows es necesaria la opción **-w**.

  ```bash
  ../inst/migra-cfg.[ba]sh [-w] txt2cfg
  ```

  En este caso, las acciones y mensajes que la utilidad de migración muestra al usuario son:

  ```
  Se pide al usuario la versión a migrar:
  Introduzca la version a migrar (ej. 50): 51
  Version: 51
  Introduzca la release a migrar (ej. 2): 0
  Release: 0
  ```
* En el caso A, al no haber EDI\_DATA en la instalación nueva, se solicitará la ruta completa de la carpeta de migración:

  ```
  Introduzca el path de version a migrar: /opt/editran/migration/v510
  Path: /opt/editran/migration/v510
  ```
* En el caso B, si existe EDI\_DATA, se mostrará el mensaje:

  ```
  Detectado EDI_DATA
  Path: /opt/editran/share
  ```
* Si se detecta que los perfiles antiguos tienen configuraciones descatalogadas en esta versión, se mostrará el siguiente mensaje:

  ```
  Configuracion obsoleta [WARN]

  Se han detectado perfiles con datos incompatibles con la instalacion de Editran.

  Los puede consultar en /opt/editran/migration/configuracionObsoleta.csv

  Si continua con la migracion se actualizaran con valores que necesitaran revision por parte del operador.

  Desea continuar? (si/no)?:
  ```
* Si no hay configuraciones obsoletas, aparecerá el siguiente mensaje:

  ```
  Configuracion obsoleta [OK]
  ```
* Migración de los ficheros de perfiles a partir de los ficheros de texto.

  ```
  Configurando Editran/P [/opt/editran/migration/v510/perfilesP.txt] [OK]
  Configurando Editran/G [/opt/editran/migration/v510/perfilesG.txt] [OK]
  ```
* Por último, se migran las claves del módulo Editran/GC. Dependiendo de la configuración original se mostrarán los siguientes mensajes:
  * Si no se usaba Editran/GC

    ```
    editran/GC: /opt/editran/migration/v510/controlGC.cfg no existe
    ```
  * Si existen claves RSA pero sin módulo Editran/GC

    ```
    RSA: las claves /opt/editran/migration/v510/ckds.rsa deben migrarse manualmente
    ```
  * Se muestra el resultado (OK o ERROR) de la migración de claves:

    ```
    Migrar Editran/GC [OK]
    ```
  * Por último, se verifican las claves RSA:

    ```
    Revision de claves RSA [OK]
    ```
* Si durante este proceso aparecen mensajes de error debe contactar con el Soporte Técnico de Editran y enviar el contenido del directorio \<home-editran>/migration para que se valoren dichos mensajes.
* Si la nueva instalación tiene EDI\_DATA, el script de migración dejará configurada una nueva carpeta que propondrá como nuevo EDI\_DATA.

  ```
  Se ha creado un nuevo directorio /opt/editran/share_FROM_510 para ser utilizado como EDI_DATA. Por favor reconfigure su instalacion.
  ```
* El cambio de SO puede implicar otros cambios (modificación de las rutas usadas en la configuración, adaptación de scripts usados como procedimientos de usuario, etc.) que quedan fuera de esta migración.

### Migración de scripts de usuario

Si existen Programas de Usuario específicos que se ejecutan como procedimientos previos y posteriores a las transmisiones, deberá adaptarlos teniendo en cuenta los siguientes cambios:

* En los programas previos a la transmisión la lista de parámetros es: Presentación, sentido, código local, código remoto y aplicación.
* En los programas posteriores a la transmisión la lista de parámetros es: Presentación, sentido, código local, código remoto, aplicación y el path absoluto del fichero con la lista de los ficheros emitidos o recibidos.
* Los programas posteriores sólo se ejecutan cuando la transmisión finaliza con éxito. En cualquier otro caso, incluidos los errores en el proceso de carga y descarga, se ejecutará el programa de excepción.
* Se recomienda que los scripts de usuario se ubiquen en bin/utils, para diferenciarlos del software del producto.

En la tabla siguiente se indican los argumentos de cada tipo de programa de usuario:

| Variable | Excepción                         | Previo                  | Posterior                                              |
| -------- | --------------------------------- | ----------------------- | ------------------------------------------------------ |
| 0        | Nombre del programa               | Nombre del programa     | Nombre del programa                                    |
| 1        | Presentación                      | Presentación            | Presentación                                           |
| 2        | Emisión (E) o Recepción           | Emisión (E) o Recepción | Emisión (E) o Recepción                                |
| 3        | Resultado transmisión (4 dígitos) | Código Local            | Código Local                                           |
| 4        | Código Local                      | Código Remoto           | Código Remoto                                          |
| 5        | Código Remoto                     | Aplicación              | Aplicación                                             |
| 6        | Aplicación                        |                         | Ruta del fichero con la lista de ficheros transmitidos |

En la actualización de versión, no se deja preparado el entorno de producción para trabajar con los Programas de Usuario de versiones anteriores, y se recomienda su adaptación al nuevo formato. En líneas generales los cambios a realizar en este proceso son:

* Si en sus scripts se están utilizando los argumentos con que los invoca Editran, adaptar los valores necesarios a los de la versión actual (Por ejemplo, si utilizaba el valor 4 para recoger el Código local en un programa de usuario Posterior a recepción, deberá cambiarlo por el 3.).

### Scripts de usuario en modo compatible con versiones anteriores

No recomendamos usar esta opción, pero existe la posibilidad de indicar que se van a usar scripts que esperan los parámetros de entrada de versiones anteriores. Para hacerlo hay que editar el script EDItran de la siguiente manera:

```
#################
#EDI_GUPGRADE: Descomentar para trabajar en modo compatible con scripts previos/posteriores de versiones antiguas
EDI_GUPGRADE=1
export EDI_GUPGRADE
```

La siguiente tabla muestra los argumentos de cada tipo de programa de usuario en función de la presencia o ausencia de EDI\_GUPGRADE:

| Variable | Excepción                         | <p>Previo<br>SIN EDI\_GUPGRADE</p> | <p>Previo<br>CON EDI\_GUPGRADE</p> | <p>Posterior<br>SIN EDI\_GUPGRADE</p>                  | <p>Posterior<br>CON EDI\_GUPGRADE</p>                  |
| -------- | --------------------------------- | ---------------------------------- | ---------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ |
| 0        | Nombre del programa               | Nombre del programa                | Nombre del programa                | Nombre del programa                                    | Nombre del programa                                    |
| 1        | Presentación                      | Presentación                       | Presentación                       | Presentación                                           | Presentación                                           |
| 2        | Emisión (E) o Recepción (R)       | Emisión (E) o Recepción (R)        | Emisión (E) o Recepción (R)        | Emisión (E) o Recepción (R)                            | Emisión (E) o Recepción (R)                            |
| 3        | Resultado transmisión (4 dígitos) | Código Local                       | RESULTADO                          | Código Local                                           | RESULTADO                                              |
| 4        | Código Local                      | Código Remoto                      | Código Local                       | Código Remoto                                          | Código Local                                           |
| 5        | Código Remoto                     | Aplicación                         | Código Remoto                      | Aplicación                                             | Código Remoto                                          |
| 6        | Aplicación                        |                                    | Aplicación                         | Ruta del fichero con la lista de ficheros transmitidos | Aplicación                                             |
| 7        |                                   |                                    |                                    |                                                        | Ruta del fichero con la lista de ficheros transmitidos |

## Apéndices

### Instalación y cambio de la clave maestra HMK

La clave Maestra garantiza la integridad de las claves Auxiliares almacenadas en el fichero de **ckds.des**, ya que todas las claves que residen en el fichero se almacenan cifradas con dicha HMK.

El comando que realiza este servicio es **pinsdes**. Su sintaxis se muestra a continuación:

`pinsdes <clave_actual> <clave_nueva>`

Siendo:

\<clave\_actual>: clave Maestra instalada\
\<clave\_nueva>: nueva clave Maestra

El comando anterior cuando se usa en el proceso de instalación de la clave Maestra se invoca con \<clave\_actual> = \<clave\_nueva>, es decir, el usuario especifica la clave Maestra y su repetición. El comando validará que ambas claves son iguales.

Si **pinsdes** se usa para realizar el cambio de la clave Maestra instalada, el usuario deberá especificar en \<clave\_actual> la clave Maestra instalada en el fichero **ckds.des** existente y en \<clave\_nueva> la clave Maestra nueva. Las validaciones que se realizan en este caso son, por un lado, el conocimiento de la clave Maestra actual ---especificada como primer argumento del comando--- y, por otro, que la nueva clave Maestra ---especificada en segundo lugar---, sea diferente de la actual.

En ambos casos, se validará también que el formato de la clave Maestra que se quiere instalar tenga paridad impar; esto es, cada octeto (dos caracteres del alfabeto hexadecimal) de la nueva clave Maestra ha de tener un número impar de bits con valor 1.

Durante el proceso de cambio de la clave Maestra, conviene realizar una copia de seguridad o "backup" del mismo. Así, si durante el proceso se produjera algún error, existe la posibilidad de reponer el fichero de claves original.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.editran.onesait.com/documentacion-editran/open-v5.3/linux/instalacion.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
