ThingWorx Flow > Установка и конфигурация > Установка ThingWorx Flow > Предварительные требования для установки или обновления ThingWorx Flow без доступа к Интернету на компьютере Linux
Предварительные требования для установки или обновления ThingWorx Flow без доступа к Интернету на компьютере Linux
ThingWorx Flow
* 
В инструкциях предполагается, что каждый шаг успешно завершается перед переходом к следующему шагу.
На подключенном к Интернету компьютере выполните следующие действия.
1. Установите приложения Yum createrepo и yum-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. Выполните следующую команду, чтобы получить репозиторий Node:
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
При этом будет создан репозиторий, необходимый для загрузки nodejs в yum.repos.d
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
* 
Выполняйте шаги с 7 по 9, только если в результате загрузки nginx будет более одного файла rpm в папке /opt/packages/nginx.
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. Преобразуйте репозиторий nginx, используя полученный файл конфигурации yaml:
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. Верните все содержимое папки данных репозитория вместе с новым файлом gz назад в папку nginx/repodata, оставив в папке репозитория nginx только файлы rpm и папку с данными репозитория.
10. Скопируйте папку packages на компьютер без доступа к Интернету.
На компьютере сервера, выделенном для установки ThingWorx Flow без доступа к Интернету
1. Убедитесь в существовании пакета policycoreutils: policycoreutils-python для версий, предшествующих RHEL 8, или policycoreutils-python-utils для версий RHEL 8 и более поздних. Установите этот пакет, если он не существует.
Для проверки используйте следующую команду:
yum list --installed | grep policycoreutils
2. Убедитесь, что включен модуль perl. Включите его, если он выключен
Для проверки используйте следующую команду:
dnf module list --enabled | grep perl
3. Найдите файл AppStream.repo в папке /etc/yum.repos.d. Если он существует, задайте в нем значение enabled=0.
4. Создайте следующие репозитории в папке /etc/yum.repos.d и сконфигурируйте baseurl, чтобы он указывал на локальный пакет rpm, используя 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. Теперь можно запустить установщик ThingWorx Flow.
См. подраздел Установка без доступа к Интернету в разделе Установка ThingWorx для Microsoft SQL Server
Предварительное требование для обновления ThingWorx Flow на компьютере сервера без доступа к Интернету:
1. Пользователь должен обновить все использующиеся приложения сторонних производителей, учитывая, что не было соединения с Интернетом. Чтобы получить последние версии сторонних приложений, повторите шаги со 2-го по 10-й для установки на компьютере, соединенном с Интернетом
* 
Чтобы избежать путаницы, рекомендуется удалить все ранее загруженные файлы rpm (результат шага 4 для установки на компьютере, соединенном с Интернетом).
* 
Для обновления узла необходимо свериться с документацией Node для любой полной версии установщика изменений Node и обновить репозиторий соответствующим образом (используя командную строку в шаге 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>
Номер версии нужно взять из раздела data файла 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
...
Было ли это полезно?