Nix ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•œ NixOS 21.11 ๋ฐฐํฌ ๋ฆด๋ฆฌ์Šค

Nix ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ ์„ค์ • ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ž์ฒด ๊ฐœ๋ฐœ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” NixOS 21.11 ๋ฐฐํฌํŒ์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด NixOS๋Š” ๋‹จ์ผ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ํŒŒ์ผ(configuration.nix)์„ ์‚ฌ์šฉํ•˜๊ณ , ์—…๋ฐ์ดํŠธ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋กค๋ฐฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ , ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ์ƒํƒœ ๊ฐ„ ์ „ํ™˜์„ ์ง€์›ํ•˜๊ณ , ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž์˜ ๊ฐœ๋ณ„ ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค(ํŒจํ‚ค์ง€๋Š” ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์œ„์น˜ํ•จ). ), ๋™์ผํ•œ ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฌ๋Ÿฌ ๋ฒ„์ „์„ ๋™์‹œ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. KDE์˜ ์ „์ฒด ์„ค์น˜ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋Š” 1.6GB, GNOME์€ 2GB, ๋‹จ์ถ• ์ฝ˜์†” ๋ฒ„์ „์€ 765MB์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • KDE ํ”Œ๋ผ์ฆˆ๋งˆ ๋ฐ์Šคํฌํƒ‘์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Wayland ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GNOME 41 ๋ฐ Pantheon 6(Elementary OS 6์—์„œ) ๋ฐ์Šคํฌํƒ‘์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • iptables ๋Œ€์‹  iptables-nft ์„ธํŠธ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋™์ผํ•œ ๋ช…๋ น์ค„ ๊ตฌ๋ฌธ์œผ๋กœ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ ๊ฒฐ๊ณผ ๊ทœ์น™์„ nf_tables ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • Systemd 249, PHP 8.0, Python 3.9, PostgreSQL 13, bash 5, OpenSSH 8.8p1์˜ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.
  • LXD ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. nixpkgs๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ LXD์šฉ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณ„๋„๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” nixos-rebuild๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•˜์—ฌ nixOS ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
  • Git, btrbk(btrfs ๋ฐฑ์—…),clipcat(ํด๋ฆฝ๋ณด๋“œ ๊ด€๋ฆฌ์ž), dex(OAuth 40 ๊ณต๊ธ‰์ž), Jibri(Jitsi Meet ํšŒ์˜ ๋…นํ™” ์„œ๋น„์Šค), Kea(DHCP ์„œ๋ฒ„), owncast(์ŠคํŠธ๋ฆฌ๋ฐ) ๋น„๋””์˜ค๋ฅผ ํฌํ•จํ•˜์—ฌ 2.0๊ฐœ ์ด์ƒ์˜ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค ์ถ”๊ฐ€ , PeerTube, ucarp(CARP ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„), opensnitch(๋™์  ๋ฐฉํ™”๋ฒฝ), Hockeypuck(OpenPGP ํ‚ค ์„œ๋ฒ„), MeshCentral(TeamViewer์™€ ์œ ์‚ฌ), influxdb2(๋ฉ”ํŠธ๋ฆญ ์ €์žฅ์„ ์œ„ํ•œ DBMS), liquidd(3D ํ”„๋ฆฐํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค), postfixadmin(Postfix ๊ธฐ๋ฐ˜ ๋ฉ”์ผ ์„œ๋ฒ„ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค), Seafile(ํด๋ผ์šฐ๋“œ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ”Œ๋žซํผ).

Nix๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํŒจํ‚ค์ง€๋Š” ๋ณ„๋„์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ํŠธ๋ฆฌ /nix/store ๋˜๋Š” ์‚ฌ์šฉ์ž ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํŒจํ‚ค์ง€๋Š” /nix/store/a2b5...8b163-firefox-94.0.2/๋กœ ์„ค์น˜๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ "a2b5..."๋Š” ์ข…์†์„ฑ ๋ชจ๋‹ˆํ„ฐ๋ง์— ์‚ฌ์šฉ๋˜๋Š” ๊ณ ์œ  ํŒจํ‚ค์ง€ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ž‘๋™ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Nix ๊ฐœ๋ฐœ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” GNU Guix ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์—์„œ๋„ ์œ ์‚ฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ ์„ค์น˜๋œ ์ข…์†์„ฑ์ด ์žˆ๋Š”์ง€ ์ฐพ๊ธฐ ์œ„ํ•ด ์„ค์น˜๋œ ํŒจํ‚ค์ง€์˜ ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ํ•ด์‹œ ์‹๋ณ„์ž๋ฅผ ์Šค์บ”ํ•˜์—ฌ ํŒจํ‚ค์ง€ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ฑฐ๋‚˜(๋ฐ”์ด๋„ˆ๋ฆฌ ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค์น˜ํ•  ๋•Œ ๋ธํƒ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๋งŒ ๋‹ค์šด๋กœ๋“œ๋จ) ๋ชจ๋“  ์ข…์†์„ฑ์ด ์žˆ๋Š” ์†Œ์Šค์—์„œ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒจํ‚ค์ง€ ๋ชจ์Œ์€ ํŠน๋ณ„ํ•œ Nixpkgs ์ €์žฅ์†Œ์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€