systemd ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž ๋ฆด๋ฆฌ์Šค 257

257๊ฐœ์›” ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž systemd XNUMX์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ systemd-sbsign ๋ฐ systemd-keyutil, ์†Œ์ผ“์„ ํ†ตํ•ด ํ™œ์„ฑํ™”๋  ๋•Œ MPTCP ์ง€์›, Musl C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ดˆ๊ธฐ ์ง€์›์ž…๋‹ˆ๋‹ค. systemd-sysupdate๋ฅผ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ ์„ค์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ updatectl ์œ ํ‹ธ๋ฆฌํ‹ฐ, ๋ณ„๋„์˜ PID ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ, "systemd-tmpfiles โ€”purge" ์‚ฌ์šฉ ์‹œ ์‹ค์ˆ˜๋กœ ํŒŒ์ผ์ด ์‚ญ์ œ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ƒˆ ๋ฆด๋ฆฌ์Šค์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • EFI ๋ณด์•ˆ ๋ถ€ํŒ… ๋ชจ๋“œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ PE(Portable Executable) ํ˜•์‹์˜ ์‹คํ–‰ ํŒŒ์ผ์— ๋””์ง€ํ„ธ ์„œ๋ช…์„ ํ•˜๋Š” ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ systemd-sbsign์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. OpenSSL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ์—”์ง„๊ณผ ํ”„๋กœ๋ฐ”์ด๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ช…์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. systemd-sbsign์€ UEFI ๋ถ€ํŠธ ๋กœ๋”(UEFI ๋ถ€ํŠธ ์Šคํ…)์™€ ์ปค๋„ ์ด๋ฏธ์ง€๋ฅผ ๋‹จ์ผ ํŒŒ์ผ๋กœ ๊ฒฐํ•ฉํ•œ ์œ ๋‹ˆ๋ฒ„์„ค ์ปค๋„ ์ด๋ฏธ์ง€(UKI)๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ukify ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ sbsigntool ๋ฐ pesign ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Linux ๊ทธ๋ฆฌ๊ณ  initrd ์‹œ์Šคํ…œ ํ™˜๊ฒฝ์ด ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ ํ‚ค ๋ฐ X.509 ์ธ์ฆ์„œ์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๋Š” ์ƒˆ๋กœ์šด ์œ ํ‹ธ๋ฆฌํ‹ฐ systemd-keyutil์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, systemd-keyutil์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ์ธ ํ‚ค์™€ ์ธ์ฆ์„œ๋ฅผ ๋กœ๋“œํ•˜๊ณ  PEM ํ˜•์‹์œผ๋กœ ๊ณต๊ฐœ ํ‚ค๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์†Œ์ผ“ ํ™œ์„ฑํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜(๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ์„ค์ • ์‹œ ์‹œ์ž‘ ํ”„๋กœ์„ธ์Šค)์˜ ์ž‘๋™์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ".socket" ์œ ๋‹›์—๋Š” MPTCP(๋ฉ€ํ‹ฐํŒจ์Šค TCP) ์ง€์›์ด ๊ตฌํ˜„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. MPTCP๋Š” TCP ํ”„๋กœํ† ์ฝœ์˜ ํ™•์žฅ์œผ๋กœ, ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค์— ๋ฐ”์ธ๋”ฉ๋œ ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ํŒจํ‚ท์„ ๋™์‹œ์— ์ „์†กํ•˜์—ฌ TCP ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ.
  • ํ‘œ์ค€ Musl C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋นŒ๋“œํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ๊ธฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋‹ค์–‘ํ•œ systemd ๊ตฌ์„ฑ ์š”์†Œ(์˜ˆ: systemd-repart, systemd-sysupdate/updatectl ๋ฐ importctl)์—์„œ ์ด์ œ ANSI ์‹œํ€€์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง„ํ–‰๋ฅ  ํ‘œ์‹œ๋ฅผ ์• ๋‹ˆ๋ฉ”์ด์…˜ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œํ€€์Šค๋Š” ํ˜„์žฌ ๋‹ค์Œ์—์„œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. Windows ํ„ฐ๋ฏธ๋„ (์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์œ ์‚ฌํ•œ ๊ธฐ๋Šฅ์ด ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋กœ ์ด์ „๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.) Linux).
  • systemd-sysupdate ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ธฐ๋Šฅ์ด ํ™•์žฅ๋˜์–ด ํŒŒํ‹ฐ์…˜, ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ต์ฒดํ•˜๊ธฐ ์œ„ํ•œ ์›์ž ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๊ฐ์ง€, ๋‹ค์šด๋กœ๋“œ ๋ฐ ์„ค์น˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค(๋‘ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ํŒŒํ‹ฐ์…˜/ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉฐ ๊ทธ ์ค‘ ํ•˜๋‚˜์—๋Š” ํ˜„์žฌ ์ž‘์—…์ด ํฌํ•จ๋จ). ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์„น์…˜/ํŒŒ์ผ/๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ๊ต์ฒด๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ systemd-sysupdate๋Š” ์ด๋ฏธ GNOME OS์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    systemd-sysupdate ํ”„๋กœ์„ธ์Šค ์™ธ์—๋„ D-Bus๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋™์ผํ•œ ์ด๋ฆ„์˜ ์„œ๋น„์Šค๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด updatectl ์œ ํ‹ธ๋ฆฌํ‹ฐ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋‹ค์šด๋กœ๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋กœ์ปฌ ์‹œ์Šคํ…œ์— ์ด๋ฏธ ๋‹ค์šด๋กœ๋“œ๋œ ๋ฒ„์ „๋งŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด systemd-sysupdate์— "--offline" ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ช…๋ น์— ๋Œ€ํ•ด JSON ํ˜•์‹์˜ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค ์‹๋ณ„์ž ๊ณต๊ฐ„(PID ๋„ค์ž„์ŠคํŽ˜์ด์Šค)์—์„œ PID 1(์ดˆ๊ธฐ ํ”„๋กœ์„ธ์Šค)์ด ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์‹œ์ž‘์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด ์†์„ฑ "PrivatePIDs"๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘๋œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์ƒ์„ฑ๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ์ƒ์„ฑ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • udev ๊ทœ์น™์— ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๋Š” ์ผ์น˜์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: 'ATTR{foo}==iยปabcdยป'). udev๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ถŒํ•œ์ด ์—†๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž์—๊ฒŒ libcamera๋ฅผ ํ†ตํ•ด IPMI ์นด๋ฉ”๋ผ ์ž‘์—…์— ํ•„์š”ํ•œ /dev/udmabuf ์žฅ์น˜์— ๋Œ€ํ•œ ์•ก์„ธ์Šค("uaccess")๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. udev๋Š” USB ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํ•˜๋“œ์›จ์–ด ์•”ํ˜ธํ™”ํ ์ง€๊ฐ‘์„ ์ธ์‹ํ•˜๊ณ  ID_HARDWARE_WALLET ์†์„ฑ์„ ์„ค์ •ํ•˜์—ฌ ๊ถŒํ•œ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก "uaccess" ๋ชจ๋“œ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด ํ•„๋“œ RELEASE_TYPE, EXPERIMENT ๋ฐ EXPERIMENT_URL์ด /etc/os-release ํŒŒ์ผ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. "RELEASE_TYPE"์€ "์‹คํ—˜", "๊ฐœ๋ฐœ", "์•ˆ์ •" ๋ฐ "lts" ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐ ์‹คํ—˜ ๋นŒ๋“œ์—์„œ ์•ˆ์ • ๋ฒ„์ „์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. EXPERIMENT ๋ฐ EXPERIMENT_URL ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์‹คํ—˜์  ๋นŒ๋“œ์˜ ๋ณธ์งˆ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • sudo ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ run0 ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋Š” ๋ช…๋ น ์…ธ ํ”„๋กฌํ”„ํŠธ์˜ ์ ‘๋‘์‚ฌ ๋ฌธ์ž์—ด์„ ์ง€์ •ํ•˜๋Š” "--shell-prompt-prefix" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒ์Šน๋œ ์„ธ์…˜์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ชจํ‹ฐ์ฝ˜ โ€œ๐Ÿฆธโ€์ด ์ ‘๋‘์–ด๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • systemd-tmpfiles์—์„œ ์‹ค์ˆ˜๋กœ ์ž˜๋ชป๋œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด์ œ "--purge" ์˜ต์…˜์€ "$" ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์„ค์ •๋œ tmpfiles.d/์˜ ์„ค์ •์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. "--purge" ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์ด์ œ tmpfiles.d/ ๋””๋ ‰ํ„ฐ๋ฆฌ์—์„œ ์ตœ์†Œํ•œ ํ•˜๋‚˜์˜ ํŒŒ์ผ์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 'L' ์œ ํ˜•์˜ ๋ฌธ์ž์—ด์— ๋Œ€ํ•ด '?' ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ์ง€์ •ํ•˜๋ฉด ๋Œ€์ƒ ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค ๊ด€๋ฆฌ์ž ๋ฐ ๊ด€๋ จ ์œ ํ‹ธ๋ฆฌํ‹ฐ์—์„œ ํ”„๋กœ์„ธ์Šค ์ถ”์  ์ฝ”๋“œ๋Š” PID ๋Œ€์‹  PIDFD๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๊ณ„์† ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. PIDFD๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š” ๋ฐ˜๋ฉด, PID๋Š” ํ•ด๋‹น PID์™€ ์—ฐ๊ฒฐ๋œ ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์—ฐ๊ฒฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค์˜ ๊ฒฝ์šฐ ์ด์ œ "RestartMode" ๋งค๊ฐœ๋ณ€์ˆ˜์— "debug" ๊ฐ’์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์‹คํŒจํ•œ ์„œ๋น„์Šค๋Š” ๋””๋ฒ„๊ทธ ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ๋กœ ๋‹ค์‹œ ์‹œ์ž‘๋˜๊ณ (ํ™˜๊ฒฝ ๋ณ€์ˆ˜ DEBUG_INVOCATION=1์ด ์„ค์ •๋จ) LogLevelMax ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ผ์‹œ์ ์œผ๋กœ ๋””๋ฒ„๊ทธ ์ˆ˜์ค€์œผ๋กœ ์˜ฌ๋ ค์กŒ์Šต๋‹ˆ๋‹ค.
  • PID 1 ํ•ธ๋“ค๋Ÿฌ์—๋Š” ์ „์ฒด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๋ฌด๊ฒฐ์„ฑ ์ •์ฑ…(ํ—ˆ์šฉ๋˜๋Š” ์ž‘์—… ๋ฐ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์‹ ๋ขฐ์„ฑ์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•)์„ ์ •์˜ํ•˜๋Š” IPE(๋ฌด๊ฒฐ์„ฑ ์ •์ฑ… ์ ์šฉ) LSM ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ๊ทœ์น™์„ ๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ".timer" ์œ ๋‹› ํŒŒ์ผ์— "DeferReactivation" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋งˆ์ง€๋ง‰ ํ™œ์„ฑํ™” ์ดํ›„ ์„œ๋น„์Šค ์‹คํ–‰์ด ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋‹ค์Œ ํƒ€์ด๋จธ ํ™œ์„ฑํ™”๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ PrivateUsers ์œ ๋‹› ํŒŒ์ผ ๋งค๊ฐœ๋ณ€์ˆ˜์—์„œ "identity" ๊ฐ’์„ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉ์ž ID ๋งคํ•‘์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • /tmp/ ๋ฐ /var/tmp/ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•ด ๋ณ„๋„์˜ tmpfs ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” PrivateTmp ๋‹จ์œ„ ํŒŒ์ผ ๋งค๊ฐœ๋ณ€์ˆ˜์— "disconnected" ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด "private" ๋ฐ "strict" ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ProtectControlGroups ์œ ๋‹› ํŒŒ์ผ ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ค์ •ํ•˜๋ฉด ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ƒˆ๋กœ์šด cgroup ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  cgroupfs๊ฐ€ ๋งˆ์šดํŠธ๋ฉ๋‹ˆ๋‹ค. "strict" ์˜ต์…˜์ด ์„ค์ •๋˜๋ฉด cgroupfs๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ๋งˆ์šดํŠธ๋ฉ๋‹ˆ๋‹ค.
  • StateDirectory, RuntimeDirectory, CacheDirectory, LogsDirectory ๋ฐ ConfigurationDirectory ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ':ro' ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์ œํ•œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • SMBIOS/DeviceTree์˜ UUID๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹œ์Šคํ…œ ์‹๋ณ„์ž(๋จธ์‹  ID)๊ฐ€ ๊ณ„์‚ฐ๋˜๋Š” "systemd.machine_id" ์ปค๋„ ๋ช…๋ น์ค„ ๋งค๊ฐœ๋ณ€์ˆ˜์— "ํŽŒ์›จ์–ด" ๊ฐ’์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ตœ๊ทผ ์ปค๋„ ๋ฆด๋ฆฌ์Šค์—์„œ ๋„์ž…๋œ mseal(), listmount(), statmount() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Linux.
  • ์ด์ œ resolvectl, timedatectl ๋ฐ systemd-inhibit ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” Polkit์„ ์‚ฌ์šฉํ•œ ๋Œ€ํ™”ํ˜• ์ธ์ฆ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • systemctl ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” "reenable" ๋ช…๋ น์— "--now" ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • JSON ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด systemd-mount ์œ ํ‹ธ๋ฆฌํ‹ฐ์— "--json" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "--list-devices"์™€ ํ•จ๊ป˜ ์ง€์ •ํ•˜๋ฉด ์žฅ์น˜ ๋ชฉ๋ก์ด JSON ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
  • ์ถœ๋ ฅ ์ค‘ ๊ธด ์ค„ ์ž๋ฅด๊ธฐ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด "localectl" ์œ ํ‹ธ๋ฆฌํ‹ฐ์— "-l" ๋ฐ "--full" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • HibernateOnACPower ์˜ต์…˜์ด sleep.conf์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์žฅ์น˜๊ฐ€ ๊ณ ์ • ์ „์›์—์„œ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ๋•Œ๊นŒ์ง€ ์ ˆ์ „ ๋ชจ๋“œ๋กœ์˜ ์ „ํ™˜์„ ์ง€์—ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • systemd-sysusers์—์„œ๋Š” "u" ์ค„์— "!" ์ˆ˜์ •์ž์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ์™„์ „ํžˆ ์ž ๊ธด ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด์ „์—๋Š” ์ž˜๋ชป๋œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์„ค์ •ํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ์ฐจ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. SSH์—์„œ ํ‚ค ์ธ์ฆ ์ค‘์— ์ฐจ๋‹จ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
  • Systemd-coredump๋Š” ๋””๋ฒ„๊น… ๊ธฐํ˜ธ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๋งˆ์šดํŠธ ์ง€์  ๊ณต๊ฐ„์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” "EnterNamespace" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด ์˜ต์…˜์€ ๊ฒฉ๋ฆฌ๋œ ์ปจํ…Œ์ด๋„ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ํŒŒ์ผ ์—ญ์ถ”์ ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • systemd-logind์—๋Š” ๋ณด์•ˆ ๋กœ๊ทธ์ธ ๋Œ€ํ™” ์ƒ์ž๋ฅผ ํ‘œ์‹œํ•˜๋ผ๋Š” ์š”์ฒญ๊ณผ ํ•จ๊ป˜ org.freedesktop.login1.SecureAttentionKey ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ๊ตฌ์„ฑ ์š”์†Œ์— ๋ณด๋‚ด๋Š” Ctrl-Alt-Shift-Esc ์กฐํ•ฉ ์ฒ˜๋ฆฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ง€์ •๋œ ์‹œ๊ฐ„์— ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋„๋ก ์ž๋™์œผ๋กœ ์˜ˆ์•ฝํ•˜๋Š” "DesignatedMaintenanceTime" ์„ค์ •์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. DRM ๋ฐ evdev ์žฅ์น˜ ์ง€์›๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ, ๊ถŒํ•œ ์—†๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์žฅ์น˜(๊ฒŒ์ž„ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ ์กฐ์ด์Šคํ‹ฑ)๋ฅผ ์ˆจ๊ธฐ๊ธฐ ์œ„ํ•œ ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • systemd-machined์—์„œ ์ด์ œ ๊ถŒํ•œ์ด ์—†๋Š” ํด๋ผ์ด์–ธํŠธ ๋กœ๊ทธ์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๊ธฐ๊ธฐ ์ปจํ…Œ์ด๋„ˆ๋„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. systemd-machined ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ D-Bus ์™ธ์—๋„ Varlink API๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • IPv6 ์ฃผ์†Œ์— ๋Œ€ํ•œ ๋ ˆ์ด๋ธ”๊ณผ ์ ‘๋‘์‚ฌ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด networkd.conf ๊ตฌ์„ฑ ํŒŒ์ผ์— ์ƒˆ๋กœ์šด ์„น์…˜ โ€œ[IPv6AddressLabel]โ€์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์—์„œ ํŒŒ์ผ ์ฝ˜ํ…์ธ ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด 'networkctl edit' ๋ช…๋ น์— "--stdin" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. 'networkctl edit' ๋ฐ 'networkctl cat' ๋ช…๋ น์— ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ง€์ •ํ•˜์—ฌ .netdev ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜๊ณ  ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€ํ™”ํ˜• ์ธ์ฆ์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด "--no-ask-password" ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • OpenSSL ๊ณต๊ธ‰์ž์—์„œ ์ง์ ‘ ๋กœ๋“œํ•˜๋Š” ๋Œ€์‹  OpenSSL ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด X.509 ์ธ์ฆ์„œ๋ฅผ ๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด ukify, bootctl, systemd-keyutil, systemd-measure, systemd-repart ๋ฐ systemd-sbsign ์œ ํ‹ธ๋ฆฌํ‹ฐ์— "--certificate-source" ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ.
  • systemd-boot์—๋Š” ๋ณผ๋ฅจ ๋ฒ„ํŠผ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ถ€ํŒ… ๋ฉ”๋‰ด๋ฅผ ์œ„์•„๋ž˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์–ด ์Šค๋งˆํŠธํฐ๊ณผ ๊ฐ™์€ ์žฅ์น˜์—์„œ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. systemd-boot์— ๋Œ€ํ•œ ESL(db/dbx/โ€ฆ) ํ˜•์‹์˜ UEFI ๋ณด์•ˆ ๋ถ€ํŒ… ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜์— ๋Œ€ํ•œ ์ง€์›์ด bootctl ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์œ ๋‹› ํ˜ธ์ถœ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•˜๋Š” "--list-invocation" ์˜ต์…˜๊ณผ ํŠน์ • ํ˜ธ์ถœ๊ณผ ๊ด€๋ จ๋œ ๋กœ๊ทธ๋งŒ ํ‘œ์‹œํ•˜๋Š” "--invocation" ์˜ต์…˜("-I")์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • systemd-nspawn์€ ์ปจํ…Œ์ด๋„ˆ์—์„œ FUSE(์‚ฌ์šฉ์ž ๊ณต๊ฐ„์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ)์˜ ๊ถŒํ•œ ์—†๋Š” ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. "--bind-user" ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด SSH๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šคํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž์˜ SSH ํ‚ค๊ฐ€ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.
  • libsystemd์—๋Š” JSON ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค "sd-json"๊ณผ IPC Varlink๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค "sd-varlink"๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ถŒ์žฅ๋˜๋Š” ๊ธฐ๋ณธ ์ปค๋„ ๋ฒ„์ „์ด 5.4๋…„์— ํ˜•์„ฑ๋œ ๋ฆด๋ฆฌ์Šค 2019๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚ด๋…„์—๋Š” ์ด์ „ ์ปค๋„ ์ง€์›์„ ์ค‘๋‹จํ•˜๊ณ  5.4 ๋ฆด๋ฆฌ์Šค๋ฅผ ์ตœ์†Œ ์ง€์› ๊ธฐ๋ณธ ๋ฒ„์ „์œผ๋กœ ํ‘œ์‹œํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • cgroups v1์— ๋Œ€ํ•œ ์ง€์›์€ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด systemd ์„ค์ •์—์„œ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์ปค๋„ ๋ช…๋ น์ค„์—์„œ SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. systemd 258์˜ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” cgroups v1 ๊ด€๋ จ ์ฝ”๋“œ๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. Systemd ๋ฒ„์ „ 258์—์„œ๋Š” System V ์„œ๋น„์Šค ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์ง€์›๋„ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster