본문으로 건너뛰기
피드

Nix는 거짓말이다 — 그래픽 드라이버 앞에서 FHS를 다시 도입한 이야기

devops 약 3분
vote
0
댓글
북마크

Nix가 FHS를 배제하고 순수성을 추구하지만, 그래픽 드라이버(libGL.so)는 호스트 하드웨어에 의존하므로 /run/opengl-driver/lib이라는 관행적 경로를 재도입할 수밖에 없었다는 이야기.

  • 1

    libGL.so는 호스트 커널/GPU와 매칭 필수, derivation에 번들링 불가

  • 2

    NixOS가 /run/opengl-driver/lib이라는 글로벌 경로를 도입 — 사실상 FHS 재도입

  • 3

    비NixOS에서는 2015년 이슈 #9415로 아직 미해결

  • 4

    nixGL, LD_LIBRARY_PATH 수동 설정 등 우회법 존재

  • Nix의 핵심 철학은 FHS(Filesystem Hierarchy Standard)를 버리는 거임. /usr/lib이나 /lib64 같은 관행적 경로 대신 Nix store의 해시 경로를 써서 재현성을 보장하겠다는 건데... 사실 이게 완벽하진 않다는 이야기임

  • 문제의 핵심은 그래픽 드라이버임. libGL.so(유저 스페이스 라이브러리)는 반드시 호스트 OS의 커널 모듈 및 실제 GPU와 매칭되어야 함. 그런데 대부분의 derivation은 어떤 하드웨어에서 돌아갈지 예측할 수 없으니 libGL.so를 번들링하지 않음

  • "NixOS에서는 커널이랑 드라이버를 알잖아?"라고 할 수 있는데, 모든 derivation에 올바른 libGL.so를 포함시키면 유저마다 대규모 리빌드가 발생하고, NixOS 캐시가 사실상 무용지물이 됨

  • 그래서 NixOS와 Home Manager가 택한 해결책이 의도적인 불순물(impurity)/run/opengl-driver/lib이라는 글로벌 경로를 만들어서 derivation이 거기서 libGL.so를 찾도록 한 거임. 이거... 사실상 FHS를 다시 도입한 거 아닌가? ㅋㅋ

ℹ️참고

> 이 문제는 2015년부터 열린 이슈(#9415)로, Nix를 다른 리눅스 배포판에서 쓰는 유저에게는 아직도 해결 안 된 상태임. 그래픽이 필요한 Nix 앱을 설치하면 Nix가 막으려 했던 바로 그 에러를 만나게 됨

  • 우회 방법은 있음: nixGL(런타임에 $LD_LIBRARY_PATH로 라이브러리 주입), 수동으로 $LD_LIBRARY_PATH 설정, /run/opengl-driver 직접 만들어서 심링크 걸기 등

  • 결론: "FHS를 쓰지 말라, 정말 필요할 때를 제외하고는." Nix의 순수성(purity)은 아름답지만, 현실 세계의 하드웨어 앞에서는 타협이 불가피하다는 거임. 이상과 현실의 괴리를 잘 보여주는 사례

이상적인 순수성과 현실의 하드웨어 제약 사이의 타협을 잘 보여주는 사례. Nix 커뮤니티의 자기 성찰적 글

댓글

댓글

댓글을 불러오는 중...

devops

하이퍼스케일 데이터, 비트코인 채굴장을 최대 30억 달러짜리 AI 데이터센터로 전환

하이퍼스케일 데이터의 자회사 ACS가 캘리포니아 네오클라우드 업체와 미시간 캠퍼스 AI 컴퓨팅 용량 공급 계약을 맺었어. 초기 20메가와트로 시작해 최대 52메가와트까지 늘릴 수 있고, 모든 옵션이 행사되면 계약 규모가 30억 달러를 넘을 수 있다는 내용이야.

devops

KT, 분사했던 KT클라우드 다시 합치나…AIDC 투자 때문에 판 다시 짜는 중

KT가 2022년 분사한 KT클라우드를 다시 합치는 방안을 검토 중인 것으로 알려졌어. 클라우드, 인공지능 데이터센터, 네트워크 인프라를 한 몸처럼 묶어 B2B 경쟁력을 키우려는 흐름으로 읽혀. 다만 KT는 아직 구체적으로 검토한 바 없다는 입장이야.

devops

KT, KT클라우드 다시 합치나…AI 인프라 패키지 전략 시동

KT가 2022년 분사했던 KT클라우드를 다시 흡수하는 방안을 검토 중인 것으로 알려졌다. 인공지능 확산으로 클라우드, 데이터센터, 네트워크를 묶은 기업간거래 인프라 수요가 커지면서 KT 본체의 자금력과 영업력을 활용하려는 전략으로 보인다. 다만 외부 투자자 지분 처리와 통신·클라우드 조직 통합이 실제 관건이다.

devops

Bunny DNS, 쿼리 과금 없애고 500개 도메인까지 무료로 푼다

bunny.net이 Bunny DNS의 DNS 쿼리 과금을 없애고 계정당 최대 500개 도메인까지 무료 DNS 호스팅을 제공하기로 했어. 단순한 무료화가 아니라 CDN, 엣지 보안, 스마트 라우팅을 DNS에서 바로 연결하는 방향으로 플랫폼 진입점을 재정리하는 움직임이야.

devops

가비아, AWS 중소·중견기업 클라우드 역량 인증 받음

가비아가 AWS의 ‘AWS SMB 컴피턴시’를 취득했다. 이 인증은 중소·중견기업의 클라우드 전환과 운영 지원 역량을 검증하는 제도로, 가비아는 운영 프레임워크와 고객 레퍼런스를 인정받았다.