ãã®èšäºã§ã¯ã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ã®äœ¿çšã«æåããŸããïŒ