[Linux] 리눅스 패키지 관리

김동욱·2021년 12월 15일
0

linux

목록 보기
3/5

패키지 관리란?

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

특징

  1. 소프트웨어의 배포 형태에 따라 포함하고 있는 파일들이 다른데
  • 소스코드 형태로 배포되는 경우
    : 보통 하나의 아카이브 파일(tar)로 묶은 후 압축하여 배포
  • 바이너리 패키지 형태로 배포되는 경우
    : 응용 프로그램, 라이브러리 파일, 버전 정보나 의존성 등의 메타 정보 파일 등이 포함된다.
  1. 패키지는 저장소(repository)에 저장되어 있으며, HTTP나 FTP 서버를 통해 다운로드 할 수 있음

  2. 패키지 간 의존성 띔 : 하나의 패키지가 다른 패키지나 공유 라이브러리 등을 필요로 하는 관계

  3. 의존성을 해결하는 기능을 제공하는 것이 리눅스 패키지 관리 시스템의 주요 역할이다.


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

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

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


패키지 관리 도구의 두 유형

  • 저수준 툴 : 실제 패키지의 설치, 업데이트, 삭제 등을 수행

  • 고수준 툴 : 의존성의 해결, 패키지 검색 등의 기능을 제공

    (표) 리눅스 배포판 별 Low/High level Tool

    DistributionLow-lever ToolHigh-lever Tool
    Debian and derivativesdpkgapt-get / aptitude
    CentOSrpmyum
    openSUSErpmzypper

각 패키지 관리도구별 간단한 설명

  • dpkg

    • dep 패키지의 설치와 삭제를 담당
    • 자동으로 패키지를 다운로드하거나 의존성을 해결해주지 않음
  • apt-get / apt-cache / apt

    • 패키지를 검색, 다운로드, 설치, 의존성 해결
    • 최근 배포판에는 apt-get/apt-cache 기능을 통합한 apt명령이 설치됨
  • aptitude

    • apt-get 보다 더 개선된 기능 제공


    위 그림에 코드 내용이 잘 안 보여서 아래 그림에서 vi sources.list 하여 설치된 패키지를 확인 해보았다.
    아래 그림에서 보이듯이
    / 패키지 유형(deb 혹은 deb-src)/ 저장소 URL / Debian 버전 정보 / 카테고리 /
    로 설치된 패키지를 나타내고 있음


    패키지 업데이트

    $ sudo apt update
    	또는
    $ sudo apt-get update

    참고 : https://gamsungcoding.tistory.com/entry/Linux-%EB%A6%AC%EB%88%85%EC%8A%A4Linux-%ED%8C%A8%ED%82%A4%EC%A7%80-%EA%B4%80%EB%A6%AC%ED%95%98%EA%B8%B0

profile
웹 개발 관련 공부한 내용 기록하는 블로그입니다.

0개의 댓글