# 2.7.0.beta2 업그레이드 실패

**URL:** https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926
**Category:** Self-hosting
**Created:** [1월 22, 2021, 10:52오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926 "2021-01-22T10:52:46Z")
**Posts on this page:** 15
**Page:** 2

<div class="post-metadata">

### Author: ![TallTrees](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/talltrees/32/208620_2.png) [@TallTrees](https://meta.discourse.org/u/TallTrees)
#### Post date: [1월 24, 2021, 12:52오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/21 "2021-01-24T00:52:11Z")

</div>

RAM이 부족해서 OOM killer가 sshd 같은 무작위 프로세스를 종료하여 연결이 끊기고 문제가 발생하는 것은 아닌가요?

OOM killer가 실행되었다면 dmesg 출력, /var/log/messages 또는 journalctl 출력에 관련 내용이 있어야 합니다.

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 24, 2021, 3:17오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/22 "2021-01-24T03:17:38Z")

</div>

RAM이 부족해서 문제가 발생하는 건 아닐 것 같습니다. 오히려 [DO 콘솔](https://www.digitalocean.com/docs/droplets/resources/console/) 대신 [PuTTY 콘솔](https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/putty/)을 고집해서 쓰고 있기 때문이죠.

그래서 저는 @pfaffman님의 [위 제안](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/19?u=adriatic)으로 전환할 예정입니다. 특히 PuTTY 콘솔을 Discourse 관리와 전혀 다른 용도로 사용하더라도 연결이 끊기는 문제를 발견했기 때문입니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1월 24, 2021, 5:06오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/23 "2021-01-24T05:06:03Z")

</div>

RAM일 수도 있어요. 스왑 설정이 있나요?

---

<div class="post-metadata">

### Author: ![omarfilip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/omarfilip/32/208019_2.png) [@omarfilip](https://meta.discourse.org/u/omarfilip)
#### Post date: [1월 24, 2021, 5:19오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/24 "2021-01-24T05:19:43Z")

</div>

> [@adriatic](#):
>
> PuTTY 콘솔 연결이 끊어집니다

keep alive 설정을 조정해 보셨나요? [이렇게](https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive) 설정해 보세요.

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 24, 2021, 3:56오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/25 "2021-01-24T15:56:53Z")

</div>

@pfaffman 저는 아무것도 지정하지 않았습니다. 모든 드롭릿 기본값을 사용하고, DO 팀이 합리적인 동작을 보장해주기를 기대하고 있습니다.

우선 @omarfilip 님이 [위에서](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/24?u=adriatic) 제안한 대로 `keep-alive`를 설정해 보고, 그 다음 스왑 공간 상황을 확인한 뒤, @pfaffman 님의 DO 원본 콘솔 사용 제안에 따라 진행할 예정입니다. (`keep-alive` 설정이 PuTTY 콘솔 사용을 허용한다면, DO의 해당 기능보다 훨씬 사용자 친화적이므로 PuTTY 콘솔을 계속 사용하겠습니다.)

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 24, 2021, 4:44오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/26 "2021-01-24T16:44:37Z")

</div>

이토록 많은 친절한 분들이 도움을 주시니, Ghost와 Discourse를 통합하려는 제 이유를 다시 한 번 말씀드리고 싶습니다. 제 생각에 이 도구는 기술 문서를 작성하고 해당 문서에 대해 최고의 토론 지원을 제공하기 위한 이상적인 도구입니다. 제 계획은 몇 가지 흥미로운 PaaS IAM 제공업체를 활용하여 아이덴티티 및 계정 관리(IAM) 문제를 해결하는 것입니다. 이 주제는 충분히 잘 문서화되어 있지 않습니다(최소한 제 생각에는, 이러한 서비스를 직접 사용해 온 수년간의 경험에 비추어 볼 때 그렇습니다).

Ghost/Discourse 통합 도구를 "베타 테스트"하기 위해, 이 도구를 만들고 테스트하는 과정의 모든 세부 사항을 설명하기로 결정했습니다. 따라서 저를 도와주시는 모든 분들이 이 노력이 Discourse, Ghost, Digital Ocean 커뮤니티를 돕기 위한 것임을 알고 계시길 바랍니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1월 24, 2021, 6:49오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/27 "2021-01-24T18:49:42Z")

</div>

Digital Ocean의 1클릭 설치를 사용했고 [Discourse 공식 표준 설치](https://meta.discourse.org/t/discourse-official-standard-installation/142537)를 사용하지 않았다면, 아마도 스왑이 구성되지 않았을 것입니다. 따라서 2GB 이상의 RAM이 없는 한 재빌드 시 RAM이 부족해질 수 있습니다.

아래와 같이 시도해 볼 수 있습니다.

```plaintext
cd /var/discourse
./discourse-setup

```

필요한 경우 스왑을 자동으로 생성해 줍니다.

Digital Ocean의 1클릭 설치에 대한 도움이 필요하고 "합리적인 동작을 보장하도록 DO 팀에 의존"하기를 원한다면, 그들에게 지원을 요청해야 합니다.

하지만 이미 글을 올리고 있는 차원에서, PuTTY에 문제가 없다는 것을 더 쉽게 확인할 수 있는 방법(PuTTY의 매개변수를 조정하느라 시간을 낭비하지 않도록 하기 위해)은 콘솔을 시도해 보는 것입니다. discourse-setup을 실행하지 않았다면, 문제가 스왑 공간 때문일 가능성이 매우 높습니다.

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 25, 2021, 3:33오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/28 "2021-01-25T03:33:02Z")

</div>

@pfaffman 저는 [Discourse 공식 설치 과정](https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md)을 그대로 따랐습니다. 해당 공식 설치 문서에 언급된 [PuTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) 사용도 포함됩니다.

Digital Ocean의 1클릭 설치 방식을 제가 어떻게 사용했는지에 대한 의견을 추측하신 것 같고, 제가 DO에 의존해야 한다고 생각하신 것 같습니다:

> Digital Ocean의 1클릭 설치에 대한 도움이 필요하고 “합리적인 동작을 보장하기 위해 DO 팀에 의존하고 싶다면”, 지원을 위해 그들에게 의존해야 합니다.

1클릭 설치에 대한 제 언급은 최근 Discourse에서 받은 이메일에서 비롯되었습니다:

> hurrah, 새로운 버전의 [Discourse](https://www.discourse.org)가 사용 가능합니다!
> 
> 현재 버전: 2.7.0.beta1  
> 새 버전: **2.7.0.beta2**
> 
> - 쉬운 \*\*[1클릭 브라우저 업그레이드](https://forum.congral.tech/admin/upgrade)\*\*를 사용하여 업그레이드하세요

따라서 현재 상황은 다음과 같습니다.

- 저는 제이님의 도움을 진심으로 감사하게 생각합니다. 💞 제이님이 Discourse 관련 도움으로 생계를 유지하고 있다는 점을 알고 있습니다. 잠재적인 고객처럼 보이지 않는 저에게도 불구하고, 제이님은 제가 난관에 빠지지 않도록 시간을 내어 도와주셨습니다.
- PuTTY가 적용한 keep-alive 설정과 관계없이 제대로 작동하지 않는다는 것을 알게 된 후, 2.7.0.2 .beta2 업그레이드를 설치하는 데 성공했습니다. SSH 기반 인증에서 사용자 ID/비밀번호 쌍으로 전환하여 드롭렛 호스트에 로그인하고 `./launcher rebuild app` 명령을 성공적으로 실행했습니다.

해결책의 일부를 제공해 주신 모든 분께 감사드립니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1월 25, 2021, 4:22오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/29 "2021-01-25T04:22:04Z")

</div>

아! 내 잘못이었어! 정말 죄송해!

그러면 스왑은 있구나. 내 추측이 완전히 틀렸네. 쉬운 해결책이 될 거라고 생각했으니까 아쉬워. 😉

> [@adriatic](#):
>
> 제이, 도움을 정말 감사해

내가 잘못해서 네 탓을 했었으니까, 그건 정말 안도감이야.

그리고 PuTTY가 그렇게나 나쁘다는 걸 알게 되다니 속상해. 왜 Windows에서 여전히 권장하는 SSH 클라이언트로 남아있는지 이해가 안 가.

지금 Linux 서브시스템(Linux Subsystem)의 일부인 클라이언트가 있는 것 같은데, 내가 평소 자주 사용하던 Windows 버전은 Windows 98이었거든.

해결이 잘 됐다니 다행이야!

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [1월 25, 2021, 4:29오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/30 "2021-01-25T04:29:05Z")

</div>

모든 최신 운영 체제는 SSH 클라이언트를 기본적으로 탑재하고 있으므로, 제3자 클라이언트는 필요하지 않습니다. Windows 터미널에서도 SSH를 바로 입력할 수 있습니다. Windows가 최신 상태로 업데이트되어 있다면 작동해야 합니다.

> **[How to use Windows 10's built-in OpenSSH to automatically SSH into a remote...](https://www.hanselman.com/blog/how-to-use-windows-10s-builtin-openssh-to-automatically-ssh-into-a-remote-linux-machine)**
>
> In working on getting Remote debugging with VS Code on Windows to a Raspberry ...

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [1월 25, 2021, 4:35오전 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/31 "2021-01-25T04:35:27Z")

</div>

아니, 정말? 내가 마지막으로 봤을 때(그렇게 기억하고 있었는데) 설치 과정이 꽤 복잡해 보이던데.

그리고 그 pem 파일 같은 거 말고, 일반 ssh 키를 쓸 수도 있단 말이야?

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 25, 2021, 4:45오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/32 "2021-01-25T16:45:18Z")

</div>

이 긴 이야기는 큰 해피엔딩으로 마무리되었고, 차잔 속 소동(storm in a teacup)으로 분류할 수 있습니다. 저는 Discourse에 대해 많은 것을 배웠고, 그 결과 무기한으로 여기에 머물러 있을 계획을 세웠습니다. 다음은 항목별로 나열된 해피엔딩 설명입니다:

1. Beta1에서 Beta2로 업그레이드하는 동안 겪었던 문제는 PuTTY 콘솔의 타임아웃으로 나타났습니다. 저는 이를 Discourse 업그레이드 작업의 대대적인 크래시로 해석하고, Discourse의 "내부 구조"를 학습하는 데 많은 시간을 보냈습니다 - 불필요하게 따라가서 매우 기쁜 토끼굴(rabbit hole)이었습니다.

2. 제 문제의 해결책은 매우 단순합니다(어디를 “밀어야” 하는지 알면요) - 아래 1, 2, 3만큼 단순합니다.  
 ![image](https://sea3.discourse-cdn.com/meta/images/transparent.png)  
(제가 너무 큰 “keep-alive” 간격으로 시작했다는 사실은 PuTTY가 실제로는 형편없는 소프트웨어라고 믿게 만들었고, Digital Ocean의 자체 콘솔에 필요한 [id, password] 기반 인증으로 전환하기 위해 SSH 기반 드롭렛 접근에서 벗어나는 데 많은 시간을 보냈습니다(이 콘솔은 정말 나쁘죠). **참고로** 이 실험은 PuTTY 도구의 명성을 완전히 회복시켜 주었습니다.

3. @Falco는 Windows 10의 내장 OpenSSH를 단순히 사용하라고 지적함으로써 우리의 "집단적 눈"을 열어주었습니다. (고마워요 [Scott Hanselman](https://www.hanselman.com/blog/)).

* * *

저는 이미 @codinghorror에게 Discourse를 세상에게 소개하는 최고의 문서를 작성하겠다고 약속했습니다. 이는 저를 Discourse를 이해하도록 도와준 그(와 그의 팀)의 도움에 대한 감사의 뜻입니다. @pfaffman은 이 @Falco의 제안을 제 문서의 첫 번째 부분으로 삼을 수 있게 허락해 주셨습니다.

---

<div class="post-metadata">

### Author: ![md-misko](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/md-misko/32/126315_2.png) [@md-misko](https://meta.discourse.org/u/md-misko)
#### Post date: [1월 25, 2021, 5:31오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/33 "2021-01-25T17:31:36Z")

</div>

> [@adriatic](#):
>
> PuTTY 콘솔이 타임아웃되는 문제

`tmux` 사용을 권장합니다. 이렇게 하면 클라이언트가 타임아웃되어도 재빌드 실행 세션에 다시 연결할 수 있습니다.

---

<div class="post-metadata">

### Author: ![adriatic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/adriatic/32/78468_2.png) [@adriatic](https://meta.discourse.org/u/adriatic)
#### Post date: [1월 25, 2021, 7:04오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/34 "2021-01-25T19:04:34Z")

</div>

@md-misko 팁을 알려주셔서 감사합니다:

> **tmux** 의 가장 큰 장점은 여러 개의 창(pane)을 동시에 열 수 있다는 점입니다. 각 창에는 독립적인 셸이 실행되지만, 동일한 단일 ssh 연결을 사용합니다. 뿐만 아니라 여러 개의 “윈도우”도 동시에 열 수 있으며, 이는 더 많은 창이 포함된 탭과 유사합니다

---

<div class="post-metadata">

### Author: ![Ivan\_Rapekas](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ivan_rapekas/32/248924_2.png) [@Ivan\_Rapekas](https://meta.discourse.org/u/Ivan_Rapekas)
#### Post date: [1월 26, 2021, 12:05오후 UTC](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926/35 "2021-01-26T12:05:01Z")

</div>

Hi @sunjam, gem omniauth-vkontakte의 1.7.0 버전으로 문제를 수정할 수 있는 것 같습니다.

플러그인 유지보수자에게 pull request를 생성했습니다. 임시 해결책으로 app.yml의 github 링크를 다음으로 변경한 후 다시 빌드하면 됩니다.

```plaintext
- git clone https://github.com/rapekas/discourse-vk-auth

```

[이전 페이지](https://meta.discourse.org/t/2-7-0-beta2-upgrade-failed/176926.md?page=1)
