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 / 명령어 / rsync - 파일·디렉터리의 변경분 동기화

Linux / 명령어 / rsync - 파일·디렉터리의 변경분 동기화

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

Linux / 명령어 / dirname - 경로에서 디렉터리 부분 추출

Linux / 명령어 / dirname - 경로에서 디렉터리 부분 추출

Linux dirname 명령어로 경로의 디렉터리 부분을 추출하는 방법을 설명합니다. 입력 형태별 결과와 basename, realpath의 차이 및 셸 스크립트 활용법을 정리합니다.

Linux / 명령어 / type - 명령어 유형과 실행 대상 확인

Linux / 명령어 / type - 명령어 유형과 실행 대상 확인

Bash type 명령어로 별칭, 예약어, 함수, 내장 명령과 실행 파일을 구분하는 방법을 설명합니다. 모든 후보와 경로 확인, command -v·which와의 차이 및 스크립트 활용법을 다룹니다.

Linux 강좌 / 파일 비교하기 - diff와 cmp의 차이와 실습

Linux 강좌 / 파일 비교하기 - diff와 cmp의 차이와 실습

diff와 cmp로 두 파일의 차이를 확인하고 unified diff를 읽는 법을 익힙니다. 내용이 다른 경우와 명령 실행 오류의 종료 상태도 구별합니다.

Linux / 명령어 / split - 큰 파일을 크기·행 수별로 분할

Linux / 명령어 / split - 큰 파일을 크기·행 수별로 분할

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

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux / 명령어 / which - PATH에서 실행 파일 경로 찾기

Linux which 명령어로 PATH에서 실행 파일 경로를 찾는 방법을 설명합니다. type과 command -v의 차이, 별칭·함수 확인과 스크립트 이식성도 정리합니다.

Linux / 명령어 / less - 긴 파일을 검색하며 페이지 단위로 보기

Linux / 명령어 / less - 긴 파일을 검색하며 페이지 단위로 보기

Linux less 명령어로 긴 텍스트와 명령 출력을 페이지 단위로 탐색하는 방법을 설명합니다. 검색, 이동, 실시간 갱신과 파이프 사용법을 정리합니다.

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Linux / 명령어 / help - 셸 내장 명령어 도움말 확인

Bash help 명령어로 셸 내장 명령과 문법의 도움말을 확인하는 방법을 설명합니다. 출력 형식, 패턴 검색, type·man·--help와의 차이 및 스크립트 활용법을 정리합니다.

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux / 명령어 / truncate - 파일 크기 줄이기와 늘리기

Linux truncate 명령어로 파일 크기를 지정하거나 늘리고 줄이는 방법을 설명합니다. 희소 파일, 상대 크기 조정, 기준 파일과 같은 크기로 맞추는 방법 및 데이터 손실 주의점을 알아봅니다.

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

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

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