Perbedaan antara layanan tidak aktif vs dinonaktifkan dan aktif vs diaktifkan

10

Saya bingung dengan konsep diaktifkan atau aktif dan dinonaktifkan atau tidak aktif.

Bisakah seseorang menjelaskannya?

drpaneas
sumber
1
Saya sudah mengajukan permohonan tarik untuk meningkatkan docs untuksystemctl status di man systemctl, yang tampaknya seperti rencana yang jelas untuk mencari dokumen tersebut.
Mark Stosberg

Jawaban:

15

Halaman manual untuk systemdmemiliki info yang Anda cari.

kutipan

systemd menyediakan sistem ketergantungan antara berbagai entitas yang disebut "unit". Unit merangkum berbagai objek yang relevan untuk boot-up dan pemeliharaan sistem. Mayoritas unit dikonfigurasikan dalam file-file konfigurasi unit, yang sintaks dan set dasarnya opsi dijelaskan dalam systemd.unit (5), namun beberapa dibuat secara otomatis dari konfigurasi lain atau secara dinamis dari keadaan sistem.

Unit mungkin 'aktif' (artinya dimulai, terikat, dicolokkan, ... tergantung pada jenis unit, lihat di bawah), atau 'tidak aktif' (artinya berhenti, tidak terikat, dicabut, ...), serta di proses diaktifkan atau dinonaktifkan, yaitu antara dua negara (negara-negara ini disebut 'mengaktifkan', 'menonaktifkan').

Status 'gagal' khusus juga tersedia yang sangat mirip dengan 'tidak aktif' dan dimasukkan ketika layanan gagal dalam beberapa cara (proses kode kesalahan dikembalikan saat keluar, atau macet, atau operasi habis waktu). Jika keadaan ini dimasukkan penyebabnya akan dicatat, untuk referensi nanti.

Perhatikan bahwa berbagai jenis unit mungkin memiliki sejumlah substrat tambahan, yang dipetakan ke lima status unit umum yang dijelaskan di sini.

Kerusakan

Jadi jika Anda sudah membaca di atas dan tidak benar-benar memahami perbedaannya, ini dia, singkatnya.

  • diaktifkan - layanan (unit) dikonfigurasikan untuk memulai ketika sistem melakukan booting
  • dinonaktifkan - layanan (unit) dikonfigurasikan untuk tidak memulai ketika sistem melakukan booting
  • aktif - layanan (unit) sedang berjalan.
  • tidak aktif - suatu layanan (unit) saat ini tidak berjalan, tetapi dapat dimulai, yaitu menjadi aktif, jika ada sesuatu yang mencoba menggunakan layanan.

non-aktif

Yang terakhir ini bisa tampak seperti yang paling membingungkan, tetapi pikirkan systemdsepanjang garis yang sama xinetd. Itu dapat mengelola layanan Anda untuk Anda dan memulainya, sesuai permintaan saat dibutuhkan. Jadi sementara layanan "mati" mereka dalam keadaan tidak aktif , tetapi ketika mulai, mereka dapat menjadi aktif .

Keadaan ini juga dapat terjadi ketika layanan (unit) telah diaktifkan tetapi belum secara manual dimulai. Jadi layanan meletakkan "tidak aktif" dalam keadaan berhenti atau gagal sampai salah satu layanan dimulai secara manual, atau sistem mengalami reboot, yang akan menyebabkan layanan menjadi aktif karena pemberdayaannya.

slm
sumber
@jasonwryan - benar, saya akan menambahkannya, terima kasih!
slm
@jasonwryan - apakah itu membaca lebih baik?
slm
6

Ketika Anda mengaktifkan / menonaktifkan layanan, Anda pada dasarnya mengatakan apakah akan memulai secara otomatis saat boot.

Jadi, systemctl enable lxdmakan mengatur LXDM sebagai DM. Namun, itu tidak akan memulainya segera.

Di sisi lain, aktif / tidak aktif (dan gagal opsional) memberi tahu Anda kondisi layanan saat ini. Setelah berjalan systemctl start lxdm, LXDM benar-benar berjalan, dan statusnya aktif.

Biasanya, ketika Anda pertama kali menginstal suatu layanan, Anda akan mengujinya terlebih dahulu dengan memulainya. Jika check out, Anda kemudian akan mengaktifkannya. Dengan begitu, Anda menghindari menggantung sistem Anda saat boot.

aprad046
sumber