명령어/Linux

[RHEL] dnf module 앱스트림 모듈로 버전 골라 설치

jykim23 2026. 7. 15. 12:01
반응형

부제: 같은 패키지의 여러 버전(스트림) 중 하나를 골라 고정한다

dnf module list                    # 모듈·스트림 목록
dnf module enable nodejs:20        # 스트림 선택
dnf module install nodejs:20       # 그 버전으로 설치
$ dnf module list | head -12
Name       Stream Profiles                          Summary
mariadb    10.11  client, galera, server [d]        MariaDB Module
mariadb    11.8   client, galera, server            MariaDB Module
mysql      8.4    api, client, filter, server [d]   MySQL Module
nginx      1.24   common [d]                        nginx webserver
nodejs     20     common [d], development, minimal  Javascript runtime
nodejs     22     common [d], development, minimal  Javascript runtime
postgresql 16     client, server [d]                PostgreSQL server and client

dnf module은 하나의 패키지 이름 아래 여러 버전(스트림)을 준비해두고 그중 하나를 골라 쓰게 해주는 AppStream 기능이다. 예를 들어 nodejs를 18·20·22 중 원하는 것으로 고정할 수 있다. [d]는 기본 스트림이라는 뜻이다. 데비안엔 대응 개념이 없고, 보통 별도 저장소(NodeSource 등)로 버전을 맞추는 것을 RHEL은 모듈로 흡수했다.

이렇게도 쓴다

특정 모듈의 스트림·프로파일 상세를 본다.

dnf module info nodejs:20

 

활성화된(선택한) 모듈만 추린다.

dnf module list --enabled

 

프로파일을 지정해 설치한다(개발 도구 포함 등).

dnf module install nodejs:20/development

 

다른 버전으로 갈아타기 전에 기존 스트림을 초기화한다.

dnf module reset nodejs

 

설치 가능한 nodejs 스트림 버전만 뽑아 본다(파이프 조합).

dnf module list nodejs | awk '/nodejs/{print $2}'

 

모듈을 완전히 꺼서 비모듈 패키지가 잡히게 한다.

dnf module disable postgresql
반응형