백업 파일 형태가 무엇인지에 따라 방법이 달라집니다. 핵심은 Ollama가 모델을 그냥 “파일 1개씩” 저장하는 게 아니라, models/blobs + models/manifests 구조로 관리한다는 점입니다. GitHub 이슈에서 Ollama 측은 다운로드한 모델이 ~/.ollama/models 아래의 blobs와 manifests 두 디렉터리에 레이어 형태로 저장된다고 설명했습니다. Source
먼저 결론
백업본을 하나의 .ollama로 합치는 방법은 크게 2가지입니다.
1) 백업본이 각각의 .ollama/models 폴더 구조로 되어 있는 경우
가장 빠른 방법은 blobs와 manifests를 하나의 대상 .ollama/models 아래로 병합하는 것입니다.
2) 백업본이 GGUF 파일이나 Safetensors 파일만 있는 경우
직접 .ollama를 손으로 합치기보다, Modelfile + ollama create로 다시 등록하는 방식이 가장 안전합니다. Ollama 공식 문서도 GGUF를 가져올 때 FROM /path/to/file.gguf를 적은 Modelfile을 만들고 ollama create를 실행하는 방식을 안내합니다. Source
Ollama 저장 위치부터 확인
공식 FAQ 기준 기본 저장 위치는 아래와 같습니다.
| OS | 기본 모델 저장 위치 |
|---|---|
| macOS | ~/.ollama/models |
| Linux | /usr/share/ollama/.ollama/models |
| Windows | C:\Users\%username%\.ollama\models |
또한 다른 위치를 쓰고 싶다면 OLLAMA_MODELS 환경변수로 변경할 수 있습니다. Source
즉, 사용 중인 실제 대상 폴더는 보통 아래 둘 중 하나라고 보면 됩니다.
~/.ollama/models
또는
/usr/share/ollama/.ollama/models
윈도우는 보통:
C:\Users\사용자이름\.ollama\models
방법 A. 백업이 .ollama/models 구조로 되어 있을 때
이 경우가 질문하신 “각각 백업받은 걸 하나의 .ollama에 같이 올리기”에 가장 가깝습니다.
예를 들어 백업이 이렇게 여러 개 있다고 가정하겠습니다.
backup1/models/blobs/...
backup1/models/manifests/...
backup2/models/blobs/...
backup2/models/manifests/...
backup3/models/blobs/...
backup3/models/manifests/...
이걸 최종 대상 폴더 하나로 모읍니다.
TARGET/.ollama/models/blobs/...
TARGET/.ollama/models/manifests/...
병합 원리
blobs는 해시 기반 파일이라 같은 파일명은 같은 내용일 가능성이 높아 중복 제거에 유리합니다.
manifests는 모델 이름/태그 구조를 나타내므로 폴더 트리를 그대로 합쳐야 합니다. Source
권장 절차
1단계. Ollama를 완전히 종료
실행 중에 복사하면 manifest 인식이 꼬일 수 있으니 먼저 중지합니다.
2단계. 대상 .ollama/models 백업
기존 데이터가 있다면 먼저 한 번 더 백업합니다.
3단계. blobs 먼저 병합
중복 파일은 덮어써도 대개 문제 없지만, 가능하면 “같은 이름은 건너뛰기” 방식이 안전합니다.
4단계. manifests 병합
백업본의 manifest 트리를 대상 폴더로 합칩니다.
5단계. Ollama 재시작 후 확인
ollama list로 모델이 모두 보이는지 확인합니다.
Linux / macOS 예시
대상 폴더가 ~/.ollama/models라고 가정하면:
mkdir -p ~/.ollama/models/blobs
mkdir -p ~/.ollama/models/manifests
백업이 /mnt/backup/backup1/models, /mnt/backup/backup2/models 에 있을 때:
rsync -av --ignore-existing /mnt/backup/backup1/models/blobs/ ~/.ollama/models/blobs/
rsync -av --ignore-existing /mnt/backup/backup2/models/blobs/ ~/.ollama/models/blobs/
rsync -av /mnt/backup/backup1/models/manifests/ ~/.ollama/models/manifests/
rsync -av /mnt/backup/backup2/models/manifests/ ~/.ollama/models/manifests/
그 다음:
ollama list
만약 Linux에서 실제 경로가 공식 FAQ 기준인 /usr/share/ollama/.ollama/models 라면 그 경로로 바꿔서 같은 방식으로 작업하면 됩니다. Source
권한 문제도 중요합니다
리눅스에서 Ollama 서비스 계정이 따로 돌고 있으면 복사 후 권한을 맞춰야 할 수 있습니다.
예:
sudo chown -R ollama:ollama /usr/share/ollama/.ollama
sudo systemctl restart ollama
Windows 예시
대상 폴더 예시:
C:\Users\사용자이름\.ollama\models
백업 폴더가 각각 다음과 같다고 하면:
D:\backup1\models
D:\backup2\models
복사는 robocopy가 편합니다.
robocopy D:\backup1\models\blobs C:\Users\사용자이름\.ollama\models\blobs /E
robocopy D:\backup2\models\blobs C:\Users\사용자이름\.ollama\models\blobs /E
robocopy D:\backup1\models\manifests C:\Users\사용자이름\.ollama\models\manifests /E
robocopy D:\backup2\models\manifests C:\Users\사용자이름\.ollama\models\manifests /E
작업 전후로 Ollama 앱을 종료했다가 다시 실행한 뒤:
ollama list
로 확인하면 됩니다.
방법 B. 백업이 GGUF 파일들일 때
이 경우는 .ollama를 직접 병합하는 개념이 아니라, 모델을 다시 등록해서 하나의 .ollama에 쌓는 방식이 맞습니다.
공식 문서 기준 GGUF 모델 가져오기는 이렇게 합니다.
Modelfile:
FROM /path/to/file.gguf
그리고:
ollama create my-model
ollama run my-model
이렇게 생성하면 Ollama 내부 저장소에 등록됩니다. Source
예시
예를 들어 백업 폴더에 이런 파일들이 있다면:
D:\ollama-backups\mistral.gguf
D:\ollama-backups\phi3.gguf
D:\ollama-backups\qwen.gguf
각 모델마다 폴더 하나씩 만들고 Modelfile을 작성합니다.
예: mistral.gguf
Modelfile
FROM D:\ollama-backups\mistral.gguf
실행:
ollama create mistral-local
다른 모델도 같은 방식으로 등록하면 최종적으로 한 개의 .ollama 저장소 안에 여러 모델이 함께 들어갑니다. Source
방법 C. “통째로 옮기기”가 목적일 때
만약 각 백업이 모델별 백업이 아니라 예전 PC의 .ollama 전체 백업이었다면, Ollama 커뮤니티에서는 중요한 파일이 .ollama 폴더에 있으므로 새 장치로 그 폴더를 그대로 복사하는 방식이 언급됩니다. Source
즉, 아래 방식이 가능합니다.
old-pc/.ollama → new-pc/.ollama
다만 질문처럼 여러 백업본을 하나로 합칠 때는 “통째로 덮어쓰기”보다, 앞서 설명한 blobs/manifests 병합 방식이 더 안전합니다.
가장 안전한 실무 정리

제가 권장하는 순서는 이렇습니다.
경우 1. 백업이 .ollama/models 형태
가장 먼저 Ollama를 종료한 뒤, 대상 저장소의 models/blobs와 models/manifests에 백업본들을 순차 병합합니다. 끝나면 Ollama를 재시작하고 ollama list로 검증합니다.
경우 2. 백업이 GGUF/Safetensors 형태
직접 .ollama 구조를 만지지 말고, 공식 방식대로 Modelfile을 만들어 ollama create로 재등록합니다. 이게 깨질 가능성이 가장 낮습니다. Source
경우 3. 저장 위치를 새 디스크로 바꾸고 싶음
OLLAMA_MODELS 환경변수로 새 폴더를 지정하고, 그 위치에 병합한 모델 저장소를 두면 됩니다. 공식 FAQ에서 이 방식을 안내합니다. Source
주의할 점
직접 합칠 때 아래 문제를 조심하셔야 합니다.
manifest만 있고 blob가 없는 경우
모델 이름은 보이는데 실행이 안 됩니다.
blob는 있는데 manifest가 없는 경우
실제 파일은 있어도 ollama list에 안 보일 수 있습니다.
서로 다른 백업이 같은 모델명 태그를 덮어쓰는 경우
예를 들어 둘 다 llama3:latest를 가지고 있으면 마지막에 들어간 manifest 기준으로 보일 수 있습니다.
Linux 서비스 권한
서비스 계정이 읽지 못하면 모델이 있어도 인식하지 못합니다.
추천 검증 명령
병합 후에는 아래 정도를 확인하면 좋습니다.
ollama list
특정 모델 테스트:
ollama run 모델이름
저장 위치를 바꿨다면 환경변수도 재확인합니다. 공식 FAQ는 OLLAMA_MODELS로 모델 저장 경로를 변경할 수 있다고 안내합니다. Source
한 줄 요약
.ollama/models 형태로 백업됐다면 blobs와 manifests를 하나의 대상 저장소로 병합하면 되고, GGUF 백업이라면 Modelfile을 만든 뒤 ollama create로 다시 등록하는 것이 정석입니다. 내부 구조상 blobs와 manifests가 모두 맞아야 정상 인식됩니다. Source Source