์ด๊ฒ์ Ubuntu Online, Fedora Online, Windows ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ ๋๋ MAC OS ์จ๋ผ์ธ ์๋ฎฌ๋ ์ดํฐ์ ๊ฐ์ ์ฌ๋ฌ ๋ฌด๋ฃ ์จ๋ผ์ธ ์ํฌ์คํ ์ด์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ OnWorks ๋ฌด๋ฃ ํธ์คํ ์ ๊ณต์ ์ฒด์์ ์คํํ ์ ์๋ systemd ๋ช ๋ น์ ๋๋ค.
ํ๋ก๊ทธ๋จ:
์ด๋ฆ
systemd, init - systemd ์์คํ ๋ฐ ์๋น์ค ๊ด๋ฆฌ์
๊ฐ์
์์คํ [์ต์ ...]
INIT [์ต์ ...] {๋ช ๋ น}
๊ธฐ์
systemd๋ Linux ์ด์ ์ฒด์ ์ฉ ์์คํ ๋ฐ ์๋น์ค ๊ด๋ฆฌ์์ ๋๋ค. ์ฒ์์ผ๋ก ์คํํ ๋
๋ถํ ์ ํ๋ก์ธ์ค(PID 1๋ก), ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ถ๋ฌ์ค๊ณ ์ ์งํ๋ ์ด๊ธฐํ ์์คํ ์ผ๋ก ์๋ํฉ๋๋ค.
์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
SysV์์ ํธํ์ฑ์ ์ํด systemd๊ฐ ๋ค์๊ณผ ๊ฐ์ด ํธ์ถ๋๋ ๊ฒฝ์ฐ INIT 1์ด ์๋ PID๋
์คํ ํ ๋ฆฌ๋ ๋ชจ๋ ๋ช ๋ น์ค ์ธ์๋ฅผ ์์ ํ์ง ์๊ณ ์ ๋ฌํฉ๋๋ค. ๊ทธ ์๋ฏธ๋ INIT ๋ฐ
ํ ๋ฆฌ๋ ์ผ๋ฐ ๋ก๊ทธ์ธ ์ธ์ ์์ ํธ์ถํ ๋ ๋๋ถ๋ถ ๋์ผํฉ๋๋ค. ๋ณด๋ค ํ ๋ฆฌ๋(8)
์์ธํ ์ ๋ณด.
์์คํ ์ธ์คํด์ค๋ก ์คํํ ๋ systemd๋ ๊ตฌ์ฑ ํ์ผ system.conf๋ฅผ ํด์ํ๊ณ
system.conf.d ๋๋ ํ ๋ฆฌ์ ํ์ผ; ์ฌ์ฉ์ ์ธ์คํด์ค๋ก ์คํ๋ ๋ systemd๋
๊ตฌ์ฑ ํ์ผ user.conf ๋ฐ user.conf.d ๋๋ ํ ๋ฆฌ์ ํ์ผ. ๋ณด๋ค ์์คํ ํ
์์คํ .conf(5) ์์ธํ ๋ด์ฉ์.
์ต์
๋ค์ ์ต์ ์ด ์ดํด๋ฉ๋๋ค.
--์ํ
์์ ์์๋ฅผ ๊ฒฐ์ ํ๊ณ ๋คํํ๊ณ ์ข ๋ฃํฉ๋๋ค. ๋๋ฒ๊น ์ ์ ์ฉํ ์ต์ ์ ๋๋ค.
๋ก ์์ฑ๋์ด์ผ ํฉ๋๋ค.
--๋คํ ๊ตฌ์ฑ ํญ๋ชฉ
์ดํดํ ๋จ์ ๊ตฌ์ฑ ํญ๋ชฉ์ ๋คํํฉ๋๋ค. ์ด๊ฒ์ ๊ฐ๊ฒฐํ์ง๋ง ์์ ํ ๋ชฉ๋ก์ ์ถ๋ ฅํฉ๋๋ค.
๋จ์ ์ ์ ํ์ผ์์ ์ดํด๋๋ ๊ตฌ์ฑ ํญ๋ชฉ.
--๋จ์=
์์ํ ๋ ํ์ฑํํ ๊ธฐ๋ณธ ๋จ์๋ฅผ ์ค์ ํฉ๋๋ค. ์ง์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ๊ฐ์ default.target์ ๋๋ค.
--์ฒด๊ณ, --์ฌ์ฉ์
๋ญ์ ๋ฆฌ --์ฒด๊ณ, ํ๋ก์ธ์ค ID๊ฐ 1์ด ์๋๋๋ผ๋ ์์คํ ์ธ์คํด์ค๋ฅผ ์คํํ๋๋ก systemd์ ์ง์ํฉ๋๋ค.
์ฆ, systemd๋ init ํ๋ก์ธ์ค๋ก ์คํ๋์ง ์์ต๋๋ค. --์ฌ์ฉ์ ๋ฐ๋๋ก ์ฌ์ฉ์๋ฅผ ์คํ
ํ๋ก์ธ์ค ID๊ฐ 1์ธ ๊ฒฝ์ฐ์๋ ์ธ์คํด์ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๋ฌํ ํ์๋ ์์ต๋๋ค.
์ด๋ฌํ ์ต์ ์ systemd๊ฐ ์์๋๋ ๋ชจ๋๋ฅผ ์๋์ผ๋ก ๊ฐ์งํ๋ฏ๋ก
๋ฐ๋ผ์ ์ต์ ์ ๋๋ฒ๊น ์ ์ ์ธํ๊ณ ๋ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. ์ง์ํ์ง ์์ผ๋ ์ฐธ๊ณ ํ์ธ์
systemd๊ฐ ์คํ๋๋ ์ ์ฒด ์์คํ ๋ถํ ๋ฐ ์ ์ง ๊ด๋ฆฌ --์ฒด๊ณ ๋ชจ๋์ด์ง๋ง PID
1. ์ค์ ๋ก ํต๊ณผ --์ฒด๊ณ ๋ช ์์ ์ผ๋ก ๋ค์๊ณผ ํจ๊ป๋ง ์ ์ฉํฉ๋๋ค.
--์ํ.
--๋คํ ์ฝ์ด
์ถฉ๋ ์ ์ฝ์ด ๋คํ์ ํ์ฑํํฉ๋๋ค. ์ด ์ค์์น๋ ์ฌ์ฉ์ ์ธ์คํด์ค๋ก ์คํํ ๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.
์ด ์ค์ ์ ๋ถํ ์ค์ ์ปค๋ ๋ช ๋ น์ค์ ํตํด ํ์ฑํ๋ ์๋ ์์ต๋๋ค.
systemd.dump_core= ์ต์ ์ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
--์ถฉ๋-vt=VT
์ถฉ๋ ์ ํน์ ๊ฐ์ ์ฝ์(VT)๋ก ์ ํํฉ๋๋ค. ์์ ์์ ์ ์๋ฅผ ์ทจํฉ๋๋ค.
๋ฒ์ 1โ63 ๋๋ ๋ถ์ธ ์ธ์. ์ ์๊ฐ ์ ๋ฌ๋๋ฉด ์ ํํ VT๋ฅผ ์ ํํฉ๋๋ค.
์๊ฒ. ๋ง์ฝ์ ์, VT ์ปค๋ ๋ฉ์์ง๊ฐ ๊ธฐ๋ก๋๋ ๊ฐ ์ ํ๋ฉ๋๋ค. ๋ง์ฝ์ ์๋, VT ์ค์์น๊ฐ ์์ต๋๋ค.
์๋ํ๋ค. ์ด ์ค์์น๋ ์ฌ์ฉ์ ์ธ์คํด์ค๋ก ์คํํ ๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ์ด ์ค์ ์
๋ถํ ํ๋ ๋์ ์ปค๋ ๋ช ๋ น์ค์์ ๋ค์์ ํตํด ํ์ฑํํ ์๋ ์์ต๋๋ค. systemd.crash_vt=
์ต์ ์ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
--ํฌ๋์ ์
์ถฉ๋ ์ ์ ธ์ ์คํํฉ๋๋ค. ์ด ์ค์์น๋ ์ฌ์ฉ์ ์ธ์คํด์ค๋ก ์คํํ ๋ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ์ด๊ฒ
๋ถํ ํ๋ ๋์ ์ปค๋ ๋ช ๋ น์ค์์ ์ค์ ์ ํ์ฑํํ ์๋ ์์ต๋๋ค.
systemd.crash_shell= ์ต์ ์ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
--์ถฉ๋-์ฌ๋ถํ
์ถฉ๋ ์ ์์คํ ์ ์๋์ผ๋ก ์ฌ๋ถํ ํฉ๋๋ค. ์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ด ์คํํ ๋ ์๋ฌด ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ฌ์ฉ์ ์ธ์คํด์ค. ์ด ์ค์ ์ ๋ถํ ํ๋ ๋์ ์ปค๋ ๋ช ๋ น์์ ํ์ฑํ๋ ์๋ ์์ต๋๋ค.
๋ผ์ธ์ ํตํด systemd.crash_reboot= ์ต์ ์ ์๋๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
--ํ์ -์คํฐ
ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ๋ ํ์ธ์ ์์ฒญํฉ๋๋ค. ์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ด ์คํํ ๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ฌ์ฉ์ ์ธ์คํด์ค.
--show-์ํ=
๋ถํ ํ๋ ๋์ ๊ฐ๊ฒฐํ ์๋น์ค ์ํ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค. ์ด ์ค์์น๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํจ๊ณผ๊ฐ ์์ต๋๋ค.
์ฌ์ฉ์ ์ธ์คํด์ค๋ก ์คํํฉ๋๋ค. ์๋ต๋ ์ ์๋ ๋ถ์ธ ์ธ์๋ฅผ ์ทจํฉ๋๋ค.
๋ก ํด์ ์ฐธ๋.
--๋ก๊ทธ ๋์=
๋ก๊ทธ ๋์์ ์ค์ ํฉ๋๋ค. ์ธ์๋ ๋ค์ ์ค ํ๋์ฌ์ผ ํฉ๋๋ค. ์ฝ์, ์ผ์ง, kmsg, ์ ๋ ๋๋ kmsg, null๋ก.
--๋ก๊ทธ ์์ค=
๋ก๊ทธ ์์ค์ ์ค์ ํฉ๋๋ค. ์ธ์๋ก ์ด๊ฒ์ ์ซ์ ๋ก๊ทธ ์์ค ๋๋ ์ ์๋ ค์ง
syslog(3) ๊ธฐํธ ์ด๋ฆ(์๋ฌธ์): EMERG, ๊ฒฝ๋ณด, ์น๋ช ํ, ์๋ชป์, ๊ฒฝ๊ณ , ์ฃผ์, ์ ๋ณด,
๋๋ฒ๊ทธ.
--๋ก๊ทธ ์์=
์ค์ํ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๊ฐ์กฐ ํ์ํ์ญ์์ค. ์ธ์๋ ๋ถ์ธ ๊ฐ์ ๋๋ค. ์ธ์๊ฐ
์๋ตํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐธ๋.
--๋ก๊ทธ ์์น=
๋ก๊ทธ ๋ฉ์์ง์ ์ฝ๋ ์์น๋ฅผ ํฌํจํฉ๋๋ค. ์ด๊ฒ์ ์ฃผ๋ก ๋๋ฒ๊น ๋ชฉ์ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ธ์๋ ๋ถ์ธ ๊ฐ์ ๋๋ค. ์ธ์๋ฅผ ์๋ตํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐธ๋.
--๊ธฐ๋ณธ-ํ์ค-์ถ๋ ฅ=, --๊ธฐ๋ณธ-ํ์ค-์ค๋ฅ=
๋ชจ๋ ์๋น์ค ๋ฐ ์์ผ์ ๋ํ ๊ธฐ๋ณธ ์ถ๋ ฅ ๋๋ ์ค๋ฅ ์ถ๋ ฅ์ ๊ฐ๊ฐ ์ค์ ํฉ๋๋ค.
์ฆ, ๊ธฐ๋ณธ๊ฐ์ ์ ์ดํฉ๋๋ค. ํ์ค์ถ๋ ฅ= ๋ฐ ํ์ค ์ค๋ฅ= (์ฐธ์กฐ
systemd.exec(5) ์์ธํ ๋ด์ฉ์). ๋ค์ ์ค ํ๋๋ฅผ ์ทจํฉ๋๋ค. ์์ํ๋ค, null๋ก, ์ฒญ๊ฐ ์ฅ์ , ์ผ์ง,
์ ๋+์ฝ์, syslog, syslog+์ฝ์, kmsg, kmsg+์ฝ์. ์ธ์๊ฐ
์๋ต --๊ธฐ๋ณธ-ํ์ค-์ถ๋ ฅ= ๊ธฐ๋ณธ๊ฐ์ ์ผ์ง ๋ฐ --๊ธฐ๋ณธ-ํ์ค-์ค๋ฅ=
์ ์์ํ๋ค.
--๋จธ์ ์์ด๋=
๋คํธ์ํฌ ๋ถํ ์ ์ ์ฉํ๊ฑฐ๋ ํ๋ ๋๋ผ์ด๋ธ์ ์ค์ ๋ ๋จธ์ ID๋ฅผ ๋ฌด์ํฉ๋๋ค.
์ปจํ ์ด๋. ๋ชจ๋ XNUMX์ผ๋ก ์ค์ ๋์ง ์์ ์ ์์ต๋๋ค.
-h, --๋์
๊ฐ๋จํ ๋์๋ง ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๊ณ ์ข ๋ฃํ์ญ์์ค.
--๋ฒ์ญ
์งง์ ๋ฒ์ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ณ ์ข ๋ฃํ์ญ์์ค.
๊ฐ๋
systemd๋ 12๊ฐ์ "๋จ์"๋ผ๊ณ ํ๋ ๋ค์ํ ์ํฐํฐ ๊ฐ์ ์ข ์์ฑ ์์คํ ์ ์ ๊ณตํฉ๋๋ค.
๋ค๋ฅธ ์ ํ. ์ฅ์น๋ ์์คํ ๋ถํ ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์บก์ํํฉ๋๋ค.
๋ฐ ์ ์ง ๋ณด์. ๋๋ถ๋ถ์ ์ฅ์น๋ ์ฅ์น ๊ตฌ์ฑ ํ์ผ์ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
๊ตฌ๋ฌธ ๋ฐ ๊ธฐ๋ณธ ์ต์ ์ธํธ๋ ์ ์ค๋ช ๋์ด ์์ต๋๋ค. systemd.unit(5) ๊ทธ๋ฌ๋ ์ผ๋ถ๋ ์์ฑ๋ฉ๋๋ค.
๋ค๋ฅธ ๊ตฌ์ฑ์์ ์๋์ผ๋ก, ์์คํ ์ํ์์ ๋์ ์ผ๋ก ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก
๋ฐํ์์. ์ฅ์น๋ "ํ์ฑ"์ผ ์ ์์ต๋๋ค(์์, ๋ฐ์ธ๋ฉ, ์ฐ๊ฒฐ ๋ฑ์ ์๋ฏธํจ.
๋จ์ ์ ํ, ์๋ ์ฐธ์กฐ) ๋๋ "๋นํ์ฑ"(์ค์ง๋จ, ๋ฐ์ธ๋ฉ ํด์ ๋จ, ์ฐ๊ฒฐ ํด์ ๋จ ๋ฑ์ ์๋ฏธํจ),
ํ์ฑํ ๋๋ ๋นํ์ฑํ๋๋ ๊ณผ์ , ์ฆ ๋ ์ํ ์ฌ์ด
(์ด๋ฌํ ์ํ๋ฅผ "ํ์ฑํ", "๋นํ์ฑํ"๋ผ๊ณ ํจ). ํน๋ณํ "์คํจ" ์ํ๋
"๋นํ์ฑ"๊ณผ ๋งค์ฐ ์ ์ฌํ๋ฉฐ ์๋น์ค๊ฐ
์ด๋ค ์์ผ๋ก๋ ์คํจํ์ต๋๋ค(ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ ์ ์ค๋ฅ ์ฝ๋๋ฅผ ๋ฐํํ๊ฑฐ๋ ์ถฉ๋ํ๊ฑฐ๋ ์์ ์๊ฐ์ด ์ด๊ณผ๋์์ต๋๋ค.
๋ฐ). ์ด ์ํ๊ฐ ๋๋ฉด ๋์ค์ ์ฐธ์กฐํ ์ ์๋๋ก ์์ธ์ด ๊ธฐ๋ก๋ฉ๋๋ค. ์ฐธ๊ณ
๋ค์ํ ๋จ์ ์ ํ์๋ ์ฌ๋ฌ ์ถ๊ฐ ํ์ ์ํ๊ฐ ์์ ์ ์์ผ๋ฉฐ, ์ด๋
์ฌ๊ธฐ์ ์ค๋ช ๋ XNUMX๊ฐ์ ์ผ๋ฐํ๋ ๋จ์ ์ํ.
๋ค์ ๋จ์ ์ ํ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
1. ๋ฐ๋ชฌ๊ณผ ๋ฐ๋ชฌ์ ๊ตฌ์ฑํ๋ ํ๋ก์ธ์ค๋ฅผ ์์ํ๊ณ ์ ์ดํ๋ โโ์๋น์ค ๋จ์. ์์ํ
์ธ๋ถ ์ฌํญ, ์ฐธ์กฐ systemd.service(5).
2. ์์คํ ์ ๋ก์ปฌ IPC ๋๋ ๋คํธ์ํฌ ์์ผ์ ์บก์ํํ๋ ์์ผ ์ฅ์น
์์ผ ๊ธฐ๋ฐ ํ์ฑํ. ์์ผ ์ฅ์น์ ๋ํ ์์ธํ ๋ด์ฉ์ systemd.socket(5)์ ๋ํ
์์ผ ๊ธฐ๋ฐ ํ์ฑํ ๋ฐ ๊ธฐํ ํ์ฑํ ํ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค. ์ ๋ง(7).
3. ๋์ ์ฅ์น๋ ์ฅ์น๋ฅผ ๊ทธ๋ฃนํํ๊ฑฐ๋ ์ ์๋ ค์ง ๋๊ธฐํ ์ง์ ์ ์ ๊ณตํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
๋ถํ ํ๋ ๋์ ์ฐธ์กฐ systemd.target(5).
4. ์ฅ์น ์ฅ์น๋ systemd์์ ์ปค๋ ์ฅ์น๋ฅผ ๋ ธ์ถํ๊ณ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฅ์น ๊ธฐ๋ฐ ํ์ฑํ. ์์ธํ ๋ด์ฉ์ ์์คํ ์ฅ์น(5).
5. ๋ง์ดํธ ๋จ์๋ ํ์ผ ์์คํ ์ ๋ง์ดํธ ์ง์ ์ ์ ์ดํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค. systemd.๋ง์ดํธ(5).
6. ์๋ ๋ง์ดํธ ์ฅ์น๋ ํ์ผ ์์คํ ์ ์จ๋๋งจ๋ ๋ง์ดํธ๋ฅผ ์ํ ์๋ ๋ง์ดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
๋ฟ๋ง ์๋๋ผ ๋ณ๋ ฌ ๋ถํ . ๋ณด๋ค systemd.automount(5).
7. ํ์ด๋จธ ์ฅ์น๋ ํ์ด๋จธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฅธ ์ฅ์น์ ํ์ฑํ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ๋
์์ ์ธ๋ถ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. systemd.timer(5).
8. ์ค์ ์ ๋์ ๋ง์ดํธ ์ ๋๊ณผ ๋งค์ฐ ์ ์ฌํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ ์ค์ ํํฐ์ ์ ์บก์ํํ๊ฑฐ๋
์ด์ ์ฒด์ ์ ํ์ผ. ๊ทธ๋ค์์ ์ค๋ช ๋์ด ์์ต๋๋ค systemd.swap(5).
9. ํ์ผ ์์คํ ๊ฐ์ฒด๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋ ๋ ๊ฒฝ๋ก ๋จ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์๋น์ค๋ฅผ ํ์ฑํํ ์ ์์ต๋๋ค.
์์ ๋ฉ๋๋ค. ๋ณด๋ค ์์คํ ๊ฒฝ๋ก(5).
10. ์ฌ๋ผ์ด์ค ๋จ์๋ ์์คํ ํ๋ก์ธ์ค(์: ์๋น์ค
๋ฐ ๋ฒ์ ๋จ์) ์์ ๊ด๋ฆฌ ๋ชฉ์ ์ ์ํ ๊ณ์ธต์ ํธ๋ฆฌ์์. ๋ณด๋ค
systemd.์ฌ๋ผ์ด์ค(5).
11. ๋ฒ์ ๋จ์๋ ์๋น์ค ๋จ์์ ์ ์ฌํ์ง๋ง ๋์ ์ธ๋ถ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค.
๊ทธ๋ค๋ ์์ํฉ๋๋ค. ๋ณด๋ค systemd.scope(5).
์ฅ์น์ ์ด๋ฆ์ ๊ตฌ์ฑ ํ์ผ๋ก ์ง์ ๋ฉ๋๋ค. ์ผ๋ถ ๋จ์์๋ ํน๋ณํ ์๋ฏธ๊ฐ ์์ต๋๋ค. ใ
์์ธํ ๋ชฉ๋ก์ ์์คํ .ํน์(7).
systemd๋ ๊ธ์ ์ ์ด๊ณ ๋ถ์ ์ ์ธ ์๊ตฌ ์ฌํญ์ ํฌํจํ์ฌ ๋ค์ํ ์ข ๋ฅ์ ์ข ์์ฑ์ ์๊ณ ์์ต๋๋ค.
์ข ์์ฑ(์ฆ ํ์= ๋ฐ ์ถฉ๋=) ๋ฐ ์์ ์ข ์์ฑ(์ดํ= ๋ฐ
์ =). ์ฃผ์: ์ฃผ๋ฌธ ๋ฐ ์๊ตฌ ์ฌํญ ์ข ์์ฑ์ ์ง๊ตํฉ๋๋ค. ์๊ฑด๋ง ๋๋ค๋ฉด
๋ ๋จ์ ์ฌ์ด์ ์ข ์์ฑ์ด ์กด์ฌํ์ง๋ง(์: foo.service์๋ bar.service๊ฐ ํ์ํจ)
์์ ์ข ์์ฑ(์: bar.service ๋ค์ foo.service)๊ณผ ๋ ๋ค ์์ํ๋๋ก ์์ฒญ๋ฉ๋๋ค.
๋ณ๋ ฌ๋ก ์์๋ฉ๋๋ค. ์๊ตฌ ์ฌํญ๊ณผ
์์ ์ข ์์ฑ์ ๋ ๋จ์ ์ฌ์ด์ ๋ฐฐ์น๋ฉ๋๋ค. ๋ํ ๋๋ถ๋ถ์
์ข ์์ฑ์ systemd์ ์ํด ์์์ ์ผ๋ก ์์ฑ๋๊ณ ์ ์ง๋ฉ๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
์ถ๊ฐ ์ข ์์ฑ์ ์๋์ผ๋ก ์ ์ธํ ํ์๋ ์์ง๋ง ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
์ด.
์์ฉ ํ๋ก๊ทธ๋จ ๋ฐ ์ฅ์น(์ข ์์ฑ์ ํตํด)๋ ์ฅ์น์ ์ํ ๋ณ๊ฒฝ์ ์์ฒญํ ์ ์์ต๋๋ค. ์
systemd์์ ์ด๋ฌํ ์์ฒญ์ '์์ '์ผ๋ก ์บก์ํ๋๊ณ ์์ ๋๊ธฐ์ด์์ ์ ์ง ๊ด๋ฆฌ๋ฉ๋๋ค. ์ฑ์ฉ ์ ๋ณด
์ฑ๊ณตํ๊ฑฐ๋ ์คํจํ ์ ์๋ ๊ฒฝ์ฐ ์คํ์
๊ทธ๋ค์ด ์์ ๋ ๋จ์.
๋ถํ ์ systemd๋ ๋์ ์ฅ์น๋ฅผ ํ์ฑํํฉ๋๋ค. default.target ์์ ์ ๋ถํ ์ ํ์ฑํํ๋ ๊ฒ์ ๋๋ค.
์ข ์์ฑ์ ํตํด ๋์ด์ค๋ ๋ฐฉ์์ผ๋ก ์๋น์ค ๋ฐ ๊ธฐํ ๋ถํ ์ ๋จ์. ์ผ๋ฐ์ ์ผ๋ก ๋จ์
name์ graphic.target์ ๋ณ์นญ(symlink)์ผ ๋ฟ์ ๋๋ค(์์ ํ ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋ถํ ์ ๊ฒฝ์ฐ
UI) ๋๋ multi-user.target(์๋ฒ ๋๋ ๋๋ ์๋ฒ์์ ์ฌ์ฉํ๊ธฐ ์ํ ์ ํ๋ ์ฝ์ ์ ์ฉ ๋ถํ ์ฉ)
ํ๊ฒฝ ๋๋ ์ด์ ์ ์ฌํ ๊ฒ Graphical.target์ ํ์ ์งํฉ). ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์ฌ๋์ ๋ฌ๋ ค ์์ต๋๋ค
๋ค๋ฅธ ๋์ ์ฅ์น์ ๋ํ ๋ณ์นญ์ผ๋ก ๊ตฌ์ฑํ๋ ค๋ฉด ๊ด๋ฆฌ์์ ๊ถํ์ด ํ์ํฉ๋๋ค. ๋ณด๋ค
์์คํ .ํน์(7) ์ด๋ฌํ ๋์ ๋จ์์ ๋ํ ์์ธํ ๋ด์ฉ์
ํ๋ก์ธ์ค ์์คํ ์์ฑ์ ์ด๋ฆ์ ๋ฐ์ ๋ช ๋ช ๋ ๊ฐ๋ณ Linux ์ ์ด ๊ทธ๋ฃน์ ๋ฐฐ์น๋ฉ๋๋ค.
๊ฐ์ธ ์์คํ ๊ณ์ธต ๊ตฌ์กฐ์์ ์ํ ๋จ์์ ๋๋ค. (๋ณด๋ค cgroups.txt[1] ๋
์ ์ด ๊ทธ๋ฃน์ ๋ํ ์ ๋ณด ๋๋ ์งง์ "cgroup"). systemd๋ ์ด๊ฒ์ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ถ์ ํฉ๋๋ค. ์ ์ด ๊ทธ๋ฃน ์ ๋ณด๋ ์ปค๋์์ ์ ์ง ๊ด๋ฆฌ๋๋ฉฐ
ํ์ผ ์์คํ ๊ณ์ธต์ ํตํด ์ก์ธ์คํ ์ ์์ต๋๋ค(์๋ /sys/fs/cgroup/systemd/) ๋๋ ๋๊ตฌ์์
๋ฑ systemd-cgls(1) ๋๋ ps(1)ps xawf -์์ค pid, ์ฌ์ฉ์, cgroup, args ํนํ ์ ์ฉํ๋ค
๋ชจ๋ ํ๋ก์ธ์ค์ ํด๋น ํ๋ก์ธ์ค๊ฐ ์ํ ์์คํ ๋จ์๋ฅผ ๋์ดํฉ๋๋ค.)
systemd๋ SysV init ์์คํ ๊ณผ ํฌ๊ฒ ํธํ๋ฉ๋๋ค. SysV init ์คํฌ๋ฆฝํธ๋
์ง์๋๋ฉฐ ๋์ฒด(์ ํ์ ์ด์ง๋ง) ๊ตฌ์ฑ ํ์ผ ํ์์ผ๋ก ๊ฐ๋จํ ์ฝ์ ์ ์์ต๋๋ค.
SysV /dev/initctl ์ธํฐํ์ด์ค๊ฐ ์ ๊ณต๋๋ฉฐ,
๋ค์ํ SysV ํด๋ผ์ด์ธํธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ ์ธ์๋ ๋ค์ํ ์ ๋์ค๊ฐ
์ ๊ฐ์ ๊ธฐ๋ฅ / etc / fstab ๋๋ utmp ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ง์๋ฉ๋๋ค.
systemd์๋ ์ต์ ํธ๋์ญ์ ์์คํ ์ด ์์ต๋๋ค. ์ฅ์น๊ฐ ์์ ๋๋ ์ข ๋ฃ๋๋๋ก ์์ฒญ๋ฐ์ ๊ฒฝ์ฐ
์์ ํธ๋์ญ์ ์ ๋ชจ๋ ์ข ์์ฑ์ ์ถ๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ํ์ธ์ด ๋ฉ๋๋ค.
ํธ๋์ญ์ ์ด ์ผ๊ด๋ ๊ฒฝ์ฐ(์ฆ, ๋ชจ๋ ๋จ์์ ์์๊ฐ ์ํ๋์ง ์๋์ง ์ฌ๋ถ).
๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ systemd๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ์๋ํ๊ณ ํ์ํ์ง ์์ ์์ ์ ์ ๊ฑฐํฉ๋๋ค.
๋ฃจํ๋ฅผ ์ ๊ฑฐํ ์ ์๋ ํธ๋์ญ์ . ๋ํ systemd๋ ํ์์ ์ด์ง ์์ ์์ ์ ์ต์ ํ๋ ค๊ณ ํฉ๋๋ค.
์คํ ์ค์ธ ์๋น์ค๋ฅผ ์ค์งํ๋ ํธ๋์ญ์ ์์. ๋ง์ง๋ง์ผ๋ก ์ฌ๋ถ๊ฐ ํ์ธ๋ฉ๋๋ค.
ํธ๋์ญ์ ์ ์์ ์ ์ด๋ฏธ ๋๊ธฐ์ด์ ์๋ ์์ ๊ณผ ๋ชจ์๋๋ฉฐ ์ ํ์ ์ผ๋ก
๊ทธ๋ฌ๋ฉด ํธ๋์ญ์ ์ด ์ค๋จ๋ฉ๋๋ค. ๋ชจ๋ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ณ ๊ฑฐ๋๊ฐ ์ผ๊ด๋๊ณ
์ํฅ์ ์ต์ํํ์ฌ ์ด๋ฏธ ์ฒ๋ฆฌ๋์ง ์์ ๋ชจ๋ ์์ ๊ณผ ๋ณํฉ๋๊ณ ์ถ๊ฐ๋ฉ๋๋ค.
์คํ ํ. ์ฌ์ค์ ์ด๊ฒ์ ์์ฒญ๋ ์์ ์ ์คํํ๊ธฐ ์ ์ systemd๊ฐ
์๋ฏธ๊ฐ ์๋์ง ํ์ธํ๊ณ ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์์ ํ๊ณ ์ค์ ๋ก ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ง ์คํจํฉ๋๋ค.
์๋ํ์ง ์์ต๋๋ค.
Systemd์๋ ์ผ๋ถ๋ก ์คํํด์ผ ํ๋ ๋ค์ํ ์์ ์ ๊ธฐ๋ณธ ๊ตฌํ์ด ํฌํจ๋์ด ์์ต๋๋ค.
๋ถํ ํ๋ก์ธ์ค์. ์๋ฅผ ๋ค์ด ํธ์คํธ ์ด๋ฆ์ ์ค์ ํ๊ฑฐ๋ ๋ฃจํ๋ฐฑ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
์ฅ์น. ๋ํ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ API ํ์ผ ์์คํ ์ ์ค์ ํ๊ณ ๋ง์ดํธํฉ๋๋ค. / sys ๋๋ /proc.
systemd์ ๊ฐ๋ ๊ณผ ์์ด๋์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค.
์ค๋ฌผ ๋์์ธ ๋ฌธ์[2].
systemd์์ ์ ๊ณตํ๋ ๋ชจ๋ ์ธํฐํ์ด์ค๊ฐ ์๋ ์ผ๋ถ ์ธํฐํ์ด์ค๋ ์ธํฐํ์ด์ค
์์ ์ฝ์[3].
์๋ฅผ ๋ค์ด, ์ฅ์น๋ ๋ถํ ๋ฐ ์์คํ ๊ด๋ฆฌ์๋ฅผ ๋ค์ ๋ก๋ํ ๋ ๋์ ์ผ๋ก ์์ฑ๋ ์ ์์ต๋๋ค.
์ปค๋ ๋ช ๋ น์ค์ ์ ๋ฌ๋ ๋ค๋ฅธ ๊ตฌ์ฑ ํ์ผ ๋๋ ๋งค๊ฐ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ์์ํ
์ธ๋ถ ์ฌํญ, ์ฐธ์กฐ systemd.generator(7).
์ปจํ ์ด๋ ๋๋ initrd ํ๊ฒฝ์์ systemd๋ฅผ ํธ์ถํ๋ ์์คํ ์ ๋ค์์ ๊ตฌํํด์ผ ํฉ๋๋ค.
์ปจํ ์ด๋ ์ธํฐํ์ด์ค[4] ๋๋ initrd ์ธํฐํ์ด์ค[5] ์ฌ์.
๋๋ ํ ๋ฆฌ
์์คํ ์ฅ์น ๋๋ ํ ๋ฆฌ
systemd ์์คํ ๊ด๋ฆฌ์๋ ๋ค์ํ ๋๋ ํ ๋ฆฌ์์ ์ฅ์น ๊ตฌ์ฑ์ ์ฝ์ต๋๋ค. ํจํค์ง
๋จ์ ํ์ผ์ ์ค์นํ๋ ค๋ ์ฌ์ฉ์๋ ๋ค์์์ ๋ฐํ๋ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ๋ฐฐ์นํด์ผ ํฉ๋๋ค.
ํจํค์ง ๊ตฌ์ฑ ์์คํ --๋ณ์=systemdsystemunitdir. ํ์ธ๋ ๋ค๋ฅธ ๋๋ ํ ๋ฆฌ๋
/usr/local/lib/systemd/system ๋ฐ /lib/systemd/system. ์ฌ์ฉ์ ๊ตฌ์ฑ์ ํญ์
์์. ํจํค์ง ๊ตฌ์ฑ ์์คํ --๋ณ์=systemdsystemconfdir ์ ๊ฒฝ๋ก๋ฅผ ๋ฐํํฉ๋๋ค.
์์คํ ๊ตฌ์ฑ ๋๋ ํ ๋ฆฌ. ํจํค์ง๋ ์ด๋ฌํ ๋ด์ฉ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๋๋ ํ ๋ฆฌ๋ง ๊ฐ๋ฅ ๋ฐ ๋นํ์ฑํ ์ ๋ช ๋ น systemctl(1) ๋๊ตฌ. ๊ฐ๋ํ
๋๋ ํ ๋ฆฌ ๋ชฉ๋ก์ systemd.unit(5).
์ฌ์ฉ์ ๋จ์ ๋๋ ํ ๋ฆฌ
์ ์ฌํ ๊ท์น์ด ์ฌ์ฉ์ ๋จ์ ๋๋ ํ ๋ฆฌ์ ์ ์ฉ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์ XDG Base
๋ช ๋ถ ๋ด๋น ๋ช ์ธ์[6] ๋ค์์ ๋จ์๋ฅผ ์ฐพ์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์
์ ์ํด ๋ฐํ๋ ๋๋ ํ ๋ฆฌ์ ๋จ์ ํ์ผ ํจํค์ง ๊ตฌ์ฑ ์์คํ
--๋ณ์=systemduserunitdir. ๋ณด๊ณ ๋ ๋๋ ํ ๋ฆฌ์์ ์ ์ญ ๊ตฌ์ฑ์ด ์ํ๋ฉ๋๋ค.
by ํจํค์ง ๊ตฌ์ฑ ์์คํ --๋ณ์=systemduserconfdir. ๊ทธ๋งํผ ๊ฐ๋ฅ ๋ฐ ๋นํ์ฑํ ๋ช ๋ น
์ systemctl(1) ๋๊ตฌ๋ ์ ์ญ(์ฆ, ๋ชจ๋ ์ฌ์ฉ์์ฉ)๊ณผ ๊ฐ์ธ์ฉ(์:
ํ ๋ช ์ ์ฌ์ฉ์) ๋จ์ ํ์ฑํ/๋นํ์ฑํ. ๋๋ ํ ๋ฆฌ์ ์ ์ฒด ๋ชฉ๋ก์ ๋ค์์์ ์ ๊ณต๋ฉ๋๋ค.
systemd.unit(5).
SysV ์ด๊ธฐํ ์คํฌ๋ฆฝํธ ๋๋ ํ ๋ฆฌ
SysV init ์คํฌ๋ฆฝํธ ๋๋ ํ ๋ฆฌ์ ์์น๋ ๋ฐฐํฌํ๋ง๋ค ๋ค๋ฆ ๋๋ค. ๋ง์ฝ์
systemd๋ ์์ฒญ๋ ์๋น์ค์ ๋ํ ๊ธฐ๋ณธ ๋จ์ ํ์ผ์ ์ฐพ์ ์ ์์ต๋๋ค.
๋์ผํ ์ด๋ฆ์ SysV ์ด๊ธฐํ ์คํฌ๋ฆฝํธ(.service ์ ๋ฏธ์ฌ๊ฐ ์ ๊ฑฐ๋จ).
SysV ๋ฐ๋ ๋ฒจ ๋งํฌ ํ ๋๋ ํ ๋ฆฌ
SysV ๋ฐ๋ ๋ฒจ ๋งํฌ ํ ๋๋ ํ ๋ฆฌ์ ์์น๋ ๋ฐฐํฌํ๋ง๋ค ๋ค๋ฆ ๋๋ค.
systemd๋ ์๋น์ค๊ฐ ๋ค์์ ์ํํ ์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํ ๋ ๋งํฌ ํ์ ๊ณ ๋ คํฉ๋๋ค.
ํ์ฑํ๋ฉ๋๋ค. ๊ธฐ๋ณธ ๋จ์ ๊ตฌ์ฑ ํ์ผ์ด ์๋ ์๋น์ค ๋จ์๋
SysV ๋ฐ๋ ๋ฒจ ๋งํฌ ํ์์ ํ์ฑํํ์ฌ ์์ํ์ต๋๋ค.
์ ํธ
์๊ทธํ
์ด ์ ํธ๋ฅผ ๋ฐ์ผ๋ฉด systemd ์์คํ ๊ด๋ฆฌ์๋ ์ํ๋ฅผ ์ง๋ ฌํํ๊ณ ์ฌ์คํํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์ฅ๋ ์ํ๋ฅผ ๋ค์ ์ญ์ง๋ ฌํํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl
๋ฐ๋ชฌ ์ฌ์คํ.
systemd ์ฌ์ฉ์ ๊ด๋ฆฌ์๋ ์ด ์ ํธ๊ฐ ์์ ๋๋ฉด exit.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค.
์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl --์ฌ์ฉ์ ์คํํธ ์ข ๋ฃ.๋์.
์ฌ์ธํธ
์ด ์ ํธ๋ฅผ ๋ฐ์ผ๋ฉด systemd ์์คํ ๊ด๋ฆฌ์๋
ctrl-alt-del.target ๋จ์. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl ์คํํธ
ctl-alt-del.target. ์ด ์ ํธ๊ฐ 7์ด์ 2ํ ์ด์ ์์ ๋๋ฉด ์ฆ์
์ฌ๋ถํ ์ด ์คํ๋ฉ๋๋ค. ์ฝ์์์ Ctrl-Alt-Del์ ๋๋ฅด๋ฉด ์ด ์์ ์ด ํธ๋ฆฌ๊ฑฐ๋ฉ๋๋ค.
์ ํธ. ๋ฐ๋ผ์ ์ฌ๋ถํ ์ด ์ค๋จ๋๋ฉด Ctrl-Alt-Del์ 7์ด ๋์ 2๋ฒ ์ด์ ๋๋ฅด์ญ์์ค.
์ฆ๊ฐ์ ์ธ ์ฌ๋ถํ ์ ์ ๋ฐํ๋ ๋น๊ต์ ์์ ํ ๋ฐฉ๋ฒ์ ๋๋ค.
systemd ์ฌ์ฉ์ ๊ด๋ฆฌ์๋ ์ด ์ ํธ๋ฅผ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์๊ทธํ .
์๊ทธ์์น
์ด ์ ํธ๊ฐ ์์ ๋๋ฉด systemd ์์คํ ๊ด๋ฆฌ์๋
kbrequest.target ๋จ์. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl ์คํํธ kbrequest.target.
์ด ์ ํธ๋ ์์คํ ์ฌ์ฉ์ ๊ด๋ฆฌ์์ ์ํด ๋ฌด์๋ฉ๋๋ค.
SIGPWR
์ด ์ ํธ๊ฐ ์์ ๋๋ฉด ์์คํ ๊ด๋ฆฌ์๋ sigpwr.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค.
์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl ์คํํธ sigpwr.target.
์๊ตฌ์ค๋ฅด1
์ด ์ ํธ๊ฐ ์์ ๋๋ฉด ์์คํ ๊ด๋ฆฌ์๋ D-Bus์ ๋ค์ ์ฐ๊ฒฐ์ ์๋ํฉ๋๋ค.
๋ฒ์ค.
์๊ตฌ์ค๋ฅด2
์ด ์ ํธ๊ฐ ์์ ๋๋ฉด systemd ๊ด๋ฆฌ์๋ ์๋ฃ ์ํ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
์ฌ๋์ด ์ฝ์ ์ ์๋ ํ์. ๊ธฐ๋ก๋ ๋ฐ์ดํฐ๋ ์์ ์ธ์ํ ๊ฒ๊ณผ ๋์ผํฉ๋๋ค. ์ฒด๊ณ์ ์ธ ๋ถ์ ๋คํ.
์์
์ ์ฒด ๋ฐ๋ชฌ ๊ตฌ์ฑ์ ๋ค์ ๋ก๋ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl
๋ฐ๋ชฌ ๋ค์ ๋ก๋.
์๊ทธํธ๋ฏผ+0
๊ธฐ๋ณธ ๋ชจ๋๋ก ๋ค์ด๊ฐ default.target ๋จ์๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl ์คํํธ ๊ธฐ๋ณธ.๋์.
์๊ทธํธ๋ฏผ+1
๊ตฌ์กฐ ๋ชจ๋๋ก ๋ค์ด๊ฐ ๊ตฌ์กฐ ๋์ ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl ๊ฒฉ๋ฆฌ ๊ตฌ์กฐ ๋์.
์๊ทธํธ๋ฏผ+2
๋น์ ๋ชจ๋๋ก ์ ํํ๊ณ Emergency.service ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl ๊ฒฉ๋ฆฌ ์๊ธ ์๋น์ค.
์๊ทธํธ๋ฏผ+3
์์คํ ์ ์ค์งํ๊ณ halt.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. systemctl
์คํํธ ์ ์ง ๋์.
์๊ทธํธ๋ฏผ+4
์์คํ ์ ์ ์์ ๋๊ณ poweroff.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl ์คํํธ ์ ์ ๋๊ธฐ.๋์.
์๊ทธํธ๋ฏผ+5
์์คํ ์ ์ฌ๋ถํ ํ๊ณ reboot.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
systemctl ์คํํธ ์ฌ๋ถํ .ํ๊ฒ.
์๊ทธํธ๋ฏผ+6
kexec๋ฅผ ํตํด ์์คํ ์ ์ฌ๋ถํ ํ๊ณ kexec.target ์ฅ์น๋ฅผ ์์ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ถ๋ถ ๋๋ฑํ๋ค
์ systemctl ์คํํธ kexec.target.
์๊ทธํธ๋ฏผ+13
์ฆ์ ๊ธฐ๊ณ๋ฅผ ๋ฉ์ถฅ๋๋ค.
์๊ทธํธ๋ฏผ+14
์ฆ์ ๊ธฐ๊ธฐ์ ์ ์์ ๋๋๋ค.
์๊ทธํธ๋ฏผ+15
์ฆ์ ๊ธฐ๊ธฐ๋ฅผ ์ฌ๋ถํ ํฉ๋๋ค.
์๊ทธํธ๋ฏผ+16
kexec๋ฅผ ์ฌ์ฉํ์ฌ ์์คํ ์ ์ฆ์ ์ฌ๋ถํ ํฉ๋๋ค.
์๊ทธํธ๋ฏผ+20
๋ฅผ ํตํด ์ ์ด๋๋ ์ฝ์์ ์ํ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
systemd.show_status=1 ์ปค๋ ๋ช ๋ น์ค์์.
์๊ทธํธ๋ฏผ+21
๋ฅผ ํตํด ์ ์ด๋๋ ์ฝ์์ ์ํ ๋ฉ์์ง ํ์๋ฅผ ๋นํ์ฑํํฉ๋๋ค.
systemd.show_status=0 ์ปค๋ ๋ช ๋ น์ค์์.
์๊ทธํธ๋ฏผ+22, ์๊ทธํธ๋ฏผ+23
๋ก๊ทธ ์์ค์ "๋๋ฒ๊ทธ"(๋๋ "์ ๋ณด" ์๊ทธํธ๋ฏผ+23), ํตํด ์ ์ด
systemd.log_level=๋๋ฒ๊ทธ (๋๋ systemd.log_level=์ ๋ณด on ์๊ทธํธ๋ฏผ+23) ์ปค๋์์
๋ช ๋ น ํ.
์๊ทธํธ๋ฏผ+24
๊ด๋ฆฌ์๋ฅผ ์ฆ์ โโ์ข ๋ฃํฉ๋๋ค(--user ์ธ์คํด์ค์๋ง ์ฌ์ฉ ๊ฐ๋ฅ).
์๊ทธํธ๋ฏผ+26, ์๊ทธํธ๋ฏผ+27, ์๊ทธํธ๋ฏผ+28
๋ก๊ทธ ์์ค์ "journal-or-kmsg"(๋๋ ์๊ทธํธ๋ฏผ+27, "kmsg" ์ผ๊ธฐ
์๊ทธํธ๋ฏผ+28), ํตํด ์ ์ด systemd.log_target=์ ๋ ๋๋ kmsg (๋๋
systemd.log_target=์ฝ์ on ์๊ทธํธ๋ฏผ+27 or systemd.log_target=kmsg on ์๊ทธํธ๋ฏผ+28)
์ปค๋ ๋ช ๋ น์ค์์.
ํ๊ฒฝ
$SYSTEMD_LOG_LEVEL
systemd๋ ์ด ํ๊ฒฝ ๋ณ์์์ ๋ก๊ทธ ์์ค์ ์ฝ์ต๋๋ค. ์ฌ์ ์ํ ์ ์์ต๋๋ค.
๊ณผ --๋ก๊ทธ ์์ค=.
$SYSTEMD_LOG_TARGET
systemd๋ ์ด ํ๊ฒฝ ๋ณ์์์ ๋ก๊ทธ ๋์์ ์ฝ์ต๋๋ค. ์ฌ์ ์ํ ์ ์์ต๋๋ค.
๊ณผ --๋ก๊ทธ ๋์=.
$SYSTEMD_LOG_COLOR
systemd๊ฐ ์ค์ํ ๋ก๊ทธ ๋ฉ์์ง๋ฅผ ๊ฐ์กฐ ํ์ํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ์ฌ์ ์ํ ์ ์์ต๋๋ค.
๊ณผ --๋ก๊ทธ ์์=.
$SYSTEMD_LOG_LOCATION
systemd๊ฐ ๋ก๊ทธ ๋ฉ์์ง์ ํจ๊ป ์ฝ๋ ์์น๋ฅผ ์ธ์ํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค. ์ด๊ฒ์ ๋ ์์๋ค
์ฌ์ ์ --๋ก๊ทธ ์์น=.
$XDG_CONFIG_HOME, $XDG_CONFIG_DIRS, $XDG_DATA_HOME, $XDG_DATA_DIRS
systemd ์ฌ์ฉ์ ๊ด๋ฆฌ์๋ ๋ค์์ ๋ฐ๋ผ ์ด๋ฌํ ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. XDG Base ๋ช ๋ถ ๋ด๋น
๋ช ์ธ์[6] ๊ตฌ์ฑ์ ์ฐพ์ต๋๋ค.
$SYSTEMD_UNIT_PATH
systemd๊ฐ ๋จ์ ํ์ผ์ ์ฐพ๋ ์์น๋ฅผ ์ ์ดํฉ๋๋ค.
$SYSTEMD_SYSVINIT_PATH
systemd๊ฐ SysV ์ด๊ธฐํ ์คํฌ๋ฆฝํธ๋ฅผ ์ฐพ๋ ์์น๋ฅผ ์ ์ดํฉ๋๋ค.
$SYSTEMD_SYSVRCND_PATH
systemd๊ฐ SysV init ์คํฌ๋ฆฝํธ ์คํ ์์ค ๋งํฌ ํ์ ์ฐพ๋ ์์น๋ฅผ ์ ์ดํฉ๋๋ค.
$SYSTEMD_COLORS
์์์ด ์ง์ ๋ ์ถ๋ ฅ์ ์์ฑํ ์ง ์ฌ๋ถ๋ฅผ ์ ์ดํฉ๋๋ค.
$LISTEN_PID, $LISTEN_FDS, $LISTEN_FDNAMES
์์ผ ๊ธฐ๋ฐ ํ์ฑํ ๋์ ๊ฐ๋ ๋๋ ํ๋ก์ธ์ค์ ๋ํด systemd์ ์ํด ์ค์ ๋ฉ๋๋ค. ๋ณด๋ค
sd_listen_fds(3) ์์ธํ ๋ด์ฉ์.
$NOTIFY_SOCKET
์ํ ๋ฐ ์์ ์๋ฃ์ ๋ํ ๊ฐ๋ ํ๋ก์ธ์ค์ ๋ํด systemd์์ ์ค์
๊ณต๊ณ . ๋ณด๋ค sd_notify(3) ์์ธํ ๋ด์ฉ์.
ํต์ฌ COMMAND LINE
์์คํ ์ธ์คํด์ค๋ก ์คํํ ๋ systemd๋ ์ฌ๋ฌ ์ปค๋ ๋ช ๋ น์ค ์ธ์[7]๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํฉ๋๋ค.
systemd.unit=, rd.systemd.unit=
๋ถํ ์ ํ์ฑํ๋๋๋ก ์ฅ์น๋ฅผ ์ฌ์ ์ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ default.target์ ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค
์ผ์์ ์ผ๋ก ๋ค๋ฅธ ๋ถํ ์ฅ์น๋ก ๋ถํ ํ๊ธฐ ์ํด
์๊ธ ์๋น์ค. ๋ณด๋ค ์์คํ .ํน์(7) ์ด๋ฌํ ๋จ์์ ๋ํ ์์ธํ ๋ด์ฉ์. ์ต์
"rd"๊ฐ ์ ๋์ฌ๋ก ๋ถ์ต๋๋ค. ์ด๊ธฐ RAM ๋์คํฌ(initrd)์์๋ง ์ธ์ ๋๋ ๋ฐ๋ฉด,
๋ฉ์ธ ์์คํ ์์๋ง ์ ๋์ฌ๊ฐ ๋ถ์ง ์์ต๋๋ค.
systemd.dump_core=
๋ถ์ธ ์ธ์๋ฅผ ์ทจํฉ๋๋ค. ๋ง์ฝ์ ์, ์์คํ ๊ด๋ฆฌ์(PID 1)๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ฝ์ด๋ฅผ ๋คํํฉ๋๋ค.
์ถฉ๋. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ฝ์ด ๋คํ๊ฐ ์์ฑ๋์ง ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ: ์.
systemd.crash_chvt=
์์ ์ ์ ๋๋ ๋ถ์ธ ์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์์ ์ ์์ธ ๊ฒฝ์ฐ(๋ฒ์ ๋ด
1โ63)์ด ์ง์ ๋๋ฉด ์์คํ ๊ด๋ฆฌ์(PID 1)๊ฐ ์ง์ ๋ ๊ฐ์
์ถฉ๋ ์ ํฐ๋ฏธ๋(VT). ๊ธฐ๋ณธ๊ฐ: ์๋, ๊ทธ๋ฌํ ์ค์์น๊ฐ ์์์ ์๋ฏธํฉ๋๋ค.
์๋ํ๋ค. ๋ก ์ค์ ํ๋ฉด ์, ์ปค๋ ๋ฉ์์ง๊ฐ ๊ธฐ๋ก๋๋ VT๊ฐ ์ ํ๋ฉ๋๋ค.
systemd.crash_shell=
๋ถ์ธ ์ธ์๋ฅผ ์ทจํฉ๋๋ค. ๋ง์ฝ์ ์, ์์คํ ๊ด๋ฆฌ์(PID 1)๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์์ ์์ฑํฉ๋๋ค.
10 ์ง์ฐ ํ ์ถฉ๋ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์์ด ์์ฑ๋์ง ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ: ์๋์ ๋ํ
์์ด ์ํธ ์ธ์ฆ์ผ๋ก ๋ณดํธ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋ณด์์์ ์ด์ ์ ๋๋ค.
systemd.crash_reboot=
๋ถ์ธ ์ธ์๋ฅผ ์ทจํฉ๋๋ค. ๋ง์ฝ์ ์, ์์คํ ๊ด๋ฆฌ์(PID 1)๊ฐ ์์คํ ์ ์ฌ๋ถํ ํฉ๋๋ค.
์ถฉ๋ ์ 10์ด ์ง์ฐ ํ ์๋์ผ๋ก. ๊ทธ๋ ์ง ์์ผ๋ฉด ์์คํ ์ด ์ค๋จ๋ฉ๋๋ค
๋ฌด๊ธฐํ. ๊ธฐ๋ณธ๊ฐ: ์๋, ์ฌ๋ถํ ๋ฃจํ๋ฅผ ํผํ๊ธฐ ์ํด. ์ ๊ฒฐํฉํ๋ฉด
systemd.crash_shell=, ์์ด ์ข ๋ฃ๋ ํ ์์คํ ์ด ์ฌ๋ถํ ๋ฉ๋๋ค.
systemd.confirm_spawn=
๋ถ์ธ ์ธ์๋ฅผ ์ทจํฉ๋๋ค. ๋ง์ฝ์ ์, ์์คํ ๊ด๋ฆฌ์(PID 1)๊ฐ ํ์ธ์ ์์ฒญํฉ๋๋ค.
ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ๋. ๊ธฐ๋ณธ๊ฐ: ์๋.
systemd.show_status=
๋ถ์ธ ์ธ์ ๋๋ ์์๋ฅผ ์ทจํฉ๋๋ค. ์๋. ๋ฉด ์, ์์คํ ๊ด๋ฆฌ์(PID 1)
๋ถํ ํ๋ ๋์ ์ฝ์์ ๊ฐ๊ฒฐํ ์๋น์ค ์ํ ์ ๋ฐ์ดํธ๋ฅผ ํ์ํฉ๋๋ค. ์๋ ์ฒ๋ผ ํ๋
๊ทธ๋ฆ๋ ์๋น์ค๊ฐ ์คํจํ๊ฑฐ๋ ๋ถํ ์ด ์๋นํ ์ง์ฐ๋ ๋๊น์ง. ๊ธฐ๋ณธ๊ฐ: ์,
...์ ์ ์ธํ๋ฉด ์กฐ์ฉํ ์ปค๋ ๋ช ๋ น์ค ์ต์ ์ผ๋ก ์ ๋ฌ๋๋ฉฐ, ์ด ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก
์๋.
systemd.log_target=, systemd.log_level=, systemd.log_color=, systemd.log_location=
์ ๋์ผํ ํจ๊ณผ๋ก ๋ก๊ทธ ์ถ๋ ฅ์ ์ ์ดํฉ๋๋ค. $SYSTEMD_LOG_TARGET,
$SYSTEMD_LOG_LEVEL, $SYSTEMD_LOG_COLOR, $SYSTEMD_LOG_LOCATION ํ๊ฒฝ ๋ณ์
์ ์ ํ ๋ฐ์.
systemd.default_standard_output=, systemd.default_standard_error=
๋์ผํ ํจ๊ณผ๋ก ์๋น์ค์ ๋ํ ๊ธฐ๋ณธ ํ์ค ์ถ๋ ฅ ๋ฐ ์ค๋ฅ ์ถ๋ ฅ์ ์ ์ดํฉ๋๋ค.
๋ก --๊ธฐ๋ณธ-ํ์ค-์ถ๋ ฅ= ๋ฐ --๊ธฐ๋ณธ-ํ์ค-์ค๋ฅ= ๋ช ๋ น ์ค ์ธ์
์์์ ๊ฐ๊ฐ ์ค๋ช ํ.
systemd.setenv=
VARIABLE=VALUE ํ์์ ๋ฌธ์์ด ์ธ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ถ๊ธฐ๋ ์์ ํ๋ก์ธ์ค์ ์ถ๊ฐํ ํ๊ฒฝ ๋ณ์. ํ ๋ฒ ์ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
systemd.machine_id=
machine-id๋ฅผ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉํ 32์์ XNUMX์ง์ ๊ฐ์ ์ฌ์ฉํฉ๋๋ค. ๋๋ถ๋ถ ์๋
๋ชจ๋ ๋ถํ ์ ๋ํด ๋์ผํ ๋จธ์ ID๊ฐ ํ์ํ ๋คํธ์ํฌ ๋ถํ ์ ๊ฒฝ์ฐ.
์กฐ์ฉํ
๋ถํ ์ ์ํ ์ถ๋ ฅ ๋๊ธฐ systemd.show_status=๊ฑฐ์ง ์ผ ๊ฒ์ด๋ค. ์ฐธ๊ณ
์ด ์ต์ ์ ๋ํ ์ปค๋ ์์ฒด์์ ์ฝ๊ณ ์ปค๋ ๋ก๊ทธ ์ถ๋ ฅ์ ๋นํ์ฑํํฉ๋๋ค. ํต๊ณผ
๋ฐ๋ผ์ ์ด ์ต์ ์ ์์คํ ๊ด๋ฆฌ์์
ํต์ฌ.
๋๋ฒ๊ทธ
๋๋ฒ๊น ์ถ๋ ฅ์ ์ผญ๋๋ค. ์ด๊ฒ์ ๋๋ฑํ๋ค systemd.log_level=๋๋ฒ๊ทธ. ๊ทธ ์ฃผ
์ด ์ต์ ์ ๋ํ ์ปค๋ ์์ฒด์์ ์ฝ๊ณ ์ปค๋ ๋๋ฒ๊ทธ ์ถ๋ ฅ์ ํ์ฑํํฉ๋๋ค. ํต๊ณผ
๋ฐ๋ผ์ ์ด ์ต์ ์ ์์คํ ๊ด๋ฆฌ์์
ํต์ฌ.
๋น์ ์ฌํ, -b
๋น์ ๋ชจ๋๋ก ๋ถํ ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ฑํ๋ค systemd.unit=emergency.target ๋ฐ
ํธํ์ฑ์ ์ํด ์ ๊ณต๋๋ฉฐ ๋ ์ฝ๊ฒ ์ ๋ ฅํ ์ ์์ต๋๋ค.
๊ตฌ์ถ, ๋จ์ผ, s, S, 1
๊ตฌ์กฐ ๋ชจ๋๋ก ๋ถํ ํฉ๋๋ค. ์ด๊ฒ์ ๋๋ฑํ๋ค systemd.unit=๊ตฌ์กฐ.๋์ ์ ๊ณต
ํธํ์ฑ์ ์ํด ๊ทธ๋ฆฌ๊ณ ๋ ์ฝ๊ฒ ์ ๋ ฅํ ์ ์์ต๋๋ค.
2, 3, 4, 5
์ง์ ๋ ๋ ๊ฑฐ์ SysV ๋ฐ๋ ๋ฒจ๋ก ๋ถํ ํฉ๋๋ค. ์ด๋ค์ ๋๋ฑํ๋ค
systemd.unit=๋ฐ๋ ๋ฒจ2.ํ๊ฒ, systemd.unit=๋ฐ๋ ๋ฒจ3.ํ๊ฒ,
systemd.unit=๋ฐ๋ ๋ฒจ4.ํ๊ฒ๋ฐ systemd.unit=๋ฐ๋ ๋ฒจ5.ํ๊ฒ, ๋ฐ
ํธํ์ฑ์ ์ํด ์ ๊ณต๋๋ฉฐ ๋ ์ฝ๊ฒ ์ ๋ ฅํ ์ ์์ต๋๋ค.
๋ก์ผ์ผ.LANG=, ๋ก์ผ์ผ.์ธ์ด=, ๋ก์ผ์ผ.LC_CTYPE=, ๋ก์ผ์ผ.LC_NUMERIC=, ๋ก์ผ์ผ.LC_TIME=,
๋ก์ผ์ผ.LC_COLLATE=, locale.LC_MONETARY=, ๋ก์ผ์ผ.LC_MESSAGES=, ๋ก์ผ์ผ.LC_PAPER=,
๋ก์ผ์ผ.LC_NAME=, ๋ก์ผ์ผ.LC_ADDRESS=, locale.LC_TELEPHONE=, locale.LC_MEASUREMENT=,
locale.LC_IDENTIFICATION=
์ฌ์ฉํ ์์คํ ๋ก์ผ์ผ์ ์ค์ ํฉ๋๋ค. ์ด๊ฒ์ /etc/locale.conf์ ์ค์ ์ ๋ฌด์ํฉ๋๋ค. ์์ํ
์์ธํ ๋ด์ฉ์ ์ฐธ์กฐ locale.conf(5)๊ณผํ๋ฉด ์ฅ์(7).
์ฝ์ด OS์ ๊ตฌ์ฑ ์์๊ฐ ์ดํดํ๋ ๋ค๋ฅธ ์ปค๋ ๋ช ๋ น์ค ๋งค๊ฐ๋ณ์๋ ๋ค์์ ์ฐธ์กฐํ์ญ์์ค.
๋ฅผ ์ฐธ์กฐ ์ปค๋ ๋ช ๋ น์ค(7).
์์ผ ๋ฐ ํผํฌ์ค
/์คํ/์์คํ /์๋ฆผ
๋ฐ๋ชฌ ์ํ ์๋ฆผ ์์ผ. ์ด๊ฒ์ AF_UNIX ๋ฐ์ดํฐ๊ทธ๋จ ์์ผ ๋ฐ ์ฌ์ฉ
์ ์ํด ๊ตฌํ๋ ๋ฐ๋ชฌ ์๋ฆผ ๋ก์ง์ ๊ตฌํํฉ๋๋ค. sd_notify(3).
/์คํ/์์คํ /๊ฐ์ธ
๋ด๋ถ ํต์ ์ฑ๋๋ก ์ฌ์ฉ systemctl(1) ๋ฐ ์์คํ ํ๋ ํ๋ก์ธ์ค.
์ด ์ธ AF_UNIX ์คํธ๋ฆผ ์์ผ. ์ด ์ธํฐํ์ด์ค๋ systemd ์ ์ฉ์ด๋ฏ๋ก ์ฌ์ฉํ์ง ์์์ผ ํฉ๋๋ค.
์ธ๋ถ ํ๋ก์ ํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
/dev/initctl
SysV ํด๋ผ์ด์ธํธ ์ธํฐํ์ด์ค์ ๋ํ ์ ํ๋ ํธํ์ฑ ์ง์,
systemd-initctl.service ๋จ์. ์ด๊ฒ์ ํ์ผ ์์คํ ์ ๋ช ๋ช ๋ ํ์ดํ์ ๋๋ค. ์ด ์ธํฐํ์ด์ค
๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉํด์๋ ์ ๋ฉ๋๋ค.
onworks.net ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ systemd ์จ๋ผ์ธ ์ฌ์ฉ