RockyLinux강좌03 : dnf 패키지관리와 RockyLinux의 Repository
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 11,587 조회
- 0 추천
- 목록
본문
ㅇrpm과 yum 명령어의 단점
- rpm명령어로 패키지 설치/삭제등을 하고자 할때 가장 큰 문제점이 의존성 문제다.
-
ㅇ dnf
- rpm명령어의 패키지 의존성문제를 해결하기위해 만들어진 것이다.
- dnf는 Rocky Linux가 제공하는 rpm파일저장소에서 설치할 rpm파일과 함께 의존성이 있는 다른 rpm파일까지 다운로드해서 설치해준다.
- 그래서 rpm패키지를 설치할때 의존성문제를 더이상 고민하지 않아도 된다.
- rpm패키지에 의존성문제가 있을경우 문제를 해결할 수 있는 파일을 인터넷에서 자동으로 다운로드 해서 설치한다.
- dnf사용시 당연히 네트워크에 연결되어 있어야 한다.
- dnf에서 사용하는 저장소의 URL은 /etc/yum.repos.d/ 디렉토리의 파일들에 설정되어 있다.
- dnf의 설정파일 : /etc/yum.conf
- dnf가 참조하는 Repository : /etc/yum.repos.d/ 디렉토리에 있는 파일들. 여기에 있는 파일들은 dnf 명령실행시에 해당 패키지파일을 검색하기 위한 네트워크주소가 설정되어 있다.
ㅇ Rocky Linux의 저장소 기본설정파일 : /etc/yum.repos.d/rocky.repo
-이 파일의 내용은 다음과 같다.
- 이 파일에는 아래와 같은 항목들로 구성되어 있다.
[baseos]
[baseos-debug]
[baseos-source]
[appstream]
[appstream-debug]
[appstream-source]
[crb]
[crb-debug]
[crb-source]
위의 각 항목들은 name, baseurl, gpgcheck , gpgkey , mirrorlist , enabled 로 구성된다.
[root@sulinux01 yum.repos.d]# cat rocky.repo # rocky.repo # # The mirrorlist system uses the connecting IP address of the client and the # update status of each mirror to pick current mirrors that are geographically # close to the client. You should use this for Rocky updates unless you are # manually picking other mirrors. # # If the mirrorlist does not work for you, you can try the commented out # baseurl line instead.
[baseos]
name=Rocky Linux $releasever - BaseOS mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[baseos-debug]
name=Rocky Linux $releasever - BaseOS - Debug mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever-debug$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/debug/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[baseos-source]
name=Rocky Linux $releasever - BaseOS - Source mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=BaseOS-$releasever-source$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/source/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream]
name=Rocky Linux $releasever - AppStream mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream-debug]
name=Rocky Linux $releasever - AppStream - Debug mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever-debug$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/debug/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[appstream-source] name=Rocky Linux $releasever - AppStream - Source mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=AppStream-$releasever-source$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/source/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb]
name=Rocky Linux $releasever - CRB mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=CRB-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/$basearch/os/ gpgcheck=1 enabled=0 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb-debug]
name=Rocky Linux $releasever - CRB - Debug mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=CRB-$releasever-debug$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/$basearch/debug/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
[crb-source]
name=Rocky Linux $releasever - CRB - Source mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=source&repo=CRB-$releasever-source$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/CRB/source/tree/ gpgcheck=1 enabled=0 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9 [root@sulinux01 yum.repos.d]# |
name : 저장소의 이름이다. 필수설정항목이다.
baseurl :
Rocky Linux 저장소 URL을 설정한다. 여러 개의 baseurl을 설정가능하며, 찾지 못할경우에 설정된 url을 차례대로 검색한다. 필수설정항목이다.
gpgcheck : 해당패키지의 GPG 서명확인 진행 여(1), 부(0)을
지정한다. 1로 지정하면 다음항목인 gpgkey 를 반드시 작성해야 한다. 필수설정항목이다.
참고 : GPG(Gnu Privacy Guard) 서명이란 rpm패키지가 정상적인 패키지임을 인증할 때 사용되는 암호화된 서명이다.GPG서명을
확인하게 되면 정상적인 패키지임을 인증하게된다.
gpgkey :
바로 앞에 설정한 gpgcheck 의 설정값이 1일경우에 GPG key가 기록된 저장소의 URL을 설정한다. 생략가능하다.
mirrorlist : baseurl 설정값이 없을 경우에 여기에 설정된 URL을 검색한다. 생략가능하다.
enabled : 설정된 저장소들 가운데 특정 저장소의 사용
여(1), 부(0) 를 설정한다. 생략시 자동으로
1로 설정됨. 생략가능하다.
ㅇ 패키지 설치
dnf -y install "패키지명"
주의할점은 패키지파일명이 아닌 패키지명을 주어야함.
ㅇ 패키지 삭제
dnf -y remove "패키지명"
ㅇ 설치된 패키지중 업데이트 가능한 패키지 목록
dnf check-update
먼저 dnf clean all을 실행하여 dnf관련한 임시파일들을 모두 삭제한다.
dnf info "패키지명"
이때.. 설치되어 있거나 설치하고자 하는 패키지에 대한 정보를 확인하기 위해 dnf는 Rocky Linux 저장소(repository)에 접속한다.
ㅇ 패키지업데이트
dnf update "패키지명"
설치되어 있는 패키지는 업데이트를 진행하고, 설치되어 있지 않은 패키지는 설치를 진행한다.
dnf update
이렇게만 실행하면 현재 시스템에서 업데이트 가능한 모든 패키지를 업데이트한다. 주의요망!!
ㅇ 특정파일의 설치패키지 확인
dnf provides "파일이름"
특정파일이 어떤 패키지의 설치로 생성이 되어 있는지 확인한다.
ㅇ 패키지리스트 검색
dnf list 패키지명
dnf list mariadb* : mariadb라는 이름이 들어간 패키지들을 리스팅한다.
dnf list all : 모든 패키지목록 리스팅한다.
dnf list available : 설치가능한 패키지 목록 리스팅
관련자료
-
이전
-
다음