Bagaimana Mengurus Perkhidmatan Systemd dengan Systemctl?

Pengurus sistem dan perkhidmatan lalai untuk sebilangan besar pengedaran Linux sekarang adalah systemd.


Proses systemd menggantikan SysV init. Ia berjalan sebagai proses pertama setelah boot kernel dan bertanggungjawab untuk membawa host Linux ke keadaan di mana ia dapat digunakan. Ia bertanggungjawab untuk memulakan dan mengurus perkhidmatan, memasang sistem fail, mengurus perkakasan, menghasilkan permintaan log masuk, dan banyak lagi.

Manfaat utama daripada SysV adalah bahawa systemd memulakan sebanyak mungkin perkhidmatan secara selari, sehingga mempercepat proses permulaan, dan itu memunculkan skrin masuk lebih cepat.

Unit

Item yang dikendalikan oleh systemd disebut unit. Fail unit terletak di / lib / systemd / system.

Unit Perkhidmatan

Untuk pengurusan perkhidmatan, unit sasaran adalah unit perkhidmatan, yang memiliki fail unit dengan akhiran .perkhidmatan.

Menguruskan perkhidmatan systemd

Perintah untuk menguruskan unit systemd adalah systemctl.

Memulakan dan Menghentikan Perkhidmatan

Untuk memulakan perkhidmatan systemd, gunakan perintah start systemctl:

$ sudo systemctl start name.service

Anda boleh meninggalkan akhiran perkhidmatan. Contohnya, untuk memulakan pelayan apache di Ubuntu:

$ sudo systemctl mulakan apache2

Untuk menghentikan perkhidmatan yang sedang berjalan:

$ sudo systemctl stop name.service

Oleh itu, untuk menghentikan pelayan apache di Ubuntu:

$ sudo systemctl hentikan apache2

Memulakan semula dan memuatkan semula perkhidmatan

Untuk memulakan semula perkhidmatan yang sedang berjalan, gunakan perintah restart:

$ sudo systemctl restart name.service

Dan di mana satu-satunya fail konfigurasi muat semula diperlukan

$ sudo systemctl tambah nilai name.service

Mendayakan dan Melumpuhkan Perkhidmatan

Sekiranya anda mahu perkhidmatan dimulakan secara automatik pada sistem boot, gunakan perintah aktif:

$ sudo systemctl aktifkan name.service

Untuk melumpuhkan perkhidmatan bermula dari boot sistem:

$ sudo systemctl lumpuhkan name.service

Melumpuhkan tidak menghentikan perkhidmatan yang sedang berjalan.

Melihat status perkhidmatan

Untuk melihat maklumat mengenai perkhidmatan:

$ sudo systemctl status name.service

Ini akan menunjukkan status perkhidmatan dan beberapa baris pertama fail log. Oleh itu, semasa perkhidmatan dijalankan, output dari

sudo systemctl status apache2

adalah

apache2.service – Pelayan HTTP Apache
Dimuat: dimuat (/lib/systemd/system/apache2.service; didayakan; pratetap vendor: diaktifkan)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Aktif: aktif (berjalan) sejak Sel 2020-05-19 22:11:36 UTC; 4 hari lepas
Proses: 116002 ExecReload = / usr / sbin / apachectl anggun (kod = keluar, status = 0 / KEJAYAAN)
PID Utama: 104165 (apache2)
Tugas: 55 (had: 1024)
Kumpulan Kumpulan: /system.slice/apache2.service
Start104165 / usr / sbin / apache2 -k bermula
Start116006 / usr / sbin / apache2 -k bermula
Start116007 / usr / sbin / apache2 -k bermula

19 Mei 22:11:36 ubuntu18 systemd [1]: Memulakan Pelayan HTTP Apache…
19 Mei 22:11:36 ubuntu18 systemd [1]: Memulakan Pelayan HTTP Apache.
21 Mei 06:25:01 ubuntu18 systemd [1]: Memuat semula Pelayan HTTP Apache.
21 Mei 06:25:01 ubuntu18 systemd [1]: Muat semula Pelayan HTTP Apache.
22 Mei 06:25:01 ubuntu18 systemd [1]: Memuat semula Pelayan HTTP Apache.

Untuk memeriksa sama ada perkhidmatan aktif:

$ sudo systemctl is-aktif name.service

Oleh itu, semasa perkhidmatan apache2 berjalan, output dari systemctl is-aktif adalah:

$ sudo systemctl aktif-apache2
aktif

Untuk memeriksa sama ada perkhidmatan diaktifkan:

$ sudo systemctl diaktifkan name.service.

Melihat Sistem Sistem

Semua arahan yang anda lihat hingga sekarang digunakan untuk mengurus satu perkhidmatan. Apabila anda mahukan gambaran keseluruhan keadaan sistem, gunakan set arahan berikut:

Untuk melihat semua jenis unit

$ sudo systemctl -t pertolongan
Jenis unit yang ada:
perkhidmatan
soket
sasaran
peranti
melekap
jumlah automatik
pertukaran
pemasa
jalan
hirisan
skop

Untuk menyenaraikan semua unit yang terpasang, gunakan senarai-unit-fail

$ sudo systemctl list-unit-files
NEGERI FILE UNIT
proc-sys-fs-binfmt_misc.automount statik
-.mount dihasilkan
boot-efi.mount dihasilkan
dev-hugepages.mount statik
dev-mqueue.mount statik
jumlah mnt dijana
proc-sys-fs-binfmt_misc.mount statik
sys-fs-fuse-connection.mount statik
sys-kernel-config.mount statik
sys-kernel-debug.mount statik
acpid.path diaktifkan
apport-autoreport.path didayakan
systemd-ask-password-console.path static
systemd-ask-password-plymouth.path statik
systemd-ask-password-wall.path statik
sesi-161. skop sementara
akaun-daemon.service didayakan

Keluaran hanya mempunyai dua lajur Fail Unit dan Negeri. Keadaan biasanya akan diaktifkan, dinonaktifkan, statik atau bertopeng.

  • Statik: Ini bermaksud unit tidak dapat diaktifkan, melakukan tindakan sekali, atau merupakan kebergantungan unit lain dan tidak dapat dijalankan dengan sendirinya.
  • Bertopeng: Unit yang disenaraikan sebagai bertopeng bermaksud ia benar-benar tidak dapat dimulakan, kerana dihubungkan dengan / dev / null. Ini dipanggil menutup unit. Ini menghalang perkhidmatan dimulakan, secara manual atau automatik.

Senaraikan semua perkhidmatan yang dipasang

Perintah sistem-senarai-unit-fail dengan penapis perkhidmatan -t atau –jenis menunjukkan keadaan perkhidmatan yang dipasang sahaja.

$ sudo systemctl list-unit-files -t service

NEGERI FILE UNIT
akaun-daemon.service didayakan
servis dilumpuhkan
perkhidmatan apache-htcacheclean.service dilumpuhkan
[dilindungi e-mel] kurang upaya
apache2.service diaktifkan
[dilindungi e-mel] kurang upaya
apparmor.service diaktifkan
apport-autoreport.service statik
[dilindungi e-mel] statik
apport.servis dihasilkan
apt-daily-upgrade.servic statik
apt-daily.servic statik
atd.service diaktifkan
[dilindungi e-mel] didayakan
perkhidmatan blk-available.berdayakan
bootlogd.service bertopeng
bootlogs.service bertopeng

Untuk melihat semua unit perkhidmatan yang aktif, gunakan unit senarai dengan penapis perkhidmatan -t

$ sudo systemctl list-unit -t service

PENERANGAN SUB AKTIF UNIT LOAD
akaun-daemon.service dimuatkan aktif menjalankan Akaun Perkhidmatan
apache2.service dimuat aktif menjalankan Pelayan HTTP Apache
apparmor.service dimuatkan aktif keluar AppArmor inisialisasi
apport.service dimuat LSB keluar aktif: penjanaan laporan kemalangan automatik
atd.service dimuat aktif menjalankan penjadual pelaksanaan yang ditangguhkan
blk-available.service dimuat aktif keluar Keluar ketersediaan peranti blok
cloud-config.service dimuat aktif keluar Keluar tetapan yang ditentukan dalam cloud-con
cloud-final.service dimuat keluar aktif Melaksanakan skrip pengguna / akhir cloud
cloud-init-local.service dimuat aktif keluar kerja awal cloud-init (pra-rangkaian)
cloud-init.service dimuat aktif keluar Keluar kerja cloud-init awal (perkhidmatan metadata
console-setup.service dimuat aktif keluar Tetapkan fon konsol dan peta utama
cron.service dimuat aktif berjalan Program latar belakang pemprosesan dae biasa

Hasilnya mempunyai lajur berikut:

  • UNIT: Nama unit perkhidmatan systemd
  • PINJAMAN: Menunjukkan sama ada definisi unit dibaca dan dimuat dengan betul
  • AKTIF: Menerangkan sama ada unit aktif.
  • SUB: Keadaan rendah tahap pengaktifan unit, memberikan maklumat yang lebih terperinci mengenai unit. Ini berbeza mengikut jenis unit.
  • PENERANGAN: Penerangan unit perkhidmatan.

Kesimpulannya

Saya harap ini memberi anda idea mengenai penggunaan systemctl untuk mengurus perkhidmatan di Linux. Sekiranya berminat untuk mempelajari lebih lanjut, anda boleh melihatnya Kursus Penguasaan Linux.

TAG:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Комментариев нет, будьте первым кто его оставит

    Комментарии закрыты.

    Adblock
    detector