저는 Ubuntu 16.04에서 Discourse를 실행하고 있습니다. 이 버전은 내년 지원이 종료될 예정이라, 제 Discourse VM에 대해 어떻게 해야 할지 조사하고 있습니다.
위 링크에는 Ubuntu 18.04만 언급되어 있는데, 20.04가 이미 출시된 상황에서 이는 다소 이상적이지는 않지만(그래도 괜찮습니다!) 용인할 수 있는 수준입니다. 검색해 보았지만, discourse-setup이 정상적으로 작동해야 하고 동시에 지원되는(예: discourse-setup이 테스트되는 환경, 그리고 작동하지 않는 것이 버그로 간주되는 환경) 배포판 목록을 찾지 못했습니다.
"18.04가 괜찮다"는 말이 "18.04에서 설치/업데이트를 테스트하고, 해당 버전에서 작동하지 않는 것으로 알려진 코드를 배포하지 않거나 버그 수정을 내놓는다"는 의미이며, 다른 버전/디스트로는 이러한 "보증"이 없다면, 그것은 완전히 괜찮습니다: 만약 이 상태가 유지된다면, 16.04의 지원이 종료되기 전에 18.04로 업데이트할 것입니다.
여기서 명확성을 조금만 원합니다. 20.04(또는 CentOS 8과 같이 Ubuntu 16.04보다 수명이 긴 다른 LTS)가 지원된다면, 유지보수 노력을 줄이기 위해 해당 버전으로 업데이트하는 것이 더 좋겠지만, 동일한 "보증"이 없다면 18.04 외의 어떤 것도 실행하지 않을 것입니다.
저는 엔터프라이즈가 아니고 OSS 프로젝트를 사용 중이므로, 제 정책이 여러분에게는 과하게 보일 수 있지만, 제가 지나친 요구를 하고 있다고 생각하지 않습니다; 기본적으로 저는 문서에 다음과 같이 명시해 달라고 요청하는 것입니다:
각 릴리스의 설치 및 업데이트는 다음 디스트로에서 테스트합니다: … 32비트 커널을 실행 중이거나 3.10+ 이전의 커널 버전을 사용하는 시스템은 작동하지 않는 것으로 알려져 있습니다
다른 디스트로/버전이 지원되도록 명시적으로 요청하는 것은 아닙니다. 설치/업데이트에 대한 테스트가 수행되고 있다는 것은 확신합니다 - 저는 단지 어떤 것이 테스트되고 있는지를 알고 싶을 뿐입니다.
확인해 주셔서 감사합니다. 이렇게 말하는 게 정말 죄송한 기분입니다(혹은 뻔한 걸 놓치고 있는 건 아닌지 걱정되기도 하고요). 그런데 이게 더 나쁜 건가요?
Digital Ocean의 UI에 이 문제에 대한 중요한 힌트가 포함되어 있지 않는 한(그리고 설명서에 DO를 사용하지 않는 사용자를 무시해서는 안 된다고 생각합니다), "the current supported LTS release of Ubuntu Server"라는 표현에서 release가 단수형이므로, 지원되는 버전이 하나뿐이라는 뜻인가요? 그렇다면 어느 버전일까요? 최신 버전일까요?
요즘은 지나치게 정확해야 할 것 같은 느낌이 듭니다. 하지만 이 문장을 반복해서 읽어보니, 이 표현은 좋은 게 아닌 것 같습니다
언제나 최소 2개의 LTS 릴리스가 지원됩니다. 현재는 3개(16.04, 18.04, 20.04)가 지원되고 있으며, 내년에는 16.04가 EOL(지원 종료)되어 18.04와 20.04가 22.04가 출시될 때까지 지원됩니다. 그 후 18.04가 EOL 될 때까지는 세 가지 버전이 모두 지원됩니다.
네, Canonical의 Ubuntu 지원 정책이 바로 그렇습니다. 그래서 “현재 Canonical이 지원하는 Ubuntu Server LTS 릴리스”라는 표현이 모호합니다. Canonical은 특정 시점에 항상 2~3개의 Ubuntu 버전을 지원하는데, 현재 문서에는(문법적으로) 그중 하나만 지원한다는(어떤 것인지는 불분명합니다) 것으로 되어 있습니다.
Discourse가 docker 안에서 실행되므로, 어떤 배포판이 지원되는지에 대해 논쟁할 필요는 크게 없습니다. 이는 일반적인 개념입니다. 기술적으로, Discourse는 docker를 실행할 수 있는 비교적 최신의 하드웨어와 소프트웨어에서 문제없이 실행될 수 있습니다. 모든 구성은 docker 내부에서 이루어지므로, docker 자체와 해당 머신에서 열려 있어야 하는 필요한 포트 외에 외부 패키지 의존성은 없습니다. 어떤 배포판을 사용해도 되는데, 왜 이렇게 시끄러운지 이해가 되지 않습니다?
혜택이 엄청나게 크지는 않을 것입니다. 22.04가 출시되면 그냥 잘 작동할 가능성이 높고, 설령 그렇지 않더라도 사람들이 출시 당일 바로 업그레이드를 하지는 않을 것입니다.
그럼에도 불구하고 문장 하나를 수정하는 것은 큰 노력이 되지 않을 것 같습니다(제가 착각하고 있을 수도 있지만요). 그리고 출시 당일 기꺼이 업그레이드했다가 치명적인 장애에 부딪힌 뒤 롤백을 위해 스냅샷을 남겨두지 않은 사실을 깨닫고 낭패를 겪는 누군가를 구할 수도 있습니다. 이 프로젝트가 무료 프리미엄(freemium) 모델을 따르는 오픈 소스 프로젝트임을 알기에 무료 엔터프라이즈 등급의 지원을 기대하지는 않지만, 제가 논의하고 있는 것이 무리한 요구는 아니라고 생각합니다.
(개인적으로는 업데이트를 테스트할 인프라를 갖추고 있습니다. 하지만 더 명확한 지원 정책이 있다면 마음이 더 편할 것입니다)
저희 시스템은 18.04를 실행 중이며, sudo do-release-upgrade를 통한 20.04 업그레이드는 아직 제공되지 않으므로 이를 출시일 업그레이드로 부르지는 않겠습니다. 20.04.1이 출시되면 업그레이드가 가능해질 것이며, 이는 소프트웨어가 충분히 테스트되어 프로덕션 안정 버전이라고 할 수 있음을 의미합니다.
여러분의 말씀에 동의하지만, 여전히 명확하지 않은 부분이 무엇인지 모르겠습니다. 우리는 구버전 Ubuntu(14.04)에서 Discourse를 실행하는 사용자들에게 지원과 제안을 제공해 왔으며, 대개 백업 사본을 다운로드하여 새 버전의 Discourse가 새로 설치된 환경에서 복구하는 것이 가능합니다. 이는 주로 어떤 이유에서든 구식 소프트웨어를 유지하려는 과잉 경계적인 사용자들에게 이상적입니다(‘고장 나지 않으면 고치지 말라’는 식의 사람들 말입니다). 하지만 저는 개인적으로 항상 새로운 VM을 빠르게 만들어 업그레이드 경로를 확인한 후, 모든 것이 정상 작동하는지 검증한 다음 모든 Discourse 설치 환경을 업그레이드합니다.
셀프 호스팅을 하다 보니 여기저기 문제가 생기는 우리 같은 개인 사용자들을 돕기 위해 자신의 업무 범위를 훨씬 넘어서는 노력을 기울이는 Discourse 팀에 감사를 드립니다.
음, 여전히 사람들은 출시일에 20.04 시스템을 프로비저닝하고 그 시스템이 고장 나는 상황을 겪을 수 있습니다. 그것은 더 이상하고 영향력이 적습니다. 또한, do-release-upgrade가 다음 버전을 제공하기 시작할 때만 문제가 발생하는 것은 아닐 수도 있습니다.
"현재 지원되는 Ubuntu Server LTS 릴리스"입니다. 이는 “모든 현재 지원되는 Ubuntu Server LTS 릴리스들”(출시일에 22.04를 포함할 것으로 추측됩니다)이거나, 그 중 특정 부분 집합을 의미합니다. AFAIK(제가 아는 한) Ubuntu Server의 단일한 현재 지원되는 LTS 릴리스는 없습니다.
또한, Discourse는 제 생각에 최고의 오픈소스 포럼 소프트웨어이므로 감사하지만, 이는 쉽게 수정될 수 있는 작은 문제라고 생각합니다.
다소 최신 버전의 Docker를 실행할 수 있고 bash 스크립트(예: launcher)를 실행할 수 있는 64비트 Linux만 있으면 됩니다.
Ubuntu일 필요는 없습니다. Fedora, CentOS, Arch 등 모든 배포판이 작동할 것입니다. 지원되는 Ubuntu LTS 릴리스를 사용하는 것은 단지 권장 사항일 뿐입니다. 그리고 이것이 바로 문서에 적혀 있는 내용입니다.
현재 지원되는 Ubuntu Server LTS 릴리스의 기본 설정은 문제없이 작동합니다. 최소 64비트 Linux OS와 최신 커널 버전이 필요합니다.
최신 버전의 Docker가 설치되어 있다면, 사용자에게 익숙한 x64 OS/버전을 자유롭게 선택할 수 있습니다. Debian/Ubuntu 기반 배포판이 아닌 경우 launcher 스크립트가 모든 것을 자동으로 설정하지 못할 수 있지만, 그 외에는 거의 모든 환경에서 작동해야 합니다.