NixOS 대안을 찾는 4가지 이유: 경쟁 제품과의 리뷰 및 비교
NixOS를 몇 달 동안 사용해 봤는데 정말 만족스럽습니다. 하지만 배우는 과정이 정말 힘들죠. 몇 달이 지났는데도 기본 원리를 이해하려면 아직 시간이 좀 걸립니다. 제 삶이 있고 시간을 더 효율적으로 쓸 수 있다는 걸 깨닫기 전까지는 크게 신경 쓰지 않았습니다. 좀 더 불안정한 배포 경험과 같습니다.농담은 농담이지만, 저는 지금 NixOS의 대안을 찾고 있습니다. 그 이유는 학습 곡선에만 국한되지 않습니다.
가파른 학습 곡선
당신이 숙련된 리눅스 사용자라 할지라도
NixOS는 일반적인 Linux 배포판과는 다릅니다. 기술적인 지식이 없다면 혼란스러울 수 있는 완전히 다른 접근 방식을 제공합니다. 구성은 선언적 함수형 시스템인 Nix 언어를 통해 이루어지므로, 익숙한 도구나 개별 명령을 사용하는 대신 전체 시스템을 코드로 정의해야 합니다. 안정적이고 재현 가능한 NixOS 설정을 구현하려면 Ubuntu나 Fedora처럼 단순히 패키지 설치를 실행하는 대신, Nix 설계를 이해하고 시스템을 선언적으로 관리해야 합니다.
저는 리눅스를 꽤 많이 사용해 본 사용자이지만, 여전히 가끔 사용하기 어려울 때가 있습니다. 개인적으로 리눅스나 프로그래밍 경험이 없는 사용자에게는 NixOS를 추천하지 않습니다. 물론, 충분한 시간이 있는 경우가 아니라면 말이죠.
패키지 설치나 설정 파일 수정처럼 Ubuntu에서 사소한 작업으로 간주되는 작업도 Nix 표현식을 작성하거나 변경하고 시스템을 다시 빌드해야 할 수 있습니다. 문제가 발생하면 이러한 복잡성이 더욱 두드러집니다. NixOS의 고유한 모듈 시스템은 이해하기 어려운 난해한 오류 메시지를 생성할 수 있습니다. 무한 루프 문제와 같이 명확한 오류 메시지는 표시되지만, 무엇이 잘못되었는지 또는 어떻게 해결해야 하는지에 대한 힌트는 제공되지 않을 수 있습니다.
이 모든 것은 NixOS 개념을 미리 익히는 데 상당한 시간을 투자해야 한다는 것을 의미하며, Ubuntu나 Linux Mint처럼 사용자 친화적인 배포판보다 훨씬 더 많은 시간이 소요됩니다. 저는 Arch Linux를 사용해 봤는데, 어려움은 대부분 초기 설치에만 국한되었습니다. NixOS는 전체 워크플로가 다르기 때문에 지속적인 학습과 노력이 필요합니다.
사용자 친화적인 경험이 아닙니다.
익숙해지는 데 시간이 좀 걸리죠.
NixOS는 배우기 어려울 뿐만 아니라 일상적인 사용에는 복잡해 보일 수 있습니다. 이 시스템은 사용자가 텍스트 구성 파일과 명령줄 도구를 통해 거의 모든 것을 관리해야 합니다. 사용하기 쉬운 그래픽 설정과 다양한 작업에 대한 자동 구성을 제공하는 Ubuntu나 Fedora와 달리, NixOS는 단일 configuration.nix 파일이나 플레이크를 통해 시스템 유지 관리를 사용자에게 맡깁니다. 저는 크게 신경 쓰지 않았지만, 일상적인 사용과 제 사용 사례에서는 그다지 의미가 없었습니다.
예를 들어, NixOS에서 새 드라이버를 설치하거나 시스템 서비스를 활성화하려면 Nix 구문을 사용하여 구성 파일을 수정하고 운영 체제를 다시 빌드해야 합니다. Ubuntu에서는 드라이버 관리자에서 "활성화"를 클릭하거나 간단한 "apt" 명령을 실행하면 됩니다.
많은 경우 NixOS 구성 파일에 제시된 옵션이 모든 기본 소프트웨어 설정을 포괄하지 못합니다. 이로 인해 명시적으로 문서화되지 않은 항목을 수정하는 방법을 알 수 없게 됩니다. 커뮤니티 프로젝트에서 Nix 소프트웨어 센터나 구성 편집기와 같은 그래픽 도구를 개발하려고 시도했지만, 이러한 도구는 기능이 제한적이고 업데이트가 지연되는 경우가 많습니다.
소프트웨어 설치는 어려운 일입니다.
Nix 패키지 관리자는 방대한 컬렉션을 가지고 있지만
NixOS의 소프트웨어 관리는 Debian, Ubuntu, Fedora 또는 Arch의 표준 패키지 관리자와 매우 다르며, 이는 문제가 될 수 있습니다. NixOS는 Nix 패키지 관리자를 사용하며, Nix 저장소가 별도로 존재합니다. 방대한 패키지 컬렉션을 제공하지만, 이 모델 외부에서 소프트웨어를 설치하는 것은 어려울 수 있습니다. 일반적으로 Ubuntu처럼 .deb 설치 프로그램을 다운로드하여 실행하거나 PPA를 사용할 수 없습니다.
NixOS 저장소에서 애플리케이션을 사용할 수 없는 경우, 사용자 지정 Nix 표현식을 작성하거나 복잡한 해결 방법을 사용해야 할 수 있습니다. 이는 많은 사용자가 기대하는 원클릭 설치와는 거리가 멉니다. 언어별 패키징 도구나 타사 설치 프로그램을 사용하더라도 격리된 Nix 환경에서는 충돌이 발생할 수 있습니다. 예를 들어, 표준 Python 및 pip 가상 환경은 NixOS에서 제대로 작동하지 않는 경우가 많아 Nix 전용 솔루션으로 전환하지 않는 한 정상적인 Python 워크플로우에 지장을 줄 수 있습니다.
인기 데스크톱 애플리케이션도 추가적인 작업이 필요할 수 있습니다. NixOS에 CUDA 지원과 같은 특정 애드온을 포함한 GIMP를 설치하면 소스에서 GIMP를 컴파일해야 할 수 있으며, 이 작업에는 몇 시간이 걸릴 수 있습니다. 기존 배포판에서는 빠른 패키지를 설치하면 동일한 기능을 사용할 수 있습니다. NixOS의 엄격한 패키지 분리로 인해 그래픽 애플리케이션이 테마나 아이콘을 자동으로 인식하지 못한다는 보고도 있습니다. 즉, 데스크톱의 모양과 기능을 예상대로 설정하려면 이러한 설정을 수동으로 구성해야 하는 경우가 많습니다.
기기 호환성 문제가 있습니다.
기본적인 부분을 작동하는 데도 많은 노력이 필요합니다.
NixOS 사용을 주저하게 만드는 또 다른 이유는 하드웨어 호환성과 설정입니다. Ubuntu, Linux Mint, Pop!_OS, Fedora와 같은 인기 데스크톱 배포판은 인기 하드웨어에서 바로 실행되도록 많은 노력을 기울입니다. 이러한 배포판에는 독점 드라이버, 간편한 드라이버 설치 프로그램, Wi-Fi, 그래픽 프로세서, 프린터 등을 위한 펌웨어가 포함되어 있으므로 컴퓨터를 작동시키기 위해 아무것도 수정할 필요가 거의 없습니다.
반면 NixOS는 수동 작업이 더 많이 필요할 수 있습니다. 예를 들어 NVIDIA 또는 AMD 그래픽 카드를 사용하는 경우, NixOS는 드라이버 설치를 자동으로 묻지 않습니다. 대신, NVIDIA 드라이버를 실행하려면 어떤 구성 옵션을 활성화하고 시스템을 다시 빌드해야 하는지 알아야 합니다. 예를 들어, 모바일 기기에 AMD/NVIDIA 하이브리드 그래픽 프로세서가 있는 경우, NixOS 위키의 지침을 사용하여 그래픽 프로세서를 전환하기 위한 수동 구성이 필요할 수 있습니다. 이 경우에도 그래픽 성능은 데비안과 같은 기존 배포판보다 효율이 떨어집니다.
Wi-Fi나 터치패드 제스처와 같은 기본적인 구성 요소조차도 NixOS 설정을 수정하거나, 기본적으로 활성화되어 있지 않은 경우 커뮤니티 지원 모듈을 활성화해야 할 수 있습니다. NixOS는 nixos-hardware 저장소에 하드웨어별 모듈 세트를 제공하여 특이한 하드웨어 문제를 해결하지만, 이러한 해결책은 직접 찾아서 구현해야 합니다.
아마도 우분투로 돌아갈 것 같아요.
나는 내가 무엇에 뛰어들고 있는지 알고 있었습니다. 저는 Windows와 함께 NixOS를 설치하기 시작했습니다.하지만 저는 Ubuntu가 일상적인 사용에 더 나은 배포판이라는 것을 깨달았습니다. Ubuntu가 마음에 들지 않으시면 다음 중 하나를 사용해 보세요. 성능이 낮은 하드웨어에서도 잘 작동하는 5가지 Linux 배포판.
댓글이 닫혀있다.