폐쇄망 GPU 드라이버 반입 설치 · NVIDIA 드라이버 패키지 의존성 해석 · 퀴즈
퀴즈: 드라이버 의존성
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`nvidia-driver-550` 이 메타 패키지라는 것은 무슨 뜻인가요?
- 실제 파일은 거의 없고 의존성 목록으로 다른 패키지들을 끌어오는 역할만 한다
- 그 드라이버의 가장 최신 버전이라는 뜻
- 설치할 수 없는 이름뿐인 가상 패키지
- 빌드해야 쓸 수 있는 소스 패키지
저장소에 `libcuda1` 이라는 패키지가 없는데 그것을 요구하는 패키지가 설치됩니다. 이유는?
- apt 가 무시한다
- 다른 패키지가 Provides 로 그 이름을 제공하기 때문
- 가상 패키지는 검사하지 않기 때문
- 버전 조건이 없어서
DKMS 방식 커널 모듈 반입에서 가장 자주 실패하는 지점은?
- 설치 대상의 커널 버전에 맞는 linux-headers 가 없어 빌드가 실패하는 것
- 번들 안의 라이브러리 버전이 서로 맞지 않는 것
- 빌드 도중 디스크 용량이 모자라는 것
- 모듈 패키지의 GPG 서명이 맞지 않는 것
드라이버와 nvidia-container-toolkit 을 함께 반입해야 하는 이유는?
- 둘이 사실상 같은 패키지의 다른 이름이라서
- 서로 의존 관계가 순환해 함께 풀어야 해서
- 저장소도 버전 체계도 다른 별개 묶음이라 한쪽만 챙기면 컨테이너에서 GPU 를 못 쓴다
- 설치 순서가 정해져 있어 함께 받아야 해서
번들이 '자기 안에서 닫힌다(closure)'는 것을 확인하는 가장 확실한 방법은?
- 번들 안의 파일 개수가 목록과 맞는지 센다
- 모든 파일의 체크섬을 다시 검증한다
- 번들로 저장소를 만들고 그 저장소만 활성화한 상태에서 설치 시뮬레이션을 돌린다
- 각 패키지의 control 파일을 눈으로 읽는다
Secure Boot 가 켜진 서버에 드라이버를 설치했는데 모듈이 로드되지 않습니다. 원인은?
- 빌드한 커널과 실행 중인 커널 버전이 다르다
- 드라이버 버전이 낮아 그 GPU 를 지원하지 않는다
- 서명되지 않은 커널 모듈은 로드가 거부되며 MOK 등록이 필요하다
- GPU 자체가 PCI 에서 인식되지 않았다