Dalam panduan ini, saya akan membincangkan perkhidmatan dan perintah systemctl, dan bagaimana ia berbeza apabila ia berkaitan dengan pengurusan perkhidmatan.
Sebelum pergi lebih jauh, mari kita fahami dua sistem init Linux yang popular; Sistem dan Sistemd.
Sistem V lwn Systemd
Sistem init pada Linux adalah bahagian penting dalam proses but. Ia adalah proses pertama dengan PID 1 yang dimulakan apabila sistem but. Ia kemudian memulakan proses yang terdapat dalam fail inittab. Sistem V juga mengetahui SysV dan systemd adalah sistem init Linux yang popular.
The SysV ialah sistem init yang lebih lama dan telah menjadi sebahagian daripada pengedaran Unix dan Linux yang lebih lama. Ia menguruskan perkhidmatan sistem menggunakan skrip yang terdapat dalam /etc/init.d. Beberapa pengedaran Linux yang masih menggunakan SysV ialah Slackware, Gentoo dan antiX Linux.
Sebaliknya, sistemd dilancarkan pada tahun 2010 dan telah diterima pakai dengan cepat oleh banyak pengedaran Linux. Sistem init systemd menguruskan perkhidmatan melalui fail .service. Ia kini menjadi sebahagian daripada semua pengedaran Linux moden termasuk, Red Hat Enterprise Linux, CentOS, Amazon Linux, Fedora, Debian, Ubuntu, dan pengedaran berdasarkan sistem pengendalian ini.
Systemd jauh lebih cekap berbanding dengan SysV. Ia menyediakan masa but yang lebih pantas, pengurusan perkhidmatan yang cekap dan pengendalian pergantungan.
Kedua-dua sistem init menyediakan dua utiliti baris arahan untuk pengurusan perkhidmatan.
Dalam bahagian panduan berikut, saya akan membincangkan kedua-dua utiliti ini.
perkhidmatan Perintah
The perkhidmatan arahan ialah pembungkus skrip yang menjalankan skrip yang terletak di /etc/init.d direktori. Ia dibangunkan untuk menguruskan perkhidmatan SysV atau Sistem V sistem init. Pengedaran Linux yang menggunakan SysV sebagai sistem init menggunakan perkhidmatan arahan untuk pengurusan perkhidmatan.
Sintaks umum untuk menggunakan arahan perkhidmatan diberikan di bawah.
perkhidmatan [ nama_perkhidmatan ] [ tindakan ]Untuk mendapatkan status perkhidmatan yang dikawal oleh Sistem V, gunakan arahan perkhidmatan dengan –status-semua pilihan.
perkhidmatan --status-semua
The + menunjukkan bahawa perkhidmatan sedang berjalan, dan – menunjukkan bahawa perkhidmatan tidak aktif.
Status semasa mana-mana perkhidmatan tertentu juga boleh disemak dengan menyebut nama perkhidmatan.
perkhidmatan [ nama_perkhidmatan ] status
Beberapa arahan perkhidmatan lain yang berguna seperti memulakan, menghentikan dan memulakan semula perkhidmatan disenaraikan di bawah.
perkhidmatan [ nama_perkhidmatan ] mulakanperkhidmatan [ nama_perkhidmatan ] berhenti
perkhidmatan [ nama_perkhidmatan ] mula semula
Perintah perkhidmatan ini menyediakan kawalan asas untuk mengurus perkhidmatan. Kebanyakan pengedaran Linux telah menggantikan SysV sebagai sistem init, tetapi disebabkan keserasian warisan, arahan ini masih terdapat dalam banyak pengedaran Linux terkini di luar kotak.
perintah systemctl
Menggunakan arahan systemctl, anda boleh mengawal perkhidmatan dalam /lib/systemd/system dan /etc/systemd/system direktori. Ia adalah komponen systemd; sistem init yang terdapat dalam majoriti pengedaran Linux kontemporari.
Systemctl direka untuk menyediakan lebih kawalan ke atas pengurusan perkhidmatan sistem. Sintaks umum untuk menggunakan perintah systemctl diberikan di bawah:
systemctl [ pilihan ] [ nama_perkhidmatan ]Untuk menyemak status semua perkhidmatan, gunakan arahan berikut.
unit senarai systemctl --jenis =perkhidmatan --semuaUntuk penggunaan perkhidmatan tertentu:
status systemctl [ nama_perkhidmatan ]
Perintah untuk pengurusan asas perkhidmatan menggunakan systemctl diberikan di bawah:
systemctl membolehkan [ nama_perkhidmatan ]systemctl mula [ nama_perkhidmatan ]
systemctl berhenti [ nama_perkhidmatan ]
systemctl lumpuhkan [ nama_perkhidmatan ]
systemctl mulakan semula [ nama_perkhidmatan ]
Perintah systemctl melampaui apabila ia datang untuk mengawal perkhidmatan. Jadual di bawah mengandungi beberapa arahan systemctl lanjutan.
laluan senarai | Untuk menyenaraikan laluan semua perkhidmatan dalam ingatan |
is-active [nama_perkhidmatan] | Untuk menyemak sama ada perkhidmatan atau unit berjalan atau tidak |
kebergantungan senarai [nama_perkhidmatan] | Untuk mencetak senarai kebergantungan perkhidmatan yang ditentukan |
set semula-gagal | Untuk menetapkan semula perkhidmatan yang gagal dimuatkan kerana beberapa kelainan |
topeng [nama_perkhidmatan] | Untuk melumpuhkan perkhidmatan dan menjadikannya tidak dapat dimulakan |
get-default | Untuk mencetak tahap larian lalai atau sasaran |
set-default [sasaran] | Untuk menetapkan tahap larian lalai atau sasaran |
is-system-running | Untuk menyemak keadaan operasi sistem |
but semula | Untuk but semula sistem |
matikan | Untuk menutup sistem |
Mengapa masih terdapat Perintah perkhidmatan dalam Pengedaran Linux dengan Systemd init System
Arahan perkhidmatan masih merupakan sebahagian daripada banyak pengedaran Linux kerana ia adalah skrip pembalut dan mengabstrakkan sistem init yang mendasari, sama ada SysV atau systemctl. Sebagai contoh, pada Ubuntu, arahan perkhidmatan mengubah hala ke systemctl.
Kesimpulan
Perkhidmatan dan systemctl ialah dua utiliti baris arahan milik SysV dan sistem init systemd, masing-masing. Walaupun perintah perkhidmatan digantikan dalam pengedaran Linux moden, ia kekal sebagai alat utama untuk mengekalkan perkhidmatan kerana kesederhanaan dan keserasian. Systemctl, sebaliknya, adalah sebahagian daripada semua pengedaran Linux semasa dan menyediakan pilihan lanjutan untuk pentadbiran perkhidmatan.