Systemdã¯ãLinuxãªãã¬ãŒãã£ã³ã°ã·ã¹ãã çšã®ã·ã¹ãã ããã³ãµãŒãã¹ãããŒãžã£ãŒã§ãã éçºäžãSysV initåæåã¹ã¯ãªããã䜿çšããŠåŸæ¹ã«èšèšããèµ·åæã®ã·ã¹ãã ãµãŒãã¹ã®äžŠåèµ·åããªã³ããã³ãã§ã®ããŒã¢ã³ã®ã¢ã¯ãã£ãåãã·ã¹ãã ç¶æ
ã¹ãããã·ã§ããã®ãµããŒããäŸåé¢ä¿ã«åºã¥ããµãŒãã¹ç®¡çããžãã¯ãªã©ã®äŸ¿å©ãªæ©èœãæäŸããããšããŸããã CentOS 7ã§ã¯ãsystemdãUpstartãããã©ã«ãã®åæåã·ã¹ãã ãšããŠçœ®ãæããŸãã
ãã®èšäºã§ã¯ãCentOS 7ãŠãŒã¶ãŒåãã«systemdã§ãµãŒãã¹ã管çããããã»ã¹ãæ€èšããŸãããã®ç¥èã¯ãFedoraã§é·ãé䜿çšãããUbuntu 14.10ããã³Debian 8ã§èšç»ãããŠãããããä»ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã§åœ¹ç«ã¡ãŸãã

ãã®èšäºãèªã¿ãªãããInfoboxãã
ã¯ã©ã·ãã¯VPSãš
ã¯ã©ãŠãVPS㧠systemdãè©Šãããšãã§ããŸãã ææ°ã®ãã¯ãããžãŒã䜿çšããŠå¹ççãªäœæ¥ãè¡ããããã«ãææ°ã®OSã®ãµããŒããã¿ã€ã ãªãŒã«è¿œå ããããåªããŠããŸãã èšäºãæžããšãããŸãã«ãã®ã¢ã€ãã¢ã¯ãCentOS 7ã§ã®ãµãŒãã¹ã®äœ¿çšã«é¢ããå¥ã®ãŠãŒã¶ãŒã®è³ªåããçãŸããŸããã
ã¯ããã«
Systemdã¯ãsystemdãŠãããã®æŠå¿µããããããŸãã ãŠãããã¯ã次ã®ããããã®ãã£ã¬ã¯ããªã«ããæ§æãã¡ã€ã«ã§è¡šãããŸãã
- / usr / lib / systemd / system / -ã€ã³ã¹ããŒã«ãããRPMããã±ãŒãžã®ãŠãããã
- /å®è¡/ systemd / system / -ã©ã³ã¿ã€ã ã§äœæããããŠãããã ãã®ãã£ã¬ã¯ããªã¯ãããã±ãŒãžãããŠããããã€ã³ã¹ããŒã«ãããŠãããã£ã¬ã¯ããªãããäžäœã§ãã
- / etc / systemd / system / -ã·ã¹ãã 管çè
ãäœæããã³ç®¡çãããŠãããã ãã®ãã£ã¬ã¯ããªã¯ãã©ã³ã¿ã€ã ã§äœæããããŠãããã®ãã£ã¬ã¯ããªãããäžäœã§ãã
ãŠãããã«ã¯ãã·ã¹ãã ãµãŒãã¹ããªã¹ãã³ã°ãœã±ãããã·ã¹ãã ç¶æ
ã®ä¿åãããã¹ãããã·ã§ãããããã³åæåã·ã¹ãã ã«é¢é£ããä»ã®ãªããžã§ã¯ãã«é¢ããæ
å ±ãå«ãŸããŸãã
systemdãŠãããã®ã¿ã€ãïŒ
- .service-ã·ã¹ãã ãµãŒãã¹
- .target -systemdãŠãããã°ã«ãŒã
- .automoun t-ãã¡ã€ã«ã·ã¹ãã ã®ããŠã³ããã€ã³ã
- .device-ã«ãŒãã«ã«ãã£ãŠèªèãããããã€ã¹ãã¡ã€ã«
- .mount-ãã¡ã€ã«ã·ã¹ãã ã®ããŠã³ããã€ã³ã
- .path-ãã¡ã€ã«ã·ã¹ãã å
ã®ãã¡ã€ã«ãŸãã¯ãã£ã¬ã¯ããª
- .scope-å€éšã§äœæãããããã»ã¹
- .slice-ã·ã¹ãã ããã»ã¹ã管çããéå±€çã«ç·šæããããŠãããã®ã°ã«ãŒã
- .snapshot -systemdãããŒãžã£ãŒã®ä¿åç¶æ
- .socket-ããã»ã¹ééä¿¡ãœã±ãã
- .swap-ããã€ã¹ãŸãã¯ã¹ã¯ãããã¡ã€ã«ã®ã¹ã¯ããïŒã¹ã¯ãããã¡ã€ã«ïŒ
- .timer -systemdã¿ã€ããŒ
CentOS 7ã®ã³ã¢ã·ã¹ãã æ©èœ
- ãœã±ããããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ ã èµ·åæã«ãsystemdã¯ãã¹ãŠã®ã·ã¹ãã ãµãŒãã¹ã®ãœã±ããããªãã¹ã³ãããã®ã¿ã€ãã®ã¢ã¯ãã£ããŒã·ã§ã³ããµããŒããããµãŒãã¹éå§çŽåŸã«ãããã®ãµãŒãã¹ã«ãœã±ããã転éããŸãã ããã«ãããsystemdã¯ãµãŒãã¹ã䞊è¡ããŠéå§ã§ããã ãã§ãªãããµãŒãã¹ãå©çšã§ããªããšãã«éä¿¡ãããã¡ãã»ãŒãžã倱ãããšãªããµãŒãã¹ãåéããããšãã§ããŸãã 察å¿ãããœã±ããã¯äœ¿çšå¯èœãªãŸãŸã§ããã¹ãŠã®ã¡ãã»ãŒãžããã¥ãŒã«å
¥ããããŸãã
- D-BusããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ ã D âãã¹ã䜿çšããããã»ã¹ééä¿¡çšã®ã·ã¹ãã ãµãŒãã¹ã¯ãã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ããããã«æ¥ç¶ããããšãããšãã«ãªã³ããã³ãã§éå§ã§ããŸãã
- ããã€ã¹ããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ ã ããã€ã¹ããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ããµããŒãããã·ã¹ãã ãµãŒãã¹ã¯ãç¹å®ã®ã¿ã€ãã®æ©åšãæ¥ç¶ããããšãããŸãã¯å©çšå¯èœã«ãªã£ããšãã«éå§ã§ããŸãã
- ãã¹ããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ ã ãã©ã«ããŒãŸãã¯ãã£ã¬ã¯ããªã®ç¶æ
ãå€æŽãããå Žåãã·ã¹ãã ãµãŒãã¹ã¯ãã®ã¿ã€ãã®ã¢ã¯ãã£ããŒã·ã§ã³ããµããŒãã§ããŸãã
- å
šèº«ç¶æ
ã®ã¹ãããã·ã§ãã ã ã·ã¹ãã ã¯ããã¹ãŠã®ãŠãããã®ç¶æ
ãä¿åããã·ã¹ãã ã®ä»¥åã®ç¶æ
ã埩å
ã§ããŸãã
- ããŠã³ããšããŠã³ããã€ã³ãã管çããŸãã Systemdã¯ãããŠã³ããšããŠã³ããã€ã³ããç£èŠããã³ç®¡çããŸãã
- Aggressive Concurrency Systemdã¯ããœã±ããããŒã¹ã®ã¢ã¯ãã£ããŒã·ã§ã³ã䜿çšããŠãããããã·ã¹ãã ãµãŒãã¹ã䞊è¡ããŠå®è¡ããŸãã ãªã³ããã³ãã¢ã¯ãã£ããŒã·ã§ã³ããµããŒããããµãŒãã¹ãšçµã¿åãããŠããã©ã¬ã«ã¢ã¯ãã£ããŒã·ã§ã³ã¯ã·ã¹ãã ã®èµ·åæéã倧å¹
ã«ççž®ããŸãã
- ãŠãããã¢ã¯ãã£ããŒã·ã§ã³ã®ãã©ã³ã¶ã¯ã·ã§ã³ããžã㯠ã ãŠããããã¢ã¯ãã£ãåããã³éã¢ã¯ãã£ãåããåã«ãsystemdã¯äŸåé¢ä¿ãèšç®ããäžæçãªãã©ã³ã¶ã¯ã·ã§ã³ãäœæããŠããã®ãã©ã³ã¶ã¯ã·ã§ã³ã®æŽåæ§ããã§ãã¯ããŸãã ãã©ã³ã¶ã¯ã·ã§ã³ãå®äºããŠããªãå Žåãsystemdã¯ãšã©ãŒã¡ãã»ãŒãžãçæããåã«ããã©ã³ã¶ã¯ã·ã§ã³ãèªåçã«ä¿®æ£ããäžèŠãªãžã§ããåé€ããããšããŸãã
- SysVåæåãšã®äžäœäºææ§ ã SystemDã¯ãLinux Standard BaseïŒLSBïŒä»æ§ã§èª¬æãããŠããããã«ãsystemdãžã®åãæ¿ããç°¡çŽ åããSysVåæåã¹ã¯ãªãããå®å
šã«ãµããŒãããŸãã
ãµãŒãã¹ç®¡ç
CentOSã®ä»¥åã®ããŒãžã§ã³ã§ã¯ãSysVãŸãã¯Upstartã䜿çšãããŠããŸããã åæåã¹ã¯ãªããã¯
/etc/rc.d/init.d/ãã£ã¬ã¯ããªã«ãããŸããã ãã®ãããªã¹ã¯ãªããã¯éåžžBashã§èšè¿°ãããŠããã管çè
ããµãŒãã¹ãšããŒã¢ã³ã®ã¹ããŒã¿ã¹ãå¶åŸ¡ã§ããŸãã CentOS 7ã§ã¯ãåæåã¹ã¯ãªããã¯ãµãŒãã¹ãŠãããã«çœ®ãæããããŸããã
䜿çšæ¹æ³ã¯ããµãŒãã¹
.serviceãŠãããã¯åæåã¹ã¯ãªããã«äŒŒãŠããŸãã ã·ã¹ãã ãµãŒãã¹ã衚瀺ãéå§ãåæ¢ãåèµ·åãæå¹åãŸãã¯ç¡å¹åããã«ã¯ã
systemctlã³ãã³ãã䜿çšããŸãã
serviceããã³
chkconfigã³ãã³ãã¯ã·ã¹ãã ã«ãŸã å«ãŸããŠããŸãããäºææ§ã®çç±ããã®ã¿ã§ãã

systemctlã䜿çšããå Žåããã¡ã€ã«æ¡åŒµåã®æå®ã¯ãªãã·ã§ã³ã§ãã
以äžã¯ãäž»èŠãª
systemctlã³ãã³ãã§ãã
- systemctl start name.service-ãµãŒãã¹ãéå§ããŸãã
- systemctl stop name.service-ãµãŒãã¹ãåæ¢ããŸã
- systemctl restart name.service-ãµãŒãã¹ã®åèµ·å
- systemctl try-restart name.service-ãµãŒãã¹ãå®è¡ãããŠããå Žåã®ã¿ãµãŒãã¹ãåèµ·åããŸã
- systemctl reload name.service-ãµãŒãã¹æ§æã®åèªã¿èŸŒã¿
- systemctl status name.service-ãµãŒãã¹ã®ã¹ããŒã¿ã¹ã®è©³çŽ°è¡šç€ºã§ãµãŒãã¹ãéå§ãããŠãããã©ããã確èªããŸã
- systemctl is-active name.service-ãµãŒãã¹ãéå§ããããã©ãããåçŽãªçãã§ç¢ºèªããŸãïŒã¢ã¯ãã£ããŸãã¯éã¢ã¯ãã£ã
- systemctl list-units --type service --all-ãã¹ãŠã®ãµãŒãã¹ã®ã¹ããŒã¿ã¹ã衚瀺ããŸã
- systemctl enable name.service-ãµãŒãã¹ãæå¹ã«ããŸãïŒã·ã¹ãã ã®èµ·åæã«éå§ã§ããŸãïŒ
- systemctl disable name.service-ãµãŒãã¹ãéã¢ã¯ãã£ãåããŸã
- systemctl reenable name.service-ãµãŒãã¹ãç¡å¹ã«ããããã«æå¹ã«ããŸã
- systemctlã¯âæå¹ãªname.service-ãµãŒãã¹ãã¢ã¯ãã£ãåãããŠãããã©ããã確èªããŸã
- systemctl list-unit-files --type service-ãã¹ãŠã®ãµãŒãã¹ã衚瀺ããã©ã®ãµãŒãã¹ãã¢ã¯ãã£ãã«ãªã£ãŠãããã確èªããŸã
- systemctl mask name.service-ãµãŒãã¹ãã¡ã€ã«ã/ dev / nullã«ããã·ã³ããªãã¯ãªã³ã¯ã«çœ®ãæãããŠãããã«systemdããã¢ã¯ã»ã¹ã§ããªãããã«ããŸã
- systemctl unmask name.service-ãµãŒãã¹ãã¡ã€ã«ãè¿ããsystemdã§ãŠãããã䜿çšã§ããããã«ããŸã
Systemdã®ã¿ãŒã²ããã§ã®äœæ¥
SysV initãŸãã¯Upstartãåãã以åã®ããŒãžã§ã³ã®CentOSã«ã¯ã0ã6ã®çªå·ãä»ããããæäœåºæã®ã¢ãŒããè¡šãã©ã³ã¬ãã«ã®å®çŸ©æžã¿ã»ãããå«ãŸããŠããŸãããCentOS7ã§ã¯ãã©ã³ã¬ãã«ã®æŠå¿µã¯systemdã®ç®æšã«çœ®ãæããããŸããã
systemd
.targetã¿ãŒã²ãã
ãã¡ã€ã«ã¯ãäŸåé¢ä¿ãã§ãŒã³ãéããŠä»ã®systemdãŠããããã°ã«ãŒãåããããã®ãã®ã§ãã ããšãã°ãã°ã©ãã£ã«ã«ã»ãã·ã§ã³ã®éå§ã«äœ¿çšããã
graphical.targetãŠãããã¯ãGNOME Display ManagerïŒ
gdm.service ïŒããã³Accounts ServiceïŒ
accounts â daemon.service ïŒã·ã¹ãã ãµãŒãã¹ãéå§ãã
multi-user.targetãã¢ã¯ãã£ãã«ã
ãŸã ã 次ã«ã
multi-user.targetã¯ãNetwork ManagerïŒ
NetworkManager.service ïŒãD-BusïŒ
dbus.service ïŒãªã©ã®ä»ã®ã·ã¹ãã ãµãŒãã¹ãèµ·åããä»ã®
basic.targetã¿ãŒã²ãããŠããããã¢ã¯ãã£ãã«ããŸãã
CentOS 7ã«ã¯ãã©ã³ã¬ãã«ã®æšæºã»ããã«äŒŒãäºåå®çŸ©ãããç®æšããããŸãã äºææ§ã®çç±ããããããã«ã¯ãããã®ç®çã®ãšã€ãªã¢ã¹ããããSysVã©ã³ã¬ãã«ã«çŽæ¥è¡šç€ºãããŸãã
- poweroff.targetïŒrunlevel0.targetïŒ -ã·ã¹ãã ã®ã·ã£ããããŠã³ãšã·ã£ããããŠã³
- rescue.targetïŒrunlevel1.targetïŒ -å埩ã·ã§ã«ã®ã»ããã¢ãã
- multiâuser.targetïŒrunlevel2.targetãrunlevel3.targetãrunlevel4.targetïŒ -éã°ã©ãã£ã«ã«ãã«ããŠãŒã¶ãŒã·ã¹ãã ã®ã»ããã¢ãã
- graphic.targetïŒrunlevel5.targetïŒ -ã°ã©ãã£ã«ã«ãªãã«ããŠãŒã¶ãŒã·ã¹ãã ã®ã»ããã¢ãã
- reboot.targetïŒrunlevel6.targetïŒ -ã·ã¹ãã ãã·ã£ããããŠã³ããŠåèµ·åããŸã
runlevelããã³telinitã³ãã³ãã¯åŒãç¶ã䜿çšã§ããŸãããäºææ§ã®çç±ã§ã·ã¹ãã ã«æ®ãããŠããŸãã systemctlã䜿çšããŠãã·ã¹ãã ã®ç®æšãå€æŽãŸãã¯æ§æããããšããå§ãããŸãã
ããã©ã«ãã§äœ¿çšãããã¿ãŒã²ãããŠãããã確èªããã«ã¯ã次ã®ã³ãã³ãã圹ç«ã¡ãŸã
ãsystemctl get â default ã
ããŒãããããã¹ãŠã®ã¿ãŒã²ãããŠãããã衚瀺ããã«ã¯ã
systemctl list-units --type targetã³ãã³ãã 䜿çšãããã¹ãŠã®ã¿ãŒã²ãããŠãããã衚瀺
ããã«ã¯ãsystemctl list-units --type target --allã³ãã³ãã䜿çšããŸãã
systemctl set-default name.targetã³ãã³ãã¯
ãããã©ã«ãã®ã¿ãŒã²ããã
å€æŽããã®ã«åœ¹ç«ã¡
ãŸã ã
çŸåšã®ã¿ãŒã²ãããå€æŽããã«ã¯ïŒ
systemctl isolate name.target ã ããŒã ã¯ã¿ãŒã²ãããŠããããšãã®ãã¹ãŠã®äŸåé¢ä¿ãèµ·åããä»ã®ãã¹ãŠã®ãŠããããçŽã¡ã«åæ¢ããŸãã
ã·ã¹ãã ã®ã·ã£ããããŠã³ãšåèµ·å
CentOS 7ã§ã¯ãsystemctlã¯ããªãã®æ°ã®é»æºç®¡çã³ãã³ãã眮ãæããŸãã 以åã®ã³ãã³ãã¯äºææ§ã®ããã«ä¿åãããŠããŸãããsystemctlã䜿çšããããšããå§ãããŸãã
systemctl halt-ã·ã¹ãã ãåæ¢ããŸã
systemctl poweroff-ã·ã¹ãã ãã·ã£ããããŠã³ããŸã
systemctl reboot-ã·ã¹ãã ãåèµ·åããŸã
ãªã¢ãŒããã·ã³ã§systemdã管çãã
Systemdã䜿çšãããšãSSHçµç±ã§ãªã¢ãŒããã·ã³ãå¶åŸ¡ã§ããŸãã å¶åŸ¡ããã«ã¯ã次ã®ã³ãã³ãã䜿çšããŸãã
systemctl --host user_name @ host_name command ãããã§user_nameã¯ãŠãŒã¶ãŒåãhost_nameã¯ãªã¢ãŒãå¶åŸ¡ãããŠãããã¹ãã®ååãcommandã¯å®è¡ãããŠããsystemdã³ãã³ãã§ãã
å
žåçãªsystemd .service
ãã®ã»ã¯ã·ã§ã³ã¯ãsystemdããè¿
éã«ãµãŒãã¹ç®¡çãµããŒããè¡ãå¿
èŠãããå Žåã«åœ¹ç«ã¡ãŸãã .serviceãã¡ã€ã«ã®ãã¹ãŠã®ãã©ã¡ãŒã¿ãŒã®è©³çŽ°æ
å ±ã¯ãsystemdããã¥ã¡ã³ãã®
察å¿ããã»ã¯ã·ã§ã³ã«ãããŸãã
[Unit] Description=Daemon to detect crashing apps After=syslog.target [Service] ExecStart=/usr/sbin/abrtd Type=forking [Install] WantedBy=multi-user.target
[Unit]ã»ã¯ã·ã§ã³ãèŠãŠã¿ãŸãããã ãµãŒãã¹ã«é¢ããäžè¬æ
å ±ãå«ãŸããŠããŸãã ãã®ãããªã»ã¯ã·ã§ã³ã¯ããµãŒãã¹ãŠãããã ãã§ãªããä»ã®ãŠãããã«ããããŸãïŒããšãã°ãããã€ã¹ãããŠã³ããã€ã³ããªã©ã管çããå ŽåïŒã ãã®äŸã§ã¯ããµãŒãã¹ã®èª¬æã瀺ããSyslogã®åŸã«ããŒã¢ã³ãéå§ããå¿
èŠãããããšã瀺ããŠããŸãã
次ã®ã»ã¯ã·ã§ã³
[ãµãŒãã¹]ã«ã¯ããµãŒãã¹ã«é¢ããæ
å ±ãçŽæ¥å«ãŸããŠããŸãã 䜿çšããããã©ã¡ãŒã¿
ExecStartã¯ããµãŒãã¹ã®å®è¡å¯èœãã¡ã€ã«ã瀺ããŸãã
Typeã«ã¯ããµãŒãã¹ãèµ·åã®å®äºãsystemdã«éç¥ããæ¹æ³ã瀺ããŸãã
æåŸã®
[Install]ã»ã¯ã·ã§ã³ã«ã¯ããµãŒãã¹ãéå§ããç®çã«é¢ããæ
å ±ãå«ãŸããŠããŸãã ãã®å Žåã
multi-user.targetã¿ãŒã²ããã
ã¢ã¯ãã£ãã«ãªã£ããšãã«ãµãŒãã¹ãéå§ããå¿
èŠããããšèšããŸãã
ããã¯ãæå°ã®äœæ¥systemdãµãŒãã¹ãã¡ã€ã«ã§ãã ç¬èªã®ãã¹ããäœæããåŸã/ etc / systemd / system / service_name.serviceã«ã³ããŒããŸãã
systemctl daemon-reloadã³ãã³ããå®è¡ããŸãã Systemdã¯ãµãŒãã¹ã«ã€ããŠåŠç¿ããéå§ã§ããŸãã
è¿œå æ
å ±
ãã®èšäº
ã®åªããRedHat systemdã¬ã€ã ã
systemdãµãŒãã¹ãŠããããèšè¿°ããããã®ããã¥ã¡ã³ã ã
ãã·ã¢èªã®systemdã®éçº
è
ã«ããã管çè
åãSystemdã ã
ãããã«
ãã®èšäºã§ã¯ãCentOS 7ãµãŒãã¹ã®ç®¡çæ¹æ³ãåŠã³ãŸãããããã¡ãããããã¯systemdã®å¯äžã®æ©èœãšã¯ã»ã©é ããã®ã§ããããã®ä»ã®åŽé¢ã«ã€ããŠã¯ä»åŸæ€èšãããäºå®ã§ãã ãªãªãŒã¹ä»¥æ¥ãOSèªäœã¯Infoboxãã
ã¯ã©ã·ãã¯VPSãš
ã¯ã©ãŠãVPSã§å©çšå¯èœã«ãªããŸããã systemdãä»ããè©ŠããŠãã ããã ãã®ç¥èã¯ãå€ãã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ããsystemdãžã®ç§»è¡ã«é¢é£ããŠåœ¹ç«ã¡ãŸãã
èšäºã«ééããèŠã€ããå Žåãèè
ã¯åãã§ä¿®æ£ããŸãã PMã«é£çµ¡ããããããã«ã€ããŠ
é»åã¡ãŒã«ãéä¿¡ããŠãã ããã
Habréã«ã³ã¡ã³ããæ®ãããšãã§ããªãå Žåã¯ã
InfoboxCloudã³ãã¥ããã£ããã°ãŸãã¯
Facebookã®ã°ã«ãŒãã§ã³ã¡ã³ããæžãããšãã§ããŸãã
CentOS 7ã®äœ¿çšã«æåããŸããïŒ