nayoungs
항상 끈기있게
nayoungs
  • 분류 전체보기 (274)
    • Cloud (21)
      • AWS (15)
      • Azure (3)
      • NCP (2)
      • GCP (1)
    • DevOps (68)
      • Docker (16)
      • Kubernetes (50)
      • CICD (2)
    • IaC (25)
      • Ansible (17)
      • Terraform (8)
    • Certification (4)
    • 금융 IT (5)
    • AI (3)
    • Linux (47)
    • 미들웨어 (5)
    • Programming (7)
      • GoLang (3)
      • Spring (4)
    • CS (25)
      • 네트워크 (17)
      • 운영체제 (5)
      • Web (1)
      • 개발 상식 (2)
      • 데이터베이스 (0)
    • Algorithm (59)
      • 프로그래머스 (36)
      • 백준 (18)
      • 알고리즘 정리 (5)
    • ETC (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
nayoungs

항상 끈기있게

Linux

[Linux] Alpine Linux란?

2022. 5. 11. 20:56
728x90

Alpine Linux : BusyBox + APK(패키지 관리자)

  • BusyBox는 리눅스 커널와 핵심 바이너리와 라이브러리만 포함
  • yum과 같은 패키지 관리자가 없어서, 소스코드 실행 파일을 직접 빌드해야함
  • 일반적으로 임베디드 장치에 사용하기 위해 만듬

 

BusyBox 의 불편함을 해결하기 위해 만든 것이 바로 Alpine Linux이다.

단, Alpine Linux는 bash shell이 없고, 기본적으로 본 shell만 가지고 있다.

$ docker run -it alpine:3 bash              
docker: Error response from daemon: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "bash": executable file not found in $PATH: unknown.
ERRO[0000] error waiting for container: context canceled

기존의 리눅스는 Glibc C 라이브러리를 사용하나, Alpine Linux은 musl C 라이브러리를 사용한다.

musl 라이브러리는 Glibc 에 비해 용량이 매우 작고,

따라서 Alpine Linux는 아주 작은 사이즈가 필요한 경우에 사용한다.

다만, Glibc와 musl 은 완전히 호환되지는 않기 때문에 약간의 오류가 발생할 수 있다.

 

참고) Debian이 성능이 뛰어나며, 설치되어있는 패키지가 많고, 사이즈도 작으며, 라이선스가 자유롭다운

등의 이유로 많이 사용된다.

 

✔️ 사용 방법

패키지 인덱스

apk update

패키지 검색

apk search <PKG>

패키지 추가

apk add <PKG>

패키지 제거

apk del <PKG>

 

 

 

728x90
저작자표시 (새창열림)
    'Linux' 카테고리의 다른 글
    • [Linux] .bash_profile로 사용자 환경 커스터마이징하기
    • [Linux] 사용자 관리 톺아보기
    • [Linux] shell 변수(variable) : 매개변수
    • 리눅스 인프라 구축을 통한 WordPress 구현하기
    nayoungs
    nayoungs
    안되면 될 때까지

    티스토리툴바