Linux / 명령어 / apt - Debian·Ubuntu에서 패키지 검색·설치·업데이트

apt는 Debian·Ubuntu 계열에서 저장소의 패키지를 검색하고 설치·제거·업그레이드하는 대화형 명령입니다. 현재 배포판이 이 계열인지 cat /etc/os-release로 먼저 확인하세요.

apt 명령어란?

apt update는 저장소의 패키지 목록을 새로 받는 작업이며 설치된 프로그램을 업그레이드하지는 않습니다. apt upgrade는 설치된 패키지의 업데이트를 검토하고 적용합니다. 설치·제거 때는 의존성으로 함께 바뀌는 패키지 목록과 저장소 출처를 확인하세요. 스크립트에서는 출력과 동작의 안정성을 고려해 apt-get이 권장됩니다.

기본 문법

apt [옵션] 명령 [패키지 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man apt으로 현재 시스템의 설명을 확인하세요.

사용 예제

패키지 정보 갱신

설정된 저장소의 최신 패키지 정보를 받습니다. 실제 프로그램 업그레이드는 하지 않습니다.

sudo apt update

패키지 검색과 정보 확인

설치 후보의 이름·설명·버전·출처를 확인합니다.

apt search nginx
apt show nginx

패키지 설치

의존성 추가·제거 계획을 읽고 확인한 뒤 진행합니다.

sudo apt install nginx

설치 전에 패키지 정보를 읽기

apt show는 APT 저장소에서 보이는 패키지의 버전·의존성·설명 등을 조회합니다. 설치 여부와 설치 후보 버전은 별도로 확인해야 합니다.

apt show bash

출력 형식의 일부 예시(버전은 배포판과 시점마다 달라짐):

Package: bash
Version: ...
Depends: ...
Description: GNU Bourne Again SHell

apt update는 패키지 목록을 새로 가져올 뿐 설치된 패키지를 업그레이드하지 않습니다. 설치 전에는 apt policy 패키지명으로 후보 버전과 저장소를 확인하고, apt install이 제안하는 의존성 변경·삭제 목록을 읽은 뒤 승인하세요. 자동화 스크립트에는 안정적인 인터페이스를 제공하는 apt-get이 더 적합할 수 있습니다.

저장소 메타데이터가 오래되면 설치 후보가 실제 서버 상태와 다를 수 있어 설치 전에 sudo apt update를 실행합니다. 하지만 목록 갱신과 업그레이드는 별개이며, apt upgrade가 보류한 패키지가 있다면 의존성 변경·제거 가능성을 검토한 뒤 다음 작업을 결정하세요.

주요 옵션과 형식

옵션·형식 설명
update 저장소의 패키지 목록을 갱신합니다.
search / show 패키지를 찾거나 상세 정보를 확인합니다.
install / remove 패키지를 설치하거나 제거합니다.
upgrade 설치된 패키지의 가능한 업그레이드를 적용합니다.
autoremove 더 이상 필요하지 않은 자동 설치 패키지를 제안·제거합니다.

사용할 때 주의할 점

apt update만으로 보안 업데이트가 설치되지는 않습니다. upgrade나 autoremove 전에 변경·제거 목록을 검토하고 중요한 시스템은 백업과 재시작 계획을 마련하세요. 출처를 알 수 없는 저장소를 임의로 추가하거나 서명 검증을 끄지 마세요.

자주 묻는 질문

apt update와 apt upgrade는 무엇이 다른가요?

update는 저장소의 패키지 목록을 새로 받고, upgrade는 그 정보를 바탕으로 설치된 패키지를 업그레이드합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 apt 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux / 명령어 / tree - 디렉터리 구조를 트리 형태로 출력

Linux tree 명령어로 디렉터리와 파일 구조를 계층적으로 확인하는 방법을 설명합니다. 설치, 깊이 제한, 숨김 파일, 제외 패턴, 크기·권한 표시와 JSON 저장 방법까지 정리합니다.

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux / 명령어 / rm - 파일과 디렉터리 삭제

Linux rm 명령어로 파일과 디렉터리를 삭제하는 방법을 설명합니다. 재귀 삭제, 대화형 확인, 루트 보호 옵션과 복구가 어려운 삭제를 안전하게 다루는 원칙을 정리합니다.

Linux / 명령어 / uptime - 시스템 가동 시간과 부하 확인

Linux / 명령어 / uptime - 시스템 가동 시간과 부하 확인

Linux uptime 명령어의 가동 시간과 1분·5분·15분 평균 부하를 읽는 방법을 설명합니다. CPU 개수, I/O 대기와 함께 부하를 진단하는 순서도 정리합니다.

Linux / 명령어 / bunzip2 - bzip2 압축 파일 풀기

Linux / 명령어 / bunzip2 - bzip2 압축 파일 풀기

Linux bunzip2 명령어의 용도와 기본 문법을 알아봅니다. 파일 처리 예제, 주요 옵션과 원본 보존·덮어쓰기 주의점을 설명합니다.

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux / 명령어 / pacman - Arch Linux에서 패키지 설치와 전체 시스템 업데이트

Linux pacman 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

리눅스는 1991년 시작된 커널 프로젝트에서 서버·클라우드·모바일을 떠받치는 기반 기술로 성장했습니다. UNIX와 GNU의 배경부터 배포판과 공동 개발 생태계의 확장까지 핵심 연표로 정리합니다.

Linux 강좌 / 표준 입력·출력, 리디렉션과 파이프 이해하기

Linux 강좌 / 표준 입력·출력, 리디렉션과 파이프 이해하기

표준 입력·출력·오류의 차이를 이해하고 파일 리디렉션과 파이프를 실습합니다. 덮어쓰기 위험과 리디렉션 순서도 함께 설명합니다.

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

Linux 강좌 / 파일과 명령 찾기 - find, locate, which, whereis

find와 locate로 파일을 찾고 which, whereis, type으로 명령의 위치와 해석 방식을 확인합니다. 실시간 검색과 색인 검색의 차이도 짚습니다.

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux whereis 명령어로 프로그램의 바이너리, 소스와 매뉴얼 페이지 위치를 찾는 방법을 설명합니다. 검색 범위 제한과 which·find와의 차이도 정리합니다.

Linux / 명령어 / alias - 명령어 별칭 만들기

Linux / 명령어 / alias - 명령어 별칭 만들기

Bash alias 명령어로 자주 쓰는 명령과 옵션 조합에 짧은 별칭을 만드는 방법을 설명합니다. 별칭 저장, 우회, 함수와의 차이 및 확장되지 않는 경우도 정리합니다.