Rocky Linux 9.7 RTX 4000 Ada 드라이버 설치 중 9.8로 올라간 문제 해결 — vault 저장소 고정 후 재설치

GPU 작업용 서버에 Rocky Linux 9.7을 설치하고 NVIDIA RTX 4000 Ada 드라이버를 올리는 작업을 했습니다. 요구사항은 “반드시 9.7″이었는데, 설치 후 업데이트를 한 번 돌렸더니 9.8로 올라가 버렸습니다. 다운그레이드는 의존성 오류로 막혀 결국 재설치하고 저장소를 9.7에 고정했습니다. 드라이버 설치 중 화면이 멈춘 것처럼 보인 일까지 함께 정리합니다.

Rocky Linux 기본 저장소와 vault 9.7 저장소 고정 비교 그림
설명용 그림: 기본 저장소는 9.8로 올라가고, vault 9.7로 고정하면 9.7이 유지됨

결론

  • Rocky 기본 저장소(mirrorlist)는 항상 최신 마이너 버전을 줍니다. 9.7 ISO로 설치해도 dnf update 한 번이면 9.8이 됩니다.
  • 9.8에서 9.7로 내리는 dnf distro-sync는 의존성 오류로 실패했고, 마이너 버전 다운그레이드는 공식 지원도 아니라 재설치했습니다.
  • 재설치 직후 업데이트 전에 저장소를 dl.rockylinux.org/vault/rocky/9.7로 고정하면 9.7이 유지됩니다.
  • nvidia-open 설치가 15/24 단계에서 멈춘 것처럼 보이는 건 DKMS가 커널 모듈을 컴파일하는 중입니다. 끊지 말고 기다리면 끝납니다.

환경

항목내용
OSRocky Linux 9.7 (9.8로 올라간 뒤 재설치)
GPUNVIDIA RTX 4000 Ada Generation 20GB
드라이버nvidia-open 615.71.09 (NVIDIA CUDA rhel9 저장소)
디스크NVMe 2개 (OS용 1개, 데이터용 1개 · LVM + XFS, /data)
작업 시점2026년 10월

증상 1. 9.7로 설치했는데 9.8이 됨

Rocky Linux 9.7 ISO로 설치하고 첫 작업으로 dnf update를 실행했습니다. 오류 없이 정상으로 끝났는데, 끝나고 보니 버전이 9.8이었습니다.

[직접 확인] 업데이트 자체는 오류 없이 끝났고, 끝난 뒤 버전이 9.8로 바뀌어 있었습니다. 경고나 확인 질문도 없었습니다.

원인. 기본 저장소는 최신 마이너 버전을 제공

  • Rocky 저장소 설정(/etc/yum.repos.d/rocky*.repo)은 기본으로 mirrorlist를 쓰고, 이 주소는 지금 가장 최신인 9.x를 가리킵니다.
  • Rocky Linux 9.8 출시 공지에도 기존 9.x에서 dnf -y upgrade로 9.8로 올릴 수 있다고 안내되어 있습니다. 즉 정상 동작입니다.
  • 9.8이 나오면 이전 9.7 패키지는 vault(dl.rockylinux.org/vault/rocky/9.7/)로 옮겨집니다.

다운그레이드 시도: dnf distro-sync 실패

저장소를 9.7로 바꾼 뒤 설치된 패키지를 저장소 버전에 맞추는 distro-sync를 시도했습니다.

rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
dnf distro-sync -y
마지막 메타자료 만료확인(0:00:08 이전): 2026년 10월 14일 (수) 오후 02시 06분 39초.
오류:
 문제 1: package adcli-selinux-0.9.3.1-3.el9.noarch from @System requires selinux-policy >= 38.1.70-1.el9, but none of the providers can be installed
  - selinux-policy-38.1.75-2.el9_8.1.noarch from @System  does not belong to a distupgrade repository
  - 설치된  패키지 문제 adcli-selinux-0.9.3.1-3.el9.noarch
 문제 2: package mesa-compat-libxatracker-25.0.7-2.el9.0.1.x86_64 from @System requires libLLVM.so.21.1()(64bit), but none of the providers can be installed
  - llvm-libs-21.1.8-2.el9.x86_64 from @System  does not belong to a distupgrade repository
  - 설치된  패키지 문제 mesa-compat-libxatracker-25.0.7-2.el9.0.1.x86_64
 문제 3: installed package p11-kit-client-0.26.4-1.el9_8.x86_64 obsoletes p11-kit-server < 0.25.5-8 provided by p11-kit-server-0.25.3-3.el9_5.x86_64 from appstream
  - 설치된  패키지 문제 p11-kit-client-0.26.4-1.el9_8.x86_64
(설치 할 수 없는 꾸러미를 건너 뛰려면 '--skip-broken'을 (를) 추가하십시오 또는 '--nobest'는 최적 후보의 꾸러미만 사용합니다)
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • 9.8에서 들어온 패키지가 9.7 저장소에는 없는 버전에 묶여 있어서 맞출 수 없다는 뜻입니다.
  • 문제 1: adcli-selinux가 9.8의 selinux-policy를 요구
  • 문제 2: mesa-compat-libxatracker가 9.8의 LLVM 21.1을 요구
  • 문제 3: 9.8의 p11-kit-client가 9.7의 p11-kit-server를 대체(obsoletes)
[직접 확인] --allowerasing으로 강제로 맞추는 방법도 있지만, 패키지가 지워지면서 시스템이 어떻게 될지 장담할 수 없고 마이너 버전 다운그레이드는 공식 지원도 아니라서 시도하지 않고 9.7로 재설치했습니다.

해결 1. 재설치 후 저장소를 vault 9.7로 고정

재설치한 뒤에는 업데이트를 돌리기 전에 모든 Rocky 저장소를 vault 9.7로 바꿉니다.

rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
sed -i -e 's|^mirrorlist=|#mirrorlist=|' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir/$releasever|baseurl=https://dl.rockylinux.org/vault/rocky/9.7|' /etc/yum.repos.d/rocky*.repo
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • mirrorlist= 줄을 주석 처리해 최신 버전으로 가는 길을 막습니다.
  • 주석으로 들어 있던 baseurl을 켜고 주소를 vault 9.7로 바꿉니다.
  • BaseOS, AppStream, CRB, extras, devel, addons 저장소가 모두 한 번에 바뀝니다.

고정에 썼던 명령의 실행 화면은 남기지 못해서, 같은 결과가 나오는 명령으로 적었습니다. 결과는 아래처럼 확인했습니다.

rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
grep -E "^(baseurl|mirrorlist)" /etc/yum.repos.d/rocky*.repo
/etc/yum.repos.d/rocky.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/BaseOS/$basearch/os/
/etc/yum.repos.d/rocky.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/AppStream/$basearch/os/
/etc/yum.repos.d/rocky.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/CRB/$basearch/os/
/etc/yum.repos.d/rocky-extras.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/extras/$basearch/os/
/etc/yum.repos.d/rocky-devel.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/devel/$basearch/os/
/etc/yum.repos.d/rocky-addons.repo:baseurl=https://dl.rockylinux.org/vault/rocky/9.7/HighAvailability/$basearch/os/
... (debug·source 저장소와 나머지 addons도 모두 vault/rocky/9.7, mirrorlist 줄은 없음)
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • 모든 baseurl이 vault/rocky/9.7을 가리키면 고정된 것입니다.
  • mirrorlist=로 시작하는 줄이 하나라도 남아 있으면 그 저장소는 여전히 최신 버전을 받아옵니다.
[직접 확인] 재설치 후 모든 Rocky 저장소가 vault 9.7을 가리키고 mirrorlist 줄이 남지 않은 것을 확인한 뒤 업데이트와 드라이버 설치를 진행했습니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
dnf clean all && dnf makecache && dnf update -y
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • 예전 저장소 캐시를 지우고, 고정한 vault 9.7 기준으로 다시 받아 업데이트합니다.
  • 캐시를 지우지 않으면 이전 메타데이터가 남아 헷갈릴 수 있습니다.

해결 2. NVIDIA 드라이버 설치 (nvidia-open)

[참고 · 직접 확인하지 않음] 드라이버 설치 전 준비(EPEL, 커널 헤더, CUDA 저장소 추가) 명령은 실행 화면을 남기지 못해 NVIDIA·Rocky 문서 기준으로 적었습니다. 설치 로그의 GPG 키 출처로 NVIDIA CUDA rhel9 저장소를 쓴 것은 확인했습니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
dnf install -y epel-release && dnf install -y kernel-devel-$(uname -r) kernel-headers-$(uname -r)
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • DKMS가 들어 있는 EPEL 저장소와, 지금 실행 중인 커널과 같은 버전의 헤더를 설치합니다.
  • 커널 헤더 버전이 다르면 DKMS 모듈 빌드가 실패합니다. 저장소를 9.7에 고정했기 때문에 커널과 헤더 버전이 어긋나지 않습니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • NVIDIA 공식 CUDA 저장소(rhel9)를 추가합니다. Rocky 9는 RHEL 9 저장소를 그대로 씁니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
dnf install -y nvidia-open
GPG키 0xD42D0685 가져오는 중:
사용자 ID : "cudatools <cudatools@nvidia.com>"
출처 : https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/D42D0685.pub
키 가져오기에 성공했습니다
...
  설치 중     : nvidia-driver-common-3:615.71.09-1.el9.x86_64        1/24
Created symlink /etc/systemd/system/multi-user.target.wants/nvidia-powerd.service → /usr/lib/systemd/system/nvidia-powerd.service.
...
  설치 중     : nvidia-persistenced-3:615.71.09-1.el9.x86_64         6/24
Created symlink /etc/systemd/system/multi-user.target.wants/nvidia-persistenced.service → /usr/lib/systemd/system/nvidia-persistenced.service.
...
  설치 중     : nvidia-kmod-common-3:615.71.09-1.el9.noarch          14/24
  설치 중     : kmod-nvidia-open-dkms-3:615.71.09-1.el9.noarch       15/24
  구현 중     : kmod-nvidia-open-dkms-3:615.71.09-1.el9.noarch       15/24
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • RTX 4000 Ada(Ada Lovelace) 같은 최신 GPU용 오픈 커널 모듈 드라이버를 설치합니다.
  • 처음 설치할 때 NVIDIA 저장소의 GPG 키를 가져오고, nvidia-powerd·nvidia-persistenced 서비스가 자동으로 켜집니다(Created symlink 줄).
  • 15/24 kmod-nvidia-open-dkms에서 한참 멈춰 있습니다. DKMS가 현재 커널용 NVIDIA 모듈을 컴파일하는 단계라 화면에 아무것도 나오지 않습니다.
[직접 확인] 15/24에서 출력 없이 멈춰 있어 설치가 걸린 줄 알았는데, 끊지 않고 기다리니 끝까지 정상으로 완료됐습니다. 이때 Ctrl+C로 끊으면 모듈이 반쯤 설치된 상태로 남을 수 있습니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
reboot
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • 새 커널 모듈을 올리기 위해 재부팅합니다.
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
nvidia-smi
ssh://root@rocky-gpu:22SSH2xtermUTF-8
  • 드라이버가 GPU를 인식하는지 확인합니다.
  • 표에 NVIDIA RTX 4000 Ada Generation, 드라이버 버전, 메모리(약 20GB)가 나오면 정상입니다.
  • NVIDIA-SMI has failed가 나오면 dkms status로 모듈 빌드가 끝났는지 먼저 확인합니다.

참고. OS를 재설치해도 데이터 디스크는 그대로

OS는 NVMe 한 개에만 다시 설치하고, 데이터용 NVMe(LVM vg_data/lv_data, XFS)는 건드리지 않았습니다. 재설치 후 fstab에 UUID로 한 줄만 다시 등록하면 됩니다.

rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
grep data /etc/fstab
UUID=2fa55924-5d14-45b7-8e8f-25bc3e8cfde0  /data  xfs  defaults  0 0
ssh://root@rocky-gpu:22SSH2xtermUTF-8
rocky-gpu – Xshell–□✕
ssh://root@rocky-gpu:22
1 rocky-gpu
[root@localhost ~]#
findmnt /data
TARGET SOURCE                      FSTYPE OPTIONS
/data  /dev/mapper/vg_data-lv_data xfs    rw,relatime,seclabel,attr2,inode64,logbufs=8,logbsize=64k,sunit=128,swidth=1024,noquota
ssh://root@rocky-gpu:22SSH2xtermUTF-8
[직접 확인] fstab UUID가 재설치 전에 만든 파일시스템 UUID와 같았고, 재부팅하니 포맷 없이 /data로 자동 마운트됐습니다.

주의사항

  • vault 9.7은 더 이상 업데이트가 나오지 않는 저장소입니다. 고정하면 이후 보안 패치도 받지 못하니, 9.7이 꼭 필요한 기간에만 쓰고 가능해지면 최신 버전으로 올리세요.
  • 새로 설치할 때는 첫 dnf update 전에 저장소부터 고정해야 합니다. 한 번 올라가면 되돌리기 어렵습니다.
  • NVIDIA CUDA 저장소는 vault 고정과 상관없이 최신 드라이버를 줍니다. 드라이버 버전도 고정해야 하면 설치 버전을 지정하거나 버전 잠금을 따로 해야 합니다.
  • BIOS에서 Secure Boot가 켜져 있으면 DKMS 모듈 서명 문제로 드라이버가 올라오지 않을 수 있습니다.

정리

  1. Rocky 기본 저장소는 최신 마이너 버전을 주므로, 9.7 ISO로 설치해도 업데이트하면 9.8이 된다.
  2. 9.8 → 9.7 distro-sync는 의존성 오류로 막힌다. 재설치가 안전하다.
  3. 재설치 직후 업데이트 전에 저장소를 vault 9.7로 고정하고 grep으로 확인한다.
  4. nvidia-open 설치 15/24 멈춤은 DKMS 컴파일 중이니 기다린다. 재부팅 후 nvidia-smi로 확인한다.

같은 상황에서 다른 의존성 오류가 났다면 댓글로 오류 문구를 남겨 주세요. 확인해 보고 답변드리겠습니다.

댓글 남기기