TL;DR

  • Range는 1TB AI 모델을 다운로드하지 않고 3초 만에 여는 도구임.
  • macOS와 Linux에서 사용할 수 있으며, x86-64와 arm64 아키텍처를 지원하고 macOS에서는 Linux 가상 머신(VM)용 Lima가 필요함.
  • OCI 이미지에서 Range 아티팩트를 한 번 빌드해 게시하면 인덱싱 없이 첫 실행부터 데이터를 지연 로딩함.
  • go1.23 데모 아티팩트는 첫 실행 준비에 0.41초가 걸렸으며, 1.03GB 중 6MB를 이동함.
  • Linux에서는 루트 권한과 nbd, erofs, overlay 커널 모듈이 필요하며, Windows는 테스트되지 않은 WSL2 경유 방식으로 작동함.

설치

  • macOS 또는 Linux용 릴리스 아카이브를 제공하며, x86-64와 arm64를 지원함. macOS에서는 Linux VM을 위해 Lima도 필요함.
  • https://github.com/andreygrehov/range/releases/latest/download/range_$(uname -s)_$(uname -m).tar.gz에서 아카이브를 내려받아 압축을 풀고, macOS에서는 brew install lima로 Lima를 설치한 뒤 ./range shell python:3.12로 이미지의 셸을 실행함.
  • 자체 환경은 python:3.12 OCI 이미지에서 range build --from-oci로 한 번 빌드하고, 결과물 py.range를 s3://<your-bucket>/py.range에 게시한 다음 해당 경로로 셸을 실행함. 첫 실행에서는 데이터를 지연 로딩함.
  • 게시된 아티팩트에는 인덱싱이 필요하지 않음. go1.23 데모 아티팩트는 첫 실행에 0.41초 만에 준비됐으며, 전체 1.03GB 중 6MB만 이동함.
  • 소스에서 빌드하려면 Go 1.25 이상이 필요하며, https://github.com/andreygrehov/range를 복제한 뒤 make install을 실행함.

GitHub

  • Linux에서는 루트 권한과 nbd, erofs, overlay 커널 모듈이 필요함. range doctor로 필요한 항목을 확인함.
  • Windows에서는 WSL2를 통해 작동하지만 테스트되지는 않음.