ollama 모델 각각백업 받은 것을 하나의 .ollama 에 함께올리는 방법

백업 파일 형태가 무엇인지에 따라 방법이 달라집니다. 핵심은 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 병합 방식이 더 안전합니다.


가장 안전한 실무 정리

ollama 모델 각각백업 받은 것을 하나의 .ollama 에 함께올리는 방법

제가 권장하는 순서는 이렇습니다.

경우 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