이것이 리눅스다(10) - 필수 개념과 명령어(DNF)

1 minute read

DNF

RPM의 패키지 의존성 문제를 완전하게 해결한 설치 방법으로, 이너넷을 통해 필요한 파일을 자동으로 모두 다운로드해서 설치하는 방식이다. CentOS7은 YUM, CentOS8은 더 개선된 DNF 명령을 사용한다.

기본적인 사용법

  • dnf -y install <패키지 이름>: 설치. y 옵션을 통해 사용자 확인을 모두 yes 처리한다.
  • dnf install <rpm파일 이름.rpm>: RPM 파일 설치.
  • dnf check-update: 업데이터 가능한 목록 보기
  • dnf update <패키지 이름>: 패키지 업데이트.
  • dnf remove <패키지 이름>: 패키지 삭제.
  • dnf info <패키지 이름>: 패키지 정보 확인.

※ 저장소의 URL은 /etc/yum.repos.d/이다.

고급 사용법

  • dnf groupinstall <패키지 그룹 이름>: 패키지 그룹 설치.패키지는 프로그램 하나하나를 뜻하고, 패키지 그룹은 예를 들면 자바 개발 환경과 같은 것이다.
  • dnf list <패키지 이름>: 패키지 리스트 확인.
  • dnf provides <파일 이름>: 특정 파일이 속한 패키지 이름 확인.
  • dnf install --nogpgcheck <rpm 파일 이름.rpm>: GPG 키 검사 생략. CentOS에서 인증이 되지 않은 패키지는 설치가 안되는데 이 옵션은 인증없이 강제로 설치할 때 사용한다.
  • dnf clean all: 기존 저장소 목록 지우기.

아래는 dnf의 설치과정을 도식화해놓은 그림이다.

CentOS에서 패키지를 설치하는 방법은 네트워크와 DVD 두 가지가 있다. 네트워크는 말 그대로 네트워크로 인터넷을 연결해 외부에서 설치하는 개념이고, DVD는 DVD 파일을 통해 내부에서 인터넷 없이 설치하는 방법이다. 만약 가장 자주 쓰이는 패키지가 많은 BaseOS와 AppStream은 DVD에서 설치하고, 나머지 파일은 인터넷에서 설치한다면 네트워크 비용을 크게 절감할 수 있을 것이다.

우선 DVD를 연결하고 /media/cdrom에 마운트시킨다. 그리고 dvd.repo를 따로 생성하고 그 안에 다음과 같은 내용을 넣는다.

[DVD-BaseOS] 
name=CentOS DVD BaseOS # 그냥 원하는 이름
baseurl=file:///media/cdrom/BaseOS/ # 패키지 설치가 이루어질 경로
gpgcheck=0

[DVD-AppStream]
name=CentOS DVD AppStream
baseurl=file:///media/cdrom/Appstream/
gpgcheck=0

이렇게 되면 BaseOS와 Appstream에 있는 패키지는 네트워크 없이 내부에서 DVD로 설치가 가능하다.

그리고 만약 dnf로 그룹 패키지를 다운 받고 싶다면 dnf grouplist hidden을 통해 다운받을 수 있는 그룹 패키지를 확인하고, dnf groupinstall <"그룹패키지 이름">을 입력한다. 그룹패키지 이름은 꼭 ““안에 넣어야 한다.

Leave a comment