인터넷 액세스 없이 Linux 시스템에 ThingWorx Flow 설치 또는 업그레이드를 위한 사전 요구 사항
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. 다음 명령을 실행하여 노드 저장소를 가져옵니다.
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 폴더로 다시 이동하고 rpm 파일 및 repodata 폴더만 nginx 저장소 폴더에 그대로 둡니다.
10. 패키지 폴더를 인터넷에 연결되어 있지 않은 시스템에 복사합니다.
인터넷 액세스 없이 ThingWorx Flow 설치를 위한 전용 서버 시스템에서
1. policycoreutils 패키지가 있는지 확인합니다. RHEL 버전 8 이전의 경우 policycoreutils-python이고 버전 8 이후의 경우 policycoreutils-python-utils입니다. 해당 패키지가 없으면 설치합니다.
다음 명령을 실행하여 확인합니다.
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에서 로컬 local 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 설치 관리자를 실행할 수 있습니다.
인터넷 액세스 없이 서버 시스템에서 ThingWorx Flow를 업그레이드하기 위한 사전 요구 사항:
1. 인터넷에 연결되어 있지 않으므로 사용자는 사용 중인 타사 응용 프로그램을 모두 업그레이드해야 합니다. 타사 응용 프로그램의 최신 버전을 구하려면
인터넷 연결된 시스템에 설치를 위해 2~10단계를 반복합니다.
|
노드 업그레이드의 경우 노드 설치 관리자를 변경하려면 모든 주 버전에 대한 노드 설명서를 확인하고 그에 따라 저장소를 업데이트해야 합니다( 여기서 3단계의 명령줄 사용).
|
3. ThingWorx Flow 업그레이드 설치를 수행하려면
여기서 5단계를 반복합니다.
문제 해결
1. 필요한 경우 perl 모듈을 활성화하고 policycoreutils 모듈을 설치하려면 인터넷 연결이 필요합니다.
2. modulesmd 도구 패키지를 사용하는 대신 샘플
modules.yaml을 템플릿으로 사용할 수 있습니다.
modules.yaml 목록은 특정 Nginx 버전 및 OS 버전을 기반으로 하며 OS 버전과 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
필요한 경우 자세한 내용은 다음 링크를 참조하십시오.
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
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
...