OS/Linux

[OS] 리눅스 패키지 관리

BTC_효범 2022. 9. 16. 02:53

안녕하세요. BTC95 입니다.

오늘은 리눅스 패키지 관리에 대해 알아보겠습니다.


패키지 관리란?

새로운 소프트웨어를 설치, 업데이트, 삭제하는 일을 말합니다.


특징

  1. 소프트웨어의 배포 형태에 따라 포함하고 있는 파일들이 다릅니다.
    - 소스코드 형태로 배포되는 경우: 보통 하나의 아카이브 파일(tar)로 묶은 후 압축하여 배포
    - 바이너 패키지 형태로 배포되는 경우: 응용 프로그램, 라이브러리 파일, 버전 정보나 의존성 등의 메타 정보 파일 포함
  2. 패키지는 repository에 저장되어 있으며, HTTP나 FTP 서버를 통해 다운로드 할 수 있습니다.
  3. 패키지 간 의존성 띔: 하나의 패키지가 다른 패키지나 공유 라이브러리 등을 필요로 하는 관계
  4. 의존성을 해결하는 기능을 제공하는 것이 리눅스 패키지 관리 시스템의 주요 역할입니다.

리눅스 배포판에 따라 서로 다른 패키지 형식 지원

  • Debian 계열(Debian, Ubuntu 등): .deb 파일
  • RedHat 계열(Redhat, Fedora, CentOS): .rpm 파일
  • openSUSE 계열: openSUSE를 위해 특별히 빌드된 .rpm 파일

**Ubuntu에서는 /var/cache/apt/archives 디렉터리에 다양한 .deb파일들이 보관됨**


패키지 관리 도구의 두 유형

  • 저수준 툴(Low-Level Tool): 실제 패키지의 설치, 업데이트, 삭제 등을 수행
  • 고수준 툴(High-Level Tool): 의존성의 해결, 패키지 검색 등의 기능 제공
  Low-Level Tool High-Level Tool
Debian dbkg apt-get / aptitude
CentOS rpm yum
openSUSE rpm zypper

감사합니다.

 

(참고)