S∆SS.

S∆SS Studio Notes · 원격(遠隔) · Nº 01

원격(遠隔) — 01 잠들지 않는 기계

상주 시스템은 언제 접속해도 응답해야 한다. 그러려면 기계가 자지 않아야 한다. 그런데 모든 기계는 기본적으로 잠들도록 설계되어 있다 — 전기를 아끼려고. 이 장은 그 잠을 네 겹으로 막고, 눈에 보이는 설정과 명령줄 양쪽으로 확실히 깨어 있는지 확인하는 법이다.

§ 00 · 자지 않는 것이 첫째다

밖에서 붙으려는데 기계가 응답하지 않는다. 원격개발에서 가장 흔한 첫 좌절이다. 열에 아홉은 기계가 잠들어 있어서다.

노트북은 자도록 만들어졌다. 뚜껑을 닫으면 자고, 한동안 안 만지면 잔다. 전기를 아끼기 위한 미덕이다. 그러나 상주 시스템에게 잠은 미덕이 아니라 결함이다. 멀리서 손을 뻗었는데 기계가 자고 있으면, 그것은 이미 시스템이 아니다.

그러니 첫 과제는 명확하다. 기계가 자지 않게 만드는 것. 그리고 — 이게 더 중요하다 — 자지 않는다고 믿는 것이 아니라, 자지 않음을 확인하는 것. 설정 화면의 스위치 하나로 끝났다고 믿지 마라. 원격에서 믿음은 사치다.

§ 01 · 네 겹으로 잠을 막는다

잠을 막는 방법은 하나가 아니다. 하나에만 기대면, 그 하나가 풀렸을 때 기계는 조용히 잠든다. 그래서 겹으로 쌓는다. 아래 네 겹이면, 한 겹이 풀려도 다음 겹이 받친다.

눈에 보이는 설정 두 겹과, 눈에 보이지 않는 명령줄 두 겹. 화면이 꺼지는 것과 본체가 자는 것은 다른 일이라는 것만 기억하면 된다 — 화면은 꺼져도 좋다. 본체만 깨어 있으면 원격 작업은 그대로 된다.

1 · 시스템 전원 설정 (GUI) · 가장 먼저 손볼 곳. 시스템이 자는 시간을 “없음”으로, 화면 꺼짐만 허용. 본체는 상시 가동, 화면은 절전 — 이 둘을 분리하는 것이 핵심이다.

2 · 상주 절전 방지 앱 (GUI) · 설정만으로 불안하면 화면 위에서 상시 잠을 막아 주는 도구를 하나 띄운다. 클릭 한 번으로 켜고 끄는, 눈에 보이는 안전망.

3 · 명령줄 절전 억제 (터미널) · 스크립트로도 잠을 막을 수 있다. 긴 빌드나 배포처럼 무인으로 오래 돌릴 일이 있을 때, 그 작업이 사는 동안만 잠을 붙드는 방식. GUI와 독립이라 이중으로 걸린다.

4 · 네트워크 신호로 깨어남 (터미널) · 만에 하나 잠들더라도, 원격 접속이 들어오면 깨어나게 하는 설정. 자지 않게 하는 것과, 자더라도 깨우는 것 — 둘을 함께 걸면 사각이 없다.

§ 02 · 믿지 말고 재라

설정을 다 걸었다. 이제 기계가 깨어 있는가? 여기서 대부분이 멈춘다 — 설정을 걸었으니 됐겠지, 하고. 이 방법론의 언어로 말하면, 그것은 자백이지 증거가 아니다.

증거는 명령줄에 있다. 전원 관리 상태를 직접 물으면, 기계는 지금 자기로 되어 있는지, 화면만 꺼지기로 되어 있는지, 무엇이 잠을 막고 있는지를 숫자로 답한다. 나는 그렇게 물어 확인했다 — 시스템 잠자기는 “없음”, 화면만 절전, 절전 방지가 실제로 걸려 있고, 네트워크 신호로 깨어나게 설정되어 있음. 화면은 꺼져 있어도 본체는 완전 가동 상태.

이것이 이 방법론 전체를 관통하는 태도다. 설정 화면의 스위치는 “하겠다”는 약속이고, 명령줄의 응답은 “하고 있다”는 증거다. 약속과 증거는 다르다. 원격을 오래 유지하는 사람은 약속을 믿지 않고 증거를 잰다.

Read this note at sass.studio.