알파인 리눅스
1. 개요
알파인 리눅스는 LEAF 프로젝트의 포크에서 시작된 경량 리눅스 배포판이다. 무선 라우터와 같은 임베디드 장치를 목표로 개발되었으며, 작은 크기와 보안을 중시하는 특징을 가진다. C 표준 라이브러리를 uClibc에서 musl로 변경하여 성능과 보안을 향상시켰으며, 자체 패키지 관리 시스템인 APK를 사용한다. 또한, WSL2, 도커, PowerShell 등 다양한 개발 및 관리 환경과 통합되어 널리 사용된다.
이미지 준비중입니다.
| 개발 주체 | 알파인 리눅스 개발팀 |
|---|---|
| 계열 | 리눅스 (유닉스 계열) |
| 작동 상태 | 활발히 개발 중 |
| 소스 모델 | 오픈 소스 |
| 최초 배포일 | 2005년 8월 |
| 마케팅 대상 | 범용 보안 임베디드 시스템 컨테이너와 같이 리소스 제약이 있는 시스템 |
| 지원 언어 | 다국어 |
| 패키지 관리자 | apk-tools |
| 지원 플랫폼 | x86 x86-64 ARMhf ARMv7 AArch64 ppc64le s390x LoongArch |
| 커널 종류 | 모놀리식 (리눅스) |
| 사용자 공간 | BusyBox |
| 사용자 인터페이스 | Ash |
| 웹사이트 | 알파인 리눅스 공식 웹사이트 |
| 업데이터 모델 | 롤링 릴리스 |
|---|---|
| 기본 라이브러리 | musl |
| 시스템 초기화 | OpenRC |
| 보안 기능 | 스택 스매싱 보호 PaX SSP Position Independent Executable (PIE) |
|---|
| 용도 | Docker 컨테이너에 적합 |
|---|---|
| 파생 프로젝트 | postmarketOS |
-
경량 리눅스 배포판 -
퍼피 리눅스
퍼피 리눅스는 배리 카울러가 개발한 가볍고 빠른 리눅스 배포판으로, 작은 크기와 빠른 속도를 특징으로 하며 오래된 컴퓨터에서도 원활하게 작동하도록 설계되었다. -
경량 리눅스 배포판 -
SLAX
Slax는 모듈을 통해 기능을 확장할 수 있는 사용자 정의가 용이한 가벼운 리눅스 배포판으로, 초기에는 Slackware 기반이었으나 이후 데비안 기반으로 재작성되어 APT를 통한 패키지 관리를 지원하며 다양한 에디션이 존재했다. -
리눅스 배포판 -
안드로이드 (운영체제)
구글이 개발한 리눅스 커널 기반의 모바일 운영체제인 안드로이드는 오픈소스 플랫폼으로 다양한 기기에서 활용되며 세계적으로 널리 사용되지만, 개인정보 보호 문제와 독점적 지위 남용 논란 등의 비판도 존재한다. -
리눅스 배포판 -
MX 리눅스
MX 리눅스는 MEPIS 커뮤니티와 antiX 개발자들이 협력하여 개발한 데비안 기반의 리눅스 배포판으로, 사용자 중심의 MX 도구 모음과 시스템 백업 및 복구 기능인 MX 스냅샷을 제공하며 Xfce, KDE Plasma, Fluxbox 등 다양한 데스크톱 환경과 최신 하드웨어 지원 AHS 버전을 제공한다. -
공식 웹사이트에 알 수 없는 변수를 사용한 문서 -
브루클린 미술관
브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다. -
공식 웹사이트에 알 수 없는 변수를 사용한 문서 -
광주지방기상청
광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
2. 역사
알파인 리눅스는 LEAF 프로젝트에서 분기된 프로젝트로, 무선 라우터와 같은 장치를 위한 임베디드 배포판으로 시작되었다. 젠투 리눅스와 LEAF 프로젝트의 Bering-uClibc 브랜치에서 영감을 받았다. 설립자 나타나엘 코파는 "A Linux-Powered Network Engine" 또는 이와 유사한 구문의 머리글자어에서 이름을 따왔지만, 정확한 구문은 잊혀졌다고 말했다.
알파인 리눅스의 패키지 관리 시스템인 Alpine Package Keeper는 원래 셸 스크립트 모음이었으나, 나중에 C로 다시 작성되었다. 이 패키지 관리자는 높은 설치 및 업데이트 속도를 목표로 하며, 캐싱이나 데이터 압축을 사용하지 않고 운영 체제의 파일 시스템에 새 데이터를 직접 작성하는 방식으로 이를 달성한다.
2.1. LEAF 프로젝트 파생
LEAF 프로젝트는 단일 플로피 디스크에 담기는 리눅스 배포판을 개발하는 프로젝트였다. 반면, 알파인 리눅스는 Squid나 Samba와 같이 더 무거운 소프트웨어와 보안 기능, 새로운 커널을 추가하고자 했다. 초기 목표 중 하나는 더 큰 규모의 컴퓨터 시스템을 위한 소프트웨어 프레임워크 개발이었으나, 이 목표는 이미 달성되어 현재는 주요 목표가 아니다.
2.3. PaX 강화 커널
PaX 강화 커널은 익스플로잇과 취약점의 영향을 줄이는 데 도움이 되도록 기본 배포판에 포함되었으나, 알파인 유지 관리자는 PaX 패치가 더 이상 공개되지 않아 이 지원을 중단하기로 결정했다. 알파인은 여전히 강화된 툴체인과 위치 독립 실행 파일을 사용하여 스택 기반 공격의 가능성을 최소화하지만, 이제 리눅스 커널의 표준 장기 안정 배포판을 기반으로 한다.
2.4. 버전 역사
| 버전 | 출시일 | 지원 종료일 | 커널 버전 |
|---|---|---|---|
| 2.0 | 2010-08-16 | 2012-04-01 | 해당 없음 |
| 2.1 | 2010-11-01 | 2012-11-01 | 해당 없음 |
| 2.2 | 2011-05-03 | 2013-05-01 | 해당 없음 |
| 2.3 | 2011-11-01 | 2013-11-01 | 해당 없음 |
| 2.4 | 2012-05-02 | 2014-05-01 | 해당 없음 |
| 2.5 | 2012-11-07 | 2014-11-01 | 해당 없음 |
| 2.6 | 2013-05-17 | 2015-05-01 | 해당 없음 |
| 2.7 | 2013-11-08 | 2015-11-01 | 해당 없음 |
| 3.0 | 2014-06-04 | 2016-05-01 | 해당 없음 |
| 3.1 | 2014-12-10 | 2016-11-01 | 해당 없음 |
| 3.2 | 2015-05-26 | 2017-05-01 | 3.18.xx |
| 3.3 | 2016-01-06 | 2017-11-01 | 4.1.xx |
| 3.4 | 2016-05-31 | 2018-05-01 | 4.4.xx |
| 3.5 | 2016-12-22 | 2018-11-01 | 4.4.xx |
| 3.6 | 2017-05-24 | 2019-05-01 | 4.9.xx |
| 3.7 | 2017-11-30 | 2019-11-01 | 4.9.xx |
| 3.8 | 2018-06-26 | 2020-05-01 | 4.14.xx |
| 3.9 | 2019-01-29 | 2021-01-01 | 4.19.xx |
| 3.10 | 2019-06-19 | 2021-05-01 | 4.19.xx |
| 3.11 | 2019-12-19 | 2021-11-01 | 5.4.xx |
| 3.12 | 2020-05-29 | 2022-05-01 | 5.4.xx |
| 3.13 | 2021-01-14 | 2022-11-01 | 5.10.xx |
| 3.14 | 2021-06-15 | 2023-05-01 | 5.10.xx |
| 3.15 | 2021-11-24 | 2023-11-01 | 5.15.xx |
| 3.16 | 2022-05-23 | 2024-06-23 | 5.15.xx |
| 3.17 | 2022-11-22 | 2024-11-22 | 5.15.xx |
| 3.18 | 2023-05-09 | 2025-05-09 | 6.1.xx |
| 3.19 | 2023-12-07 | 2025-11-01 | 6.6.xx |
| edge | 롤링 릴리스 | 해당 없음 | 해당 없음 |
3. 특징
알파인 리눅스는 다음과 같은 주요 특징을 가지고 있다.
* 작은 크기: 컨테이너나 임베디드 장치와 같이 제한된 환경에서 유용하다.
* RAM 디스크 운영체제: RAM에서 실행 가능하여 안정적인 작동과 부분적인 디스크 오류로부터의 생존성을 제공한다.
* 패키지 관리 시스템 (APK): 자체 패키지 관리 시스템인 APK를 사용하여 소프트웨어 설치 및 관리가 용이하다.
* 강화된 보안: 강화된 커널과 스택 스매싱 보호 기능을 통해 보안 취약점을 줄였다.
* Alpine Configuration Framework (ACF): 웹 기반 도구를 통해 운영 체제 구성을 쉽게 할 수 있다.
* init 시스템 (OpenRC): systemd 대신 가벼운 OpenRC를 사용하여 시스템 부팅 및 관리를 단순화했다.
* DMVPN 지원: 효율적인 메시화 VPN을 사용할 수 있는 패치를 기본적으로 포함하는 유일한 Linux 배포판이다.
* 가상화 지원: Xen 및 KVM을 지원한다.
* 표준 C 라이브러리: 과거 GNU C 라이브러리 대신 uClibc를 사용했었지만, 현재는 바이너리 호환성이 있는 musl로 변경되었다.
알파인은 사용자가 일반적인 컴퓨팅 작업을 위해 시스템 초기 구성을 안내하는 여러 사전 설치된 구성 스크립트를 제공한다. 이 구성 스크립트는 C로 작성되었으며, 알파인에 배포되는 작은 ISO 이미지 파싱 유틸리티를 호출하는 UNIX 셸 스크립트로 작성되었다.
3.1. 작은 크기
알파인 리눅스의 주요 특징은 작은 크기이다. 이는 컨테이너 또는 임베디드 장치와 같이 메모리와 저장 공간이 매우 적은 환경에서 빠르게 시작하고 실행할 수 있게 해준다. 기본 시스템은 4 - 5 MB (커널 제외) 내에 포함되도록 설계되었다. 컨테이너는 8MB 이내, 최소 설치에는 130MB가 필요하다.
알파인 리눅스는 RAM에서 실행하는 운영 체제로 설치할 수 있다. 이는 알파인이 까다로운 임베디드 환경에서 안정적으로 작동하거나, 공용 클라우드 환경에서 가끔 발생하는 부분적인 디스크 오류로부터 (일시적으로) 생존할 수 있게 돕는다.
3.2. RAM 디스크 운영체제
알파인 리눅스는 RAM에서 실행되는 운영 체제로 설치할 수 있다. 이를 통해 알파인은 까다로운 임베디드 환경에서 안정적으로 작동하거나, 공용 클라우드 환경에서 때때로 경험하는 부분적인 디스크 오류로부터 (일시적으로) 생존할 수 있다. 기본적으로 이 모드에서 실행되는 알파인은 몇 가지 핵심 패키지만 로드하지만, LBU(알파인 로컬 백업)라는 도구를 사용할 수 있다. LBU는 기본 구성에서 변경된 /etc의 모든 파일 복사본을 저장하는 tar.gz 파일인 APK 오버레이 파일(일반적으로 apkovl로 축약)에 부팅 구성의 변경 사항을 기록하며, 필요에 따라 더 많은 디렉토리를 추적하는 옵션도 제공한다.lbu를 이용하면 변경한 설정 파일의 백업을 수행할 수 있다. 기본 동작에서는 /etc 이하가 변경된 경우 tar.gz 아카이브가 생성된다.
3.3. 패키지 관리 시스템 (APK)
알파인 리눅스는 자체 패키지 관리 시스템으로 APK를 사용한다. 초기에는 셸 스크립트로 작성되었지만, 현재는 C 언어로 다시 작성되었다。GNOME, FFmpeg, Mozilla Firefox 등을 사용할 수 있다。
3.4. 강화된 보안
알파인 리눅스는 강화된 커널을 기본으로 포함하여 악용 및 취약점의 영향을 줄일 수 있다. 모든 사용자 공간 바이너리가 스택 스매싱 보호 기능이 있는 위치 독립 실행 파일로 컴파일되므로 버퍼 오버플로우의 영향을 줄일 수 있다.
3.5. Alpine Configuration Framework (ACF)
알파인 구성 프레임워크(ACF)는 알파인 리눅스 장치 설정을 위한 응용 프로그램으로, 데비안의 debconf와 비슷한 목표를 가지고 있다. ACF는 루아 기반의 표준 프레임워크이다. 이를 통해 사용자는 웹 서버 기반 도구를 사용하여 운영 체제를 구성할 수 있다.
3.6. init 시스템 (OpenRC)
알파인 리눅스는 초기화 시스템으로 간단하고 가벼운 OpenRC를 사용한다. 아치 리눅스, CentOS, 데비안, openSUSE, Ubuntu 등 다른 리눅스 배포판과는 달리 systemd는 사용하지 않는다.
5. 개발 및 관리 환경 통합
알파인 리눅스는 견고하고 간결한 특성 덕분에 널리 사용되는 개발자 및 시스템 관리자 환경 및 도구와 긴밀하게 통합되어 있다. 마이크로소프트 스토어는 WSL2용 알파인 WSL 배포 버전을 제공하며, 도커는 공식 이미지를, 마이크로소프트 파워쉘은 알파인 리눅스 전용 빌드를 제공한다.
5.1. WSL2 지원
마이크로소프트 스토어는 WSL2용 알파인 WSL의 배포 준비가 완료된 버전을 제공한다.
5.2. 도커 이미지
도커는 알파인 리눅스의 공식 이미지를 제공한다.