패키지는 프로그램과 실행에 필요한 **의존성(라이브러리)**을 함께 묶어둔 것입니다.
예를 들어 게임 설치 파일을 생각하면 이해가 쉬워요. 게임을 실행하려면 그래픽 라이브러리, 사운드 라이브러리 등 필요한 파일이 같이 있어야 하죠?
→ 리눅스에서 프로그램 설치도 마찬가지로 패키지로 묶어서 관리합니다.
| 운영체제 | 패키지 관리 도구 | 예시 |
|---|---|---|
| Debian/Ubuntu | apt |
서버, 데스크탑 리눅스 |
| RedHat/CentOS/Fedora | yum, dnf |
기업용 서버 |
| Node.js | npm, yarn |
웹 애플리케이션 |
| Java | maven, gradle |
백엔드 빌드/관리 |
👉 실생활 비유:
마트에서 장볼 때 **장바구니(패키지)**에 필요한 물건들을 넣고, **직원이 대신 정리(패키지 관리자)**해주는 것과 같아요.
APT는 Debian/Ubuntu 계열 리눅스의 기본 패키지 관리자입니다.
| 명령어 | 설명 | 예제 |
|---|---|---|
sudo apt update |
패키지 목록 최신화 | sudo apt update |
sudo apt upgrade |
설치된 패키지 업그레이드 | sudo apt upgrade |
sudo apt full-upgrade |
의존성 변경 포함 전체 업그레이드 | sudo apt full-upgrade |
sudo apt install <패키지> |
패키지 설치 | sudo apt install nginx |
sudo apt remove <패키지> |
패키지 삭제 (설정 유지) | sudo apt remove nginx |
sudo apt purge <패키지> |
패키지+설정 완전 삭제 | sudo apt purge nginx |
sudo apt autoremove |
필요 없는 의존성 정리 | sudo apt autoremove |
apt list --installed |
설치된 목록 확인 | apt list --installed |
apt search <키워드> |
패키지 검색 | apt search apache |
apt show <패키지> |
상세 정보 확인 | apt show nginx |
sudo apt-mark hold nginx
→ nginx는 apt upgrade 시에도 업그레이드되지 않음