로컬에서 언어 모델을 몇 개 받다 보면 C 드라이브가 금방 차요. 그래서 모델 저장 위치를 다른 드라이브로 옮기려고 찾아보면 공식 문서는 환경변수 하나를 안내하는데, 윈도우 데스크톱 앱의 코드를 보면 설정 화면에 모델 위치 칸이 따로 있어요. 둘 중 무엇을 바꿔야 하는지, 둘 다 있으면 어느 쪽이 적용되는지는 문서에 적혀 있지 않아요. 그래서 공식 문서와 앱 소스 코드를 같이 읽어 봤어요.
결론부터 적을게요. 2026년 9월 28일 한국 시각 오전 11시 무렵에 ollama 저장소의 문서와 앱 코드를 받았어요. 코드는 이 PC 에 깔린 것과 같은 정식 릴리스 v0.34.4 태그로 고정했어요. 이 코드에서는 데스크톱 앱이 서버를 띄울 때 앱 설정의 모델 폴더가 실제로 있으면 그 값으로 환경변수를 덮어써요. 그리고 앱은 온보딩을 마치거나 모델을 고를 때 설정을 저장하면서, 그때 보이던 모델 위치까지 같이 저장해요. 그래서 문서대로 환경변수만 바꾸면 앱이 띄운 서버에는 적용되지 않을 수 있어요.
먼저 밝혀 둘 것이 있어요. 저는 이 PC 의 환경변수나 앱 설정을 바꾸지 않았어요. 모델을 옮기거나 지우지도 않았어요. 앱 동작은 코드를 읽어서 설명한 것이고, 이 PC 에서는 저장된 설정값과 로그를 읽고 폴더 크기를 재고 ollama list 로 목록을 본 것까지만 했어요. 윈도우 기준이며 맥과 리눅스는 기본 경로만 옮겨 적었어요.
공식 문서가 적은 방법은 환경변수 하나예요
ollama 의 윈도우 문서는 모델 위치를 바꾸는 절에서 이렇게 적어요. 홈 폴더 대신 다른 곳에 모델을 저장하려면 내 사용자 계정에 OLLAMA_MODELS 환경변수를 설정하라는 거예요. 순서는 네 단계예요.
- 윈도우 11 은 설정, 윈도우 10 은 제어판을 열고 환경 변수를 검색해요.
- 계정의 환경 변수 편집 항목을 눌러요.
- 사용자 변수에
OLLAMA_MODELS 를 새로 만들거나 고치고, 값에 모델을 둘 폴더를 적어요.
- 확인 또는 적용을 눌러 저장해요.
이미 켜져 있다면 트레이 앱을 종료하고 시작 메뉴에서 다시 실행하라고 적어요. 자주 묻는 질문 문서도 같은 순서를 적으면서, 윈도우에서는 ollama 가 사용자와 시스템 환경변수를 물려받는다고 설명해요.
기본 저장 위치는 운영체제마다 달라요. 자주 묻는 질문 문서가 적은 경로를 그대로 옮기면 이래요.
| 운영체제 | 기본 모델 폴더 |
|---|
| 윈도우 | C:\Users\%username%\.ollama\models |
| 맥 | ~/.ollama/models |
| 리눅스 | /usr/share/ollama/.ollama/models |
리눅스는 표준 설치 프로그램을 썼다면 새 폴더에 ollama 사용자의 읽기와 쓰기 권한을 줘야 한다는 메모가 붙어 있어요. 맥은 앱으로 실행할 때 launchctl setenv 로 환경변수를 넣고 앱을 다시 켜라고 적어요.
앱 설정 화면에는 모델 위치 칸이 따로 있어요
데스크톱 앱의 설정 화면 코드에는 Model location 이라는 항목이 있어요. 설명 문구는 모델이 저장되는 위치라는 한 줄이고, 입력칸은 직접 타이핑할 수 없는 읽기 전용이에요. 옆의 Browse 버튼을 눌러 폴더를 고르는 방식이에요.
이 칸은 문서에 나오지 않아요. 같은 날 저장소의 문서 폴더에 있는 문서 파일 61개를 모두 받아 Model location 이라는 말을 대소문자 구분 없이 찾아봤어요. 걸린 것은 윈도우 문서의 절 제목 하나였고, 그 절은 앞에서 옮긴 환경변수 방법만 적어요. 설정 화면의 칸을 설명한 줄은 없었어요.
둘 다 있으면 앱이 띄운 서버에서는 앱 설정이 적용돼요
윈도우에서 트레이 앱을 켜면 앱이 ollama serve 를 따로 실행해 서버를 띄워요. 이 부분을 맡은 코드가 app/server/server.go 예요. 순서를 풀어 쓰면 이래요.
먼저 앱은 자기가 물려받은 환경변수를 전부 복사해요. 여기에는 사용자가 만든 OLLAMA_MODELS 도 들어 있어요. 그다음 앱 설정의 모델 위치 값이 비어 있지 않으면 그 폴더가 실제로 있는지 확인해요. 폴더가 있으면 복사해 둔 OLLAMA_MODELS 를 앱 설정 값으로 바꿔 끼워요. 폴더가 없으면 바꾸지 않고, 모델 경로에 접근할 수 없어 기본값을 쓴다는 경고를 로그에 남겨요.
서버 쪽 코드인 envconfig/config.go 는 단순해요. OLLAMA_MODELS 가 있으면 그 값을 쓰고, 없으면 홈 폴더 아래 .ollama 의 models 폴더를 써요. 두 코드를 합치면 앱이 띄운 서버는 아래처럼 폴더를 고르게 돼요.
| 앱 설정의 모델 위치 | 그 폴더가 실제로 있나 | 앱이 띄운 서버가 쓰는 폴더 |
|---|
| 저장된 경로 있음 | 있음 | 앱 설정의 폴더, 환경변수는 덮어써짐 |
| 저장된 경로 있음 | 없음, 예를 들어 외장 드라이브를 뺀 경우 | 물려받은 환경변수, 그것도 없으면 기본 폴더 |
| 비어 있음 | 해당 없음 | 환경변수, 없으면 기본 폴더 |
설정 화면에서 모델 위치를 바꾸면 따로 껐다 켤 필요도 없어 보여요. 설정을 저장하는 코드가 모델 위치나 문맥 길이, 네트워크 공개 설정이 바뀐 경우 서버를 다시 띄우도록 되어 있어요. 환경변수를 바꿨을 때 앱을 다시 켜라는 문서 안내와는 순서가 달라요.
손대지 않아도 앱 설정에 경로가 저장돼요
여기서 한 가지가 더 걸려요. 앱 설정의 모델 위치는 내가 Browse 를 눌렀을 때만 저장되는 게 아니에요.
앱이 설정을 불러올 때 모델 위치가 비어 있으면, 그 자리에 환경변수 값이나 기본 폴더 경로를 채워서 화면에 넘겨요. 그런데 앱이 설정을 저장하는 공통 함수는 불러온 설정 전체를 그대로 펼친 뒤 바뀐 칸 하나만 고쳐서 통째로 저장해요. 이 함수를 부르는 곳이 여럿이에요. 온보딩을 마칠 때, 대화에서 모델을 고를 때, 생각 모드나 웹 검색을 켜고 끌 때가 모두 여기에 해당해요. 그 순간 화면에 채워져 있던 모델 위치도 앱 설정으로 함께 저장되는 셈이에요.
이 PC 에서 읽기만 해서 확인한 값도 이 흐름과 맞았어요.
| 확인한 것 | 이 PC 의 값 |
|---|
| ollama 버전 | 0.34.4 |
사용자 환경변수 OLLAMA_MODELS | 비어 있음 |
시스템 환경변수 OLLAMA_MODELS | 비어 있음 |
| 앱 설정 저장소의 모델 위치 칸 | 기본 폴더 경로가 문자열로 저장됨 |
9월 28일 10시 16분 서버 시작 로그의 OLLAMA_MODELS | 기본 폴더 |
지금 환경변수는 사용자와 시스템 양쪽 모두 비어 있는데 앱 설정에는 기본 폴더가 적혀 있어요. 코드대로라면 이 상태에서 문서 방법대로 환경변수만 새로 만들면, 앱이 띄운 서버는 저장된 기본 폴더가 남아 있는 한 계속 그 폴더를 쓰게 돼요. 이 부분은 코드와 저장값을 합쳐 읽은 예상이고, 실제로 환경변수를 바꿔 본 결과는 아니에요.
앱을 쓴다면 이렇게 바꾸는 게 코드와 맞아요
코드 흐름에 맞춰 순서를 정리하면 이래요.
- 옮길 드라이브에 모델 폴더를 먼저 만들어요. 앱은 폴더가 실제로 있을 때만 그 경로를 적용해요.
- 앱의 설정 화면에서 Model location 의 Browse 를 눌러 새 폴더를 골라요.
- 저장되면 앱이 서버를 다시 띄워요. 코드가 그렇게 되어 있어요.
- 적용됐는지는 로그로 확인할 수 있어요. 문서가 적은
%LOCALAPPDATA%\Ollama 폴더의 server.log 를 열면 서버 시작 때 찍히는 server config 줄에 OLLAMA_MODELS 값이 들어 있어요. 이 PC 에서도 그 줄로 기본 폴더를 확인했어요.
환경변수 방식을 계속 쓰고 싶다면 설정 화면의 Reset to defaults 버튼이 모델 위치 칸을 비우는 값을 보내요. 비워지면 앱은 다시 환경변수를 읽어요. 다만 같은 초기화가 네트워크 공개, 브라우저 허용, 자동 업데이트 같은 다른 설정도 기본값으로 돌리니, 쓰기 전에 바꿔 둔 설정이 있는지 먼저 보세요. 초기화 뒤 앱이 다시 설정을 저장하면 그때 보이는 환경변수 경로가 또 앱 설정으로 들어가요.
터미널에서 ollama serve 를 직접 실행하는 경우는 달라요. 앱 설정 값을 끼워 넣는 코드는 앱이 서버를 띄우는 부분에만 있어서, 직접 띄운 서버는 그 터미널의 OLLAMA_MODELS 만 봐요. 이 PC 의 ollama serve --help 출력에도 이 변수가 모델 폴더 경로라고 적혀 있어요.
이미 받은 모델이 따라온다는 설명은 없어요
위치를 바꾸면 기존 모델이 새 폴더로 옮겨지는지 궁금하실 거예요. 공식 문서 두 편 어디에도 옮겨 준다는 문장은 없었어요. 제가 읽은 설정 저장 코드도 값을 저장하고 서버를 다시 띄우는 데까지만 해요. 그래서 이 글에서는 복사 절차를 따로 적지 않을게요.
참고로 이 PC 의 모델 폴더에는 처음에 blobs 와 manifests 두 폴더가 있었는데, 글을 쓰며 ollama list 를 한 번 실행하자 metadata 폴더가 하나 더 생겼어요. v0.34.4 서버 코드는 모델 파일의 메타데이터를 한 번 뽑아 모델 폴더 안의 이 폴더에 파일로 적어 두게 되어 있어요. 기본 폴더에 모델이 있을 때 설치 프로그램 코드가 지우는 것은 이 가운데 blobs 와 manifests 두 폴더예요. 위치를 바꾼 뒤에는 터미널에서 ollama list 를 먼저 실행해 목록이 어떻게 보이는지 확인하는 게 안전해요.
공간을 차지하는 건 설치 폴더보다 모델 폴더예요
설치 위치도 바꿀 수 있어요. 문서는 설치 프로그램을 OllamaSetup.exe /DIR="d:\some\location" 처럼 폴더를 붙여 실행하라고 적어요. 설치 프로그램 코드의 기본 설치 폴더는 사용자 로컬 앱데이터 아래 Programs 의 Ollama 이고, 권한 수준이 가장 낮게 잡혀 있어 관리자 권한 없이 깔려요.
그런데 실제로 공간을 차지하는 건 모델 쪽이에요. 이 PC 에서 세 폴더의 크기를 재 봤어요.
| 폴더 | 문서가 적은 용도 | 이 PC 에서 잰 크기 |
|---|
%HOMEPATH%\.ollama 의 models | 모델과 설정 | 8,988,129,065바이트 |
%LOCALAPPDATA%\Programs\Ollama | 실행 파일 | 2,972,643,671바이트 |
%LOCALAPPDATA%\Ollama | 로그와 받은 업데이트 | 1,637,436바이트 |
모델 폴더 크기는 앞에서 말한 metadata 폴더가 생긴 뒤에 잰 값이에요. 모델 폴더에 든 것은 qwen2.5:14b-instruct-q4_K_M 태그 하나뿐이에요. ollama list 는 9.0 GB 로 보여 줬고, blobs 폴더의 파일 다섯 개 중 하나가 8,988,110,688바이트로 거의 전부를 차지했어요. 문서는 모델이 수십에서 수백 GB 가 될 수 있다고 적는데, 모델 하나로 이미 실행 파일 폴더의 세 배쯤이에요. 문서가 적은 실행 파일 설치 공간은 최소 4GB 이고, 이 PC 의 0.34.4 폴더는 그보다 작았어요.
어떤 모델이 얼마나 큰지는 올라마 라이브러리 모델 219개의 용량을 전부 잰 글에 정리해 뒀어요. 옮길 드라이브 용량을 잡을 때 같이 보시면 좋아요.
지울 때 모델 폴더는 어떻게 되나요
문서는 OLLAMA_MODELS 위치를 바꿨다면 설치 제거 때 받은 모델을 지우지 않는다고 적어요. 설치 프로그램 코드를 보면 조금 더 구체적이에요. 조용한 제거가 아니면 제거 화면에 모델 삭제 체크박스가 나오고, 기본 폴더에 모델 파일이 있으면 그 옆에 용량과 경로를 적어요. 이 체크박스는 처음부터 체크된 상태예요. 지우는 대상도 기본 폴더 하나뿐이라, 다른 드라이브로 옮긴 폴더는 코드가 가리키지 않아요.
그러니 모델을 아직 기본 폴더에 둔 채 ollama 를 지운다면, 제거 화면의 체크박스를 확인하고 넘어가세요.
상황별로 정리하면
| 내 상황 | 코드와 문서 기준으로 할 일 |
|---|
| 트레이 앱으로 쓰고 모델 폴더만 옮기고 싶음 | 새 폴더를 만든 뒤 설정 화면 Model location 에서 선택 |
| 환경변수를 바꿨는데 그대로임 | 설정 화면의 Model location 칸에 어떤 경로가 보이는지 확인 |
| 환경변수 방식을 유지하고 싶음 | Reset to defaults 로 칸을 비우되 다른 설정도 초기화됨을 감안 |
터미널에서 ollama serve 만 씀 | 그 터미널의 OLLAMA_MODELS 가 기준 |
| 외장 드라이브에 모델을 둠 | 드라이브가 빠져 있으면 서버가 다른 폴더를 보게 됨 |
| 프로그램까지 옮기고 싶음 | 설치 프로그램을 /DIR 옵션으로 실행 |
처음 로컬 환경을 꾸리는 중이라면 무료 로컬 LLM 구축 가이드에서 설치 흐름을 먼저 보셔도 좋아요.
이 글이 확인하지 않은 것
제가 한 일은 공식 문서 두 편과 앱 소스 코드를 v0.34.4 태그로 받아 읽고, 이 PC 에서 설정값과 로그, 폴더 크기를 읽고 ollama list 로 목록을 본 것까지예요. 아래는 확인하지 않았어요.
- 환경변수만 바꿨을 때 앱이 띄운 서버가 실제로 어느 폴더를 쓰는지
- 설정 화면에서 Model location 을 바꾼 뒤의 실제 화면과 재시작 소요 시간
- 위치를 바꾼 뒤 기존 모델이 목록에 보이는지
- 맥 앱의 실제 동작과 리눅스 서비스 환경
이 글의 코드 설명은 2026년 9월 23일에 나온 v0.34.4 기준이에요. 같은 날 확인한 main 브랜치에도 같은 코드가 있었지만, 앱은 자주 바뀌어요. 설정 화면의 모델 위치 칸이나 로그의 server config 줄이 이 글과 다르게 보인다면 그쪽이 더 정확해요.