Search
📦

Package

Date
2024/11/28
Category
Devops
Tag
Linux
목차
리눅스 시스템에서 소프트웨어를 실행하는데 필요한 모든 파일과 메타데이터를 포함하는 묶음이다
소스 패키지
소스 코드와 관련된 파일을 포함하고 있으며, 사용자가 이를 컴파일하여 실행 가능한 바이너리 파일로 변환해야 한다
바이너리 패키지
이미 컴파일된 실행 파일과 필요한 라이브러리, 설정 파일 등을 포함하여 사용자가 쉽게 설치할 수 있도록 만들어진 패키지이다

관리 방식

1.
저수준 패키지
패키지 간 의존성을 알지 못함
dpkg, rpm
2.
고수준 패키지
패키지의 의존성을 알아서 해결
apt-get, apt, yum, dnf

Package Repository

인터넷의 특정 주소로부터 필요한 패키지를 다운로드 받아 사용
패키지 정보(이름, 버전, 설명, …)을 가짐
sources.list
deb-src: 바이너리/소스 패키지 저장소
url: 저장소 주소
distribution: 리눅스 버전
component
main 표준
restricted 공식 지원 개인
universe 커뮤니티 지원
multiuniverse 공식 지원 x 개인

Package Dependencies

패키지 의존성이란 소프트웨어 패키지가 정상적으로 작동하기 위해 다른 특정 패키지나 라이브러리에 의존해야 하는 관계를 의미한다. 즉, 하나의 패키지가 설치되기 위해선 특정한 다른 패키지가 먼저 설치되어 있어야 한다는 것이다.
의존하는 패키지 중 하나가 설치되지 않거나, 버전이 맞지 않는 경우, 해당 소프트웨어가 제대로 작동하지 않을 수 있다. 여러 패키지 간의 의존성 문제는 소프트웨어의 안정성과 호환성에 영향을 미친다.
따라서 대부분의 리눅스 배포판에서는 바이너리 패키지를 사용하여 소프트웨어를 설치한다. 이미 컴파일된 형태로 제공되어, 사용자가 의존성 문제를 해결하는데 도움을 준다. 패키지 관리 시스템이 의존성을 자동으로 처리한다.

apt-get

apt 명령어
apt-get 명령어
기능
apt update
apt-get update
/etc/apt/sources.list 파일의 내용 업데이트
apt install [package]
apt-get install [package]
패키지 설치
apt upgrade
apt-get upgrade
설치된 패키지 업데이트
apt remove [package]
apt-get remove [package]
설치되어 있는 패키지 삭제
apt purge [package]
apt-get purge [package]
설치되어 있는 패키지와 설정 파일 모두 삭제
apt autoremove
apt-get autoremove
사용하지 않는 패키지 모두 삭제
apt full-upgrade
apt-get dist-upgrade
모든 패키지를 업데이트하고 불필요한 의존성 제거
apt search [package]
apt-cache search [package]
설치 전 패키지 정보 확인
apt show [package]
apt-cache show [package]
패키지 세부 정보 표시
apt policy
apt-cache policy
활성화된 레포지토리 정보 표시
apt policy [package]
apt-cache policy [package]
설치된 패키지 및 사용 가능한 패키지 버전 표시