Linux / 명령어 / apk - Alpine Linux 패키지 설치·제거와 저장소 갱신

apk는 Alpine Linux의 패키지 관리 명령입니다. 저장소 패키지 검색·추가·제거와 업그레이드에 쓰이며, Alpine의 설치 방식에 따라 변경사항 보존 절차가 달라질 수 있습니다.

apk 명령어란?

apk add는 패키지를 원하는 시스템 상태에 추가하고, apk del은 그 제약을 제거합니다. 원하는 패키지 목록은 /etc/apk/world에 기록됩니다. apk update는 저장소 인덱스를 새로 받고, apk upgrade는 설치된 패키지를 갱신합니다. 디스크리스 모드에서는 변경사항 영속화에 별도 절차가 필요할 수 있습니다.

기본 문법

apk [전역옵션] 명령 [패키지 ...]

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

사용 예제

패키지 검색

저장소에서 이름이 일치하는 후보를 찾습니다.

apk search nginx

패키지 설치

필요한 의존성을 확인하고 추가합니다.

sudo apk add nginx

저장소 정보 갱신과 업그레이드

두 동작의 차이를 확인하고 변경 목록을 검토합니다.

sudo apk update
sudo apk upgrade

설치 여부와 저장소 갱신 구별하기

apk info -e는 지정한 패키지가 설치되어 있는지 이름으로 확인합니다. Alpine 기본 환경에서 busybox가 설치된 경우 다음처럼 표시됩니다.

apk info -e busybox

예시 출력:

busybox

apk update는 저장소 색인을 갱신할 뿐 설치된 패키지 버전을 바꾸지 않습니다. 설치된 패키지를 실제로 업그레이드하려면 apk upgrade가 필요합니다. diskless 모드나 일회용 컨테이너에서는 패키지 변경이 재시작·재생성 뒤에도 남는지 운영 방식에 맞게 확인하세요.

주요 옵션과 형식

옵션·형식 설명
search / info 저장소 패키지를 찾거나 세부 정보를 봅니다.
add / del 원하는 패키지 제약을 추가하거나 제거합니다.
update 저장소 인덱스를 갱신합니다.
upgrade 설치된 패키지를 가능한 버전으로 업그레이드합니다.
--no-cache 명령 실행 시 로컬 패키지 캐시 사용을 줄이는 옵션입니다.

사용할 때 주의할 점

apk update만으로 설치된 패키지는 업그레이드되지 않습니다. apk del은 다른 패키지의 필요 여부에 따라 함께 제거되는 항목이 있을 수 있으므로 제안 목록을 확인하세요. 디스크리스·컨테이너 환경에서는 패키지 변경을 이미지나 구성 관리에 반영해야 재생성 후에도 유지됩니다.

자주 묻는 질문

apk add와 apk update는 무엇이 다른가요?

add는 원하는 패키지를 설치하고, update는 저장소 인덱스를 갱신합니다. 설치된 패키지의 버전 갱신은 upgrade입니다.

공식 문서

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

같은 카테고리의 다른 글
Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

Linux / 명령어 / chmod - 파일·디렉터리 접근 권한 변경

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

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

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

Linux / 명령어 / hostnamectl - 호스트 이름과 시스템 정보 확인·변경

Linux / 명령어 / hostnamectl - 호스트 이름과 시스템 정보 확인·변경

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

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

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

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

Linux / 명령어 / dd - 블록 단위 데이터 복사와 변환

Linux / 명령어 / dd - 블록 단위 데이터 복사와 변환

Linux dd 명령어로 파일과 블록 장치 데이터를 복사하고 변환하는 방법을 설명합니다. if와 of, 블록 크기, 진행률, 디스크 이미지 생성·복원 및 대상 장치 오지정 위험을 정리합니다.

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

Linux / 명령어 / systemctl - systemd 서비스 상태 확인과 관리

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

Linux / 명령어 / killall - 이름이 같은 프로세스에 시그널 보내기

Linux / 명령어 / killall - 이름이 같은 프로세스에 시그널 보내기

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

Linux / 명령어 / watch - 명령 결과를 주기적으로 반복 확인

Linux / 명령어 / watch - 명령 결과를 주기적으로 반복 확인

Linux watch 명령어로 명령 결과를 일정 간격으로 반복 확인하는 방법을 설명합니다. -n, -d, -g, -p 옵션과 파이프·따옴표 사용법, 메모리·디스크·프로세스 모니터링 예제를 정리합니다.

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

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

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

Linux / 명령어 / free - 메모리와 스왑 사용량 확인

Linux / 명령어 / free - 메모리와 스왑 사용량 확인

Linux free 명령어의 total, used, free, buff/cache, available과 Swap 항목을 설명합니다. 메모리 부족을 판단할 때 함께 확인할 지표와 주의점도 정리합니다.