Linux / 명령어 / apt-get - APT 패키지 작업을 스크립트와 명령행에서 실행

apt-get은 Debian·Ubuntu 계열에서 패키지 설치·제거·업데이트를 수행하는 APT 명령입니다. 사용자용 apt와 기능이 겹치지만 자동화 스크립트에는 apt-get이 더 적합합니다.

apt-get 명령어란?

저장소 목록 갱신은 update, 설치된 패키지 갱신은 upgrade입니다. install은 요청한 패키지와 필요한 의존성을 함께 처리합니다. -s는 패키지 변경 계획을 시뮬레이션할 때 유용하고, -y는 확인 질문에 자동 동의하므로 사전 검토 없이 사용하면 위험합니다.

기본 문법

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

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

사용 예제

저장소 목록 갱신

설치 후보의 메타데이터를 새로 받습니다.

sudo apt-get update

업그레이드 계획 미리 보기

실제로 바꾸지 않고 설치·유지·제거 계획을 확인합니다.

apt-get -s upgrade

패키지 설치

자동 승인 옵션 없이 변경 목록을 확인한 뒤 설치합니다.

sudo apt-get install curl

실제 변경 전 시뮬레이션

apt-get -s install은 설치 작업을 시뮬레이션해 어떤 패키지가 추가·업그레이드될지 보여줍니다. 실제 설치는 하지 않습니다.

apt-get -s install curl

출력에서 볼 수 있는 행의 형식(패키지·버전은 환경에 따라 달라짐):

Inst curl (...)
Conf curl (...)

Inst는 설치 또는 업그레이드 예정 항목, Conf는 설정 예정 항목입니다. 의존성 패키지도 함께 표시될 수 있으므로 마지막 요약만 보지 말고 삭제·교체되는 항목을 확인하세요. apt-get update는 목록 갱신, apt-get upgrade는 설치된 패키지 업그레이드라는 차이도 구별해야 합니다.

주요 옵션과 형식

옵션·형식 설명
update 패키지 목록을 갱신합니다.
install / remove 패키지를 설치하거나 제거합니다.
upgrade / full-upgrade 업데이트를 적용합니다. full-upgrade는 의존성 해결을 위해 제거도 할 수 있습니다.
-s, --simulate 실제 변경 없이 실행 결과를 시뮬레이션합니다.
-y, --yes 확인 질문에 자동 동의합니다. 변경 계획을 미리 검토하세요.

사용할 때 주의할 점

-y를 무조건 붙이면 예상치 못한 의존성 변경을 놓칠 수 있습니다. full-upgrade는 패키지를 제거할 수 있으므로 서비스가 중요한 시스템에서는 시뮬레이션과 백업 후 진행하세요. 스크립트에서도 저장소 신뢰와 오류 종료 코드를 확인해야 합니다.

자주 묻는 질문

apt 대신 apt-get을 꼭 써야 하나요?

대화형 사용에는 apt가 편리합니다. 자동화 스크립트에서는 동작과 출력의 호환성을 고려해 apt-get을 우선하세요.

공식 문서

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

같은 카테고리의 다른 글
Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

Linux / 명령어 / unzip - ZIP 파일 목록 확인과 안전한 압축 해제

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

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

Linux / 리눅스 배포판 종류와 버전 확인하는 방법

리눅스 배포판 종류와 버전을 /etc/os-release, hostnamectl, uname 명령으로 확인하는 방법을 설명합니다. 배포판 계열과 커널 버전의 차이, 스크립트 활용법과 컨테이너·WSL 환경의 주의점도 함께 정리합니다.

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux / 디스크 관리 / 파티션, 포맷, 마운트

Linux에서 디스크를 관리할 때 필요한 파티션 생성, 파일 시스템 포맷, 마운트 방법을 정리했습니다.

Linux / 명령어 / basename - 경로에서 마지막 이름 추출

Linux / 명령어 / basename - 경로에서 마지막 이름 추출

Linux basename 명령어로 경로에서 마지막 파일명이나 디렉터리 이름을 추출하고 접미사를 제거하는 방법을 설명합니다. 여러 경로와 안전한 셸 스크립트 처리 방법도 정리합니다.

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux / 명령어 / csplit - 행 번호·패턴에서 파일 분할

Linux csplit 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / scp - SSH로 로컬·원격 파일 복사

Linux / 명령어 / scp - SSH로 로컬·원격 파일 복사

Linux scp 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

Linux / 명령어 / zypper - openSUSE·SUSE에서 패키지와 저장소 관리

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

Linux / 명령어 / column - 텍스트를 읽기 좋은 표 형태로 정렬

Linux / 명령어 / column - 텍스트를 읽기 좋은 표 형태로 정렬

Linux column 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / host - 도메인과 IP 주소의 DNS 정보 간단히 조회

Linux / 명령어 / host - 도메인과 IP 주소의 DNS 정보 간단히 조회

Linux host 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / renice - 실행 중인 프로세스 nice 값 변경

Linux / 명령어 / renice - 실행 중인 프로세스 nice 값 변경

Linux renice 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.