새 서버에서 설치 실패

새로운 루트 서버에 Ubuntu 22.04를 사용하여 새로운 Discourse 인스턴스를 설치하려고 합니다.
오늘 “구” 서버가 심각한 하드웨어 장애로 인해 충돌하여 호스팅 제공업체가 새 서버를 설정해야 했습니다. (어젯밤 백업된 Discourse 백업 파일이 있으며, 이를 새로 설정된 인스턴스에 복원하려고 합니다.)

다음 단계를 따르고 있습니다:

그러나 설치 과정에서 다음 오류가 발생합니다:

x86_64 arch detected.
Ensuring launcher is up to date
Fordere an von origin
Launcher is up-to-date
2.0.20220720-0049: Pulling from discourse/base
Digest: sha256:7ff397003c78b64c9131726756014710e2e67568fbc88daad846d2b368a02364
Status: Image is up to date for discourse/base:2.0.20220720-0049
docker.io/discourse/base:2.0.20220720-0049
exec /usr/local/bin/gem: exec format error
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
fatal: not a git repository (or any of the parent directories): .git
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

하지만 discourse-setup의 시작 단계에서도 여러 오류가 표시됩니다.
스크립트가 독일어 버전의 Ubuntu 운영체제에서 올바르게 작동하지 않는 것 같습니다.
오류는 $avail_mem이 포함된 줄에서 발생하며, 이는 메모리를 결정할 수 없기 때문입니다.
스크립트는 Mem:을 찾지만, 독일어 버전의 Ubuntu에서는 free -m --si를 실행할 때 Speicher:로 표시됩니다.
Swap:도 독일어 버전에서는 Auslager:로 표시됩니다.

Discourse를 설치하려면 운영체제가 영어 버전이어야 한다는 어떤 힌트도 본 적이 없습니다. :wink:

root@h2951329:/var/discourse# ./discourse-setup
./discourse-setup: Zeile 166: [: : Ganzzahliger Ausdruck erwartet.
./discourse-setup: Zeile 185: [: : Ganzzahliger Ausdruck erwartet.
./discourse-setup: Zeile 194: [: : Ganzzahliger Ausdruck erwartet.
The configuration file containers/app.yml already exists!

. . . reconfiguring . . .


Saving old file as app.yml.2022-08-18-011427.bak
Stopping existing container in 5 seconds or Control-C to cancel.
x86_64 arch detected.
app was not started !
./discourse-doctor may help diagnose the problem.

./discourse-setup: Zeile 166: [: : Ganzzahliger Ausdruck erwartet.
Found GB of memory and 4 physical CPU cores
./discourse-setup: Zeile 265: [: : Ganzzahliger Ausdruck erwartet.
./discourse-setup: Zeile 269: [: : Ganzzahliger Ausdruck erwartet.
./discourse-setup: Zeile 273: 256 *  : Syntaxfehler: Operator erwartet (fehlerverursachendes Zeichen ist "*  ")

그래서 저는 discourse-setup을 수정하여 Mem:을 Speicher:로, Swap:을 Auslager:로 교체했고, 이후 discourse-setup은 오류 없이 정상적으로 실행되었습니다:

root@h2951329:/var/discourse# ./discourse-setup
The configuration file containers/app.yml already exists!

. . . reconfiguring . . .


Saving old file as app.yml.2022-08-18-013238.bak
Stopping existing container in 5 seconds or Control-C to cancel.
x86_64 arch detected.
app was not started !
./discourse-doctor may help diagnose the problem.

Found 33GB of memory and 4 physical CPU cores
setting db_shared_buffers = 4096MB
setting UNICORN_WORKERS = 8
containers/app.yml memory parameters updated.

하지만 재빌드(rebuild)는 여전히 실패합니다:

Configuration file at containers/app.yml updated successfully!

Updates successful. Rebuilding in 5 seconds.
Building app
x86_64 arch detected.
Ensuring launcher is up to date
Fordere an von origin
Launcher is up-to-date
2.0.20220720-0049: Pulling from discourse/base
Digest: sha256:7ff397003c78b64c9131726756014710e2e67568fbc88daad846d2b368a02364
Status: Image is up to date for discourse/base:2.0.20220720-0049
docker.io/discourse/base:2.0.20220720-0049
exec /usr/local/bin/gem: exec format error
cd /pups && git pull && git checkout v1.0.3 && /pups/bin/pups --stdin
fatal: not a git repository (or any of the parent directories): .git
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

이 문제에 대한 도움을 주시면 감사하겠습니다.

이 분야는 저의 전문 분야는 아니지만, 주변에 물어본 결과 영어로 실행해야 하는 것 같습니다. 다만, LANG=C를 사용하여 로컬화를 비활성화하고 모든 coreutils 출력을 영어로 만들 수 있다고 생각합니다 - linux - LANG=C is in a number of the /etc/init.d/* scripts. What does LANG=C do and why do you need to set LANG=C. - Super User

음, 결국 Ubuntu 22.04 서버를 de_DE.utf8 대신 en_GB.utf8 로케일로 재설치하고 Discourse와 Docker도 다시 설치했습니다.
이제 설치 과정이 아무 오류 없이 순조롭게 진행되었습니다.
즉, Discourse는 영어 버전의 Ubuntu Linux 운영 체제가 필요합니다!