ThingWorx Flow > 安装和配置 > 安装 ThingWorx Flow > 在无法访问互联网的 Linux 计算机上安装或升级 ThingWorx Flow 的先决条件
在无法访问互联网的 Linux 计算机上安装或升级 ThingWorx Flow 的先决条件
ThingWorx Flow
* 
说明假定每个步骤在进入下一步前均已成功完成。
在联网计算机上
1. 安装 yum createrepoyum-utils 以启用 yumdownloader
a. yum install createrepo
b. yum install yum-utils
2. /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. 运行以下命令以获取节点库:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
该操作可创建所需的存储库,以便在 yum.repos.d 处下载 nodejs
4. 通过 yumdownloader 将下列软件包下载至所需文件夹但不安装:
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 和 Rabbitmq-server 还具有用于启用依存项下载的 --resolve 标志。
5. 检查 logrotate 包是否已作为 rabbitmq-server 下载命令的一部分下载。
如果未下载,请使用以下命令显式下载:
yumdownloader --destdir=/opt/packages/rabbitmq logrotate
6. 请使用 createrepo 命令为每个包文件夹创建一个存储库以获取每个包的元数据:
createrepo /opt/packages/nginx
createrepo /opt/packages/erlang
createrepo /opt/packages/rabbitmq
createrepo /opt/packages/nodejs
* 
仅当 nginx 下载导致 /opt/packages/nginx 下生成多个 rpm 文件时执行步骤 7-9。
7. Nginx 安装包含多个包。将无互联网访问的信息库从包存储库变换为模块存储库。使用 modulemd-tools 包来创建用于将信息库转换为模块存储库的 modules.yaml 配置文件。启用相应包的信息库:
dnf copr enable frostyx/modulemd-tools-epel
dnf install modulemd-tools
8. 从包文件夹中运行以下命令,以创建 modules.yaml 文件:
repo2module --debug --module-name=nginx --module-stream=stable nginx modules.yaml
调试标志会输出从中创建 modules.yaml 的路径。
9. 使用所获得的配置 yaml 文件变换 nginx 存储库:
a. 请确保 modules.yaml 文件位于 /opt/packages
b. nginx/repodata 文件夹中的内容移至父项 nginx 文件夹 mv repodata/*
c. 从包文件夹中运行以下命令:
modifyrepo_c --mdtype=modules modules.yaml nginx
该操作将新建 modules.yaml.gz 并生成 repomd.xml
d. 将 repodata 文件夹中的所有内容以及新的 gz 文件移回 nginx/repodata 文件夹,仅在 nginx 存储库文件夹中留下 rpm 文件和 repodata 文件夹。
10. 将包文件夹复制到无互联网访问权限的计算机。
在专用于 ThingWorx Flow 安装的无互联网访问的服务器计算机上
1. 请确保 policycoreutils 包存在:policycoreutils-python 适用于低于 8 的 RHEL 版本,policycoreutils-python-utils 适用于 8 以及高于 8 的版本。如果此包不存在,请予以安装。
使用以下命令检查:
yum list --installed | grep policycoreutils
2. 请确保 perl 模块已启用。如果未启用,请予以启用
使用以下命令检查:
dnf module list --enabled | grep perl
3. /etc/yum.repos.d 下查找 AppStream.repo。如果找到,则将其设置为 enabled=0
4. /etc/yum.repos.d 下创建以下存储库,并使用 file://baseurl 配置为指向本地 rpm 包。
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. 现可运行 ThingWorx Flow 安装程序。
请参阅在 Microsoft SQL Server 上安装 ThingWorx Flow中的无互联网访问的安装
在没有互联网访问的服务器计算机上升级 ThingWorx Flow 的先决条件:
1. 由于无网络连接,用户必须升级所有正在使用的第三方应用程序。要获取最新版本的第三方应用程序,请重复步骤 2-10 以在联网计算机上进行安装
* 
建议移除所有先前下载的 rpm 文件 (在联网计算机上进行安装步骤 4 的结果) 以避免混淆。
* 
对于节点升级,必须使用节点文档验证更改节点安装程序的所有主要版本,并相应更新信息库 (使用此处步骤 3 中的命令行)。
3. 重复此处的步骤 5 以执行 ThingWorx Flow 升级安装。
故障排除
1. 按需启用 perl 模块并安装 policycoreutils 模块需要网络连接
2. 可将示例 modules.yaml 用作模板,而非使用 modulesmd 工具包。modules.yaml 是基于特定 Nginx 版本和操作系统版本生成的列表,因此可能不适用于不同操作系统上的不同 Nginx 模块版本。如果想要使用提供的文件,则必须在文件底部的 artifacts/rpms 下编辑指定的模块
必须省略每个条目的扩展名并在文件版本前添加版本和冒号。
例如,对于 nginx-1.14.1-9.module_el8.0.0+184+e34fea82.x86_64.rpm 文件,必须输入条目: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>
版本号必须取自 yaml 的数据部分。
data:
name: nginx
stream: rolling
version: 1
可根据需要访问以下链接以获取详细信息:
如何下载和使用 repo2module 并创建 modules.yaml 文件:https://github.com/rpm-software-management/modulemd-tools#readme
如何基于 modules.yaml 文件创建模块库:https://docs.fedoraproject.org/en-US/modularity/hosting-modules
3. 使用以下命令确保成功创建信息库:
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. 若重新安装 ThingWorx Flow (无论出于何种原因),请确保 nodesource-el8.repo 未收到 .rpmsave 扩展名,以使其无法用于下一次安装。更多内容请访问 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
...
这对您有帮助吗?