Intro
- minimum 수동 설치 방법이 있으나 데몬 서비스, docker 설치 등에 어려움이 있다.
- 여기에서는 다음 두 가지 설치 방법을 정리한다.
- Microsoft Store - Alpine WSL Install, 2. Github - AlpineWSL Install
- 특이사항:
- default shell: ash (필요하면 bash를 추가 설치: apk add bash bash-completion)
- grep: busybox grep (고성능의 grep이 필요하다면 추가 설치: apk add grep)
- sudo: doas (필요하면 추가 설치: apk add doas)
- openssh: openssh (필요하면 설치: apk add openssh)
- curl: wget은 기본 설치 (필요하면 추가설치: apk add curl)
Microsoft Store - Alpine WSL Install
참고 사항
- 버전은 3.17로 2018년이다. 업데이트도 안되고 있는 듯.
- 하지만 Microsoft Store를 이용하므로 편리하다.
- application -
C:\Program Files\WindowsApps\36828agowa338.AlpineWSL_3.17.0.0_x64__my43bytk1c4nr\Alpine.exe
- ext4 filesystem -
C:\Users\batut\AppData\Local\Packages
Install
- Microsoft Store > alpine 검색 > 설치 > 실행
- 처음 실행시 user 및 password 입력: root는 설정해준 일반유저와 동일. ex)
$su -
설치 후 PowerShell에서 Default로 설정
wsl -s Alpine # --set-default: wsl default set
- Alpine WSL2 실행후 기본 정보 확인
$ passwd # Password 설정
$ cat /etc/os-release # Os Version Check
$ uname -a # Os Info Check
$ df -Th / # Disck Usage Check
- 기본 최소 패키지 설치
$ su - # Change to Root
# cat > /etc/apk/repositories << EOF; $(echo)
https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/main/
https://dl-cdn.alpinelinux.org/alpine/v$(cut -d'.' -f1,2 /etc/alpine-release)/community/
https://dl-cdn.alpinelinux.org/alpine/edge/testing/
EOF
# apk update # Update
# apk add libstdc++ curl grep bash bash-completion openssh nvim # libs, Utils
# apk add openrc git docker # Daemon Service, Git, Docker Install
- doas (like sudo) 설정
# vi /etc/doas.d/doas.conf
...
# user01 is username, root permition allowed, password once and cached
#permit persist user01 as root
# user01 is username, root permition allowed, no password
permit nopass user01 as root
...
Github - AlpineWSL Install
최신 버전을 설치할 수 있다.
몇가지 설정만 하면 바로 사용 가능하다.
설치 준비
- 최신 버전 다운로드: https://github.com/yuk7/AlpineWSL/releases
- Current version: 3.21.x
- 참고로 Windows용은 Alpine.zip이다.
- 적당한 폴더에 압축을 푼다.
ex) C:\WSL\Alpine\
- PowerShell 실행하여 해당 폴더로 이동
- 해당 폴더에서 Alpine.exe를 실행하면 ex4.vhdx의 파일시스템이 생성된다.
- 이 때, 이미 Alpine이 이미 설치되어 있다면 충돌을 피하기위해 Apline4184.exe 등으로 변경하고 실행한다.
AlpineWSL 설치
c:\WSL\Alpine> mv Alpine.exe Alpine321.exe
c:\WSL\Alpine> Alpine321.exe
c:\WSL\Alpine> ls
c:\WSL\Alpine> wsl -l
c:\WSL\Alpine> wsl -s Alpine321 # wsl default image set
c:\WSL\Alpine> wsl # execute alpine 3.21 linux
- alpine setup root, user
User Setup
export TZ=Asia/Seoul # Time Zone Setup
apk add --no-cache tzdata && \
cp /usr/share/zoneinfo/$TZ /etc/localtime && \
echo $TZ > /etc/timezone
# cat /etc/os-release # check os version
# apk update && apk upgrade # package update, upgrade
# passwd root # root password set
# apk add --no-cache doas
# addgroup -g 1000 borisu # user set
# adduser -u 1000 -G borisu -s /bin/bash -D borisu
# echo 'borisu:borisu' | chpasswd
# echo 'permit nopass borisu as root' > /etc/doas.d/doas.conf
# passwd borisu # user password set
# exit
- config alpine default login user
C:\> wsl -d Alpine321 -u borisu
로 직접 실행 가능.- 아래는 직접 설정을 해주고
wsl -d Alpine321
을 실행 하는 방법이다.
PS C:\wsl\Alpine> .\Alpine321.exe config --default-uid 1000
PS C:\wsl\Alpine> .\Alpine321.exe config --default-user borisu
- Windows Terminal Setting
- 윈도우즈 터미널의 설정을 클릭한다.
- 좌측 메뉴 새프로파일 추가
- 이름:
Alpine321
- 명령줄:
C:\WINDOWS\system32\wsl.exe -d Alpine321
- 기타 설정 후 저장
이후 작업
- 필요한 패키지 설치
- Alpine 도커에 관해서는 과거 버전(ex.3.18)에서는 기본 패키지가 없었다.
- 과거 버전 설치는 docker-windows 참조.
- 현재(ex.3.21)에서는 docker 패키지가 기본 포함되었다.
백업과 복구
- 이렇게 설치하고 환경을 구성하는 데에도 많은 시간과 노력이 든다.
- 필요한 패키지 설치와 설정 등을 완료했다면 백업을 해 두는 것이 좋다.
- 이것을 다른 PC로 옮기거나 윈도우즈 재설치 등으로 복구를 쉽게 할 수 있다.
- Alpine321을 예로 든다.
백업
- Windows PowerShell을 실행한다.
wsl -l -v # 현재 WSL 등록 및 동작 상태 확인
wsl -t Alpine321 # Alpine321을 종료
wsl --export Alpine32 D:\Alpine321.tar # D:\Alpine321.tar 로 백업
제거
- 제거를 해야할 경우이므로 반드시 백업을 먼저 해두어야 한다.
- wsl2의 경우 등록된 폴더(설치 폴더)에
wsl -l -v
wsl -t Alpine321 # Alpine321을 종료
wsl --unregister Alpine321 # 제거
wsl -l -v # 제거 확인
복구
- 복구시 복구할 폴더 (ex. C:\WSL\Alpine321)로 먼저 이동한다. 필요하면 생성.
- 복구 명령은
wsl --import (distribution) (install location) (file path)
이다.
cd C:\WSL\Alpine321
wsl --import Alpine321 D:\Alpine321.tar # 백업 파일의 위치는 D:\Alpine321.tar
wsl -l -v # 복구 확인
REFERENCE
- Automated Alpine Linux Setup in WSL2
- Alpine Docker Install
- Install Alpine Linux on WSL and connect it to Docker Desktop
- How to enable services on Alpine Linux
- Openrc Howto on Alpine