Requisitos previos para instalar o actualizar ThingWorx Flow sin acceso a Internet en un ordenador Linux
ThingWorx Flow
|
En las instrucciones se supone que cada paso se ha completado correctamente antes de pasar al siguiente.
|
En un ordenador conectado a Internet
1. Instale yum createrepo y yum-utils para activar yumdownloader.
a. yum install createrepo
b. yum install yum-utils
2. Cree los tres almacenes siguientes en /etc/yum.repos.d:
a. rabbitmq_erlang.repo
[rabbitmq_erlang]
name=Erlang repository
baseurl=https://packagecloud.io/rabbitmq/erlang/el/8/$basearch
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
b. rabbitmq_server.repo
[rabbitmq_server]
name=RabbitMQ repository
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/8/$basearch
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
c. nginx-repo.repo
[nginx-repo]
name=Nginx repository
baseurl=https://nginx.org/packages/rhel/8/$basearch/
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
3. Ejecute el siguiente comando para obtener un almacén de nodos:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
De este modo, se crea el almacén necesario para descargar nodejs en yum. repos d.
4. Descargue los siguientes paquetes con yumdownloader en la carpeta deseada sin instalarlos:
yumdownloader --destdir=/opt/packages/nginx --resolve nginx
yumdownloader --destdir=/opt/packages/erlang erlang
yumdownloader --destdir=/opt/packages/rabbitmq -–resolve rabbitmq-server
yumdownloader --destdir=/opt/packages/nodejs nodejs
|
Nginx-repo y rabbitmq-server tienen el señalizador --resolve para activar también la descarga de dependencias.
|
5. Verifique si el paquete logrotate se ha descargado como parte del comando de descarga rabbitmq-server.
Si no es así, descárguelo explícitamente mediante el siguiente comando:
yumdownloader --destdir=/opt/packages/rabbitmq logrotate
6. Para cada carpeta de paquetes, cree un almacén mediante el comando createrepo para obtener los metadatos de cada paquete:
createrepo /opt/packages/nginx
createrepo /opt/packages/erlang
createrepo /opt/packages/rabbitmq
createrepo /opt/packages/nodejs
|
Realice los pasos del 7 al 9 solo cuando la descarga de nginx dé como resultado más de un fichero rpm en /opt/packages/nginx.
|
7. La instalación de Nginx tiene varios paquetes. Transforme el almacén, sin acceso a Internet, desde el almacén del paquete en el almacén del módulo. Utilice el paquete modulemd-tools para crear un fichero de configuración modules.yaml que se usará para transformar el almacén en un almacén de módulos. Active el almacén para el paquete correspondiente:
dnf copr enable frostyx/modulemd-tools-epel
dnf install modulemd-tools
8. Ejecute el siguiente comando desde la carpeta de paquetes para crear el fichero modules.yaml:
repo2module --debug --module-name=nginx --module-stream=stable nginx modules.yaml
El señalizador de depuración genera la ruta en la que se ha creado modules.yaml.
9. Transforme el almacén de nginx mediante el fichero yaml de configuración obtenido:
a. Asegúrese de que el fichero modules.yaml se encuentre en /opt/packages.
b. Mueva el contenido de la carpeta nginx/repodata a la carpeta de nginx padre mv repodata/*.
c. Ejecute el siguiente comando desde la carpeta de paquetes:
modifyrepo_c --mdtype=modules modules.yaml nginx
De este modo, se crea el nuevo fichero modules.yaml.gz y se genera el fichero repomd.xml.
d. Vuelva a mover todo el contenido de la carpeta repodata junto con el nuevo fichero gz a la carpeta nginx/repodata, y deje solo los ficheros rpm y la carpeta repodata en la carpeta del almacén de nginx.
10. Copie la carpeta de paquetes en el ordenador sin acceso a Internet.
En el ordenador servidor dedicado para la instalación de ThingWorx Flow sin acceso a Internet
1. Asegúrese de que el paquete policycoreutils exista: policycoreutils-python para la versión de RHEL inferior a 8 o policycoreutils-python-utils para la versión 8 y posteriores. Si no existe, instale el paquete.
Utilice el siguiente comando para verificarlo:
yum list --installed | grep policycoreutils
2. Asegúrese de que el módulo perl esté activado. Si no lo está, actívelo.
Utilice el siguiente comando para verificarlo:
dnf module list --enabled | grep perl
3. Busque AppStream.repo en /etc/yum.repos.d. Si existe, defínalo en enabled=0.
4. Cree el siguiente almacén en /etc/yum.repos.d y configure baseurl para que señale al paquete rpm local mediante file://.
a. rabbitmq_erlang.repo
[rabbitmq_erlang]
name=Erlang repository
baseurl=file:///opt/packages/erlang
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
b. rabbitmq_server.repo
[rabbitmq_server]
name=RabbitMQ repository
baseurl=file:///opt/packages/rabbitmq
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
c. nginx-repo.repo
[nginx-repo]
name=Nginx repository
baseurl=file:///opt/packages/nginx
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
d. nodesource-el8.repo
[nodesource]
name=Node.js Packages for Enterprise Linux 8
baseurl=file:///opt/packages/nodejs
enabled=1
gpgcheck=0
sslverify=0
skip_if_unavailable=1
5. Ahora se puede ejecutar el instalador de ThingWorx Flow.
Requisito previo para actualizar ThingWorx Flow en el ordenador servidor sin acceso a Internet:
1. El usuario debe actualizar todas las aplicaciones de terceros en uso, puesto que no hay conexión a Internet. Para obtener las versiones más recientes de las aplicaciones de terceros, repita los pasos del 2 al 10 para la
instalación en el ordenador conectado a Internet.
|
Para la actualización del nodo, se debe verificar con la documentación del nodo para saber si hay alguna versión principal y algún cambio en el instalador del nodo, y actualizar el almacén según corresponda (mediante la línea de comandos del paso 3 aquí).
|
3. Repita el paso 5
aquí para instalar la actualización de
ThingWorx Flow.
Resolución de problemas
1. Para activar el módulo perl e instalar el módulo policycoreutils, si es necesario, se requiere conexión a Internet.
2. Es posible usar el fichero
modules.yaml de ejemplo como plantilla en lugar de utilizar el paquete de herramientas
modulesmd. La lista
modules.yaml se basa en versiones específicas de Nginx y en la versión del sistema operativo, por lo que es posible que no funcione con distintas versiones de módulos de Nginx en otro sistema operativo. Si se desea utilizar el fichero proporcionado, se deben editar los módulos especificados en
artifacts/rpms de la parte inferior del fichero.
Se debe omitir la extensión y añadir una versión y dos puntos antes de la versión del fichero para cada entrada.
Por ejemplo, para el fichero nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm, se debe crear una entrada: nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
artifacts:
rpms:
- nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- <same action per rpm file>
El número de versión se debe tomar de la sección de datos del fichero yaml.
data:
name: nginx
stream: rolling
version: 1
Si fuera necesario, consulte los siguientes vínculos para obtener más información:
3. Utilice los siguientes comandos para asegurarse de que los almacenes se crean correctamente:
yum --disablerepo=”*” --enablerepo=”nodesource” list nodejs
yum --disablerepo=”*” --enablerepo=”nginx-repo” list nginx
yum --disablerepo=”*” --enablerepo=”rabbitmq_erlang” list erlang
yum --disablerepo=”*” --enablerepo=”rabbitmq_server” list rabbitmq-server
4. Si está reinstalando
ThingWorx Flow(por cualquier motivo), asegúrese de que
nodesource-el8.repo no haya recibido la extensión
.rpmsave que hará que no se pueda utilizar para la siguiente instalación. Encontrará más información en
https://fileinfo.com/extension/rpmsave.
module.yaml
---
document: modulemd-defaults
version: 1
data:
module: nginx
stream: rolling
profiles:
rolling: [everything]
...
---
document: modulemd
version: 2
data:
name: nginx
stream: rolling
version: 1
context: abcdef12
summary: <auto-generated module summary>
description: >-
<auto-generated module description>
license:
module:
- MIT
content:
- <FILL THIS IN>
profiles:
everything:
rpms:
- nginx
- nginx-all-modules
- nginx-filesystem
- nginx-mod-http-image-filter
- nginx-mod-http-perl
- nginx-mod-http-xslt-filter
- nginx-mod-mail
- nginx-mod-stream
api:
rpms:
- nginx
- nginx-all-modules
- nginx-filesystem
- nginx-mod-http-image-filter
- nginx-mod-http-perl
- nginx-mod-http-xslt-filter
- nginx-mod-mail
- nginx-mod-stream
components:
rpms:
nginx:
rationale: Present in the repository
artifacts:
rpms:
- nginx-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-all-modules-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
- nginx-filesystem-1:1.14.1-9.module_el8.0.0+184+e34fea82.noarch
- nginx-mod-http-image-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-http-perl-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-http-xslt-filter-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-mail-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
- nginx-mod-stream-1:1.14.1-9.module_el8.0.0+184+e34fea82.x86_64
...