Voraussetzungen für die Installation oder das Upgrade von ThingWorx Flow ohne Internetverbindung auf einem Linux-Rechner
ThingWorx Flow
|
Die Anweisungen gehen davon aus, dass jeder Schritt vor dem nächsten Schritt erfolgreich abgeschlossen wurde.
|
Auf einem mit dem Internet verbundenen Computer
1. Installieren Sie yum createrepo und yum-utils, um yumdownloader zu aktivieren.
a. yum install createrepo
b. yum install yum-utils
2. Erstellen Sie die folgenden drei Repositorys unter /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. Führen Sie den folgenden Befehl aus, um ein Knoten-Repository abzurufen:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
Dadurch wird das erforderliche Repository zum Herunterladen von nodejs unter yum.repos.d erstellt.
4. Laden Sie die folgenden Pakete mit yumdownloader in den gewünschten Ordner herunter, ohne zu installieren:
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 und Rabbitmq-server weisen das Flag --resolve auf, um auch den Download von Abhängigkeiten zu ermöglichen.
|
5. Prüfen Sie, ob das Paket logrotate als Teil des rabbitmq-server-Download-Befehls heruntergeladen wurde.
Wenn nicht, laden Sie es explizit mit dem folgenden Befehl herunter:
yumdownloader --destdir=/opt/packages/rabbitmq logrotate
6. Erstellen Sie für jeden Paketordner ein Repository mit dem Befehl createrepo, um die Metadaten für jedes Paket abzurufen:
createrepo /opt/packages/nginx
createrepo /opt/packages/erlang
createrepo /opt/packages/rabbitmq
createrepo /opt/packages/nodejs
|
Führen Sie die Schritte 7 bis 9 nur aus, wenn der nginx-Download in mehr als einer RPM-Datei unter /opt/packages/nginx resultiert.
|
7. Die Nginx-Installation hat mehrere Pakete. Transformieren Sie das Repository ohne Internetverbindung vom einem Paket-Repository in ein Modul-Repository. Verwenden Sie das Paket modulemd-tools, um eine modules.yaml-Konfigurationsdatei zu erstellen, die verwendet wird, um das Repository in ein Modul-Repository zu transformieren. Aktivieren Sie das Repository für das entsprechende Paket:
dnf copr enable frostyx/modulemd-tools-epel
dnf install modulemd-tools
8. Führen Sie den folgenden Befehl im Pakete-Ordner aus, um die Datei modules.yaml zu erstellen:
repo2module --debug --module-name=nginx --module-stream=stable nginx modules.yaml
Das Debug-Flag gibt den Pfad aus, in dem die modules.yaml erstellt wurde.
9. Transformieren Sie das nginx-Repository mit der erhaltenen YAML-Konfigurationsdatei:
a. Stellen Sie sicher, dass die Datei modules.yaml unter /opt/packages gespeichert wird.
b. Verschieben Sie den Inhalt des Ordners nginx/repodata in den übergeordneten nginx-Ordner mv repodata/*.
c. Führen Sie den folgenden Befehl im Pakete-Ordner aus:
modifyrepo_c --mdtype=modules modules.yaml nginx
Dies erstellt eine neue modules.yaml.gz und arbeitet die repomd.xml aus.
d. Verschieben Sie den gesamten Inhalt des repodata-Ordners zusammen mit der neuen gz-Datei zurück in den Ordner nginx/repodata, und behalten Sie nur die RPM-Dateien und den repodata-Ordner im nginx repo-Ordner bei.
10. Kopieren Sie den Ordner "packages" auf den Rechner ohne Internetverbindung.
Auf dem Server-Rechner, der für die ThingWorx Flow Installation ohne Internetverbindung dediziert ist
1. Stellen Sie sicher, dass das Paket policycoreutils vorhanden ist: policycoreutils-python für RHEL-Version unter 8 oder policycoreutils-python-utils für Version 8 und höher. Installieren Sie das Paket, wenn es nicht vorhanden ist.
Verwenden Sie den folgenden Befehl für die Prüfung:
yum list --installed | grep policycoreutils
2. Stellen Sie sicher, dass das Modul perl aktiviert ist. Aktivieren Sie es, wenn es nicht aktiviert ist.
Verwenden Sie den folgenden Befehl für die Prüfung:
dnf module list --enabled | grep perl
3. Suchen Sie nach AppStream.repo unter /etc/yum.repos.d. Wenn es vorhanden ist, legen Sie es auf enabled=0 fest.
4. Erstellen Sie die folgenden Repositorys unter /etc/yum.repos.d, und konfigurieren Sie baseurl, um auf das lokale RPM-Paket mit file:// zu verweisen.
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. Sie können jetzt das ThingWorx Flow Installationsprogramm ausführen.
Voraussetzungen für das Upgrade von ThingWorx Flow auf einem Server-Rechner ohne Internetverbindung:
1. Der Benutzer muss ein Upgrade für alle Drittanbieter-Anwendungen in Verwendung durchführen, da keine Internetverbindung vorhanden ist. Wiederholen Sie die Schritte 2 bis 10 für die
Installation auf dem mit dem Internet verbundenen Rechner, um die neuesten Versionen der Drittanbieter-Anwendungen abzurufen.
|
Für das Knoten-Upgrade sollten Sie die Knoten-Dokumentation jeder Hauptversion prüfen, um zu erfahren, welches Knoten-Installationsprogramm Sie verwenden müssen, und das Repository entsprechend aktualisieren (über die Befehlszeile in Schritt 3 hier).
|
3. Wiederholen Sie Schritt 5
hier, um die Installation des
ThingWorx Flow Upgrade durchzuführen.
Problembehandlung
1. Zum Aktivieren des Moduls perl und Installieren des Moduls policycoreutils (nach Bedarf) ist eine Internetverbindung erforderlich.
2. Sie können die
modules.yaml (Muster) als Vorlage verwenden, anstatt des Tool-Pakets
modulesmd. Die Liste
modules.yaml basiert auf spezifischen Nginx-Versionen und der Betriebssystem-Version und funktioniert evtl. nicht für verschiedene Nginx-Modulversionen auf verschiedenen Betriebssystemen. Wenn Sie die angegebene Datei verwenden möchten, müssen Sie die angegebenen Module unter
artifacts/rpms unten in der Datei bearbeiten.
Sie müssen die Erweiterung weglassen und eine Version und einen Doppelpunkt vor der Dateiversion für jeden Eintrag hinzufügen.
Für die Datei nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm müssen Sie beispielsweise folgenden Eintrag erstellen: 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>
Die Versionsnummer muss aus dem Datenabschnitt der YAML entnommen werden.
data:
name: nginx
stream: rolling
version: 1
Weitere Informationen erhalten Sie bei Bedarf unter den folgenden Links:
3. Verwenden Sie die folgenden Befehle, um sicherzustellen, dass die Repositorys erfolgreich erstellt werden:
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. Stellen Sie bei der erneuten Installation von
ThingWorx Flow (aus irgendeinem Grund) sicher, dass
nodesource-el8.repo die Erweiterung
.rpmsave nicht erhalten hat, wodurch es für die nächste Installation unbrauchbar wird. Lesen Sie mehr unter
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
...