Toolbox: ๊ฐœ๋ฐœ ์ค‘์ธ ์ฝ”๋“œ์˜ ๋ฒ„๊ทธ ๋ฐ ๋งฌ์›จ์–ด๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฉ๋ฆฌ๋œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ

์— ๋งŒ๋“  2019๋…„ 05์›” 31์ผ  ยท  30์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: containers/toolbox

๋ฐ์ดํ„ฐ๋ฅผ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ์•…์„ฑ ์‹คํ–‰ ํŒŒ์ผ์ด ๋‚ด ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋„๊ตฌ ์ƒ์ž๋Š” ํ•ญ์ƒ ์ปจํ…Œ์ด๋„ˆ์˜ ํ˜ธ์ŠคํŠธ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒŒ ํŽธํ•˜๊ธด ํ•œ๋ฐ ์˜ต์…˜์ด์—ˆ์œผ๋ฉด ๋” ์ข‹์•˜์„ ํ…๋ฐ.

๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‚ด SSH ๊ฐœ์ธ ํ‚ค, ํ‚ค์ฒด์ธ ๋ฐ ๊ฑฐ๊ธฐ์— ์ €์žฅ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐํƒ€ ํ•ญ๋ชฉ์— ์•ก์„ธ์Šคํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@juhp ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•œ ์‡ผ์Šคํ† ํผ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์—

Fedora๊ฐ€ ๋‹ค๋ฅธ Linux ๋ฐฐํฌํŒ์—์„œ ์˜ค๋Š” ์‚ฌ์šฉ์ž๋ฅผ ํ™˜์˜ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ด์ „ ๋ฐฐํฌํŒ์„ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ์ถœ๋ฐœ์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  30 ๋Œ“๊ธ€

/home์ด ์—†๋Š” ์˜๊ตฌ ์‚ฌ์šฉ์ž ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์›ํ•˜์‹ญ๋‹ˆ๊นŒ? ์š”๊ตฌ ์‚ฌํ•ญ/์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. - ๊ทธ๋ƒฅ ํ‘œ์ค€ ์ผํšŒ์šฉ Fedora ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜๋ฉด ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๊ฐ€์ •๊ณผ ์ง์žฅ ๋ชจ๋‘์— ์‚ฌ์šฉ๋˜๋Š” Unix ๊ณ„์ •์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ์ž‘์—… ์ปจํ…Œ์ด๋„ˆ์˜ ๊ฒฝ์šฐ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ์ปจํ…Œ์ด๋„ˆ์— ํƒ‘์žฌํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” GUI ์•ฑ์„ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค. ํŒŒ์ผ์„ ๋กœ๋“œ/์ €์žฅํ•˜๋ ค๋ฉด ํŠน์ • ํด๋”์—๋งŒ ์•ก์„ธ์Šคํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด .ssh ํด๋” ๋ฐ ๊ธฐํƒ€ ๊ด€๋ จ ์—†๋Š” ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ณด์•ˆ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด Chrome OS๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋กœ ํด๋”๋ฅผ ๊ณต์œ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋˜๋Š” USB ๋“œ๋ผ์ด๋ธŒ์—์„œ ์ปจํ…Œ์ด๋„ˆ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋ช…์‹œ์ ์œผ๋กœ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ปจํ…Œ์ด๋„ˆ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋ฉด ๋ณด์•ˆ ๊ธฐ๋Šฅ์œผ๋กœ์„œ์˜ ์ปจํ…Œ์ด๋„ˆํ™”๋Š” ์ƒ๋‹นํ•œ ๊ฐ€์น˜๋ฅผ ์žƒ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค!

@juhp Haskell ํŒจํ‚ค์ง€๋ฅผ ์ž˜ ๋‹ค๋ฃจ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์›๊ฒฉ์œผ๋กœ ์„ค์น˜ํ•œ Haskell ํŒจํ‚ค์ง€ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์†์ƒ๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. Haskell ํŒจํ‚ค์ง€๋Š” .ssh ํด๋” ๋˜๋Š” Bitcoin ์ง€๊ฐ‘์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์„ Haskell ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ๊ณต์œ ํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๊ฝค ์ตœ๊ทผ์— ์„ค์น˜๋œ ๊ฒฝ์šฐ Bitcoin์„ ๋กœ์ปฌ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” NPM ๋ชจ๋“ˆ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
https://www.trendmicro.com/vinfo/nz/security/news/cybercrime-and-digital-threats/hacker-infects-node-js-package-to-steal-from-bitcoin-wallets

์ด ๋ชจ๋“ˆ์€ ์ธ๊ธฐ๊ฐ€ ๋งŽ์•˜๊ณ  ์‹ค์ œ๋กœ ์šฐ๋ฆฌ ํŒ€์—์„œ ์ด๋ฅผ ์šฐ๋ฆฌ ํŠธ๋ฆฌ์— ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹์ ˆ๋„๋ฅผ ์œ ๋ฐœํ•˜๋Š” ๋‹ค๋ฅธ ๊ธฐ์ค€์„ ์ถฉ์กฑํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ์šฐ๋ฆฌ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ์™„์ „ํžˆ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†์—ˆ๋‹ค๋ฉด ๊ทธ ์œ„ํ—˜์€ ์™„์ „ํžˆ ์™„ํ™”๋˜์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ด๋–ค ์ง์›๋„ ์ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ๋น„ํŠธ์ฝ”์ธ โ€‹โ€‹์ง€๊ฐ‘์„ ๊ณต์œ ํ•˜๊ธฐ๋กœ ์„ ํƒํ•˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์™„์ „ํžˆ ์œ ํšจํ•˜์ง€๋งŒ ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ค์งˆ์ ์œผ๋กœ ๋งํ•ด์„œ, ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋„๊ตฌ ์ƒ์ž๋ฅผ ๋ณ„๋„์˜ ์‚ฌ์šฉ์ž ๋กœ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค(๊ฐ๊ฐ ๊ณ ์œ ํ•œ /home ๊ฐ€ ์žˆ๋Š” ์ƒˆ uid๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ƒ์„ฑ) - ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๊ถŒํ•œ ์žˆ๋Š” ์‹œ์Šคํ…œ ์„œ๋น„์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ฝ๊ธฐ ์ „์šฉ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ํŒŒ์ผ์„ ๊ณต์œ ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋” ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.

๋””๋ ‰ํ† ๋ฆฌ bind-mount์—์„œ ํŒŒ์ผ/๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌธ์ œ๋ฅผ ํ™•์‹คํžˆ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ํ•œ ์ค„์˜ ์ฝ”๋“œ๋กœ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜

    --volume "$HOME":"$HOME":rslave

๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ GUI ์•ฑ๊ณผ ์ผ๋ถ€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์™€ ์™ธ๋ถ€์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์ผํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์‹ค์ œ๋กœ ์ƒ๋‹นํžˆ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง‘์— ๋งˆ์šดํŠธํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์— ์ง‘์„ ์žฅ์ฐฉํ•˜๋Š” ๊ฒƒ์€ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹ ๋ขฐํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ง€๋งŒ ์ผํšŒ์šฉ ์ปจํ…Œ์ด๋„ˆ์—์„œ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ NPM ๋ชจ๋“ˆ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์—๋„ ๋‚ด ํ™ˆ ํด๋”๋ฅผ ์†์ƒ์‹œํ‚ค์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๋งˆ์Œ์˜ ํ‰ํ™”๋ฅผ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@markstos ํ™ˆ ๋งˆ์šดํŠธ ์—†์ด ๋˜๋Š” ํŠน์ • ๋””๋ ‰ํ† ๋ฆฌ(cwd)๋งŒ ๋งˆ์šดํŠธํ•˜๋Š” ๊ฒฝ์šฐ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@juhp ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•œ ์‡ผ์Šคํ† ํผ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์—

Fedora๊ฐ€ ๋‹ค๋ฅธ Linux ๋ฐฐํฌํŒ์—์„œ ์˜ค๋Š” ์‚ฌ์šฉ์ž๋ฅผ ํ™˜์˜ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ด์ „ ๋ฐฐํฌํŒ์„ ์‰ฝ๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ์ถœ๋ฐœ์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@marktos ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค - ์ €๋Š” ๋˜ ๋‹ค๋ฅธ Toolbox ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. :-)
๋” ๋งŽ์€ OS๋ฅผ ์ง€์›ํ•˜๋„๋ก Toolbox๋ฅผ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ด ์‹ค์ œ๋กœ ๋งค์šฐ ์œ ์šฉํ•  ๊ฒƒ์ด๋ผ๋Š” ๋ฐ ์ „์ ์œผ๋กœ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.
Toolbox๋Š” Silverblue ์—†์ด๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(์ฆ‰, ๋‹ค๋ฅธ Fedora ์—๋””์…˜์—์„œ).

@juhp ์‚ฌ์‹ค ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•œ ์‡ผ์Šคํ† ํผ์˜€์Šต๋‹ˆ๋‹ค. ์ด ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์—

๋‹น์‹ ์€ ์ „์— ๋ฌด์—‡์„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ์‚ฌ์šฉ ์ค‘์ด๋˜ Silverblue์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๋„๊ตฌ/์ ‘๊ทผ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด ์ผํšŒ์šฉ VM(QubesOS์™€ ๊ฐ™์€)์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ด ์Šค๋ ˆ๋“œ์˜ ์ œ์•ˆ ์ค‘ ์ผ๋ถ€๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๋Š” ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค. ํ‹€๋ฆผ์—†์ด, ์šฐ๋ฆฌ๋Š” ์ข€ ๋” ๋…๋‹จ์ ์ด๊ณ  QubesOS์™€ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์„ Silverblue์— ๊ตฌ์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์–ด์จŒ๋“  ๊ธฐ์กด VM ๋ฐ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค toolbox ์˜ค๋Š˜์€ ํ˜ธ์ŠคํŠธ์™€ ์˜๋„์ ์œผ๋กœ podman ๋ฅผ ํ๋ฆฌ๊ฒŒ ๋งŒ๋“œ๋Š” ์Šคํฌ๋ฆฝํŠธ์˜ ๋ฌด๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ†ตํ•ฉ์„ ์›ํ•˜์ง€ ์•Š์œผ๋ฉด podman run ...๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด ๊ฐœ์ธ ๋…ธํŠธ๋ถ์— ํฌ๋กฌ OS๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ ์žˆ๋Š” ํ•œ @cgwalters์€ ํ†ตํ•ด VM์—์„œ ์ปจํ…Œ์ด๋„ˆ ๋‚ด์—์„œ ์‹คํ–‰ ๋‚ด ๊ฐœ๋ฐœ ํ™˜๊ฒฝ (๋ฐ ๊ทธ ๋ฐ–์˜ ๊ฑฐ์˜ ๋ชจ๋“ )๋ฅผ ๊ฐ–๋Š” ๋ณด์•ˆ ๊ฐ์‚ฌ ์™€์„œ ๋ฒ ์ด์ปจ์˜ ํ”„๋กœ์ ํŠธ. GUI ์•ฑ๊ณผ ๋ช…๋ น์ค„ ์•ฑ์„ ์ง€์›ํ•œ๋‹ค๋Š” ์ ์ด ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„๊ณต๊ฐœ๋ผ๋Š” ์ ๋„ ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํด๋”๋‚˜ USB ๋“œ๋ผ์ด๋ธŒ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ณต์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์‚ฌ์šด๋“œ ๋ฐ ์›จ์ด๋žœ๋“œ ์ง€์›์€ ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ์— ์ž๋™์œผ๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.
URL
๋Œ€์‹  ์—…๋ฌด์šฉ ๋žฉํ†ฑ์—์„œ ์‚ฌ์šฉํ•  ์œ ์‚ฌํ•œ ์†”๋ฃจ์…˜์„ ํ‰๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์˜ต์…˜์€ PC ํ•˜๋“œ์›จ์–ด์šฉ ์˜คํ”ˆ ์†Œ์Šค Chrome OS์ธ Neverware์˜ Cloudready์ž…๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ Crostini๊ฐ€ ์ถฉ๋Œํ•˜๋Š” ํฌํŠธ๊ฐ€ ์žˆ๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋˜์–ด ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ์ด์œ ๋กœ ์ง€๊ธˆ์€ ChromeOS/Crostini๋ฅผ โ€‹โ€‹๋‘ ๋ฐฐ๋กœ ์ค„์ด๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•ฉ๋‹ˆ๋‹ค.

Silverblue๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Ubuntu ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ๋‚ด ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๊ฐ€ ์‹ ๋ขฐํ•˜์ง€ ์•Š์„ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ณผ๋„ํ•˜๊ฒŒ ๊ณต์œ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•  ๋•Œ๊นŒ์ง€ ๋งค๋ ฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Clear Linux๋„ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์—์„œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ์„ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๋™์ผํ•œ ๊ฐœ๋…์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Intel๊ณผ x86๊ณผ์˜ ๊ธด๋ฐ€ํ•œ ๊ด€๊ณ„์— ํฅ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ฃผ๋กœ ๋ฐ์Šคํฌํƒ‘ OS๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰(๊ธฐ๋ณธ๊ฐ’?) ์˜ต์…˜์€ Ubuntu๋ฅผ ๋ฐ์Šคํฌํƒ‘์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ๋” ๋งŽ์€ ๊ฐœ๋ฐœ ์ž‘์—…์„ Chrome์˜ Crostini๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” LXD ์ปจํ…Œ์ด๋„ˆ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ OS๊ฐ€ ๋‹ค๋ฅด๋”๋ผ๋„ ์ง์žฅ๊ณผ ๊ฐœ์ธ ๋žฉํ†ฑ ๊ฐ„์— LXD ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋ณต์‚ฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. LXD ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜์—ฌ Wayland ์ง€์›์„ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ์— ์ถฉ๋ถ„ํ•œ ๋งˆ์šดํŠธ๋ฅผ ๊ณต์œ ํ•˜๋Š” ํ…œํ”Œ๋ฆฟ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ : Rhythmbox๋ฅผ ์œ ์ง€ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์•„๋งˆ๋„ toolbox ์˜ ์‚ฌ๋ช…์„ ์ž˜๋ชป ์ดํ•ดํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. README์—์„œ:

.. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ์˜๋„๋Š” ํ˜ธ์ŠคํŠธ์— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์™œ์š”? ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํ…Œ์ด๋„ˆ์— ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ด๋ฏ€๋กœ ํ–ฅ์ƒ๋œ ๋ณด์•ˆ์„ ์š”๊ตฌํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋จธ์ง€ ์ž ์žฌ์ ์ธ ์ด์ ์€ ๊ฒฉ๋ฆฌ์ด๋ฏ€๋กœ ์ถฉ๋Œํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „์„ ๋‚˜๋ž€ํžˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ญ์ƒ ๊ณต์œ  ๋™์ž‘์ด ์œ ์ง€๋˜๋Š” ๊ฒฝ์šฐ toolbox ์ „์ฒด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ณต์œ ํ•˜๊ณ  ๋™์ž‘์„ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ํ•ญ๋ชฉ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๋ฌธ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ.

podman์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ์•Œ์ง€๋งŒ GUI ํ†ตํ•ฉ์ด ํฌํ•จ๋œ ์ปจํ…Œ์ด๋„ˆ ์†”๋ฃจ์…˜์— ๊ด€์‹ฌ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. podman ๋กœ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ toolbox ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

https://discussion.fedoraproject.org/t/how-to-run-a-containerized-gui-application/570

@markstos ๊ด€์‹ฌ์ด

์—ฌ๊ธฐ์— ์•ฝ๊ฐ„์˜ ํ˜ผ๋ž€์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ README.md ๋Š” ๋ช‡ ๋‹ฌ์— ๊ฑธ์ณ ์„ฑ์žฅํ•˜๊ณ  ๋ณ€ํ˜•๋˜์—ˆ์œผ๋ฉฐ ์•„๋งˆ๋„ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์กฐ๊ธˆ ๋” ์–ด๋ ค์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋‹จ์ˆœํžˆ Hacking on OSTree ๊ธฐ๋ฐ˜ Fedoras๋ผ๊ณ  ํ–ˆ์Šต๋‹ˆ๋‹ค .

Silverblue(๋˜๋Š” ํ•ด๋‹น ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ OSTree ๊ธฐ๋ฐ˜ OS)๋ฅผ ์„ค์น˜ํ•˜๋ฉด OS ๋””๋ฒ„๊น… ๋˜๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •์˜ ์–ด๋ ค์›€์ด ์ฆ‰์‹œ ๋ช…๋ฐฑํ•ด์ง‘๋‹ˆ๋‹ค. Toolbox๋Š” ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

.. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์˜ ์˜๋„๋Š” ํ˜ธ์ŠคํŠธ์— ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์น˜ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์™œ์š”? ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๊ฐœ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์— ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ–ฅ์ƒ๋œ ๋ณด์•ˆ์„ ์ฃผ์žฅํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

๋ณด์•ˆ์€ ์˜ค๋ฒ„๋กœ๋“œ๋œ ๋‹จ์–ด์ž…๋‹ˆ๋‹ค. Toolbox๋Š” ์ด์— ๋Œ€ํ•ด ์–ด๋– ํ•œ ์ฃผ์žฅ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ˆ˜์‹ญ ๋…„ ๋™์•ˆ UID๋กœ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐœ์ธ ์•”ํ˜ธํ™” ํ‚ค, ๋ฌธ์„œ, ์‚ฌ์ง„ ๋“ฑ์„ ์‚ดํŽด๋ณด๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์•Œ์ง€ ๋ชปํ•˜๋Š” ์‚ฌ์ด์— ์ง€๊ตฌ ๋ฐ˜๋Œ€ํŽธ๊นŒ์ง€ ์ „์†กํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ํด๋ผ์ด์–ธํŠธ OS์˜ ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.

Flatpak์€ ๊ฐ ๊ทธ๋ž˜ํ”ฝ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์šด์˜ ์ฒด์ œ๋ฅผ ์ž์ฒด ๋ณด์•ˆ ๋„๋ฉ”์ธ์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ

๊ทธ๋Ÿฌ๋‚˜ ์ƒ๋‹จ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด ์ž ๊ธด OS ์ด๋ฏธ์ง€๋Š” ๊ณ ์œ ํ•œ ๋ฌธ์ œ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํŽธ์˜์„ฑ๊ณผ ๋ณด์•ˆ ๊ฐ„์˜ ๊ท ํ˜•์ž…๋‹ˆ๋‹ค. ์†”๋ฃจ์…˜์ด ๊ธ‰์ง„์ ์ผ์ˆ˜๋ก ๊ธฐ์กด Linux ์‚ฌ์šฉ์ž๊ฐ€ Silverblue๋ฅผ ์ฑ„ํƒํ•˜๊ธฐ๊ฐ€ ๋” ์–ด๋ ค์›Œ์ง‘๋‹ˆ๋‹ค.

ํ˜„์žฌ Toolbox๋Š” ๋ณด์•ˆ๋ณด๋‹ค ์ฑ„ํƒ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Toolbox๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด Silverblue๋Š” ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ํด๋ผ์ด์–ธํŠธ OS์˜ ์ƒํƒœ๋ฅผ ํฌ๊ฒŒ ๊ฐœ์„ ํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉ์ž์˜ ์†์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ๊ธ์ •์ ์ธ ๋‹จ๊ณ„๊ฐ€ ๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ณด์•ˆ์— ๊ด€ํ•œ ๊ฒƒ๋งŒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์•ˆ์ •์„ฑ์— ๊ด€ํ•œ ๊ฒƒ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด์˜ Linux ๋ฐฐํฌํŒ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€์™€ ๋ฏธ๋Ÿฌ๋Š” ์ „ ์„ธ๊ณ„์˜ ๋ฌด์ž‘์œ„ ๋ฏธ๋Ÿฌ์— ๋Œ€ํ•œ ๋ฌด์ž‘์œ„ ๊ธฐ์—ฌ์ž์— ์˜ํ•ด ํ•ญ์ƒ ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์กฐํ•ฉ ํญ๋ฐœ์€ ์ •๊ตํ•œ ๋™๊ฒฐ ์‹œ์Šคํ…œ์— ์˜ํ•ด์„œ๋งŒ ๊ด€๋ฆฌ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์ด ์ž˜๋ชป๋˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฅผ ๋˜๋Œ๋ฆฌ๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต๊ณ  ์—…๋ฐ์ดํŠธ ๋„์ค‘ ์ •์ „๊ณผ ๊ฐ™์€ ์ผ์ด ์‹œ์Šคํ…œ์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ์†์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OSTree ๊ธฐ๋ฐ˜ OS๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

podman์„ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์ง€๋งŒ GUI๊ฐ€ ์žˆ๋Š” ์ปจํ…Œ์ด๋„ˆ ์†”๋ฃจ์…˜์— ๊ด€์‹ฌ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์™„์„ฑ. podman์œผ๋กœ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋„๊ตฌ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€
๊ถŒ์žฅ๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹:

https://discussion.fedoraproject.org/t/how-to-run-a-containerized-gui-application/570

๋ฌธ์ œ๋Š” ์™œ Podman์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ž˜ํ”ฝ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒƒ์ž…๋‹ˆ๊นŒ? :)

์ผ๋ฐ˜์ ์œผ๋กœ Podman(๋˜๋Š” OCI ์ปจํ…Œ์ด๋„ˆ)์€ GUI ์•ฑ ์‹คํ–‰์— ์ข‹์ง€ ์•Š์€ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์ด Flatpak์ด ์กด์žฌํ•˜๊ณ  Toolbox๊ฐ€ ๊ทธ๊ฒƒ๊ณผ ๊ฒฝ์Ÿํ•˜์ง€ ์•Š๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

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

Toolbox๋Š” ์‹ค์ œ๋กœ ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ Toolbox์˜ ์ฃผ์š” ๋ชฉํ‘œ๊ฐ€ ๊ทธ๋ž˜ํ”ฝ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ปจํ…Œ์ด๋„ˆํ™”ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค. Toolbox์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” OSTree ๊ธฐ๋ฐ˜ OS์—์„œ ํ•ดํ‚น์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ Flatpak์œผ๋กœ ์ œ๊ณต๋˜๋Š” GNOME Builder ์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ๋„ค์ดํ‹ฐ๋ธŒ IDE๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์ž‘์—… ์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ์„ค์ •ํ–ˆ๋‹ค๋ฉด Toolbox๊ฐ€ ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ๊ทธ๋†ˆ ๋นŒ๋”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฉฐ Visual Studio Code์™€ ๊ฐ™์€ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” IDE๋Š” ์ปจํ…Œ์ด๋„ˆ ๋„ค์ดํ‹ฐ๋ธŒ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋„๊ตฌ ์ƒ์ž.

@debarshiray ์‚ฌ๋ ค ๊นŠ๊ณ  ์ฒ ์ €ํ•œ ๋‹ต๋ณ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์œ„์— ์ œ์‹œํ•œ ์˜ˆ๋Š” Flatpak์—์„œ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ์•ฑ์— ๋Œ€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. Node.js ๊ฐœ๋ฐœ์„ ํ•˜๋Š” ์˜ˆ๋ฅผ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๊ทผ Node.js ์ข…์†์„ฑ ์ฒด์ธ์— ๋กœ์ปฌ ์•”ํ˜ธํ™” ์ง€๊ฐ‘์—์„œ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ์‹ค์ œ ๋งฌ์›จ์–ด๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. SSH ํ‚ค๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‰ฝ๊ฒŒ ๋„๋‚œ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. README์—์„œ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค๊ณ  ๋ช…์‹œํ•˜๊ณ  ์žˆ์ง€๋งŒ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ณต์œ ๋Š” ์ด๋Ÿฌํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž๋ฅผ ๋ณดํ˜ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Toolbox๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ข…์†์„ฑ์ด ์žˆ๋Š” CLI ๊ฐœ๋ฐœ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ๊ฐœ์ธ ํŒŒ์ผ ๋„๋‚œ์œผ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณต์žก์„ฑ์„ ๊ฐ์•ˆํ•  ๋•Œ ์ข…์†์„ฑ ํŠธ๋ฆฌ์—๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ README๊ฐ€ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. "์ปจํ…Œ์ด๋„ˆ์—์„œ ์™„์ „ํžˆ ๊ถŒํ•œ์ด ์—†๋Š”" ์‹คํ–‰์€ ๋ณด์•ˆ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€๋งŒ ๋ณด์•ˆ ๊ทน์žฅ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐœ์ธ ํŒŒ์ผ์€ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„์—์„œ Toolbox๋Š” ๋ณด์•ˆ์— ๋Œ€ํ•ด ์–ด๋– ํ•œ ์ฃผ์žฅ๋„ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž„์„ ๋ถ„๋ช…ํžˆ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•จ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ณด์•ˆ์ด ์•„๋‹Œ ํŽธ์˜๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๋ผ๋Š” ์ ์„ ๋ช…ํ™•ํžˆ ํ•˜๊ธฐ ์œ„ํ•ด README์— ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์œ ์šฉํ•œ ๋ฌธ์žฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@debarshiray ์‚ฌ๋ ค ๊นŠ๊ณ  ์ฒ ์ €ํ•œ ๋‹ต๋ณ€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ค€ ์˜ˆ
์œ„์˜ ๋‚ด์šฉ์€ Flatpak์—์„œ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ทธ๋ž˜ํ”ฝ ์•ฑ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ฃผ์—ˆ๋‹ค
Node.js ๊ฐœ๋ฐœ ์˜ˆ์ œ. ์ตœ๊ทผ Node.js์— ์‹ค์ œ ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๋กœ์ปฌ ์•”ํ˜ธํ™” ์ง€๊ฐ‘์—์„œ ํ›”์น  ์ˆ˜ ์žˆ๋Š” ์ข…์†์„ฑ ์ฒด์ธ. SSH ํ‚ค๋ฅผ ํ›”์น  ์ˆ˜ ์žˆ์Œ
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์‰ฝ๊ฒŒ. README์—์„œ๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ๋‹ค๊ณ  ๋ช…์‹œ๋˜์–ด ์žˆ์ง€๋งŒ,
๊ธฐ๋ณธ์ ์œผ๋กœ share-with-containers-by-default๋Š” ์ด๋Ÿฌํ•œ ์ข…๋ฅ˜์˜ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ์ž๋ฅผ ๋ณดํ˜ธํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ˆ, ํ˜„์žฌ Toolbox๋Š” ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜ OS ๋‚ด์—์„œ ๊ธฐ์กด ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์„ ์žฌํ˜„ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ README๊ฐ€ ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. "์ปจํ…Œ์ด๋„ˆ์—์„œ ์™„์ „ํžˆ ๊ถŒํ•œ์ด ์—†๋Š” ์ƒํƒœ๋กœ ์‹คํ–‰"
๋ณด์•ˆ์ฒ˜๋Ÿผ ๋“ค๋ฆฌ์ง€๋งŒ ๋ณด์•ˆ ๊ทน์žฅ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฐœ์ธ ํŒŒ์ผ์€ ๋‹ค์Œ์—์„œ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ปจํ…Œ์ด๋„ˆ. ์œ„์—์„œ Toolbox๋Š” ๋ณด์•ˆ์— ๋Œ€ํ•ด ์–ด๋– ํ•œ ์ฃผ์žฅ๋„ ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž„์„ ๋ถ„๋ช…ํžˆ ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚˜๋Š” ๊ทธ๊ฒƒ์ด README์— ํฌํ•จํ•˜์—ฌ ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ 
์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ, ๋ณด์•ˆ์ด ์•„๋‹Œ ํŽธ์˜๋ฅผ ์œ„ํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์ปค๋ฐ‹ c047659c1d85ca982374da5c58ee7a24ba3847bd ๋Š” ํ•ด๋‹น ์ค„์ด ์ถ”๊ฐ€๋œ ์œ„์น˜์ž…๋‹ˆ๋‹ค. @cgwalters ๋Š” ๋„๊ตฌ ์ƒ์ž ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์˜ ๊ณ ์œ ํ•œ UID์—๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๊ณ  ์‹ค์ œ ๋ฃจํŠธ(์ฆ‰, ํ˜ธ์ŠคํŠธ์˜ UID 0)๋Š” ๊ด€๋ จ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋งํ•œ ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‚ด SSH ํ‚ค์™€ ๊ธฐํƒ€ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ํ›”์น˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š” ์—†์ด ์™„์ „ํžˆ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์œผ๋กœ Silverblue๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ์ƒ์ž์—์„œ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์‚ฌ์‹ค์€ ํฐ ์‹ค๋ง์ด์—ˆ๊ณ  ์ฒ˜์Œ๋ถ€ํ„ฐ Silverblue ์‚ฌ์šฉ์„ ์žฌ๊ณ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋‚˜๋Š” ๋ฉ”์ธ OS ์„ค์น˜์— ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ๋‚˜๋Š” ํ•ญ์ƒ ๊ทธ๊ฒƒ์„ ๋‹ค์‹œ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ง„์ •์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ  ์‹ถ์€ ์ •๋ณด๋Š” ๋‚ด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด ๊ณต์œ ๋˜๋Š”์ง€ ๋” ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋„๊ตฌ ์ƒ์ž์— ํ•„์š”ํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ(๋ฐ์Šคํฌํ†ฑ ๊ตฌ์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋“ฑ)๋งŒ ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋งŽ์€ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด์ œ ๋ณด์•ˆ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์™„๋ฒฝํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Qubes OS๋ฅผ ๋ช‡ ๋…„ ๋™์•ˆ ์‚ฌ์šฉํ•ด ์™”๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฉ๋ฆฌ ๋ฌธ์ œ๋Š” ์–ด๋ ค์šด ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋ณดํ˜ธํ•˜๋”๋ผ๋„ ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ํด๋ฆฝ๋ณด๋“œ์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์˜ ๋‹ค๋ฅธ ํ†ต์‹  ์ˆ˜๋‹จ์„ ํ•ญ์ƒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์ „์ฒด Qubes ์„ค์น˜์™€ ๋น„๊ตํ•˜์—ฌ ๋„๊ตฌ ์ƒ์ž์™€ ๊ฐ™์€ ํŽธ์˜๋ฅผ ๋Œ€๊ฐ€๋กœ ์ด๋Ÿฌํ•œ ์œ„ํ—˜ ์ค‘ ์ผ๋ถ€๋ฅผ ๊ธฐ๊บผ์ด ๊ฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์—ฌ๊ธฐ ์— ๊ฒŒ์‹œ๋˜์–ด

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ์‚ฌ์‹ค ์ด์šฉํ•œ๋‹ค toolbox ๋– ๋“ค์ฉํ•œ ํŒŒํ‹ฐ ์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ๋Š” ์ฐธ์กฐ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ $HOME ์˜ ๊ฒฝ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์— /home/user ์š”๊ตฌ๋ฅผ ์กฐํšŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ $HOME ์— ํŠน์ • ํ†ตํ™”์— toolbox ์ž ์žฌ์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜์—†๋Š” ์šฉ๊ธฐ์™€ ๊ณต์œ  ํ•  ์ค‘์š”ํ•œ ๊ฐœ์ธ ํŒŒ์ผ์˜ ์ „์ฒด ์ „์ฒด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ ์ด์™ธ์˜ AA ๋””๋ ‰ํ† ๋ฆฌ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ž˜ํผ๋กœ ๋„๊ตฌ ์ƒ์ž๋ฅผ ์‹œ์ž‘ํ•˜์—ฌ ๋„๊ตฌ ์ƒ์ž ๊ตฌ์„ฑ๋งŒ ํฌํ•จํ•˜๋Š” ๋นˆ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

#!/bin/bash
mkdir -p ~/toolboxes
HOME=~/toolboxes "$@"'

์ด ์Šคํฌ๋ฆฝํŠธ์˜ ์ด๋ฆ„์ด toolbox ์ด๊ณ  $PATH๋ฅผ ์‹œ์Šคํ…œ toolbox ์•ž์— ๋„ฃ์œผ๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ์ด ์†”๋ฃจ์…˜์€ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ์ด์ œ tlbx ํฌํฌ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค: https://gitlab.com/uppercat/tlbx/issues/3

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ผ๋Š” ๋งˆ์Œ์œผ๋กœ Silverblue๋ฅผ ์„ค์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค.
๋‚ด SSH๋ฅผ ํ›”์น˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š” ์—†์ด ์™„์ „ํžˆ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.
ํ‚ค ๋ฐ ๊ธฐํƒ€ ๋ฏผ๊ฐํ•œ ์ •๋ณด.

์Œ... ์˜คํ•ด์˜ ์†Œ์ง€๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์‚ฌ์šฉ์ž๋กœ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ Flatpak์€ ์ด๋ฏธ ๋ฏผ๊ฐํ•œ ์ •๋ณด ์†์‹ค์— ๋Œ€ํ•œ ๊ฑฑ์ •์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ๋œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์›ํ•˜์‹ ๋‹ค๋ฉด ๊ทธ๊ฑด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

๋˜ํ•œ, ์ด ์ค‘ ์–ด๋Š ๊ฒƒ๋„ Silverblue์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ˆ˜์‹ญ ๋…„ ๋™์•ˆ ์กด์žฌํ–ˆ์œผ๋ฉฐ ์†”๋ฃจ์…˜์€ Silverblue์—๋งŒ ๊ตญํ•œ๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๊ธฐ์กด ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ OS์—์„œ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ toolbox ๊ฐ€ bash ์Šคํฌ๋ฆฝํŠธ๋กœ ๊ตฌํ˜„๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.
/home/user ์˜ ๊ฒฝ๋กœ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ์— ํ™˜๊ฒฝ ๋ณ€์ˆ˜ $HOME ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค.
์กฐํšŒํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํŠน์ • ํ™˜๊ฒฝ ๋ณ€์ˆ˜ $HOME ๋ฅผ ์„ค์ •ํ•˜์—ฌ
toolbox ํ˜ธ์ถœํ•˜๋ฉด ์ „์ฒด ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๊ท€์ค‘ํ•œ ํŒŒ์ผ๋กœ ๊ฐ€๋“ ์ฐจ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ž ์žฌ์ ์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ๊ณต์œ ํ•  ๊ฐœ์ธ ํŒŒ์ผ.

์˜ˆ, ๊น”๋”ํ•œ ํ•ดํ‚น์ž…๋‹ˆ๋‹ค. :)

๊ทธ๋Ÿฌ๋‚˜ Toolbox ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ ์šด์˜ ์ฒด์ œ์— ํ•„์š”ํ•œ ๋…ธ๋ ฅ๊ณผ ๊ฑฐ์˜ ๋™์ผํ•œ ๋…ธ๋ ฅ์œผ๋กœ ์ด๋ฏธ์ง€ ๊ธฐ๋ฐ˜(ํŠนํžˆ OSTree ๊ธฐ๋ฐ˜) ์šด์˜ ์ฒด์ œ์—์„œ ๋‹ค์–‘ํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํžˆ ํƒ€๋‹นํ•œ ๋ฐ”๋žจ์ด์ง€๋งŒ ์ฆ‰๊ฐ์ ์ธ ํ•  ์ผ ๋ชฉ๋ก์— ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ƒˆ๋กœ์šด ๊ฒƒ์ด ์•„๋‹ˆ๋ฉฐ ์˜์›ํžˆ ์กด์žฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ Silverblue๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋ณด์•ˆ์— ๊ด€ํ•œ ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์šด์˜ ์ฒด์ œ์˜ ์•ˆ์ •์„ฑ๊ณผ ๊ฒฌ๊ณ ์„ฑ์˜ ๊ฐœ์„ ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Flatpaks์˜ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜๋ฏ€๋กœ ๊ทธ๋Ÿฐ ์˜๋ฏธ์—์„œ ๋ณด์•ˆ์„ ๊ฐ„์ ‘์ ์œผ๋กœ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ Linux ๋ฐฐํฌํŒ์—์„œ ๊ธฐ์กด ๋ฌธ์ œ์˜ ์ผ๋ถ€๋ฅผ ์œ ์ง€ํ•˜๋”๋ผ๋„ ๊ธฐ๋Šฅ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๊ธฐ์กด ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜์ด ์†”๋ฃจ์…˜์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์•„๋ฌด ๊ฒƒ๋„ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค. :)

๋ฏธํ•ด๊ฒฐ ๋ฌธ์ œ ๋ชฉ๋ก์ด ํ†ต์ œ ๋ถˆ๋Šฅ ์ƒํƒœ๊ฐ€ ๋˜์ง€ ์•Š๊ณ  ํ˜„์žฌ ํ•  ์ผ ๋ชฉ๋ก์— ์žˆ๋Š” ํ•ญ๋ชฉ์„ ๋Œ€๋žต์ ์œผ๋กœ ๋ฐ˜์˜ํ•˜๋„๋ก ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ–ฅํ›„ ์ฐธ์กฐ๋ฅผ ์œ„ํ•ด ๊ณ„์† ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์˜ README.md ๊ฐ€ ๋” ์ฝ๊ธฐ ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

ํ , ๋‚˜๋Š” ๊ทธ ์ฃผ์žฅ์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์˜ค๋ž˜๋˜๊ณ  ์˜์›ํžˆ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๊นŒ?? ๊ทธ๊ฒƒ์€ ์ข‹์€ ๊ด€์ ์ด ์•„๋‹™๋‹ˆ๋‹ค, IMHO.
๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์ด ๋งํ–ˆ๋“ฏ์ด flatpak์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๊ณ„์ ์œผ๋กœ ๋ณด์•ˆ์„ ํ–ฅ์ƒํ•˜๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒฉ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋˜ํ•œ "ํ , ์šฐ๋ฆฌ๋Š” ์•ฑ์„ rpm ํŒจํ‚ค์ง€๋กœ ์˜์›ํžˆ ์ถœํ•˜ํ–ˆ๋Š”๋ฐ ์™œ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋งํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ ์ƒ์ž๊ฐ€ ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ๋„ ๋ถ„๋ฆฌํ•˜์ง€ ์•Š์•„์•ผ ํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์–ด์จŒ๋“  https://github.com/containers/toolbox/issues/348 ์—์„œ ํ† ๋ก ์„ ๊ณ„์†ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํˆด๋ฐ•์Šค์˜ ๊ธฐ์—ฌ์ž ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋Š” ์ด ์Šค๋ ˆ๋“œ๋ฅผ ํ”„๋กœ์ ํŠธ์— ํˆฌ์ž…๋œ ์•„์ด๋””์–ด์™€ ์ž‘์—…์— ๋Œ€ํ•œ ๊ฐ•ํƒ€๋กœ ๋ฐ›์•„๋“ค์ด๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์•„์ด๋””์–ด์— ํฅ๋ถ„ํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ๋ฐ›์•„๋“ค์—ฌ์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. $HOME ์ด์™ธ์˜ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ž‘์—…์— ๋Œ€ํ•œ ์ €ํ•ญ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ๊ณผ ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ํฌ๊ฒŒ ๊ฐœ์„ ํ•˜์—ฌ ์ฑ„ํƒ๊ณผ ๊ด€์‹ฌ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

#348 ์—์„œ $HOME ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ์„ ์ œ์•ˆํ•œ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. $HOME ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž‘์—…ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ•ดํ‚ค ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋‚ด ๋‘๋ ค์›€์€ ๋„๊ตฌ ์ƒ์ž๊ฐ€ go๋กœ ๋‹ค์‹œ ์ž‘์„ฑ๋  ๋•Œ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๊ธฐ๋Šฅ์„ ์š”๊ตฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋„๊ตฌ ์ƒ์ž, rpm-ostree ๋ฐ silverblue๋ฅผ ์ฑ„ํƒํ•˜๋Š” ์ง„์ž… ์žฅ๋ฒฝ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋”๋ผ๋„ ๋„๊ตฌ ์ƒ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๊ฐ€๋Šฅ์„ฑ์„ ์—ด์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‚ด๊ฐ€ ํ•  ์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ๋„์šธ ์˜ํ–ฅ์ด ์žˆ์œผ๋ฉฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ๊ธฐ๊บผ์ด ๋„์šธ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์ด ๋…ผ์Ÿ์˜ ์—ฌ์ง€๊ฐ€ ์—†๊ณ  ํ–ฅํ›„ ๋„๊ตฌ ์ƒ์ž ๋ฆด๋ฆฌ์Šค์—์„œ ์ œ์™ธ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ œ ์ƒ๊ฐ์—๋Š” ํ˜„์žฌ ๊ทธ ์•ˆ์— ์—†๋Š” ์œ ์ผํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งˆ๋ผํ†ค์—์„œ ๋งˆ์ง€๋ง‰ 10๋ฏธํ„ฐ๋ฅผ ๋๋‚ด๊ณ  dnf๋ฅผ ์–ป๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (๋ง์žฅ๋‚œ ์˜๋„ :))

๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ๊ฑฐ๋ž˜ ์ฐจ๋‹จ๊ธฐ์˜€์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋„๊ตฌ ์ƒ์ž์™€ Silverblue๋ฅผ ํฌ๊ธฐํ•œ ํ›„
์ด ๊ฒฐํ•จ์„ ์ฐพ๋Š” ๊ฒƒ.

๋ฌธ์ œ๊ฐ€ ์˜ค๋ž˜๋˜๊ณ  ์˜์›ํžˆ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—
๊ทธ๋ƒฅ ์•ˆํ’€์–ด?? ๊ทธ๊ฒƒ์€ ์ข‹์€ ๊ด€์ ์ด ์•„๋‹™๋‹ˆ๋‹ค, IMHO.

์ฆ‰๊ฐ์ ์ธ ํ•  ์ผ ๋ชฉ๋ก ์— ๋ฌด์–ธ๊ฐ€๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์€ ํ•ด๊ฒฐํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด ์šฐ์„ ์ˆœ์œ„ ๋ผ๋Š” ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์ด ๋งํ–ˆ๋“ฏ์ด flatpak์€ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ๊ณ„์ ์œผ๋กœ ๋ณด์•ˆ์„ ๊ฐœ์„ ํ•˜๊ณ 
์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒฉ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋˜ํ•œ "ํ , ์šฐ๋ฆฌ๋Š” ์•ฑ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ฐฐ์†กํ–ˆ์Šต๋‹ˆ๋‹ค.
rpm ํŒจํ‚ค์ง€๋Š” ์˜์›ํžˆ, ์™œ ์šฐ๋ฆฌ๊ฐ€ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?", ๊ทธ๋“ค์€ ๋ฐฉ๊ธˆ ํ–ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์„ ํ•ด๊ฒฐํ•˜์‹ญ์‹œ์˜ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๋“ค์ด ๋ผ๋Š” ๋‹จ์–ด

์ข‹์•„, ์ข‹์•„, ๊ทธ๋ž˜์„œ ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•ด์„ํ•œ๋‹ค๋ฉด, ์ด๊ฒƒ์€ ๋‹น์‹ ์˜ "์ฆ‰์‹œ ํ•ด์•ผ ํ•  ์ผ ๋ชฉ๋ก"์— ์—†๋Š” ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•œ ์•„์ด๋””์–ด์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. (ํŠนํžˆ ํฌํฌ์—์„œ ์ผ๋ถ€ ํŒจ์น˜๋ฅผ ์„ ๋ณ„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฌ์šธ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.)*

๊ทธ๋ ‡๋‹ค๋ฉด ์ด ๋ฌธ์ œ๋ฅผ ์—ด์–ด ๋‘๊ณ  "๋„์›€์ด ํ•„์š”ํ•จ"์œผ๋กœ ํƒœ๊ทธ๋ฅผ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค. ๋„์›€์ด ์‹ค์ œ๋กœ ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ... ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ PR์„ ์ˆ˜๋ฝํ•œ๋‹ค๊ณ  ๋งํ•˜๋ฉด ๊ตฌํ˜„๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๋‚˜๋Š” ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๋ง‰์ง€ ๋ชปํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๊ธฐ๋Šฅ ํŒจ๋ฆฌํ‹ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. :์ƒ๊ฐ:

* ์˜ˆ, ์ด๊ฒƒ์ด Go์—์„œ ๋‹ค์‹œ ์ž‘์„ฑ๋œ ๊ฒƒ์„ ๋ณด๊ณ  ์••๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ์—ฌ์ „ํžˆ ๋„์›€์ด ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ ์–ด๋„ ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์ฐธ๊ฐ€์ž ์ค‘ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ https://gitlab.com/bkhl/etui ์—์„œ ๋‚ด ํ”„๋กœํ† ํƒ€์ž…์— ๋Œ€ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ํ™•์ธํ•˜๊ณ  ์ œ๊ณตํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ด ๋ฌธ์ œ๋ฅผ ์•ฝ๊ฐ„ ํ•˜์ด์žฌํ‚นํ•ฉ๋‹ˆ๋‹ค.

๋ณด๋‹ค ์—„๊ฒฉํ•˜๊ฒŒ ํฌํ•จ๋œ ๊ฐœ๋ฐœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์›ํ•  ๋•Œ Toolbox์˜ ๋Œ€์•ˆ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

@bkhl ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ถ๋งˆํฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰