linux

데비안 마클홈 Gemini-CLI

jhinux 2026. 1. 8. 15:10

WD My Cloud Home (Debian) 환경:

Gemini CLI 설치 가이드

WD My Cloud Home(이하 마클홈)은 저전력 ARM 기반 서버로 활용하기 좋으나, 1GB라는 적은 RAM 용량이 단점입니다. 특히 Node.js 기반의 애플리케이션을 설치(npm install)할 때 메모리 부족(Out of Memory)으로 시스템이 멈추는 현상이 자주 발생합니다.

따라서 본 가이드에서는 가상 메모리(Swap)를 우선 확보한 뒤, 안전하게 최신 Node.js와 Gemini CLI를 설치하는 방법을 안내합니다.

1. 사전 준비 및 주의사항

  • OS: Debian 12 (Bookworm) 기준
  • 핵심: 부족한 RAM을 보완하기 위해 2GB의 스왑 파일 생성 필수
  • 권한: 모든 명령어는 root 권한 또는 sudo를 통해 실행해야 합니다.

2. 통합 설치 스크립트

아래 스크립트는 스왑 메모리 생성부터 Node.js v22 설치, 그리고 Gemini CLI 설치까지 한 번에 수행합니다. 터미널에 복사하여 실행하십시오.

#!/bin/bash

# 1. 시스템 패키지 목록 업데이트 및 필수 유틸리티 설치
echo ">>> 시스템 업데이트 및 curl 설치..."
sudo apt update
sudo apt install -y curl

# 2. Node.js v22.x 리포지토리 설정 (NodeSource)
# 마클홈의 ARM64 아키텍처를 자동으로 감지합니다.
echo ">>> Node.js v22 설정 스크립트 다운로드..."
curl -fsSL [https://deb.nodesource.com/setup_22.x](https://deb.nodesource.com/setup_22.x) | sudo -E bash -

# 3. [중요] 가상 메모리(Swap) 2GB 생성
# 1GB RAM 환경에서 npm install 실행 시 멈춤 방지
if [ ! -f /swapfile ]; then
    echo ">>> 메모리 부족 방지를 위한 스왑 파일(2GB) 생성 중..."
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    # 재부팅 후에도 유지되도록 fstab 등록
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    echo ">>> 스왑 메모리 확보 완료."
else
    echo ">>> 스왑 파일이 이미 존재합니다. 단계를 건너뜁니다."
fi

# 4. Node.js 및 npm 설치
echo ">>> Node.js 설치 중..."
sudo apt install -y nodejs

# 5. Gemini CLI 설치
echo ">>> Google Gemini CLI 설치 중..."
# 메모리 부족 에러 방지를 위한 옵션 없이 설치 시도 (스왑이 있어 안정적임)
sudo npm install -g @google/gemini-cli

# 6. 설치 결과 확인
echo "========================================"
echo " 설치 완료 확인"
echo "========================================"
echo "Node 버전: $(node -v)"
echo "NPM 버전:  $(npm -v)"
echo "Gemini 버전: $(gemini --version)"
echo "========================================"
echo "이제 'gemini auth login' 명령어로 인증 후 사용하십시오."

3. 설치 후 사용법

설치가 정상적으로 완료되었다면, Google 계정 연동을 진행해야 합니다.

  1. 로그인:터미널에 표시되는 URL을 복사하여 브라우저에 붙여넣고 인증 코드를 발급받습니다.
  2. gemini auth login
  3. 대화 실행:
  4. gemini "안녕? 자기소개 좀 해줘."

4. 트러블슈팅

  • 설치 중 멈춤: 스왑 파일 생성 단계가 제대로 수행되지 않았을 가능성이 높습니다. free -h 명령어로 Swap 항목이 2GiB 이상인지 확인하십시오.
  • 구버전 Node.js: 만약 node -v 실행 시 v18 이하가 나온다면 sudo apt remove nodejs 후 위 스크립트를 다시 실행하십시오.