WSL Alpine Podman ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ

์†Œ๊ฐœ Podman ์†Œ๊ฐœ Podman์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ๋กœ, Red Hat์—์„œ ๊ฐœ๋ฐœ. Docker์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ฐจ๋ณ„์ ์ด ์žˆ๋‹ค. Podman์€ ์ฃผ๋กœ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ๋˜๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ, ์‹คํ–‰, ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ฃผ์š” ํŠน์ง• ๋ฃจํŠธ๋ฆฌ์Šค ์‹คํ–‰: Podman์€ ๋ฃจํŠธ ๊ถŒํ•œ ์—†์ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ๋ณด์•ˆ์„ฑ์ด ๋†’๋‹ค. ์ด๋Š” ์‹œ์Šคํ…œ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋œ๋‹ค. ๊ฒฝ๋Ÿ‰ํ™”: Podman์€ ๊ฒฝ๋Ÿ‰ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€์›ํ•˜์—ฌ ์‹œ์Šคํ…œ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ํŠนํžˆ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ ์œ ๋ฆฌํ•˜๋‹ค. ...

2025-08-26 ยท (updated 2025-08-28) ยท 355 words

Bash History Command

History ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ• $ history # history ๋ชฉ๋ก ๋ณด๊ธฐ $ !! # ์ด์ „ ๋ช…๋ น ์‹คํ–‰ $ !<๋ฒˆํ˜ธ> # ํ•ด๋‹น ๋ฒˆํ˜ธ ๋ช…๋ น ์‹คํ–‰ Bash ํžˆ์Šคํ† ๋ฆฌ ํ™œ์šฉ๋ฒ• 1. !๋ฌธ์ž์—ด๋กœ ์ตœ๊ทผ ๋ช…๋ น์–ด ์žฌ์‹คํ–‰ !ls โ†’ ์ตœ๊ทผ์— ์‹คํ–‰ํ•œ ls๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์žฌ์‹คํ–‰ !git โ†’ ์ตœ๊ทผ์— ์‹คํ–‰ํ•œ git์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ช…๋ น์–ด ์‹คํ–‰ 2. !!๋กœ ๋ฐ”๋กœ ์ด์ „ ๋ช…๋ น์–ด ์žฌ์‹คํ–‰ !! โ†’ ์ง์ „์— ์‹คํ–‰ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ ์˜ˆ: sudo !! โ†’ ์ง์ „ ๋ช…๋ น์–ด๋ฅผ sudo๋กœ ์‹คํ–‰ (๊ถŒํ•œ ๋ถ€์กฑ ์‹œ ์œ ์šฉ) 3. history | grep ํ‚ค์›Œ๋“œ๋กœ ๊ฒ€์ƒ‰ history | grep ssh ์›ํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ฐพ๊ณ  !๋ฒˆํ˜ธ๋กœ ์‹คํ–‰ 4. Ctrl + r๋กœ ํžˆ์Šคํ† ๋ฆฌ ๊ฒ€์ƒ‰ (๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ!) Ctrl + r ๋ˆ„๋ฅด๊ณ  ํ‚ค์›Œ๋“œ ์ž…๋ ฅ โ†’ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณผ๊ฑฐ ๋ช…๋ น์–ด ๊ฒ€์ƒ‰ ์›ํ•˜๋Š” ๋ช…๋ น์–ด๊ฐ€ ๋‚˜์˜ค๋ฉด Enter๋กœ ์‹คํ–‰ ์˜ˆ: Ctrl + r โ†’ docker ์ž…๋ ฅ โ†’ docker ps ๋ช…๋ น์–ด ์ž๋™ ์™„์„ฑ 5. fc ๋ช…๋ น์–ด๋กœ ํžˆ์Šคํ† ๋ฆฌ ํŽธ์ง‘ ํ›„ ์‹คํ–‰ fc ๊ฐ€์žฅ ์ตœ๊ทผ ๋ช…๋ น์–ด๋ฅผ ํŽธ์ง‘๊ธฐ๋กœ ์—ด๊ณ  ์ˆ˜์ • ํ›„ ์‹คํ–‰ fc -s๋กœ ํŠน์ • ๋ช…๋ น์–ด๋ฅผ ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜๋„ ์žˆ์Œ 6. .bashrc์— alias ๋“ฑ๋กํ•ด์„œ ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด ๋‹จ์ถ• alias gs='git status' alias ll='ls -alF' ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด๋ฅผ ์งง๊ฒŒ ๋“ฑ๋กํ•ด๋‘๋ฉด ํžˆ์Šคํ† ๋ฆฌ๋ณด๋‹ค ๋น ๋ฅด๋‹ค ** ํŒ**: HISTCONTROL=ignoredups:erasedups๋ฅผ .bashrc์— ์„ค์ •ํ•˜๋ฉด ์ค‘๋ณต๋œ ๋ช…๋ น์–ด๊ฐ€ ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ์ง€ ์•Š์•„์„œ ๊ฒ€์ƒ‰์ด ํ›จ์”ฌ ๊น”๋”ํ•ด์ง„๋‹ค. ...

2025-08-23 ยท (updated 2025-08-24) ยท 182 words

Alpine Linux Upgrade

Intro ์•ŒํŒŒ์ธ ๋ฆฌ๋ˆ…์Šค์—์„œ ํŒจํ‚ค์ง€๋งŒ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๊ฑฐ๋‚˜ OS ์ž์ฒด๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•œ๋‹ค. ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade OS ์—…๊ทธ๋ ˆ์ด๋“œ ๊ธฐ์กด ํŒจํ‚ค์ง€ ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade ์ €์žฅ์†Œ ์„ค์ • ํŒŒ์ผ ์ˆ˜์ • (ex. 3.18 -> 3.19) # vi /etc/apk/repositories ์ธ๋ฑ์Šค ์—…๋ฐ์ดํŠธ ๋ฐ os ์—…๊ทธ๋ ˆ์ด๋“œ # apk update # apk upgrade --available && sync # reboot ๋ฆด๋ฆฌ์ฆˆ ์ •๋ณด ์—…๊ทธ๋ ˆ์ด๋“œ # rm /etc/alpine-release # apk upgrade --no-self-upgrade --available --simulate # apk upgrade --available # sync # reboot ... # cat /etc/alpine-release # cat /etc/issue REFERENCE How to upgrade Alpine Linux 3.19 to 3.20 https://www.cyberciti.biz/faq/how-to-upgrade-alpine-linux-3-4-to-3-5-xx/

2024-06-20 ยท (updated 2025-06-16) ยท 95 words

Alpine Linux

last updated: {{ โ€œ1718885075โ€ | date: โ€œ%Y-%m-%d %H:%Mโ€ }} Intro Docker์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋˜์–ด ์œ ๋ช…ํ•ด์กŒ๋‹ค. ๋‹ค์Œ์€ ์•ŒํŒŒ์ธ ๋ฆฌ๋ˆ…์Šค์˜ ์„ธ๊ฐ€์ง€ ํŠน์ง•์ด์ž ์ฒ ํ•™์ด๋‹ค. Small: musl libc + busybox (container: 8MB, Minimal Disk Install: 130MB) Simple: package manager apk, Init System OpenRC and Fast Secure: Position Independent Executables(PIE) INSTALL alpine_install - ์„ค์น˜ alpine_upgrade - ์—…๊ทธ๋ ˆ์ด๋“œ alpine_devel - ๊ฐœ๋ฐœํ™˜๊ฒฝ alpine_wsl2 - ์œˆ๋„์šฐ์ฆˆ WSL2์—์„œ alpine ์„ค์น˜ REFERENCE docker-busybox Alpine FAQ: https://wiki.alpinelinux.org/wiki/Alpine_Linux:FAQ Alpine Tutorial and Howtos: https://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos

2023-08-08 ยท (updated 2025-06-16) ยท 70 words

Docker-Busybox

Intro busybox๋Š” ์ž‘๊ณ  ๊ฐ€๋ณ๊ณ  ๋น ๋ฅธ POSIX ํ‘œ์ค€ ์œ ํ‹ธ ๋ชจ์Œ์ด๋‹ค. docker์—์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋กœ ์‘์šฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์‘์šฉ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์— ๋นŒ๋“œํ•˜๊ธฐ Kubernates์— init container๋กœ ์‚ฌ์šฉํ•˜๊ธฐ HTTP ์›น์„œ๋ฒ„๋กœ ๋Œ๋ฆฌ๊ธฐ ๊ฐ€์ƒ์ปจํ…Œ์ด๋„ˆ ๋ณผ๋ฅจ์„œ๋ฒ„(์Šคํ† ๋ฆฌ์ง€)๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๊ธฐ๋ณธ ์‚ฌ์šฉ๋ก€ busybox ์ตœ์‹ ๋ฒ„์ „ ์ด๋ฏธ์ง€ ๋ฐ›๊ณ  ์‹คํ–‰ $ docker run -it --rm busybox busybox + myapp : myapp์€ ๋ฆฌ๋ˆ…์Šคํ™˜๊ฒฝ์—์„œ ์ •์ ์ปดํŒŒ์ผํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ $ cat Dockerfile # Write Dockerfile FROM busybox COPY ./my-static-binary /my-static-binary CMD ["/my-static-binary"] $ docker build -t busybox-myapp . # Build Image $ docker run -t --rm busybox-myapp # Run Container busybox + httpserver : ์›น์„œ๋ฒ„๋™์ž‘(httpserver๋Š” static compile binary) $ cat Dockerfile # Write Dockerfile FROM busybox COPY ./httpserver /home/ CMD /home/httpserver $ docker build -t go-server . # Build Image $ docker run -p 8080:8080 --rm -it go-server # Run Container $ curl -v http://localhost:8080/ # Test Busybox์— ๊ด€ํ•˜์—ฌ ๋†€๋ž๊ฒŒ๋„ busybox๋Š” httpd๋ฅผ ๋‚ด์žฅํ•˜๊ณ  ์žˆ๋‹ค. ๋ฌผ๋ก  ๋Œ€๊ทœ๋ชจ ์ฒ˜๋ฆฌ๋Š” ๊ณค๋ž€ํ•˜๋‹ค. ๋‚ด์žฅ๋œ grep๋„ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ๋งŒ ์žˆ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ๊ฒ€์ƒ‰์„ ์จ์•ผํ•œ๋‹ค๋ฉด ํšจ์œจ์ด ์ข‹์ง€ ์•Š์œผ๋ฏ€๋กœ gnu grep์„ ์–น์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. busybox๋Š” glibc, musl ๋“ฑ์„ ์ง€์›ํ•˜๋Š” ๋ฒ„์ „์ด ์žˆ๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋„ฃ์–ด์•ผํ•  ๋•Œ ๊ณต์œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด ํšจ์œจ์ ์ด๋‹ค. alpine ๋ฆฌ๋ˆ…์Šค๊ฐ€ busybox + musl + os env ์ด๋ฏ€๋กœ ์ž์‹ ๋งŒ์˜ ์ด๋ฏธ์ง€๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ธฐ๋ณธ์ ์ธ utf-8์ด ์ง€์›๋˜์ง€๋งŒ ์ถœ๋ ฅ๋งŒ ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. sh, echo, vi ๋„ ๊ฐ€๋ณ๊ฒŒ ์“ฐ๊ธฐ๋Š” ์ข‹์œผ๋‚˜ utf-8 ํ•œ๊ธ€์ž…๋ ฅ์ด ์•ˆ๋œ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” bash, echo, vi๋ฅผ ์ •์ ์ปดํŒŒ์ผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ๋Œ€์ฒด ๋˜๋Š” ๋„์ปคํ—ˆ๋ธŒ(DockerHub)์˜ toybox๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. utf-8 ์ž…์ถœ๋ ฅ์„ ๋ชจ๋‘ ์ง€์›ํ•œ๋‹ค. ์‹ฌ์ง€์–ด ์‚ฌ์ด์ฆˆ๊ฐ€ ๋” ์ž‘๋‹ค. utf-8์˜ ์ž…์ถœ๋ ฅ ํ™˜๊ฒฝ์ด ๋ชจ๋‘ ํ•„์š”ํ•˜๋‹ค๋ฉด toybox๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค. busybox(์•ฝ1.2MB)๋‚˜ toybox(์•ฝ764K)๋Š” ์ •๋ง ๊ฐ€๋ณ๊ฒŒ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์ด๋‹ค. ๊ฒฐ๋ก ์ ์œผ๋กœ ์ด๊ฒƒ์— ๋Œ€ํ•œ ํ™œ์šฉ์€ ๊ฐœ๋ฐœํ™˜๊ฒฝ์ด๋‚˜ ํฐ๊ทœ๋ชจ์˜ ์‹คํ–‰ํ™˜๊ฒฝ๋ณด๋‹ค๋Š” ์ž‘๊ณ  ๊ฐ€๋ฒผ์šด ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ธ ์šด์šฉ์ด ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค. Links How to Use th Busybox Docker Official Image https://www.docker.com/blog/use-cases-and-tips-for-using-the-busybox-docker-official-image/ Using the BusyBox Docker Image for Building Applications : A Complete Guide https://www.sohamkamani.com/docker/busybox-guide/

2022-11-21 ยท (updated 2024-02-15) ยท 290 words