Ollama 명령어 완벽 정리 — 설치부터 커스텀 모델, API 연동까지 (2026)

Ollama는 Llama 3, Gemma, Mistral, DeepSeek 같은 오픈소스 LLM을 내 컴퓨터에서 직접 돌릴 수 있게 해주는 도구입니다. ChatGPT처럼 클라우드 API를 쓰는 게 아니라, 내 PC의 CPU/GPU로 직접 추론을 돌리기 때문에 무료이고, 인터넷 없이도 작동합니다.
설치도 간단하고 명령어도 직관적인데, 막상 쓰다 보면 “모델을 어떻게 업데이트하지?”, “커스텀 시스템 프롬프트는?”, “API로 연동하려면?” 같은 질문이 생깁니다. 이 글에서는 Ollama CLI 명령어를 한 장에 정리하고, 실전에서 자주 쓰는 패턴까지 다룹니다.
Ollama 설치
Linux (가장 간편)
curl -fsSL https://ollama.com/install.sh | sh
한 줄이면 설치 끝입니다. 설치 후 자동으로 ollama serve가 백그라운드 서비스로 등록됩니다.
macOS
ollama.com/download에서 .dmg 파일을 다운받아 설치합니다. 설치 후 메뉴바에 Ollama 아이콘이 생깁니다.
Windows
마찬가지로 ollama.com/download에서 설치 파일을 받아 설치합니다. PowerShell이나 CMD에서 바로 사용 가능합니다.
설치 확인
# 버전 확인
ollama --version
# 서비스 상태 확인 (Linux)
systemctl status ollama
Ollama 명령어 한눈에 보기 (치트시트)
먼저 전체 명령어를 한 번에 정리하고, 아래에서 각각 자세히 설명합니다.
| 명령어 | 기능 | 예시 |
|---|---|---|
ollama run |
모델 실행 (대화 모드) | ollama run llama3.2 |
ollama pull |
모델 다운로드 | ollama pull gemma3:4b |
ollama ls |
설치된 모델 목록 | ollama ls |
ollama ps |
실행 중인 모델 목록 | ollama ps |
ollama show |
모델 상세 정보 | ollama show llama3.2 |
ollama rm |
모델 삭제 | ollama rm mistral |
ollama cp |
모델 복사 | ollama cp llama3.2 my-llama |
ollama create |
커스텀 모델 생성 | ollama create mybot -f Modelfile |
ollama stop |
실행 중인 모델 중지 | ollama stop llama3.2 |
ollama serve |
Ollama 서버 시작 | ollama serve |
ollama push |
모델을 레지스트리에 업로드 | ollama push myname/mybot |
ollama launch |
외부 통합 앱 실행 | ollama launch claude |
모델 다운로드 및 관리
ollama pull — 모델 다운로드
# 기본 모델 다운로드
ollama pull llama3.2
# 특정 크기 지정 (태그 사용)
ollama pull gemma3:4b
ollama pull gemma3:12b
# 특정 양자화 버전 다운로드
ollama pull mistral-nemo:12b-instruct-2407-q6_K
모델 이름 뒤에 :태그를 붙여서 특정 버전을 지정할 수 있습니다. 태그를 생략하면 :latest가 기본으로 다운로드됩니다. 사용 가능한 모델 목록은 ollama.com/library에서 확인할 수 있습니다.
ollama ls — 설치된 모델 목록 확인
ollama ls
출력 예시:
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 2 weeks ago
gemma3:4b f02dd72bb242 3.3 GB 3 days ago
deepseek-r1:7b 0a8c26691023 4.7 GB 5 days ago
디스크 용량을 많이 차지하므로, 안 쓰는 모델은 정리하는 게 좋습니다.
ollama rm — 모델 삭제
# 단일 모델 삭제
ollama rm mistral
# 여러 모델 한번에 삭제하고 싶다면
ollama rm mistral gemma3:4b
모델 업데이트
Ollama에는 별도의 update 명령어가 없습니다. ollama pull을 다시 실행하면 최신 버전으로 업데이트됩니다.
# 모델 업데이트 (최신 버전 다시 다운로드)
ollama pull llama3.2
# 모든 모델 한번에 업데이트하는 꿀팁
ollama ls | tail -n +2 | awk '{print $1}' | xargs -I {} ollama pull {}
마지막 명령어는 설치된 모든 모델을 순서대로 최신 버전으로 업데이트합니다.
모델 실행 및 대화
ollama run — 모델 실행
# 대화 모드로 실행 (인터랙티브)
ollama run llama3.2
# 한 줄 질문 후 바로 종료
ollama run llama3.2 "대한민국의 수도는?"
# 파일 내용을 모델에 전달
ollama run llama3.2 "이 코드를 분석해줘" < main.py
모델이 로컬에 없으면 자동으로 다운로드 후 실행됩니다. ollama pull + ollama run을 합친 셈입니다.
멀티라인 입력
긴 텍스트를 입력하려면 """로 감싸면 됩니다:
>>> """
다음 코드에서 버그를 찾아주세요:
def calculate(a, b):
result = a / b
return result
print(calculate(10, 0))
"""
멀티모달 (이미지 입력)
비전을 지원하는 모델(gemma3, llava 등)에서는 이미지를 직접 분석할 수 있습니다:
ollama run gemma3 "이 이미지에 뭐가 있어? /path/to/image.png"
대화 모드 슬래시 명령어
ollama run으로 대화 모드에 들어가면 /로 시작하는 특수 명령어를 사용할 수 있습니다:
| 명령어 | 기능 |
|---|---|
/? 또는 /help |
사용 가능한 명령어 목록 표시 |
/bye 또는 /exit |
대화 종료 |
/show info |
현재 모델의 상세 정보 표시 |
/show modelfile |
현재 모델의 Modelfile 내용 표시 |
/show license |
모델 라이선스 정보 표시 |
/set parameter temperature 0.9 |
창의성 조절 (0~2, 높을수록 창의적) |
/set parameter num_ctx 8192 |
컨텍스트 창 크기 변경 |
/set parameter top_p 0.9 |
Top-p 샘플링 값 조절 |
/save 세션이름 |
현재 대화 세션 저장 |
/load 세션이름 |
저장된 세션 불러오기 |
실전에서 자주 쓰는 조합:
>>> /set parameter temperature 0.1
Set parameter 'temperature' to '0.1'
>>> /set parameter num_ctx 16384
Set parameter 'num_ctx' to '16384'
temperature를 낮추면 일관성 있는 답변(코딩, 번역에 적합), 높이면 창의적인 답변(글쓰기, 브레인스토밍에 적합)을 얻을 수 있습니다.
모델 실행 상태 관리
ollama ps — 실행 중인 모델 확인
ollama ps
출력 예시:
NAME ID SIZE PROCESSOR CONTEXT UNTIL
llama3.2:latest a80c4f17acd5 2.0 GB 67%/33% CPU/GPU 2048 4 minutes
이 출력에서 중요한 정보:
- SIZE — 모델이 점유하는 메모리
- PROCESSOR — CPU와 GPU 분담 비율
- CONTEXT — 현재 컨텍스트 창 크기
- UNTIL — 비활동 시 자동 언로드까지 남은 시간
ollama stop — 모델 중지
ollama stop llama3.2
메모리에서 모델을 내립니다. GPU/RAM이 부족할 때 다른 모델을 실행하기 전에 기존 모델을 내려야 할 때 사용합니다.
ollama show — 모델 상세 정보
ollama show llama3.2
모델의 파라미터 수, 양자화 레벨, 컨텍스트 길이, 라이선스, 시스템 프롬프트 등 상세 정보를 확인할 수 있습니다.
커스텀 모델 만들기 — Modelfile
Ollama의 가장 강력한 기능 중 하나입니다. 기존 모델에 나만의 시스템 프롬프트, 파라미터를 설정해서 커스텀 모델을 만들 수 있습니다. Docker의 Dockerfile과 비슷한 개념입니다.
Modelfile 작성
# Modelfile
FROM llama3.2
# 시스템 프롬프트 설정
SYSTEM """
너는 시니어 인프라 엔지니어야.
답변은 항상 한국어로 하고, 리눅스 명령어를 포함할 때는 실행 예시도 함께 보여줘.
모르는 건 모른다고 솔직하게 말해.
"""
# 파라미터 설정
PARAMETER temperature 0.3
PARAMETER num_ctx 8192
PARAMETER top_p 0.9
ollama create — 커스텀 모델 생성
# Modelfile로 커스텀 모델 생성
ollama create infra-assistant -f Modelfile
# 실행
ollama run infra-assistant
이렇게 만든 커스텀 모델은 ollama ls에서 일반 모델과 동일하게 관리됩니다.
Modelfile 주요 지시어
| 지시어 | 기능 | 예시 |
|---|---|---|
FROM |
베이스 모델 지정 | FROM llama3.2 |
SYSTEM |
시스템 프롬프트 | SYSTEM "너는 파이썬 전문가야" |
PARAMETER |
파라미터 설정 | PARAMETER temperature 0.5 |
TEMPLATE |
프롬프트 템플릿 커스텀 | (고급 사용) |
ADAPTER |
LoRA 어댑터 적용 | ADAPTER ./my-lora.gguf |
LICENSE |
라이선스 정보 추가 | LICENSE "MIT" |
💡 로컬 LLM을 텔레그램 봇에 연결하면 나만의 AI 비서를 만들 수 있습니다. → 텔레그램 봇에 LLM을 연결해 나만의 AI 비서 만들기
실전 활용 예제
1. 코드 리뷰 자동화
# 파이썬 파일을 모델에 넘겨서 리뷰 받기
cat app.py | ollama run llama3.2 "이 코드의 버그와 개선점을 찾아줘"
# 결과를 파일로 저장
cat app.py | ollama run llama3.2 "코드 리뷰해줘" > review.md
2. 로그 분석
# Apache 에러 로그 분석
tail -50 /var/log/apache2/error.log | ollama run llama3.2 "이 에러 로그를 분석하고 해결 방법을 알려줘"
3. 번역
ollama run llama3.2 "다음을 한국어로 번역해줘: The server responded with a 502 Bad Gateway error after the upstream connection timed out."
4. Bash 스크립트 자동화
#!/bin/bash
# daily-summary.sh — 매일 서버 상태를 LLM으로 요약
STATUS=$(top -bn1 | head -20)
DISK=$(df -h)
MEMORY=$(free -h)
echo "서버 상태 요약:
CPU/프로세스: $STATUS
디스크: $DISK
메모리: $MEMORY" | ollama run llama3.2 "위 서버 상태를 한국어로 간단히 요약하고 주의사항을 알려줘" > /tmp/daily-report.txt
Ollama REST API — 외부 앱 연동
Ollama는 기본으로 localhost:11434에서 REST API를 제공합니다. Python, JavaScript 등에서 바로 호출할 수 있습니다.
API 기본 사용 (curl)
# 서버 상태 확인
curl http://localhost:11434
# 단일 프롬프트 요청
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "대한민국의 수도는?",
"stream": false
}'
# 대화형 요청 (chat)
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{"role": "system", "content": "너는 한국어 전문 번역가야."},
{"role": "user", "content": "Translate this to Korean: Hello World"}
],
"stream": false
}'
Python에서 사용
import requests
import json
response = requests.post("http://localhost:11434/api/generate", json={
"model": "llama3.2",
"prompt": "Python으로 피보나치 함수 작성해줘",
"stream": False
})
result = response.json()
print(result["response"])
주요 API 엔드포인트
| 엔드포인트 | 메서드 | 기능 |
|---|---|---|
/api/generate |
POST | 단일 프롬프트 응답 생성 |
/api/chat |
POST | 대화형 (멀티턴) 응답 |
/api/embeddings |
POST | 텍스트 임베딩 생성 |
/api/tags |
GET | 설치된 모델 목록 조회 |
/api/show |
POST | 모델 상세 정보 조회 |
/api/pull |
POST | 모델 다운로드 |
/api/delete |
DELETE | 모델 삭제 |
외부 접근 허용 (다른 기기에서 접속)
기본적으로 Ollama는 localhost에서만 접근 가능합니다. 다른 기기에서 접속하려면 환경변수를 설정해야 합니다:
# 모든 인터페이스에서 접근 허용
OLLAMA_HOST=0.0.0.0:11434 ollama serve
# 또는 systemd 서비스 설정에 추가 (Linux)
sudo systemctl edit ollama
# 아래 내용 추가:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
# 서비스 재시작
sudo systemctl restart ollama
⚠️ 보안 주의: 외부 접근을 허용할 때는 반드시 방화벽 설정으로 허용된 IP만 접근할 수 있게 하세요. Ollama API에는 인증 기능이 없으므로 누구나 모델을 실행할 수 있습니다.
유용한 환경변수
| 환경변수 | 기능 | 기본값 |
|---|---|---|
OLLAMA_HOST |
서버 바인드 주소 | 127.0.0.1:11434 |
OLLAMA_MODELS |
모델 저장 경로 | ~/.ollama/models |
OLLAMA_NUM_PARALLEL |
병렬 요청 수 | 자동 |
OLLAMA_MAX_LOADED_MODELS |
동시 로드 가능한 모델 수 | 자동 |
OLLAMA_DEBUG |
디버그 모드 | 0 |
OLLAMA_GPU_OVERHEAD |
GPU 오버헤드 바이트 | 자동 |
모델 저장 경로를 변경하면 용량이 큰 외장 SSD로 모델을 옮길 수 있습니다:
# 모델 저장 경로 변경 (예: 외장 드라이브)
export OLLAMA_MODELS=/mnt/external-ssd/ollama/models
RAM/GPU별 추천 모델
Ollama를 쓸 때 가장 중요한 건 내 PC 사양에 맞는 모델을 고르는 것입니다.
| 사양 | 추천 모델 | 모델 크기 |
|---|---|---|
| RAM 8GB (GPU 없음) | llama3.2:1b, gemma3:1b, phi4-mini | ~1GB |
| RAM 16GB (GPU 없음) | llama3.2:3b, gemma3:4b | ~2~3GB |
| RAM 16GB + GPU 8GB | llama3.2:latest, deepseek-r1:7b | ~4~5GB |
| RAM 32GB + GPU 12GB+ | gemma3:12b, deepseek-r1:14b | ~7~9GB |
| RAM 64GB + GPU 24GB+ | llama3.3:70b, deepseek-r1:32b | ~20~40GB |
팁: 모델 이름의 숫자(1b, 3b, 7b, 14b, 70b)는 파라미터 수입니다. 숫자가 클수록 성능이 좋지만 그만큼 메모리를 많이 씁니다. 본인 PC 사양에 맞는 모델을 선택하세요.
💡 EC2 같은 클라우드 서버에서 Ollama를 돌릴 때 메모리 관리가 중요합니다. 메모리 부족으로 서버가 죽을 수 있거든요. → EC2 OOM Kill — 새벽에 서버가 죽었다, 범인은 메모리였다
문제 해결 (트러블슈팅)
Ollama 서버가 안 뜰 때
# 서비스 상태 확인
systemctl status ollama
# 로그 확인
journalctl -u ollama.service -f
# 포트 충돌 확인
lsof -i :11434
메모리 부족 에러
# 현재 실행 중인 모델 확인
ollama ps
# 불필요한 모델 중지
ollama stop 모델이름
# 더 작은 모델로 변경
ollama run llama3.2:1b # 1B 파라미터 버전
GPU가 인식되지 않을 때
# NVIDIA GPU 확인
nvidia-smi
# Ollama 디버그 모드로 실행
OLLAMA_DEBUG=1 ollama serve
마무리 — Ollama 한 줄 요약
Ollama는 "로컬 LLM의 Docker"입니다. docker pull처럼 ollama pull로 모델을 받고, docker run처럼 ollama run으로 실행합니다. Dockerfile처럼 Modelfile로 커스터마이징하고, REST API로 외부 앱과 연동합니다.
이 글의 명령어들을 즐겨찾기해두고, 필요할 때 찾아 쓰시면 됩니다. 처음이라면 ollama run llama3.2 한 줄부터 시작하세요. 내 PC에서 AI가 돌아가는 경험, 생각보다 신기합니다.
📖 OpenRouter를 이용하면 무료 크레딧으로 클라우드 LLM도 API 연동할 수 있습니다. → OpenRouter GPT-4o-mini 무료 크레딧으로 API 연동하는 법