GNU Guix 1.4 ํจํค์ง ๊ด๋ฆฌ์์ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ GNU/Linux ๋ฐฐํฌํ์ด ์ถ์๋์์ต๋๋ค. ๋ค์ด๋ก๋๋ฅผ ์ํด USB ํ๋์(814MB)์ ์ค์นํ๊ณ ๊ฐ์ํ ์์คํ (1.1GB)์์ ์ฌ์ฉํ๊ธฐ ์ํ ์ด๋ฏธ์ง๊ฐ ์์ฑ๋์์ต๋๋ค. i686, x86_64, Power9, armv7 ๋ฐ aarch64 ์ํคํ ์ฒ์์์ ์์ ์ ์ง์ํฉ๋๋ค.
์ด ๋ฐฐํฌํ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ํ ์์คํ , ์ปจํ ์ด๋ ๋ฐ ๊ธฐ์กด ์ฅ๋น์ ๋ ๋ฆฝํ OS๋ก ์ค์นํ ์ ์์ผ๋ฉฐ ์ด๋ฏธ ์ค์น๋ GNU/Linux ๋ฐฐํฌํ์์ ์คํ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์ํ ํ๋ซํผ ์ญํ ์ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์์๊ฒ๋ ์ข ์์ฑ ๊ณ ๋ ค, ๋ฐ๋ณต ๊ฐ๋ฅํ ๋น๋, ๋ฃจํธ ์์ด ์์ , ๋ฌธ์ ๋ฐ์ ์ ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ, ๊ตฌ์ฑ ๊ด๋ฆฌ, ํ๊ฒฝ ๋ณต์ (๋ค๋ฅธ ์ปดํจํฐ์ ์ํํธ์จ์ด ํ๊ฒฝ์ ์ ํํ ๋ณต์ฌ๋ณธ ์์ฑ) ๋ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค. .
์ฃผ์ ํ์ :
- ์ํํธ์จ์ด ํ๊ฒฝ ๊ด๋ฆฌ๊ฐ ํฅ์๋์์ต๋๋ค. "guix ํ๊ฒฝ" ๋ช
๋ น์ ์๋ก์ด "guix ์" ๋ช
๋ น์ผ๋ก ๋์ฒด๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ฅผ ์ํ ๋น๋ ํ๊ฒฝ์ ๋ง๋ค ์ ์์ ๋ฟ๋ง ์๋๋ผ ํ๋กํ์ ๋ฐ์๋์ง ์๊ณ "guix shell"์ ์ํํ์ง ์๊ณ ๋ ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์ต์ํด์ง ์ ์์ต๋๋ค. GUIX ์ค์นโ. ์๋ฅผ ๋ค์ด, supertuxkart ๊ฒ์์ ๋ค์ด๋ก๋ํ๊ณ ์คํํ๋ ค๋ฉด "guix shell supertuxkart - supertuxkart"๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค. ๋ค์ด๋ก๋ํ ํ์๋ ํจํค์ง๊ฐ ์บ์์ ์ ์ฅ๋๋ฉฐ ๋ค์ ์คํ ์ ํจํค์ง๋ฅผ ๋ค์ ์ถ์ถํ ํ์๊ฐ ์์ต๋๋ค.
๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฒฝ ์์ฑ์ ๋จ์ํํ๊ธฐ ์ํด "guix ์"์ ํ๊ฒฝ ๊ตฌ์ฑ์ ์ค๋ช ํ๋ guix.scm ๋ฐ Manifest.scm ํ์ผ์ ๋ํ ์ง์์ ์ ๊ณตํฉ๋๋ค("--export-manifest" ์ต์ ์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์ฑํ ์ ์์). ํด๋์ ์์คํ ๋๋ ํ ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ๊ฐ ์๋ฎฌ๋ ์ด์ ๋๋ ์ปจํ ์ด๋๋ฅผ ์์ฑํ๊ธฐ ์ํด "guix shell"์ "โcontainer โemulate-fhs" ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
- ํ ํ๊ฒฝ์ ์ ์ดํ๊ธฐ ์ํด "guix home" ๋ช ๋ น์ด ์ถ๊ฐ๋์์ต๋๋ค. Guix๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์ผ๋ก ์์ํ๋ ํจํค์ง, ์๋น์ค ๋ฐ ํ์ผ์ ํฌํจํ์ฌ ํ ํ๊ฒฝ์ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. "guix home" ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ์ค๋ช ๋ ํ ํ๊ฒฝ์ ์ธ์คํด์ค๋ฅผ $HOME ๋๋ ํฐ๋ฆฌ๋ ์ปจํ ์ด๋์์ ๋ค์ ์์ฑํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์ ํ๊ฒฝ์ ์ ์ปดํจํฐ๋ก ์ ์กํ ์ ์์ต๋๋ค.
- Debian์ ์ค์นํ ์ ์๋ ๋ณ๋์ deb ํจํค์ง๋ฅผ ์์ฑํ๊ธฐ ์ํด "guix pack" ๋ช ๋ น์ "-f deb" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค.
- ๋ค์ํ ์ ํ์ ์์คํ ์ด๋ฏธ์ง(์์, QCOW2, ISO8660 CD/DVD, Docker ๋ฐ WSL2)๋ฅผ ์์ฑํ๊ธฐ ์ํด ์์ฑ๋ ์ด๋ฏธ์ง์ ๋ํ ์คํ ๋ฆฌ์ง ์ ํ, ํํฐ์ ๋ฐ ์ด์ ์ฒด์ ๋ฅผ ๊ฒฐ์ ํ ์ ์๋ ๋ฒ์ฉ "guix ์์คํ ์ด๋ฏธ์ง" ๋ช ๋ น์ด ์ ์๋ฉ๋๋ค. .
- ํจํค์ง ๋น๋ ๋ช ๋ น์ โโtuneโ ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ํน์ ์ต์ ํ๊ฐ ํ์ฑํ๋ ํ๋ก์ธ์ ๋ง์ดํฌ๋ก์ํคํ ์ฒ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค(์: AVX-512 SIMD ๋ช ๋ น์ด๋ ์๋ก์ด AMD ๋ฐ Intel CPU์์ ์ฌ์ฉํ ์ ์์) .
- ์ค์น ํ๋ก๊ทธ๋จ์ ์ค์น ์คํจ ์ ์ค์ํ ๋๋ฒ๊น ์ ๋ณด๋ฅผ ์๋์ผ๋ก ์ ์ฅํ๋ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํฉ๋๋ค.
- ๋์ ์ฐ๊ฒฐ ์ค์ ์บ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๊ฐ์ด ๋จ์ถ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฒ์ ์ stat ํธ์ถ ๋ฐ ๊ณต๊ฐ ์์คํ ํธ์ถ์ด ์ค์ด๋ญ๋๋ค.
- ์์ ์๋น์ค(์ผ์์ ) ๊ฐ๋ ๊ณผ ๋คํธ์ํฌ ํ๋์ ์ํด ํ์ฑํ๋๋ ์๋น์ค๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ(์์คํ ์์ผ ํ์ฑํ ์คํ์ผ)์ ๊ตฌํํ๋ GNU Shepherd 0.9 ์ด๊ธฐํ ์์คํ ์ ์๋ก์ด ๋ฆด๋ฆฌ์ค๊ฐ ์ฌ์ฉ๋์์ต๋๋ค.
- ์ด์ ์ฒด์ ๊ตฌ์ฑ์์ ์ค์ ํํฐ์ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๊ธฐ ์ํ ์๋ก์ด ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ ์ ๋คํธ์ํฌ ๊ตฌ์ฑ์ ์ค์ ํ๊ธฐ ์ํ ์ธํฐํ์ด์ค๊ฐ ์ฌ์ค๊ณ๋์ด ์ด์ ip ๋ช ๋ น ์คํ์ผ์ ์ ์ธ์ ์๋ ๋ก๊ทธ ์ค์ ์ ์ ๊ณตํฉ๋๋ค.
- Jami, Samba, fall15ban ๋ฐ Gitile์ ํฌํจํ 2๊ฐ์ ์๋ก์ด ์์คํ ์๋น์ค๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ํจํค์ง ํ์์ ์ํด packages.guix.gnu.org๋ฅผ ์ถ์ํ์ต๋๋ค.
- 6573๊ฐ ํจํค์ง์ ํ๋ก๊ทธ๋จ ๋ฒ์ ์ด ์ ๋ฐ์ดํธ๋์๊ณ , 5311๊ฐ์ ์ ํจํค์ง๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋ฌด์๋ณด๋ค๋ GNOME 42, Qt 6, GCC 12.2.0, Glibc 2.33, Xfce 4.16, Linux-libre 6.0.10, LibreOffice 7.4.3.2, Emacs 28.2์ ์ ๋ฐ์ดํธ๋ ๋ฒ์ ์ ๋๋ค. Python 500๋ฅผ ์ฌ์ฉํ์ฌ 2๊ฐ๊ฐ ๋๋ ํจํค์ง๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
GNU Guix ํจํค์ง ๊ด๋ฆฌ์๋ Nix ํ๋ก์ ํธ ๊ฐ๋ฐ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ์ผ๋ฐ์ ์ธ ํจํค์ง ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ธ์๋ ํธ๋์ญ์ ์ ๋ฐ์ดํธ ์ํ, ์ ๋ฐ์ดํธ ๋กค๋ฐฑ ๊ธฐ๋ฅ, ์ํผ์ ์ ๊ถํ ์์ด ์์ , ๊ฐ๋ณ ์ฌ์ฉ์์ ์ฐ๊ฒฐ๋ ํ๋กํ, ํ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๋ฒ์ ์ ๋์์ ์ค์นํ๋ ๊ธฐ๋ฅ, ๊ฐ๋น์ง ์์ง ๋๊ตฌ(์ฌ์ฉํ์ง ์๋ ํจํค์ง ๋ฒ์ ์๋ณ ๋ฐ ์ ๊ฑฐ). ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ์๋๋ฆฌ์ค ๋ฐ ํจํค์ง ๊ตฌ์ฑ ๊ท์น์ ์ ์ํ๋ ค๋ฉด ๊ธฐ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Scheme์์ ๋ชจ๋ ํจํค์ง ๊ด๋ฆฌ ์์ ์ ์ํํ ์ ์๋ ํน์ํ ๊ณ ๊ธ ๋๋ฉ์ธ๋ณ ์ธ์ด ๋ฐ Guile Scheme API ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ ์๋ฉ๋๋ค.
Nix ํจํค์ง ๊ด๋ฆฌ์์ฉ์ผ๋ก ์ค๋น๋๊ณ Nixpkgs ์ ์ฅ์์ ๋ฐฐ์น๋ ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์ง์๋ฉ๋๋ค. ํจํค์ง ์์ ์ธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ํจํค์ง๊ฐ ๋น๋๋๋ฉด ์ด์ ๊ด๋ จ๋ ๋ชจ๋ ์ข ์์ฑ์ด ์๋์ผ๋ก ๋ค์ด๋ก๋๋์ด ๋น๋๋ฉ๋๋ค. ์ ์ฅ์์์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง ๋ฐ์ด๋๋ฆฌ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ๋ชจ๋ ์ข ์์ฑ์ด ์๋ ์์ค ํ ์คํธ์์ ๋น๋ํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ธ๋ถ ์ ์ฅ์์์ ์ ๋ฐ์ดํธ ์ค์น๋ฅผ ๊ตฌ์ฑํ์ฌ ์ค์น๋ ํ๋ก๊ทธ๋จ์ ๋ฒ์ ์ ์ต์ ์ํ๋ก ์ ์งํ๋ ๋๊ตฌ๊ฐ ๊ตฌํ๋์์ต๋๋ค.
ํจํค์ง์ ๋น๋ ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๋๋ฐ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ํฌํจํ๋ ์ปจํ ์ด๋ ํํ๋ก ๊ตฌ์ฑ๋์ด ๋ฐฐํฌํ์ ๊ธฐ๋ณธ ์์คํ ํ๊ฒฝ ๊ตฌ์ฑ์ ๊ด๊ณ์์ด ์๋ํ ์ ์๋ ํจํค์ง ์ธํธ๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, Guix๊ฐ ์ ๋์จ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฏธ ์ค์น๋ ์ข ์์ฑ์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ค์น๋ ํจํค์ง ๋๋ ํฐ๋ฆฌ์ ์๋ณ์ ํด์๋ฅผ ๊ฒ์ํ์ฌ Guix ํจํค์ง ๊ฐ์ ์ข ์์ฑ์ ํ์ธํ ์ ์์ต๋๋ค. ํจํค์ง๋ ๋ณ๋์ ๋๋ ํฐ๋ฆฌ ํธ๋ฆฌ๋ ์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ์ ํ์ ๋๋ ํฐ๋ฆฌ์ ์ค์น๋๋ฏ๋ก ๋ค๋ฅธ ํจํค์ง ๊ด๋ฆฌ์์ ๋ณ๋ ฌ๋ก ๊ณต์กดํ ์ ์๊ณ ๊ด๋ฒ์ํ ๊ธฐ์กด ๋ฐฐํฌํ์ ๋ํ ์ง์์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํจํค์ง๋ /nix/store/452a5978f3b1b426064a2b64a0c6f41-firefox-108.0.1/๋ก ์ค์น๋ฉ๋๋ค. ์ฌ๊ธฐ์ "452a59..."๋ ์ข ์์ฑ ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉ๋๋ ๊ณ ์ ํจํค์ง ์๋ณ์์ ๋๋ค.
๋ฐฐํฌํ์๋ ๋ฌด๋ฃ ๊ตฌ์ฑ ์์๋ง ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ฐ์ด๋๋ฆฌ ํ์จ์ด์ ๋น์์ ์์๊ฐ ์ ๊ฑฐ๋ GNU Linux-Libre ์ปค๋์ด ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. ์ด์
๋ธ๋ฆฌ์๋ GCC 12.2๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. GNU Shepherd ์๋น์ค ๊ด๋ฆฌ์(์ด์ ์ dmd)๋ ์ข
์์ฑ์ ์ง์ํ๋ SysV-init์ ๋์์ผ๋ก ๊ฐ๋ฐ๋ ์ด๊ธฐํ ์์คํ
์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. Shepherd ์ ์ด ๋ฐ๋ชฌ๊ณผ ์ ํธ๋ฆฌํฐ๋ Guile(Scheme ์ธ์ด ๊ตฌํ ์ค ํ๋)๋ก ์์ฑ๋์์ผ๋ฉฐ ์๋น์ค ์์์ ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ํ๋ ๋ฐ์๋ ์ฌ์ฉ๋ฉ๋๋ค. ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ ์ฝ์ ๋ชจ๋ ์์
์ ์ง์ํ์ง๋ง X.Org ๊ธฐ๋ฐ ๊ทธ๋ํฝ ์คํ ๊ตฌ์ฑ ์์, dwm ๋ฐ Ratpoison ์ฐฝ ๊ด๋ฆฌ์, GNOME ๋ฐ Xfce ๋ฐ์คํฌํ, ๋ค์ํ ๊ทธ๋ํฝ ์ต์
์ ํฌํจํ์ฌ 20526๊ฐ์ ๊ธฐ์ฑ ํจํค์ง๊ฐ ์ค์น์ฉ์ผ๋ก ์ค๋น๋์ด ์์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ.
์ถ์ฒ : opennet.ru