패키지매니저

·2025년 2월 11일

[클라우드]

목록 보기
3/3
post-thumbnail

  1. 패키지 매니저 존재하는 이유
  2. 데비안계열의 패키지매니저
  3. 레드햇계열의 패키지매니저

패키지매니저의 존재 이유

  • 복잡한 패키지들간의 의존관계

  • 즉, 수동업데이트와 수동설치를 하는 과정에 나타나는 의존관계 충돌을 근절하기 위해 나타났다.

APT/APT-GET

데비안계열에서 주로 사용
(Ubuntu,…)

dpkg라는 패키지매니저도 존재한다.

dpkg는 해당 패키지만 설치를 진행하고 해당 패키지에 종속되서 설치되야하는 프로그램을 같이 설치해주지는 않는다.

이를 해결하기 위해 나온것이 apt-get이다.

apt-get

dpkg와 달리 종속된 프로그램이 만약 작업환경에 미설치되어있다면 추가 수동설치 필요없이 자동으로 설치해준다.

apt와 apt-get의 차이 (apt, apt-get은 데비안계열에서 사용)

APT는 Advanced Packaging Tool의 약자이다.

apt 와 apt-get는 내부적인 동작 차이는 거의 없기에, 뭘사용해도 상관이 없다.

다만, 좀 더 가독성이 좋고, 메세지 안내가 나오거나(apt),

좀더 세부적인 옵션과 스크립트 작성을 할때 유리한것(apt-get)

script 파일, 예를들어 Dockerfile 등에서 apt를 사용하면,

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

이라는 경고문구가 나온다.

apt 명령어는 사용자와의 상호작용에 중점을 둔 CLI고, script내에서는 사용하기에는 주의가 필요하다는 것이므로, apt-get을 이용해서 사용하면 된다.

YUM과 RPM

레드햇 계열에서 주로 사용
(Centos, Fedora,…)

RPM

기존 수동설치의 방식으로는 (직접 tar,gzip로 묶여있는 패키지 소스파일을 컴파일한 후에 수동 설치) 너무 많은 시간이 들었기 때문에, 레드햇에서 패키지관리프로그램을 개발.

  • RPM 패키지는 컴파일되어 설치한 실행파일, 설정파일, 라이브러리 등을 하나로 묶어놓은 파일을 말한다.

단점

  • 패키지 사이에 의존하고 있는 패키지까지 자동설치되지는 않는다.
  • 인터넷이 연결되어있지않아도 설치가 가능하지만, rpm 확장자로 된 패키지 프로그램이 필요하다.

기본 사용 명령어

  • 설치: rpm -Uvh [패키지명]
  • 삭제: rpm -e [패키지명]
  • 설치확인: rpm -qa [패키지명]
  • 상세정보: rpm -qi [패키지명]

YUM

YUM은 RPM 기반의 시스템을 위한 자동 업데이터 및 패키지 설치, 제거 프로그램이다.

RPM과 다르게 인터넷 사용이 필수이기 때문에 패키지간 의존성 문제를 해결할 수 있다. 예를들어 A 패키지를 설치하기전에 필요한 B 패키지까지 모두 한번에 설치가 가능하며, 의존도를 자동으로 찾고 알아서 설치해준다.

  • 인터넷에서 바로 설치가 가능하기 때문에 패키지 프로그램이 따로 필요없다.
  • 패키지 사이에 의존하고 있는 패키지까지 자동으로 설치가 가능하다

기본 사용 명령어

  • 설치: yum install [패키지명]
  • 삭제: yum remove [패키지명]
  • 업그레이드: yum update [패키지명]
  • 목록: yum list [패키지명]
  • yum 데이터베이스 동기화 업데이트: yum update

0개의 댓글