Bii o ṣe le Ṣakoso Awọn iṣẹ Systemd ati Awọn ẹya Lilo Systemctl ni Lainos
Systemctl jẹ iwulo eto ti o ni ẹri fun Ṣiṣakoso eto eto ati oluṣakoso iṣẹ. Systemd jẹ ikojọpọ ti awọn daemons iṣakoso eto, awọn ohun elo, ati awọn ile ikawe eyiti o ṣiṣẹ bi rirọpo ti System V init daemon. Awọn iṣẹ eto bi iṣakoso aringbungbun ati pẹpẹ iṣeto fun UNIX bii eto.
Ninu Lainos, Ecosystem Systemd ti ni imuse lori pupọ julọ Pinpin Lainos boṣewa pẹlu awọn imukuro diẹ. Systemd jẹ Ilana ti obi ti gbogbo awọn daemons nigbagbogbo ṣugbọn kii ṣe nigbagbogbo.
Nkan yii ni ifọkansi ni didan ina si\"Bii o ṣe le ṣakoso Eto ati Awọn Iṣẹ” lori eto ṣiṣe eto.
Bibẹrẹ pẹlu Systemtd ati Awọn ipilẹ Systemctl
1. Ni akọkọ, ṣayẹwo ti o ba ti fi eto sori ẹrọ rẹ tabi rara, ati pe kini ẹya ti Systemd ti a fi sori ẹrọ lọwọlọwọ?
# systemctl --version systemd 215 +PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR
O han lati apẹẹrẹ ti o wa loke, pe a ti fi eto 215 eto sori ẹrọ.
2. Ṣayẹwo ibiti awọn binaries ati awọn ile ikawe ti systemd ati systemctl ti fi sori ẹrọ.
# whereis systemd systemd: /usr/lib/systemd /etc/systemd /usr/share/systemd /usr/share/man/man1/systemd.1.gz # whereis systemctl systemctl: /usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz
3. Ṣayẹwo boya systemd n ṣiṣẹ tabi rara.
# ps -eaf | grep [s]ystemd root 1 0 0 16:27 ? 00:00:00 /usr/lib/systemd/systemd --switched-root --system --deserialize 23 root 444 1 0 16:27 ? 00:00:00 /usr/lib/systemd/systemd-journald root 469 1 0 16:27 ? 00:00:00 /usr/lib/systemd/systemd-udevd root 555 1 0 16:27 ? 00:00:00 /usr/lib/systemd/systemd-logind dbus 556 1 0 16:27 ? 00:00:00 /bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
Akiyesi: systemd n ṣiṣẹ bi daemon obi (PID = 1). Ninu aṣẹ ti o wa loke ps pẹlu (-e) yan gbogbo Awọn ilana, (-a) yan gbogbo awọn ilana ayafi awọn adari igba ati (-f) fun atokọ kika kika ni kikun (ie -eaf).
Pẹlupẹlu, ṣe akiyesi awọn biraketi onigun mẹrin ni apẹẹrẹ ti o wa loke ati iyoku awọn apẹẹrẹ lati tẹle. Ifihan akọmọ Square jẹ apakan ti ibaamu ẹya kilasi kilasi grep.
4. Itupalẹ ilana bata bata ti eto.
# systemd-analyze Startup finished in 487ms (kernel) + 2.776s (initrd) + 20.229s (userspace) = 23.493s
5. Itupalẹ akoko ti o ya nipasẹ ilana kọọkan ni bata.
# systemd-analyze blame 8.565s mariadb.service 7.991s webmin.service 6.095s postfix.service 4.311s httpd.service 3.926s firewalld.service 3.780s kdump.service 3.238s tuned.service 1.712s network.service 1.394s lvm2-monitor.service 1.126s systemd-logind.service ....
6. Ṣe itupalẹ ẹwọn pataki ni bata.
# systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. multi-user.target @20.222s └─mariadb.service @11.657s +8.565s └─network.target @11.168s └─network.service @9.456s +1.712s └─NetworkManager.service @8.858s +596ms └─firewalld.service @4.931s +3.926s └─basic.target @4.916s └─sockets.target @4.916s └─dbus.socket @4.916s └─sysinit.target @4.905s └─systemd-update-utmp.service @4.864s +39ms └─auditd.service @4.563s +301ms └─systemd-tmpfiles-setup.service @4.485s +69ms └─rhel-import-state.service @4.342s +142ms └─local-fs.target @4.324s └─boot.mount @4.286s +31ms └─[email \x2duuid-79f594ad\x2da332\x2d4730\x2dbb5f\x2d85d19608096 └─dev-disk-by\x2duuid-79f594ad\x2da332\x2d4730\x2dbb5f\x2d85d196080964.device @4
Pataki:
7. Ṣe atokọ gbogbo awọn ẹya to wa.
# systemctl list-unit-files UNIT FILE STATE proc-sys-fs-binfmt_misc.automount static dev-hugepages.mount static dev-mqueue.mount static proc-sys-fs-binfmt_misc.mount static sys-fs-fuse-connections.mount static sys-kernel-config.mount static sys-kernel-debug.mount static tmp.mount disabled brandbot.path disabled .....
8. Ṣe atokọ gbogbo awọn ẹya ti nṣiṣẹ.
# systemctl list-units UNIT LOAD ACTIVE SUB DESCRIPTION proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File Syste sys-devices-pc...0-1:0:0:0-block-sr0.device loaded active plugged VBOX_CD-ROM sys-devices-pc...:00:03.0-net-enp0s3.device loaded active plugged PRO/1000 MT Desktop Adapter sys-devices-pc...00:05.0-sound-card0.device loaded active plugged 82801AA AC'97 Audio Controller sys-devices-pc...:0:0-block-sda-sda1.device loaded active plugged VBOX_HARDDISK sys-devices-pc...:0:0-block-sda-sda2.device loaded active plugged LVM PV Qzyo3l-qYaL-uRUa-Cjuk-pljo-qKtX-VgBQ8 sys-devices-pc...0-2:0:0:0-block-sda.device loaded active plugged VBOX_HARDDISK sys-devices-pl...erial8250-tty-ttyS0.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS0 sys-devices-pl...erial8250-tty-ttyS1.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS1 sys-devices-pl...erial8250-tty-ttyS2.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS2 sys-devices-pl...erial8250-tty-ttyS3.device loaded active plugged /sys/devices/platform/serial8250/tty/ttyS3 sys-devices-virtual-block-dm\x2d0.device loaded active plugged /sys/devices/virtual/block/dm-0 sys-devices-virtual-block-dm\x2d1.device loaded active plugged /sys/devices/virtual/block/dm-1 sys-module-configfs.device loaded active plugged /sys/module/configfs ...
9. Ṣe atokọ gbogbo awọn ẹya ti o kuna.
# systemctl --failed UNIT LOAD ACTIVE SUB DESCRIPTION kdump.service loaded failed failed Crash recovery kernel arming LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 1 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
10. Ṣayẹwo ti Unit (cron.service) ba ṣiṣẹ tabi rara?.
# systemctl is-enabled crond.service enabled
11. Ṣayẹwo boya Ẹyọ kan tabi Iṣẹ n ṣiṣẹ tabi rara?.
# systemctl status firewalld.service firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: active (running) since Tue 2015-04-28 16:27:55 IST; 34min ago Main PID: 549 (firewalld) CGroup: /system.slice/firewalld.service └─549 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid Apr 28 16:27:51 tecmint systemd[1]: Starting firewalld - dynamic firewall daemon... Apr 28 16:27:55 tecmint systemd[1]: Started firewalld - dynamic firewall daemon.
Iṣakoso ati Ṣakoso awọn Iṣẹ Lilo Systemctl
12. Ṣe atokọ gbogbo awọn iṣẹ (pẹlu sise ati alaabo).
# systemctl list-unit-files --type=service UNIT FILE STATE arp-ethers.service disabled auditd.service enabled [email disabled blk-availability.service disabled brandbot.service static collectd.service disabled console-getty.service disabled console-shell.service disabled cpupower.service disabled crond.service enabled dbus-org.fedoraproject.FirewallD1.service enabled ....
13. Bawo ni MO ṣe bẹrẹ, tun bẹrẹ, da duro, tun gbee ati ṣayẹwo ipo iṣẹ kan (httpd.service) ni Linux.
# systemctl start httpd.service # systemctl restart httpd.service # systemctl stop httpd.service # systemctl reload httpd.service # systemctl status httpd.service httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: active (running) since Tue 2015-04-28 17:21:30 IST; 6s ago Process: 2876 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS) Main PID: 2881 (httpd) Status: "Processing requests..." CGroup: /system.slice/httpd.service ├─2881 /usr/sbin/httpd -DFOREGROUND ├─2884 /usr/sbin/httpd -DFOREGROUND ├─2885 /usr/sbin/httpd -DFOREGROUND ├─2886 /usr/sbin/httpd -DFOREGROUND ├─2887 /usr/sbin/httpd -DFOREGROUND └─2888 /usr/sbin/httpd -DFOREGROUND Apr 28 17:21:30 tecmint systemd[1]: Starting The Apache HTTP Server... Apr 28 17:21:30 tecmint httpd[2881]: AH00558: httpd: Could not reliably determine the server's fully q...ssage Apr 28 17:21:30 tecmint systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.
Akiyesi: Nigba ti a ba lo awọn aṣẹ bii ibẹrẹ, tun bẹrẹ, da duro ati tun gbe pẹlu systemctl, a ko ni gba iṣẹjade lori ebute, aṣẹ ipo nikan ni yoo tẹjade iṣẹjade.
14. Bii o ṣe le ṣiṣẹ iṣẹ kan ki o mu ṣiṣẹ tabi mu iṣẹ kan ṣiṣẹ ni akoko bata (iṣẹ atunbere ni ibẹrẹ eto).
# systemctl is-active httpd.service # systemctl enable httpd.service # systemctl disable httpd.service
15. Bii o ṣe le boju (ṣiṣe ki o ṣoro lati bẹrẹ) tabi ṣii iṣẹ kan (httpd.service).
# systemctl mask httpd.service ln -s '/dev/null' '/etc/systemd/system/httpd.service' # systemctl unmask httpd.service rm '/etc/systemd/system/httpd.service'
16. Bii o ṣe le pa iṣẹ kan nipa lilo pipaṣẹ systemctl.
# systemctl kill httpd # systemctl status httpd httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled) Active: failed (Result: exit-code) since Tue 2015-04-28 18:01:42 IST; 28min ago Main PID: 2881 (code=exited, status=0/SUCCESS) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" Apr 28 17:37:29 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:29 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:39 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:39 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:49 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:49 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:59 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 17:37:59 tecmint systemd[1]: httpd.service: Got notification message from PID 2881, but recepti...bled. Apr 28 18:01:42 tecmint systemd[1]: httpd.service: control process exited, code=exited status=226 Apr 28 18:01:42 tecmint systemd[1]: Unit httpd.service entered failed state. Hint: Some lines were ellipsized, use -l to show in full.
Iṣakoso ati Ṣakoso awọn Ojuami Oke lilo Systemctl
17. Ṣe atokọ gbogbo awọn aaye fifin eto.
# systemctl list-unit-files --type=mount UNIT FILE STATE dev-hugepages.mount static dev-mqueue.mount static proc-sys-fs-binfmt_misc.mount static sys-fs-fuse-connections.mount static sys-kernel-config.mount static sys-kernel-debug.mount static tmp.mount disabled
18. Bawo ni MO ṣe gbe, yọ kuro, yọkuro, tun gbe awọn aaye oke eto pada ati tun ṣayẹwo ipo awọn aaye oke lori eto naa?
# systemctl start tmp.mount # systemctl stop tmp.mount # systemctl restart tmp.mount # systemctl reload tmp.mount # systemctl status tmp.mount tmp.mount - Temporary Directory Loaded: loaded (/usr/lib/systemd/system/tmp.mount; disabled) Active: active (mounted) since Tue 2015-04-28 17:46:06 IST; 2min 48s ago Where: /tmp What: tmpfs Docs: man:hier(7) http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems Process: 3908 ExecMount=/bin/mount tmpfs /tmp -t tmpfs -o mode=1777,strictatime (code=exited, status=0/SUCCESS) Apr 28 17:46:06 tecmint systemd[1]: Mounting Temporary Directory... Apr 28 17:46:06 tecmint systemd[1]: tmp.mount: Directory /tmp to mount over is not empty, mounting anyway. Apr 28 17:46:06 tecmint systemd[1]: Mounted Temporary Directory.
19. Bii o ṣe n ṣiṣẹ, mu ṣiṣẹ tabi mu aaye oke kan ni akoko bata (gbigbe adaṣe ni bata eto).
# systemctl is-active tmp.mount # systemctl enable tmp.mount # systemctl disable tmp.mount
20. Bii o ṣe le boju-boju (ṣiṣe ki o ṣoro lati bẹrẹ) tabi ṣii boju aaye kan ni Linux.
# systemctl mask tmp.mount ln -s '/dev/null' '/etc/systemd/system/tmp.mount' # systemctl unmask tmp.mount rm '/etc/systemd/system/tmp.mount'
Iṣakoso ati Ṣakoso awọn Socket nipa lilo Systemctl
21. Ṣe atokọ gbogbo awọn iho eto ti o wa.
# systemctl list-unit-files --type=socket UNIT FILE STATE dbus.socket static dm-event.socket enabled lvm2-lvmetad.socket enabled rsyncd.socket disabled sshd.socket disabled syslog.socket static systemd-initctl.socket static systemd-journald.socket static systemd-shutdownd.socket static systemd-udevd-control.socket static systemd-udevd-kernel.socket static 11 unit files listed.
22. Bawo ni Mo ṣe bẹrẹ, tun bẹrẹ, da duro, tun gbee ati ṣayẹwo ipo ti iho kan (apẹẹrẹ: cups.socket) ni Lainos.
# systemctl start cups.socket # systemctl restart cups.socket # systemctl stop cups.socket # systemctl reload cups.socket # systemctl status cups.socket cups.socket - CUPS Printing Service Sockets Loaded: loaded (/usr/lib/systemd/system/cups.socket; enabled) Active: active (listening) since Tue 2015-04-28 18:10:59 IST; 8s ago Listen: /var/run/cups/cups.sock (Stream) Apr 28 18:10:59 tecmint systemd[1]: Starting CUPS Printing Service Sockets. Apr 28 18:10:59 tecmint systemd[1]: Listening on CUPS Printing Service Sockets.
23. Bii o ṣe le ṣiṣẹ iho kan ki o muu ṣiṣẹ tabi mu ṣiṣẹ ni akoko bata (iho autostart ni eto bata).
# systemctl is-active cups.socket # systemctl enable cups.socket # systemctl disable cups.socket
24. Bii o ṣe le ṣe iboju (ṣiṣe ki o ṣee ṣe lati bẹrẹ) tabi ṣii iho kan (awọn ago. Apo).
# systemctl mask cups.socket ln -s '/dev/null' '/etc/systemd/system/cups.socket' # systemctl unmask cups.socket rm '/etc/systemd/system/cups.socket'