ThingWorx Flow > Installazione e configurazione > Installazione di ThingWorx Flow > Prerequisiti per l'installazione o l'aggiornamento di ThingWorx Flow senza accesso a Internet su computer Linux
Prerequisiti per l'installazione o l'aggiornamento di ThingWorx Flow senza accesso a Internet su computer Linux
ThingWorx Flow
* 
Le istruzioni presuppongono il completamento di ogni passo prima di passare a quello successivo.
Su un computer connesso a Internet
1. Installare createrepo e yum-utils di yum per attivare yumdownloader
a. yum install createrepo
b. yum install yum-utils
2. Creare i repository elencati di seguito in /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. Per ottenere un repository di Node, eseguire il comando seguente:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
Viene creato così il repository necessario per scaricare nodejs in yum.repos.d
4. Scaricare i package seguenti utilizzando yumdownloader nella cartella desiderata senza eseguire l'installazione:
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 e Rabbitmq-server presentano il flag --resolve per consentire il download anche delle dipendenze.
5. Verificare se il package di logrotate è stato scaricato come parte del comando di download di rabbitmq-server.
In caso contrario, scaricarlo esplicitamente utilizzando il comando seguente:
yumdownloader --destdir=/opt/packages/rabbitmq logrotate
6. Per ogni cartella del package, creare un repository utilizzando il comando createrepo per ottenere i metadati per ogni package:
createrepo /opt/packages/nginx
createrepo /opt/packages/erlang
createrepo /opt/packages/rabbitmq
createrepo /opt/packages/nodejs
* 
Eseguire i passi da 7 a 9 solo quando nginx viene scaricato in più file rpm in /opt/packages/nginx.
7. L'installazione di nginx include più package. Trasformare il repository senza accesso a Internet da repository di package in repository di modulo. Utilizzare il package modulemd-tools per creare un file di configurazione modules.yaml da utilizzare per trasformare il repository in un repository di modulo. Attivare il repository per il rispettivo package:
dnf copr enable frostyx/modulemd-tools-epel
dnf install modulemd-tools
8. Eseguire il comando riportato di seguito dalla cartella packages per creare il file modules.yaml:
repo2module --debug --module-name=nginx --module-stream=stable nginx modules.yaml
Il flag di debug genera il percorso in cui è stato creato il file modules.yaml.
9. Trasformare il repository nginx utilizzando il file di configurazione yaml ottenuto:
a. Assicurarsi che il file modules.yaml si trovi nella cartella /opt/packages.
b. Spostare il contenuto della cartella nginx/repodata nella cartella nginx padre mv repodata/*.
c. Eseguire il comando riportato di seguito dalla cartella packages:
modifyrepo_c --mdtype=modules modules.yaml nginx
Questo comando crea un nuovo file modules.yaml.gz ed elabora il file repomd.xml.
d. Spostare nuovamente tutto il contenuto della cartella repodata, insieme al nuovo file gz, nella cartella nginx/repodata, lasciando solo i file rpm e la cartella repodata nella cartella nginx repo.
10. Copiare la cartella packages nel computer senza accesso a Internet.
Nel computer server dedicato all'installazione di ThingWorx Flow senza accesso a Internet
1. Assicurarsi dell'esistenza del package policycoreutils: policycoreutils-python per RHEL versione precedente a 8 o policycoreutils-python-utils per versione 8 e versioni successive. Installare il package se non esiste.
Utilizzare il comando riportato di seguito per verificare:
yum list --installed | grep policycoreutils
2. Verificare che il modulo perl sia attivato. In caso contrario, attivarlo.
Utilizzare il comando riportato di seguito per verificare:
dnf module list --enabled | grep perl
3. Cercare AppStream.repo in /etc/yum.repos.d. Se esiste, impostarlo su enabled=0.
4. Creare i repository elencati di seguito in /etc/yum.repos.d e configurare baseurl in modo che punti al package rpm locale utilizzando 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. È ora possibile eseguire il programma di installazione di ThingWorx Flow.
Vedere Installazione senza accesso a Internet in Installazione di ThingWorx Flow con Microsoft SQL Server
Prerequisito per l'aggiornamento di ThingWorx Flow in un computer server senza accesso a Internet:
1. Mancando la connessione a Internet, l'utente deve aggiornare tutte le applicazioni di terze parti in uso. Per ottenere le versioni più recenti delle applicazioni di terze parti, ripetere i passi da 2 a 10 per l'installazione sul computer connesso a Internet.
* 
Per evitare confusione, è consigliabile rimuovere tutti i file rpm scaricati in precedenza (come risultato del passo 4 per l'installazione nel computer connesso a Internet).
* 
Per l'aggiornamento di Node, è necessario verificare la documentazione di Node di qualsiasi versione principale per individuare quale installazione di Node utilizzare e aggiornare il repository di conseguenza (utilizzando la riga di comando nel passo 3 qui).
3. Ripetere il passo 5 qui per eseguire l'installazione dell'aggiornamento di ThingWorx Flow.
Risoluzione dei problemi
1. L'attivazione del modulo perl e l'installazione del modulo policycoreutils, se necessario, richiede una connessione Internet
2. È possibile utilizzare il file modules.yaml di esempio come modello anziché utilizzare il package di strumenti modulesmd. L'elenco modules.yaml si basa su una versione del sistema operativo e su versioni di Nginx specifiche e potrebbe non funzionare per altre versioni di moduli Nginx eseguite su sistemi operativi diversi. Nel caso in cui si desideri utilizzare il file fornito, è necessario modificare i moduli specificati in artifacts/rpms alla fine del file.
È necessario omettere l'estensione e aggiungere una versione e due punti prima della versione del file per ogni voce.
Ad esempio, per il file nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm è necessario creare una voce come la seguente: 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>
Il numero di versione deve essere preso dalla sezione dati del file yaml.
data:
name: nginx
stream: rolling
version: 1
Per ulteriori informazioni, fare riferimento ai link seguenti:
Come scaricare e utilizzare repo2module e creare un file modules.yaml:https://github.com/rpm-software-management/modulemd-tools#readme
Come creare repository di moduli basati sul file modules.yaml: https://docs.fedoraproject.org/en-US/modularity/hosting-modules
3. Utilizzare i comandi riportati di seguito per assicurarsi che i repository vengano creati nel modo corretto.
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. Nel caso in cui per una ragione qualsiasi si debba reinstallare ThingWorx Flow, assicurarsi che nodesource-el8.repo non riceva l'estensione .rpmsave che lo renderebbe inutilizzabile alla successiva installazione. Per ulteriori informazioni, visitare 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
...
È stato utile?