systemd ๋?
๊ธฐ์กด์ linux์์๋ init ํ๋ก์ธ์ค๋ก ์๋น์ค์ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ค. ํ์ฌ์ ์ต์ ๋ฒ์ ๋ฆฌ๋ ์ค์์๋ systemd ๋ฐ๋ชฌ์ผ๋ก init ํ๋ก์ธ์ค์ ์ญํ ์ ๋์ฒดํ๊ณ ์๋ค.
- systemd ๋ก ๋์ฒด๋ ์ดํ๋ก Run-Level ์ ์ฌ์ฉํ์ง ์๋๋ค. Run-Level ๋์ Target Unit์ ์ฌ์ฉํ๋ค.
- systemd ๋ ๋ฆฌ๋ ์ค์ ๋์ ๋๊ณ ์๋ PID1 ๋ฒ ํ๋ก์ธ์ค์ด๋ค.
- ์์คํ ๊ด๋ฆฌ, ๋ก๊ทธ ๊ด๋ฆฌ, ์๋น์ค ๊ด๋ฆฌ, ์ด๊ธฐํ ์คํฌ๋ฆฝํธ ๊ด๋ฆฌ ๋ฑ์ ์์คํ ๊ด๋ฆฌ์ ์ ๋ฐ์ ์ธ ์์ ์ ์ํํ๊ณ ์๋ค.
- init ํ๋ก์ธ์ค์์ ์ฌ์ฉํ๋ ์๋น์ค๋ค์ ์คํฌ๋ฆฝํธ ํํ์๋ ๋ฐ๋ฉด, systemd๋ก ๋์ฒด๋๋ฉด์ ์ด๋ Service Unit์ผ๋ก ์ ๊ณต๋๋ค.
๋์ ์ค์ธ systemd process๋ฅผ ํ์ธํ๋ ๋ช ๋ น์ด
ps -ef
systemd Unit
systemd Unit ํ์ผ์ /etc/systemd/system, /run/systemd/system /usr/lib/systemd/system ์ด ์ธ ๊ณณ์ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋๋ค.
- /etc/systemd/system ์๋ ์์คํ ๊ด๋ฆฌ์๊ฐ ์ค์ ํ ์ ๋ ํ์ผ๋ค์ด ์ ์ฅ๋๋ค.
- /run/systemd/system ๋ ๋ฐํ์ ์ํ์ผ๋ ์์๋ก ์ ๋ํ์ผ์ ์ ์ฅํ๋ ๋๋ ํ ๋ฆฌ์ด๋ค.
- /usr/lib/systemd/system ๋ ํน์ ์ ๋์ด ํฌํจ๋ ํจํค์ง๋ฅผ ์ค์นํ๋ฉด ์ ์ฅ๋๋ ๋๋ ํ ๋ฆฌ์ด๋ค.
systemd Unit ํ์ผ์ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
[Unit] : Unit์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๋ณด
[Unit์ ์ ํ] : Unit์ ์ ํ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค. Service, Socket ๋ฑ์ด ์๋ค.
[Install] : Unit์ ๋ํ ์ค์น ์ ๋ณด
Systemd Unit ๋ชฉ๋ก ํ์ธํ๊ธฐ
systemctl๋ systemd Unit ๋ฅผ ๊ด๋ฆฌํ๋ ๋ช ๋ น์ด์ด๋ค.
systemd Unit ๋ชฉ๋ก ์ถ๋ ฅํ๊ธฐ
systemctl list-units
์ข
๋ฅ๋ฅผ ์ง์ ํ์ฌ ๋ชฉ๋ก ํ์ธ
systemd list-units —type=UNIT_TYPE
UNIT์ค์ service ์ ๋๋ค๋ง ์ถ๋ ฅํด์ ํ์ธ
list-units —type service systemd
๋ชจ๋ systemd unit ๋ชฉ๋ก ํ์ธ
systemctl list-units —all
systemd unit ํ์ฑํ ์ํ ํ์ธ (๋ถํ
์ ์๋์ผ๋ก ์คํ ์ฌ๋ถ ํ์ธ) -> enabled / disabled ๋ฅผ ์๋ฏธํจ
systemctl list-unit-files
Systemd Unit์ ์ํ ์ข ๋ฅ
- enabled : ๋ถํ ์ ์๋ ์คํ
- disabled : ๋ถํ ์ ์๋์ผ๋ก ์คํํ์ง ์์
- static : ์ฌ์ฉ์์ ์ํด ์คํ๋์ง ์๊ณ ๋ค๋ฅธ systemd unit ์ ์ํด ์คํ๋จ
- masked : ์ถฉ๋์ ๋ง๊ธฐ ์ํด ํด๋น system unit์ด ์คํ๋์ง ์๋๋ก ์ง์
Systemd unit ์ ์ํ ํ์ธ
systemctl status SYSTEMD_UNIT
์์) cups.service ์๋น์ค ์ ๋์ ์ํ๋ฅผ ํ์ธ
systemctl status STSTEMD_UNIT -l
-l ์ต์
์ ๋ถ์ด๋ฉด ๊ด๋ จ ๋ก๊ทธ๋ ์กฐํํ ์ ์๋ค.
systemctl list-dependencies SYSTEMD_UNIT
systemd unit์ ์์กด์ฑ ํ์ธ (ํด๋น systemd์ ๋ํด์ ์ด์์ํ๋ฅผ treeํํ๋ก ํ์ธ)
Systemd Unit ์ํ ์ ์ดํ๊ธฐ
systemd Unit ์์
systemctl start SYSTEMD_UNIT
systemd Unit ์ข
๋ฃ
systemctl stop SYSTEMD_UNIT
systemd Unit ์ฌ์์
systemctl restart SYSTEMD_UNIT
systemd Unit ์ฌ๋ก๋
systemctl reload SYSTEMD_UNIT
Systemd Unit ์ํ ํ์ธ
systemctl status SYSTEMD_UNIT
Systemd Unit ํ์ฑํ (๋ถํ ์ ์๋์คํ) ์ค์ ๋ช ๋ น์ด
systemd unit ๋ถํ
์ ์๋ ์คํ
systemctl enable SYSTEMD_UNIT
systemd unit ๋ถํ
์ ์๋ ์คํ ํด์
systemctl disable SYSTEMD_UNIT
System Unit Masking ๋ช ๋ น์ด
mask ๋ฅผ ์ด์ฉํ์ฌ systemd ์ ๋์ด ์คํ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๋ค. systemd์์๋ ์ฌ์ฉ์๊ฐ ์ง์ ์คํํ์ง ์๋๋ผ๋ ์๋์ผ๋ก ์คํ๋๋ ์์กด์ฑ์ ๊ฐ์ง ์ ๋๋ค์ด ์๋ค. ์ด๋ฌํ ์ ๋๋ค์ด ์ถฉ๋ํ๊ฒ ๋๋ฉด ์์คํ ์ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์์ผ๋ฏ๋ก masking ์ ์ด์ฉํ์ฌ ๋ฐฉ์งํ ์ ์๋ค.
systemd unit ๋ง์คํฌ (์คํ ์ ํ)
systemctl mask SYSTEMD_UNIT
mask์ฒ๋ฆฌ๋ฅผ ํ ํ ์ํ๋ฅผ ํ์ธํ์ ๋ masked ์ฒ๋ฆฌ๊ฐ ๋์์์ ํ์ธํ ์ ์๋ค.
systemd unit ๋ง์คํฌ ํด์ (์คํ ์ ํ)
systemctl unmask SYSTEMD_UNIT
'Cloud Engineering > Linux ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Linux] SELinux - ssh ์๊ฒฉ ์ ์ ํฌํธ ๋ณ๊ฒฝํ๊ธฐ , ํฌํธ๋ ์ด๋ธ ์ค์ ํ๊ธฐ (0) | 2023.01.16 |
---|---|
[Linux] ๋ฆฌ๋ ์ค Log ํ์ธํ๊ธฐ - systemd jounrald log & syslog (0) | 2023.01.09 |
[Linux/๋ฆฌ๋ ์ค] ์์ ์ค์ผ์ค๋ง ๋ช ๋ น์ด at (0) | 2023.01.04 |
[Linux] ๋์คํฌ์ ๋์คํฌ ํํฐ์ ๋์ ์ข ๋ฅ (0) | 2023.01.04 |
[Linux] ์์คํ cron ์์ ์ค์ผ์ค๋ง, crontab, cron.d (0) | 2023.01.04 |