openSUSE ํ๋ก์ ํธ ๊ฐ๋ฐ์๋ ๊ธฐ์กด SUSE ๋ฐ openSUSE ์ค์น ์ธํฐํ์ด์ค๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๊ฐ๋ฐ ์ค์ธ Agama 10 ์ค์น ํ๋ก๊ทธ๋จ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ฐํํ์ผ๋ฉฐ YaST ๋ด๋ถ์์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ถ๋ฆฌํ ๊ฒ์ผ๋ก ์ ๋ช ํฉ๋๋ค. Agama๋ ์น ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ค์น๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ฐํธ์๋์ ๊ฐ์ ๋ค์ํ ํ๋ฐํธ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์๋ก์ด ์ค์น ํ๋ก๊ทธ๋จ์ ํ ์คํธํ๊ธฐ ์ํด x86_64, ppc64le, s390x ๋ฐ ARM64 ์ํคํ ์ฒ์ฉ ๋ผ์ด๋ธ ๋น๋๊ฐ ์์ฑ๋์ด openSUSE Leap 16์ ์ํ ๋ฒ์ , ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ openSUSE Tumbleweed ๋น๋ ๋ฐ ์ปจํ ์ด๋ ๊ธฐ๋ฐ MicroOS ์๋์ ์ ์ค์น๋ฅผ ์ง์ํฉ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ ์์ ์ฝ๋๋ GPLv2 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋๋ฉฐ Ruby, Rust ๋ฐ JavaScript/TypeScript๋ก ์์ฑ๋์์ต๋๋ค.

Agama ๊ฐ๋ฐ์ ์ฃผ์ ๋ชฉํ๋ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค์ ๊ธฐ์กด ์ ํ์ ์ ๊ฑฐํ๊ณ , ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์์ YaST ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ , ๋จ์ผ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ฝ๋งค์ด์ง ์๊ณ , ์ปค๋ฎค๋ํฐ ๊ตฌ์ฑ์์ด ๋์ฒด ์ค์ ์ ์์ฑํ๋๋ก ์ฅ๋ คํ๋ ๊ฒ์ ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ์๋ ์ด๊ธฐ ์์ฉ ํ๋ก๊ทธ๋จ ์ธํธ ์ ํ, ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ค์ , ์ธ์ด, ํค๋ณด๋, ์๊ฐ๋ ๋ฐ ์ง์ญํ ์ค์ , ์ ์ฅ ์ฅ์น ์ค๋น ๋ฐ ํํฐ์ ๋, ์์คํ ์ ์ฌ์ฉ์ ์ถ๊ฐ์ ๊ฐ์ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด ์์ต๋๋ค.
ํจํค์ง ์ค์น, ์ฅ๋น ํ์ธ, ๋์คํฌ ํํฐ์ ๋ฐ ๊ธฐํ ์ค์น์ ํ์ํ ๊ธฐ๋ฅ์ ํ์ธํ๊ธฐ ์ํด Agama๋ YaST ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ์ ์ฌ์ฉํ๋ฉฐ, ๊ทธ ์์ HTTP ๊ธฐ๋ฐ ํตํฉ ํต์ ํ๋กํ ์ฝ์ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ์ถ์ ์ก์ธ์ค๋ฅผ ๊ตฌํํ๋ ๋ ์ด์ด ์๋น์ค๊ฐ ๊ตฌํ๋ฉ๋๋ค. ์ค์น ํ๋ก๊ทธ๋จ์ ๋ค์ค ํ๋ก์ธ์ค ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ค๋ฅธ ์์ ์ด ์ํ๋๋ ๋์ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๊ฐ ์ฐจ๋จ๋์ง ์์ต๋๋ค. ์ค์น ๊ด๋ฆฌ๋ฅผ ์ํ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค๋ ์น ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์์ต๋๋ค. ์น ์ธํฐํ์ด์ค๋ React ํ๋ ์์ํฌ์ PatternFly ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ์ฌ JavaScript๋ก ์์ฑ๋์์ต๋๋ค. Ruby๋ก ์์ฑ๋ ๋ฉ์์ง ์๋น์ค ๋ฐ ๋ด์ฅ http ์๋ฒ์ ๋๋ค.
์ ๋ฒ์ ์์:
- ๋ธ๋ผ์ฐ์ ์์ ์ค์น ํ๋ก๊ทธ๋จ ์น ์ธํฐํ์ด์ค๋ฅผ ์ด ์ ์๋ ๋งํฌ๊ฐ ํฌํจ๋ QR ์ฝ๋๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ค๋งํธํฐ์์ ์ค์น ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.

- "agama config edit" ๋ช
๋ น์ ์ฌ์ฉํ์ฌ JSON ํ์์ ๊ตฌ์ฑ ํ์ผ์ ํธ์งํ ๋ ์ฌ์ฉ๋๋ ๊ตฌ๋ฌธ ๊ฐ์กฐ๋ฅผ ์ํ ๊ตฌ์ฑ ์์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ํธ์ง์ ์ํด Vim์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํธ์ถ๋ฉ๋๋ค(EDITOR ํ๊ฒฝ ๋ณ์๋ฅผ ํตํด ๋ค๋ฅธ ํธ์ง๊ธฐ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค).

- ์๋ ์ค์น ๋ชจ๋์์๋ ์ ์ฅ ๊ณต๊ฐ์ ๋์ ํ ๋น(์ฌ ํ๋ก๋น์ ๋)์ ์ฌ์ฉํ์ฌ LVM ํํฐ์ , ๋ ผ๋ฆฌ์ LVM ํํฐ์ , ํ ๋ฐ LVM ํํฐ์ ๊ทธ๋ฃน์ ์์ฑํ ์ ์์ต๋๋ค. ๊ธฐ์กด ๋ ผ๋ฆฌ ํํฐ์ ๋ฐ ํํฐ์ ๊ทธ๋ฃน ์ฌ์ฉ์ ์์ง ์ง์๋์ง ์์ต๋๋ค. ํํฐ์ ์ ์๋์ผ๋ก ์ญ์ ํ๋ ๋ ๊ฐ์ง ๋ชจ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋ฌด์กฐ๊ฑด ์ญ์ ์ ํ์ํ ๋๋ง ์ญ์ ํ๋ ๊ฒ(์ง์ ๋ ํํฐ์ ์ ์์ฑํ ๊ณต๊ฐ์ด ์ถฉ๋ถํ์ง ์์ ๊ฒฝ์ฐ)์ ๋๋ค.
- ๊ตฌ์ฑ์ ์ง์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ ์ธ์ ํจํค์ง๋ฅผ ์ค์นํ๊ธฐ ์ํ ๋ฆฌํฌ์งํ ๋ฆฌ URL์ ์ง์ ํ ์ ์๋ ๋ถํ ๋งค๊ฐ๋ณ์ "agama.install_url"์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Typescript์์ ์ค์น ํ๋ก๊ทธ๋จ ์น ์ธํฐํ์ด์ค์ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์์ผ๋ก ๊ฐ๋ฐ์๋ค์ ํ์์ ๋ฐ๋ผ ์ฝ๋๋ฅผ JavaScript์์ Typescript๋ก ์ ์ง์ ์ผ๋ก ์ด์ ํ ๊ณํ์ ๋๋ค.
- ์น ์ธํฐํ์ด์ค๋ TanStack Query ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋ชจ๋์์ ์ํ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
- ๋ผ์ด๋ธ ๋ชจ๋์์ ๋ค์ด๋ก๋ ํ ์ถ๊ฐ ํจํค์ง ์ค์น์ ์ฌ์ฉํ ์ ์๋ ์ ์ฅ ์ฉ๋์ด 500MB์์ 3.5GB๋ก ํ์ฅ๋์์ต๋๋ค.
- ์น ์ธํฐํ์ด์ค์ ์๋ํ๋ ํ ์คํธ๋ฅผ ์ํด Playwright ์์คํ ๋์ Puppeteer JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ช ๋ น์ค์์ ์์๋ ์ค์น ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ ๊ตฌ์ฑ ์์๋ ์ค์น ํ๋ก๊ทธ๋จ์ ๋ด์ฅ๋ HTTP ์๋ฒ์ ์ก์ธ์คํ๋ HTTP ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ DBus์์ ์ ์ก๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru


