티스토리 뷰

반응형

 

 

최신순 DNF[Dandified(멋부린,쫙빼입은) Yum] > YUM > RPM

 

rpm 로컬 기반 패키지 매니저


rpm -qa 설치된 모든 패키지 표시. 너무 많기 때문에 주로 | grep 과 함께 사용해서 조회한다.


rpm -qi 패키지명 : 설치된 패키지 상세 정보 확인. 버전, 릴리즈, 아키텍쳐, 설치일 등을 볼 수 있다.

설치되어 있지 않은 패키지는 이렇게 뜬다.


rpm -Uvh 패키지파일이름.rpm : 설치시 가장 많이 쓰이는 옵션. 패키지명이 아닌 패키지파일이름을 다 써줘야 한다.

 

-U(--upgrade)
              현재  설치되어  있는  패키지를  새로운  버전의 RPM으로 업그레이드하라.
              인스톨과 같지만 예전 버전의 것이 자동으로 지워진다는 것이 다르다.

-h(--hash)
              패키지를 풀 때 해쉬마크(#)를 표시한다. 총 갯수는  50  개이다.   좀  더
              나은 출력을 위해서는 -v 를 함께 사용하라.

-i 패키지 최초 설치 시 사용, 이전 버전이 존재시 설치하지 않는다. i 옵션 없이 명령하면 최신 버전이 아닐 시 업데이트까지 알아서 진행함.

rpm -e 패키지명 : 삭제

rpm의 가장 큰 단점은 의존성(dependency)
--nodeps 의존성을 무시하고 설치하는 옵션

 

패키지를 하나 설치하고 지워보겠다. Rocky에서 기본으로 제공하는 ansible-core를 설치해보려고 한다. 루트의 홈 디렉터리인 /root에서 설치 명령어를 치니 실패했다. 해당 패키지 파일이 있는 곳에서 설치해야 한다. cd 명령어로 패키지가 있는 디렉터리로 이동해서 설치하려고 하니, 의존성 문제로 실패했다. --nodeps 옵션을 주고 기어이 설치하라고 함. 성공.

rpm -e ansible-core 로 삭제 시도. 조용. 

rpm -qa | grep ansible 로 확인. 조용.

rpm -qi ansible-core 로 또 확인.

설치되어 있지 않다는 말에 안심.

삭제할 땐 파일이 없어도 되므로 어느 위치에 있든 명령 실행이 가능하다.

 

yum과 dnf
인터넷 기반 패키지 매니저. 둘은 거의 같음.

 

인터넷에서 패키지를 가져와 설치하기 때문에 의존성 문제도 스스로 찾아서 깔아 해결해버림.

dnf install rpm파일이름.rpm

이렇게 명령하면 인터넷이 아닌 로컬 파일로 설치되지만 의존성 문제가 발견되면 필요한 파일을 인터넷에서 찾아와 자동으로 다운로드->설치한다.

dnf remove 패키지명 : 삭제 *패키지를 삭제할 땐 패키지 파일이 필요 없음*

dnf update 패키지명 : 업데이트 (패키지 이름 없이 명령하면 가능한 모든 패키지를 업데이트함. dnf install 명령을 사용하면 설치되어 있지 않은 패키지는 새로 설치하고 설치되어 있는 패키지는 업데이트하기 때문에 update 명령어를 쓸 일이 별로 없긴함.)

dnf clean all : 기존 저장소 목록 지우기. dnf 저장소로 인해 오류 발생 시 사용


dnf info 패키지명 : 인터넷으로 패키지 정보 조회. 설치되지 않은 패키지도 조회 가능.

아까 삭제한 ansible-core 조회해보니 '사용 가능한 꾸러미' 라고 나온다.

설치되어 있는 패키지를 조회했을 땐, '설치된 꾸러미' 라고 나온다.

 

dnf와 yum의 저장소(리포지터리) : /etc/yum.repos.d/파일명.repo

 

.repo 파일이 /etc/yum.repos.d 디렉터리 내에 있으면 dnf가 열어본다.
단, 해당 경로보다 더 하위 디렉터리에 있는 .repo 파일의 경우 열어볼 수 없다.

 

/etc/yum.repos.d 아래에 있는 .repo 파일들을 확인할 수 있다.

리포지터리 파일의 구성


[식별자] 임의지정
name=이름 임의지정
baseurl=가져올 곳. 절대경로로 지정.(file:// 로컬 경로 지정.마운트 한 곳.BaseOS or AppStream 디렉터리까지 써줘야 함.)
gpgcheck=서명 확인 할거냐? 0으로 하면 인증안함 1로하면 gpgkey 넣어줘야함.

 

/etc/yum.repos.d/Rocky-AppStream.repo  를 열어보았다.

 

Rocky Linux 저장소의 미러사이트


 동일한 저장소를 대학, 연구소, 기업체 등에서 자발적으로 참여해 구축하고 있는데 이러한 저장소를 미러 사이트라고 한다. dnf install 패키지이름 명령을 실행하면 미러사이트중에서 지리적으로 가장 가까운 곳을 찾아 접속해 패키지를 다운로드한다.

더보기

실습은 RHEL(Red Hat Enterprise Linux)의 클론 버전인 Rocky Linux 8버전을 사용했으며 Rocky Linux 9버전에서도 거의 문제없이 실행된다. 9버전에 와서 달라진 점은 따로 기입했지만 빠진 것이 있을 수 있다.

 

반응형