새로운 루트 서버에 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를 설치하려면 운영체제가 영어 버전이어야 한다는 어떤 힌트도 본 적이 없습니다. ![]()
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.
이 문제에 대한 도움을 주시면 감사하겠습니다.