![[Linux] 리눅스 패키지 관리 시스템 (Linux Package Management System) (feat. Ubuntu)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbotVeG%2FbtsMU0fDnEg%2FAAAAAAAAAAAAAAAAAAAAAFehBaKqyz1qEM6zGUV1MG0Ldql1R7SbHI3gFASO8aim%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dl9943t%252FaBWHCWd0tq4z1PphD884%253D)
[Linux] 리눅스 패키지 관리 시스템 (Linux Package Management System) (feat. Ubuntu)🌐 OS/Linux2025. 3. 26. 01:43
Table of Contents
리눅스의 패키지 관리 시스템에 대해 정리한 글입니다.
리눅스 패키지 관리 시스템
패키지 관리 시스템 개요
패키지 관리 시스템(package management system)은 소프트웨어를 효율적이고 일관되게 설치, 업데이트, 삭제할 수 있도록 하는 도구를 말한다.
- ios / Android : 앱스토어 or 플레이스토어
- Linux : (Ubuntu 기준) APT or Gnome Software (우분투 소프트웨어)
패키지 관리 시스템의 목적
기본적으로 리눅스의 프로그램은 다양한 파일(바이너리 실행파일, 설정 파일, 라이브러리 등)로 구성되어 있어 사용자가 수동으로 관리하기엔 복잡하다는 문제가 존재한다. 따라서 패키지 관리 시스템은 이러한 소프트웨어를 패키지(package)라는 묶음으로 구성하여 관리할 수 있도록 한다.
- 의존성 관리 (Dependency Management)
- 설치 및 제거의 자동화
- 소프트웨어 버전 관리
- 시스템 유지보수의 효율화
- 보안 패치와 업데이트 관리
대표적인 패키지 관리 시스템
리눅스는 배포판 유형에 따라 서로 다른 패키지 관리 시스템을 가지고 있다.
배포판 유형 | 패키지 관리 시스템 | 패키지 포맷 | 대표적 배포판 |
Debian 기반 | APT | .deb |
Debian, Ubuntu, etc |
RedHat 기반 | RPM | .rpm |
RHEL, CentOS, etc |
... | ... | ... | ... |
바이너리 패키지와 소스 코드 패키지
리눅스 배포판에서 패키지는 크게 바이너리 패키지(Binary Package)와 소스 코드 패키지(Source Package)로 나뉜다.
- Binary Package : 이미 컴파일되어 바로 설치 가능한 형태의 패키지로, 빠른 설치가 가능하며 컴파일 과정이 필요 없음
- Source Package : 소스 코드 형태로 제공되며 사용자가 직접 컴파일해서 사용해야 하는 패키지로, 사용자 환경에 맞게 최적화가 가능하나 빌드 시간이 추가로 필요함
우분투의 패키지 관리 시스템
우분투는 데비안 기반의 리눅스 배포판으로, APT(Advanced Package Tool) 기반의 관리 체계를 사용하며, 패키지 포맷은 .deb
를 사용한다.
우분투에서 패키지 설치 과정
- 우분투에서는 패키지를 저장하고 관리하기 위해 레포지토리(Repository)를 사용
- 공식 레포지토리 (Official Repository) : 우분투 개발자 및 공식 커뮤니티가 관리하는 신뢰할 수 있는 소프트웨어 저장소
- 개인 레포지토리 (PPA, Personal Package Archive) : 개인이나 비공식 개발자가 제공하는 소프트웨어 저장소 (주로 Launchpad 플랫폼 사용)
- APT는 레포지토리로부터 패키지와 패키지 정보를 가져와 설치 및 관리함
미러 서버 (Mirror Server)
미러 서버는 공식 레포지토리를 정기적으로 동기화한 레포지토리로, 지리적 위치상 가까운 곳에서 빠른 다운로드 속도를 제공하기 위해 사용된다. 공식적으로 인정받은 미러 서버는 우분투가 인증한 공식 미러 서버로 취급된다.
주요 패키지 관리 명령어
패키지 목록 최신화 및 업그레이드
- 패키지 목록 최신화
sudo apt update
- 설치된 모든 패키지 업그레이드
sudo apt upgrade
- 배포판 전체 업그레이드 (의존성 관계를 고려한 업그레이드)
sudo apt dist-upgrade
패키지 설치 및 제거
- 패키지 설치
sudo apt install [package]
- 패키지 제거 (설정파일은 유지)
sudo apt remove [package]
- 패키지 완전 제거 (설정파일 포함)
sudo apt purge [package]
- 불필요한 의존성 패키지 제거
sudo apt autoremove
패키지 검색 및 정보 확인
- 설치할 수 있는 패키지 목록 확인
apt list
- 설치된 패키지 목록 확인
apt list --installed
- 패키지 검색
apt search [package]
- 특정 패키지 정보 확인 (설치 여부에 관계 없이 확인 가능)
apt show package
[참고] apt
와 apt-get
명령어의 차이
우분투 초기부터 apt-get
명령어가 널리 사용되었으나, 현재는 사용하기 쉽게 apt
명령어로 개선되었다.
apt-get
명령어 : 패키지 설치, 삭제 등을 수행하는 명령어apt-cache
명령어 : 패키지 검색, 상세 정보 확인 등을 수행하는 명령어apt
명령어 :apt-get
과apt-cache
의 기능을 합쳐 사용하기 편하도록 개선한 명령어
권장 사항
- 일반적인 터미널 사용자는
apt
를 사용하는 것이 권장됨- 우분투에서는 우분투 14 이후로
apt-get
대신apt
사용이 권장됨 - 라즈베리파이에서는
apt-get
사용이 권장됨
- 우분투에서는 우분투 14 이후로
- 자동화된 스크립트나 프로그램적 접근 방식이 필요한 경우는
apt-get
을 사용하는 것이 안정적이며, 공식적으로도 권장되는 방식
'🌐 OS > Linux' 카테고리의 다른 글
[Linux] 리눅스 텍스트 에디터, Vim 설치 및 주요 사용법 (0) | 2025.03.29 |
---|---|
[Linux] Shell 명령어와 파일 관리 명령어 (0) | 2025.03.26 |
[Linux] Linux Shell과 Linux 파일 시스템 (0) | 2025.03.23 |
[Linux][Ubuntu] Ubuntu에 Chrome 설치 (feat. Ubuntu 24.04 LTS) (0) | 2025.03.23 |
[Linux][Ubuntu] Ubuntu 24.04 LTS 한글 입력기 설치 (feat. IBus-Hangul) (0) | 2025.03.23 |
@청월누리 :: DevKuk 개발 블로그
since 2025.01.27. ~ 개발자를 향해....🔥