Linux의 패키지 설치 방법 RPM & YUM이란?

망7H·2021년 4월 11일
2

AWS EC2에 설치하기에 관련된 포스팅을 진행하다보니 yum, rpm, yum.repos.d, GPG-KEY 등의 용어들이 사용되는데, 명확히 모르고 쓰고 있었던 것 같아서 한번 정리해볼까 합니다.

RPM과 YUM

RPMYUM둘 모두 Linux 환경에서 패키지를 설치하는 방식입니다.

RPM (Redhat Package Manager)

패키지를 설치하는 RPM 명령은 큰 단점이 있습니다.
패키지A를 설치하려면 패키지B가 필요하고, 패키지B를 설치하려면 패키지C가 필요한 경우
패키지C → 패키지B → 패키지A 순으로 패키지를 설치해야한다는 단점이 있었습니다.
설치시 이러한 패키지 의존성 문제를 해결하기 위해 YUM이 나타났습니다.

YUM (Yellowdog Update Modified)

YUM은 RPM의 단점(설치시 의존성 문제)을 해결해줄수 있었습니다.
의존성을 가지는 여러 패키지를 지속적으로 저장소에서 찾아서 다운로드 받기 위해서는 당연히 인터넷에 연결되어있어야 합니다.

1) 자주 쓰는 명령 방식

  • yum install
    ※ 이미 패키지가 설치되어 있다면, 최신 버전으로 업데이트를 진행합니다.
    yum install [package name] : 특정 패키지를 설치합니다.
    yum install -y [package name] : 특정 패키지를 설치합니다. 이때, 모든 대답을 yes로 처리합니다.
    yum install --nogpgcheck [rpm package name.rpm] : 인증되지 않은 RPM 패키지를 설치할 수 있게 해줍니다. 즉, GPG KEY 인증을 생략하고 설치하겠다는 의미입니다.)
  • yum check-update
    업데이트가 가능한 패키지 목록을 볼 수 있습니다.
  • yum update
    ※ 뒤에 패키지명을 명시하지 않으면, 설치된 모든 패키지를 업데이트 합니다.
    yum update [package name] : 특정 패키지를 업데이트 합니다.
  • yum remove
    yum remove [package name] : 특정 패키지를 삭제합니다.
  • yum list
    yum list : 저장소 서버에 있는 모든 패키지 목록을 열람합니다.
    yum list | grep [package name] : 저장소 서버에 있는 특정 패키지 목록을 열람합니다.
    yum list installed : 현재 설치된 패키지 목록을 열람합니다.
  • yum provides
    yum provides [file name] : 특정 파일이 속한 패키지 이름을 볼 수 있습니다.
  • yum info
    yum info [package name] : 특정 패키지의 정보를 열람합니다.
  • yum repolist
    현재 활성화된 저장소 목록을 열람합니다.

2) 설정 파일

  • /etc/yum.conf
  • /etc/yum.repos.d/
    yum repository 파일이 저장되는 경로이며, 설치하려는 패키지의 저장소 정보가 있습니다.

3) Yum repository를 추가하는 방법

  • EPEL, REMI Repository 추가
  • .repo 파일 생성
    .repo 생성 방식은 간단한 예제로 보는게 빠를 것 같습니다.
    아래 그림은 AWS EC2 인스턴스를 단순히 발급만 받은 상태입니다.
    yum repolist 명령에도 기본 세팅된 저장소 외에는 아무것도 없는 것을 확인할 수 있습니다.
    저장소가 없기에, yum install -y logstash 명령으로도 아무것도 설치할 수 없습니다. 이제 /etc/yum.repos.d/logstash.repo 파일을 추가하여 아래의 내용을 추가하여 보겠습니다. 그리고 다시, yum repolist 명령을 사용해보겠습니다. Logstash 관련 저장소가 활성화 되어있음을 확인할 수 있습니다. 이제 Logstash에 대한 저장소가 생겼으니 yum install -y logstash 명령으로 설치할 수 있을것입니다.




EPEL, REMI Repository를 추가하는 방식도 다른 포스팅들을 찾아보면 사용할 수 있습니다.
Elasticsearch, Kibana 등을 .Repo 파일을 추가하여 설치하는 것을 무작정 따라하다가 어떤 의미를 가지는 설치방식인지 알게되었네요.

해당 글 작성에 참고한 링크

https://wlstnans.tistory.com/3
https://dololak.tistory.com/331
https://ossian.tistory.com/80

profile
망한 개발자의 개발 기록입니다. 저를 타산지석으로 삼으시고 공부하세요.

0개의 댓글