Cara menggunakan systemd di Debian

Akar dalam struktur pohon proses kernel Linux adalah systemd. Akibatnya, ini dapat digunakan untuk melakukan aktivitas yang sangat berguna seperti mengontrol service dan engine Anda secara otomatis, menjalankannya saat boot. Kami akan melihat semua aktivitas utama yang dapat dilakukan seseorang menggunakan systemd. Kami akan mulai dengan pengenalan dan kemudian beralih ke implementasi. Mari kita mulai!

Apa itu systemd?

Rangkaian perangkat lunak systemd menyediakan dasar untuk sistem Operasi Debian. Proses root di pohon proses Linux bertanggung jawab untuk mengelola proses dan aplikasi lain, dan digunakan untuk mengontrol aplikasi dalam cara tingkat kernel. Misalnya, menjalankan Docker sebagai service.

Cara Menggunakan Systemd untuk Berbagai Tugas

Daftar file Unit

Systemd mempekerjakan “unit” untuk menangani semua service dan proses sistem. Unit systemd menggunakan file konfigurasi untuk mengatur aktivitas mereka yang berbeda. File konfigurasi unit diklasifikasikan menjadi tiga jenis:

“file konfigurasi unit default” dengan file konfigurasi yang terdapat dalam direktori “/usr/lib/systemd/system

“file konfigurasi unit khusus sistem” dengan file konfigurasi unit khusus sistem yang terdapat di “/etc/systemd/system

“file konfigurasi unit run-time”” dengan file konfigurasi yang ditemukan di direktori” “/run/systemd/system

Di bawah ini adalah perintah untuk membuat daftar file Unit bersama dengan outputnya

$ systemctl list-unit-files

Keluaran

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
systemd-ask-password-console.path             static  
systemd-ask-password-plymouth.path            static  
systemd-ask-password-wall.path                static  
session-1.scope                               static  
arp-ethers.service                            disabled
auditd.service                                enabled
[email protected]                               enabled

Coba gunakan perintah grep Linux untuk memfilter hanya service yang diaktifkan.

$ systemctl list-unit-files |grep enabled

Keluaran

auditd.service                                enabled 
[email protected]                               enabled
crond.service                                 enabled
dbus-org.fedoraproject.FirewallD1.service     enabled
dbus-org.freedesktop.nm-dispatcher.service    enabled
firewalld.service                             enabled
[email protected]                                enabled
irqbalance.service                            enabled
kdump.service                                 enabled
lvm2-monitor.service                          enabled

Memulai dan Menghentikan Layanan sebagai Layanan

$ sudo systemctl start <service_name> 
$ sudo systemctl stop <service_name>

Di bawah ini adalah contoh menjalankan wadah buruh pelabuhan sebagai service.

Untuk menjalankan aplikasi Anda (sebut saja “X”) sebagai service systemd, buat file berikut di direktori “/etc/systemd/system” dan beri nama
‘docker.some_name.service’ :

[Unit]
Description=X container
After=docker.service
Wants=network-online.target docker.socket
Requires=docker.socket

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a some_name
ExecStop=/usr/bin/docker stop -t 10 some_name

[Install]
WantedBy=multi-user.target

Untuk memulai service dengan boot sistem, gunakan perintah berikut:

systemctl enable docker.some_name

Gunakan perintah berikut untuk menghentikan dan memulai service secara manual:

sudo service stop docker.some_name
sudo service start docker.some_name

Periksa Status Layanan

Di bawah ini adalah perintah untuk memeriksa status service yang sedang berjalan.

$ sudo systemctl status <service_name>

Mulai ulang Layanan

Anda juga dapat restart service tanpa perlu menghentikan dan memulainya, yang membutuhkan lebih banyak usaha. Di bawah ini adalah perintah untuk melakukan tugas ini.

$ sudo systemctl restart firewalld

Reboot dan Shutdown

Di bawah ini adalah perintah untuk mem-boot ulang dan mematikan sistem, masing-masing. (Sebagai admin sistem, Anda juga harus tahu cara mematikan sistem menggunakan command line)

$ sudo systemctl reboot
$ sudo systemctl poweroff

Memulai Layanan saat Boot-Time

Layanan seperti Docker harus dimulai segera setelah engine Anda dihidupkan. Untuk mencapainya, Anda dapat menyebutkan perintah di bawah ini.

$ sudo systemctl enable firewalld

Coba boot engine Anda, dan Anda akan melihat bahwa service dimulai secara otomatis tanpa interaksi manusia.

Kesimpulan

Dalam posting ini, kami melihat bagaimana systemd dapat melakukan tugas administrasi dan konfigurasi umum dengan engine Anda. Administrator sistem dapat menggunakan perintah di atas untuk mengotomatiskan konfigurasi service yang berjalan di engine Anda. Pastikan untuk mencoba perintah ini dengan service khusus Anda dan sadari kekuatan systemd.

Related Posts