Skip to content

HTTP를 통해 닉스 저장소 제공

HTTP를 통해 기기간 닉스 저장소 공유를 쉽게 할 수 있습니다. 이는 타 기기에서 해당 기기의 저장소 경로를 다운받을 수 있게 하여 설치 속도를 증가시킵니다. 닉스가 https://cache.nixos.org로부터 이미 빌드된 바이너리를 다운 받을 때 사용하는 바이너리 캐시 메커니즘과 기본적으로 동일한 방법을 사용합니다.

nix-serve는 HTTP를 통한 바이너리 캐시 요청을 관리하는 데몬으로 닉스 배포판의 기능은 아니지만 Nixpkgs를 통해 설치할 수 있습니다.

$ nix-env -i nix-serve

서버를 시작하여 원하는 포트의 HTTP 연결을 확인할 수 있습니다:

$ nix-serve -p 8080

작동 여부를 확인하기 위해, 다음을 클라이언트에서 실행합니다:

$ curl http://avalon:8080/nix-cache-info

다음과 같은 것을 출력할 것입니다:

StoreDir: /nix/store
WantMassQuery: 1
Priority: 30

클라이언트 쪽에서 닉스에게 --option extra-binary-cahces 명령을 통해 당신의 바이너리 캐시를 사용하라고 알려줄 수 있습니다. 예를 들어:

$ nix-env -i firefox --option extra-binary-caches http://avalon:8080/

옵션 extra-binary-cahces는 닉스에게 https://cache.nixos.org와 같은 기본값 캐시만이 아니라 다른 것을 사용하라고 알려줄 수 있습니다. 그러므로, 파이어폭스의 클로져 경로에 있어서, 닉스는 우선 avalon 서버에 가능한 경로가 있는지 확인한 이후, 다른 바이너리 캐시를 확인합니다. 없다면, 소스 코드로 빌드하는 것으로 넘어갑니다.

nix.conf 수정 파일에 다음과 같은 내용을 추가하여 항상 당신의 바이너리 캐시를 우선 사용하도록 명령할 수도 있습니다.

binary-caches = http://avalon:8080/ https://cache.nixos.org/

Last update: November 4, 2021
Back to top