채널
Nix 표현식을 찾고 그에 의존하기 위한 Nix 본래의 시스템이지만, 더 이상 권장되지 않습니다
먼저 Nix 빠른 시작부터 따라가고, 개념 문서는 주로 보충 설명이 필요할 때 참고하기를 권합니다. 오른쪽의x를 누르면 모든 개념 문서에서 이 안내를 숨길 수 있습니다.
Nix 채널은 레거시 Nix CLI가 Nixpkgs를 최신 상태로 유지하는 데 사용하는 메커니즘입니다. 새로운 Nix CLI에서는 채널이 플레이크로 대체되었습니다.
채널은 어떻게 작동합니까?
채널은 https://nixos.org/channels/nixos-unstable처럼 특정 Nix 코드를 가리키는 URL입니다. 편의를 위해 channel:{name} URL 구문을 사용할 수도 있으며, Nix는 이를 https://nixos.org/channels/{name}로 확장합니다.
다음과 같이 Nix가 채널을 자동으로 가져오도록 설정할 수 있습니다:
nix-channel --add https://nixos.org/channels/nixos-unstable그런 다음 이 명령을 실행하면 Nix가 설정한 모든 채널을 가져옵니다:
nix-channel --update채널의 Nix 코드는 ~/.nix-defexpr/channels에 압축 해제되며, nix-env 같은 레거시 CLI 명령은 이곳에서 해당 코드를 찾을 수 있습니다.
채널에 대한 자세한 정보는 Nix 매뉴얼에서 확인할 수 있습니다.
채널 예시
| 채널 URL | 릴리스 날짜 | 설명 |
|---|---|---|
channel:nixos-22.11 | 2022년 11월에 처음 릴리스되었으며 이후 6개월 동안 업데이트되었습니다 | 2022년 11월에 릴리스된 NixOS의 안정 버전입니다. 보안 패치와 업데이트는 백포트되지만, 새로운 애플리케이션이나 호환성을 깨는 변경 사항은 적용되지 않습니다 |
channel:nixos-unstable | 자주 업데이트됩니다 | 중요한 패키지 집합이 Hydra에서 빌드될 때마다 업데이트되는 NixOS의 롤링 릴리스 채널입니다. 보안 업데이트, 새 패키지, 새 모듈이 컴퓨터에 자주 반영되며, 호환성을 깨는 변경 사항이 발생할 수 있습니다 |
channel:nixos-unstable-small | nixos-unstable과 같지만 훨씬 더 자주 업데이트됩니다 | nixos-unstable과 비슷하지만 테스트하는 패키지 집합이 더 작은 롤링 릴리스 채널입니다. 따라서 이 채널은 더 자주 업데이트되지만, 일부 패키지가 깨져 있을 수도 있습니다 |
nix-channel의 문제점
채널의 문제점은 특정 빌드에서 실제로 어떤 입력이 사용되는지 전혀 보장하지 않는다는 것입니다. channel:nixos-22.11 같은 채널 URL은 시점에 따라 서로 다른 Nix 코드를 담고 있을 수 있습니다. 따라서 채널을 사용하면 소스 고정과 롤백이 훨씬 어렵습니다.
즉, Nix는 이론적으로는 재현 가능하지만 실제로는 빌드 입력이 자주 바뀔 수 있으며, 이로 인해 빌드가 실패할 수 있습니다. 이 때문에 NixOS 시스템을 업데이트하지 못하거나, 이전에는 빌드할 수 있었던 패키지를 빌드하지 못하게 될 수 있습니다.
이러한 이유로 Nix 채널 사용은 강력히 권장하지 않습니다!