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

[:๋ฃจ]

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

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

  • Pantheon ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ค‘ ๊ธฐ๋ณธ OS ํ”„๋กœ์ ํŠธ(services.xserver.desktopManager.pantheon.enable์„ ํ†ตํ•ด ํ™œ์„ฑํ™”๋จ)
  • Kubernetes ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋œ ๋ชจ๋“ˆ์ด ํฌ๊ฒŒ ์žฌ์„ค๊ณ„๋˜์–ด ๋ณ„๋„์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋‚˜๋ˆ„์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด TLS ๋ฐ RBAC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • chroot ํ™˜๊ฒฝ์—์„œ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด systemd.services์— ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์›๋˜๋Š” Aarch64 ์•„ํ‚คํ…์ฒ˜์šฉ ์„ค์น˜ ์ด๋ฏธ์ง€๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    UEFI;

  • CPython 3.7(๊ธฐ์กด 3.6)์„ ํฌํ•จํ•œ ๋ฐฐํฌ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „
  • CockroachDB, bolt, lirc๋ฅผ ํฌํ•จํ•œ 22๊ฐœ์˜ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ๋ผ์šด๋“œํ๋ธŒ, ์œ„์ฑ—, ๋งค๋“ญ.

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

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

์ถœ์ฒ˜opennet.ru

[EN]

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

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

  • Pantheon ๋ฐ์Šคํฌํƒ‘ ํ™˜๊ฒฝ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ค‘ ๊ธฐ๋ณธ OS ํ”„๋กœ์ ํŠธ(services.xserver.desktopManager.pantheon.enable์„ ํ†ตํ•ด ํ™œ์„ฑํ™”๋จ)
  • Kubernetes ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ์ด ํฌํ•จ๋œ ๋ชจ๋“ˆ์ด ํฌ๊ฒŒ ์žฌ์„ค๊ณ„๋˜์–ด ๋ณ„๋„์˜ ๊ตฌ์„ฑ ์š”์†Œ๋กœ ๋‚˜๋ˆ„์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด TLS ๋ฐ RBAC๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • chroot ํ™˜๊ฒฝ์—์„œ ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด systemd.services์— ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์›๋˜๋Š” Aarch64 ์•„ํ‚คํ…์ฒ˜์šฉ ์„ค์น˜ ์ด๋ฏธ์ง€๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    UEFI;

  • CPython 3.7(๊ธฐ์กด 3.6)์„ ํฌํ•จํ•œ ๋ฐฐํฌ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์—…๋ฐ์ดํŠธ๋œ ๋ฒ„์ „
  • CockroachDB, bolt, lirc๋ฅผ ํฌํ•จํ•œ 22๊ฐœ์˜ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ๋ผ์šด๋“œํ๋ธŒ, ์œ„์ฑ—, ๋งค๋“ญ.

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

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

์ถœ์ฒ˜ : opennet.ru

[:]

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