새소식

Setup/Ubuntu

Linux Package Tool 이해와 사용

  • -

 

linux

 

window 에서 오피스 문서 프로그램을 사용하려면, 오피스 프로그램을 다운받아 설치하고 실행했다.

리눅스에서는 이런 과정을 package 로 처리한다.

 

package 

 

  • 관련있는 파일 모음

 

linux package 정의

 

  • 프로그램이 실행하는데 필요한 파일(설치, 설정, 라이브러리 등) 모음
    • 윈도우의 설치, 삭제 프로그램 파일에 해당한다.
    • 리눅스는 패키지 단위로 프로그램을 관리한다.

 

 

linux package 구분

 

  • 소스 패키지(Source Package)
    • 오픈 라이브러리
    • 소스코드 수정 가능
    • 실행 환경에 맞게 컴파일 하여 사용 가능 

 

  • 바이너리 패키지(Binary Package)
    • 컴파일 된 실행 파일로, 다운 후 곧바로 실행 가능
    • 실행 환경과 맞지 않는다면 실행 문제 발생
    • 패키지 의존성(별도의 라이브러리가 추가적으로 필요한 경우) 문제 발생

 

 

linux packaging system

 

  • Debian 계열(Debain, Ubuntu, Linux Mint 등)
    • 패키지 파일 확장자: *. deb
    • 데비안 패키지 (.deb) 는 많은 정보가 포함
      파일명 rule: [파일명]_[버전]-[리비전]_[아키텍처].[확장자]

 

  • red hat linux 계열(Red hat, Fedora, CentOS 등)
    • RPM 패키지 파일 확장자: *rpm

 

 

linux package tool

 

  • Debian 계열(Debain, Ubuntu, Linux Mint 등)
    • Low Level Package Tool(저수준 패키지 도구)
      • dpkg: debian package Manager
      • 패키지 파일 설치,제거만 가능
      • 패키지 간의 의존성 문제를 해결하지 못한다.
    • Hight Level Package Tool(고수준 패키지 도구)
      • apt (advanced package tool)
        • 패키지 파일 설치,제거
        • 다운로드 가능한 패키지들을 검색
        • 패키지 의존성(Package Dependencies) 파악 후 자동 설치, 삭제
      • apt-get
        - apt 에 옵션과 기능 추가
        - apt 와 내부 동작 동일

 

  • red hat linux 계열(Red hat, Fedora, CentOS 등)
    • 저수준: rpm
    • 고수준: yum, dnf

 

 

Snap

 

  • Ubuntu 개발사인 캐노니컬(Canonical)에서 개발한 최신 패키지 관리 방식
  • Snap 패키지는 .snap 형식
    APT 패키지는 일반적으로 .deb 형식
  • Snap Store 패키지를 APT에 사용 가능
    완벽히 상호 호환되지 않음
  • Snap 패키지는 모든 종속성을 포함
    APT 패키지는 때때로 충돌이나 버전 불일치
  • Snap 은 최신 관리 버전으로, APT 기반의 레거시와 호환되지 않는다.
    여전히 APT 방식이 주를 이룬다.

 

 


 

dpkg 주요 명령어

 

dpkg: debian package Manager 설명 참고
dpkg --help
dpkg 명령어 도움말 여기 다 있음
dpkg -i <package.deb> package.deb 설치 -i install
dpkg -l 설치된 패키지 목록 출력 -l list
dpkg -l <package> <package> 설치 상태 * 모두 검색
dpkg -L<package> <package> 설치 경로 출력 -L Location
dpkg -s <package> <package> 상태 -s status
dpkg -r <package> <package> 삭제 -r remove
dpkg -P <package> <package> 와 설정 정보 모두 삭제 -P Purge
dpkg <-r | -P> --force-depends <package> <package> 패키지 디펜던시를 무시하고 삭제  
dpkg -x <.deb> <dst dir> .deb 파일을 지정한 <dst dir> 에 풀기 -x eXtract

 

 

apt-get 주요 명령어

 

apt: advanced package tool 설명 참고
sudo apt-get update 저장소 패키지의 정보 업데이트 /etc/apt/sources.list
sudo apt-get upgrade 설치되어 있는 패키지 업그레이드   
sudo apt-get upgrade <package> 특정 패키지 업데이트  
sudo apt-get dist-upgrade    
sudo apt-get install <package> <package> <package> <package> 설치   
sudo apt-get install <package>=<version> <package> 특정 version 설치   
sudo apt-get --reinstall install <package> <package> 재설치   
sudo apt-get remove <package> <package> 삭제, #config 설정 제외 의존성 package 포함
sudo apt-get --purge remove <package> <package> 삭제, #config 설정 포함 (완전 삭제)  
sudo apt-get autoremove 의존성 없어 사용되지 않는 package 자동 삭제  
sudo apt-get autoclean 불완전하게 다운된 <package> 자동으로 삭제  
sudo apt-cache search <package> <package> 검색  
sudo apt-cache depends <package> 의존성을 검사하여 추가 필요 패키지 찾기 install 쓰면 자동 설치

 

 

Snap 사용법

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.