명령어/Linux
[RHEL] dnf mark 설치 이유(user/dependency) 바꾸기
jykim23
2026. 8. 4. 22:56
반응형
부제: 패키지를 "사용자가 설치" 또는 "의존성" 으로 표시해 자동 삭제를 제어하기
dnf mark install httpd # httpd를 사용자가 명시 설치한 것으로 표시
dnf mark remove httpd # 의존성(자동 설치)으로 표시 → autoremove 대상화
dnf mark group httpd @web-server # 그룹이 설치한 것으로 표시
usage: dnf mark {install,remove,group} PACKAGE [PACKAGE ...]
설치된 꾸러미를 사용자가 설치한 것으로 표시 또는 표시 해제합니다.dnf mark는 이미 설치된 패키지의 "설치 이유"만 바꾼다. 파일을 건드리지 않고 dnf DB의 표식(reason)만 손본다. mark install은 사용자가 직접 설치한 것으로 만들어 autoremove에서 지워지지 않게 하고, mark remove는 반대로 의존성으로 강등해 아무도 안 쓰면 자동 삭제되게 한다. 데비안 계열의 apt-mark manual/auto와 정확히 대응한다.
이름은 remove지만 패키지를 지우지 않고 표식만 바꾸는 점을 헷갈리지 말자. 실제 삭제는 이후 dnf autoremove가 판단한다. 표식만 바꾸므로 되돌리기도 쉽다.
이렇게도 쓴다
의존성으로 딸려온 패키지를, 앞으로도 남기려고 사용자 설치로 승격한다.
dnf mark install nmap
직접 깔았지만 이제 필요 없어진 패키지를 의존성으로 강등한다.
dnf mark remove sysstat
강등 후 실제로 청소한다(명령 조합).
dnf mark remove sysstat && dnf autoremove
현재 표식(reason)을 확인해 무엇을 바꿀지 정한다(조회 조합).
dnf repoquery --qf '%{name} %{reason}' --installed | grep dependency
여러 패키지를 한 번에 사용자 설치로 표시한다.
dnf mark install vim-enhanced tmux git
특정 그룹이 설치한 것으로 묶어 그룹 단위 관리에 편입한다.
dnf mark group httpd mod_ssl @web-server반응형