Emirar Artikel Belajar penggunaan dasar systemd
Emirar https://www.emirar.xyz/2018/03/systemd.html

Belajar penggunaan dasar systemd

Belajar penggunaan dasar systemd
systemd - System and Service Manager adalah sistem dan manajer servis untuk Linux. systemd mendukung scripts init SysV dan LSB dan berfungsi sebagai pengganti sysvinit. Systemd berjalan sebagai daemon dengan PID 1.

Tugas systemd sebagai unit. Unit yang paling umum adalah services (.service), mount points (.mount), devices (.device), sockets (.socket), atau timers (.timer).

Systemd saat ini hampir digunakan disemua distro linux termasuk Arch Linux, Debian, Fedora, Gentoo dan lainnya.

Dengan systemd kita dipermudahkan untuk mengatur semua .service. Sebagai contohnya disable, enable, stop, restart dan start.



Penggunaan dasar systemd

Berikut di bawah ini penggunaan dasar systemd yang perlu Anda ketahui dan tentunya perlu dihafalkan.

Menampilkan status sistem:
systemctl status
Menampilkan semua service:
systemctl --all --full
Daftar semua service yang sedang berjalan:
systemctl
Atau:
systemctl list-units
Daftar unit yang gagal:
systemctl --failed
Daftar file unit yang terinstal:
systemctl list-unit-files

Mengelola systemd

Mengaktifkan service:
systemctl start example.service
Menonaktifkan service:
systemctl stop example.service
Memulai kembali service:
systemctl restart example.service
Menunjukkan status service:
systemctl status example.service
Mengaktifkan service untuk memulai saat booting:
systemctl enable example.service
Menonaktifkan service untuk memulai saat booting:
systemctl disable example.service

Power systemd

Reboot:
systemctl reboot
Poweroff/Shutdown:
systemctl poweroff
Suspend:
systemctl suspend
Hibernation:
systemctl hibernate
Hybrid-sleep:
systemctl hybrid-sleep
Rescue:
systemctl rescue
Halt:
systemctl halt

Logs systemd

systemd memiliki sistem sendiri yang disebut journal, oleh karena itu menjalankan syslog daemon tidak lagi diperlukan. Untuk membaca log, gunakan:
journalctl
Tampilkan semua pesan dari boot sekarang:
journalctl -b
Tampilkan kernel ring buffer:
journalctl -k
Log terbaru:
journalctl -f
Log service:
journalctl -b -u example.service

Selengkapnya silahkan cek di:
journalctl --help

Tips & Tricks systemd

Memasang file unit kustom

File unit kustom dapat ditempatkan di /etc/systemd/system di mana akan dikenali setelah menjalankan systemctl daemon-reload:
systemctl daemon-reload
Jalankan perintah di atas setiap melakukan perubahan pada unit.

Memfilter unit

Menampilkan unit dengan filter --type=, contohnya menampilkan hanya service:
systemctl list-units --type=service

Menampilkan file unit

Menampilkan file unit dengan cat, contohnya menampilkan unit dbus.service:
systemctl cat dbus.service
# /usr/lib/systemd/system/dbus.service
[Unit]
Description=D-Bus System Message Bus
Documentation=man:dbus-daemon(1)
Requires=dbus.socket

[Service]
ExecStart=/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
ExecReload=/usr/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig
OOMScoreAdjust=-900

Menampilkan dependencies file unit

Gunakan list-dependencies untuk menampilkan dependency tree. Contohnya saya ingin menampilkan unit sshd.service:
systemctl list-dependencies sshd.service
sshd.service
● ├─sshdgenkeys.service
● ├─system.slice
● └─sysinit.target
●   ├─dev-hugepages.mount
●   ├─dev-mqueue.mount
●   ├─kmod-static-nodes.service
●   ├─ldconfig.service
●   ├─lvm2-lvmetad.socket
●   ├─lvm2-lvmpolld.socket
●   ├─lvm2-monitor.service
...

cgroup tree

systemd-cgls
Control group /:
-.slice
├─user.slice
│ └─user-1000.slice
│   ├─user@1000.service
│   │ ├─zeitgeist.service
│   │ │ └─707 /usr/bin/zeitgeist-daemon
│   │ ├─pulseaudio.service
│   │ │ ├─711 /usr/bin/pulseaudio --daemonize=no
│   │ │ └─846 /usr/lib/pulse/gconf-helper
│   │ ├─zeitgeist-fts.service
│   │ │ └─766 /usr/lib/zeitgeist/zeitgeist-fts
│   │ ├─at-spi-dbus-bus.service
│   │ │ ├─742 /usr/lib/at-spi-bus-launcher
│   │ │ ├─747 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
│   │ │ └─749 /usr/lib/at-spi2-registryd --use-gnome-session
│   │ ├─dbus.service
│   │ │ ├─603 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
│   │ │ ├─605 /usr/lib/xfce4/xfconf/xfconfd
│   │ │ ├─733 /usr/lib/dconf/dconf-service
│   │ │ └─848 /usr/lib/GConf/gconfd-2

ps, cgroups

alias psc='ps xawf -eo pid,user,cgroup,args'
psc
PID USER     CGROUP                      COMMAND
...
    2 root     -                           [kthreadd]
    4 root     -                            \_ [kworker/0:0H]
    6 root     -                            \_ [mm_percpu_wq]
    7 root     -                            \_ [ksoftirqd/0]
    8 root     -                            \_ [rcu_preempt]
    9 root     -                            \_ [rcu_sched]
   10 root     -                            \_ [rcu_bh]
    1 root     1:name=systemd:/init.scope, /sbin/init
  197 root     12:memory:/system.slice/sys /usr/lib/systemd/systemd-journald
  205 root     12:memory:/system.slice/lvm /usr/bin/lvmetad -f
  212 root     12:memory:/system.slice/sys /usr/lib/systemd/systemd-udevd
  374 root     12:memory:/system.slice/med /sbin/mount.ntfs-3g /dev/sda1 /media/SystemReserved -o rw
  376 root     12:memory:/system.slice/med /sbin/mount.ntfs-3g /dev/sda4 /media/File -o rw,relatime
  379 root     12:memory:/system.slice/med /sbin/mount.ntfs-3g /dev/sda5 /media/Data -o rw,relatime
  382 root     12:memory:/system.slice/med /sbin/mount.ntfs-3g /dev/sda2 /media/Windows -o rw
  391 systemd+ 12:memory:/system.slice/sys /usr/lib/systemd/systemd-timesyncd
  394 dbus     12:memory:/system.slice/dbu /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
  398 root     12:memory:/system.slice/sys /usr/lib/systemd/systemd-logind
  399 root     12:memory:/system.slice/Mod /usr/bin/ModemManager
  405 root     12:memory:/system.slice/dhc /usr/bin/dhcpcd -q -b
  430 polkitd  12:memory:/system.slice/pol /usr/lib/polkit-1/polkitd --no-debug
...

Selengkapnya silahkan cek di official website systemd.
Jika Anda membutuhkan aplikasi untuk mengontrol systemd silahkan kunjungi Mengontrol systemd dengan GUI.
Memuat...

Suka postingan ini? Bagikan ini!

illvart
Penulis: illvart

Pertimbangkan untuk mendukung kami:

Jika kamu merasa bahwa artikel di blog ini bermanfaat, mohon pertimbangkan untuk mendukung kami. kamu dapat memilih banyak opsi untuk mendukung kami dengan cara donasi, diantaranya menggunakan Bank, Crypto dan lain sebagainnya. Terima kasih.

Donate