리눅스 배포판이라고 하면 우분투, 데비안, 페도라 등이 가장 먼저 떠오르겠지만, 오늘은 특이한 리눅스 배포판, 즉 NixOS를 소개하고 싶습니다.
NixOS는 흥미로운 배포판입니다. 왜 시도해 보고 싶은지 살펴보겠습니다.
NixOS…다른 패키지 관리자를 사용하는 또 다른 배포판이요? 🤯
네, NixOS는 프리미엄 Linux 배포판 중 하나입니다.
그렇다면 제가 이 글을 쓰고 있다면 꽤 확실한 이유가 있을 것이겠죠? 글쎄요, 많아요!
3개월째 사용 중인데 너무 좋아서 제가 가장 좋아하는 Pop!_OS에서 NixOS로 전환을 고려하고 있습니다.
이 가이드에서는 수많은 Linux 배포판 중에서 눈에 띄는 NixOS의 주요 기능을 공유하겠습니다.
걱정하지 마세요. 계속하기 전에 NixOS가 무엇인지 알려드리겠습니다.
“
Nix 패키지 관리자를 핵심으로 하는 Linux 배포판으로, 다양한 Linux 배포판에서 설정하는 수고를 덜고 Nix를 최대한 활용할 수 있습니다. Nix를 개발한 팀이 제작했습니다.
”
NixOS는 처음부터 끝까지 구축된 재미있는 독립 Linux 배포판입니다.
NixOS를 사용하면 누구나 많은 것을 배울 수 있지만 제 생각에는 개발자이거나 컴퓨터 과학을 전공하는 학생이라면 NixOS가 적합할 것 같습니다.
이유를 알려드리겠습니다.
NixOS는 내구성을 바탕으로 구축되었습니다.
이것은 데비안처럼 수년 동안 안정성을 위해 패키지와 함께 제공된다는 의미는 아니지만 다른 접근 방식이 필요합니다.
NixOS가 왜 그렇게 안정적인지 이해하기 위해 사용자가 일반적으로 시스템을 손상시키는 방법, 즉 "종속성 문제 또는 패키지 충돌"
에 대해 이야기해 보겠습니다.시스템을 업데이트하거나 새 패키지를 설치하는 동안 심각한 시스템 충돌이 자주 발생합니다. 주로 패키지 관리자가 종속성을 충족할 수 없거나 설치된 패키지가 기존 시스템과 충돌하기 때문입니다.
NixOS에는 이 문제를 처리하는 매우 영리한 방법이 있습니다.
시스템을 업그레이드하거나 패키지를 설치할 때마다 현재 "신세대"라고 불리는 시스템 상태가 재구축됩니다.
따라서 새 패키지나 업데이트에 문제가 발생하면 언제든지 이전 세대로 롤백하여 이전 시스템 상태를 확인할 수 있습니다.
시스템에 액세스할 수 없는 경우에도 출시 시 이전 세대를 사용할 수 있습니다.
구성 파일을 사용하면 다른 물리적 시스템에 대한 현재 환경의 복사본을 만들 수 있습니다.
이 기능을 활용하려면 Nix 구성 파일을 사용하여 설치하고 구성할 수 있습니다.
목적에 맞는 구성 파일이 있으면 해당 파일을 새로 설치하도록 보내고 기본 구성 파일을 사용자의 구성 파일로 바꾸세요. 그것은 간단합니다!
구성 재구축, 시스템 업그레이드 및 주어진 명령으로 전환:
으아악몇 분 안에 호스트 컴퓨터에 있는 개발 환경을 복제할 수 있습니다.
관련: NixOS 22.05 출시, 독자적으로 개발된 GNU/Linux https://www.linuxmi.com/nixos-22-05.html
NixOS의 " Generations " 기능에서 영감을 얻었을 수도 있습니다.
더 있습니다. 🕵️
NixOS는 (항상) 심볼릭 링크에 크게 의존합니다. 이것이 새로운 개념이라면 다음 가이드를 참고하세요.
Linux에서 심볼릭 링크를 만드는 방법 [전체 가이드] https://www.linuxmi.com/creating-symbolic-links-in-linux.html
일반적으로 다른 Linux 배포판에서는 패키지를 업그레이드하면 새 패키지가 이전 패키지를 대체합니다.
하지만 NixOS는 그렇지 않습니다.
NixOS에서는 패키지가 격리되어 심볼릭 링크가 사용되는 고유한 디렉터리에 저장됩니다.
패키지를 업그레이드할 때마다 NixOS는 새 패키지를 찾기 위해 심볼릭 링크를 조정하지만 이전 패키지를 제거하지는 않습니다 .
따라서 새 패키지와 충돌이 발생하는 경우 이전 세대로 전환하면 심볼릭 링크가 이전 버전의 패키지를 찾는 데 도움이 됩니다. 😌
Nix 패키지 관리자를 통해 80,000개 이상의 패키지에 액세스할 수 있습니다! Linux에만 국한되지 않고 macOS, WSL2, Docker 등의 플랫폼에서도 작동합니다.
Nix 패키지 관리자에서 거의 모든 것을 찾을 수 있으므로 패키지 가용성은 AUR과 유사하거나 훨씬 더 좋습니다.
예를 들어, 대부분의 Linux 배포판의 기본 저장소에서는 사용할 수 없는 Librewolf 브라우저를 설치하고 싶었습니다.
하지만 Nix는 그렇습니다! 이는 거의 모든 패키지가 Nix 패키지 관리자에 의존할 수 있음을 의미합니다.
이전 Linux 경험이 있는 경우에도 비교적 이해하기 쉽습니다. 한마디로 Nix 패키지 관리자가 인상적입니다!
일부 애플리케이션에는 특정 종속성의 이전 버전이 필요하고 일부 애플리케이션에는 최신 버전이 필요하므로 이는 개발자에게 매우 중요합니다.
앞서 언급했듯이 nix는 패키지를 특정 하위 디렉터리에 설치하며 각 패키지는 서로 간섭하지 않도록 격리됩니다!
Nix를 사용하기 전에는 VM과 컨테이너를 사용하여 동일한 패키지, 특히 PHP에 대한 다양한 종속성을 제공했지만 NixOS는 내 작업 흐름에 놀라운 일을 해냈습니다.
$PATH 환경 변수를 일시적으로 수정하고 패키지를 임시 테스트하는 데 사용되는 nix-shell을 사용할 수 있습니다.
그리고 제한도 없습니다. 설치 가능한 모든 패키지를 테스트할 수 있습니다!
이것은 NixOS를 사용하는 이유를 다루는 Nix 시리즈의 첫 번째 부분입니다. 나는 더 많은 Linux 사용자가 이에 대해 아직 모르고 있다면 배우기 시작해야 한다고 생각합니다.
요컨대 NixOS는 독특한 기능과 장점으로 인해 많은 주목을 받는 Linux 배포판이 되었습니다. 당신이 Linux 초보자이든 베테랑이든 관계없이 이 시스템을 사용해 볼 수 있습니다. 어쩌면 다른 경험을 가져다 줄 수도 있습니다.
위 내용은 NixOS: 완벽한 Linux 배포판?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!