GNU/Linux >> Belajar Linux >  >> Debian

Debian – Bagaimana Layanan Di Debian Bekerja, Dan Bagaimana Saya Dapat Mengelolanya?

Di Windows saya memiliki manajer layanan, di mana saya melihat semua layanan sistem, yang dapat dimulai melalui Windows itu sendiri, saya mengatur pengguna yang digunakannya, manajemen hak ada di sana, dan saya dapat meneruskan variabel dan beberapa informasi lainnya ke layanan , saya dapat memberi nama mereka, dan saya dapat membuat layanan duplikat dari satu program dan seterusnya. Jadi saya memiliki alat manajemen utama di Windows.

Bagaimana saya bisa melakukan hal yang sama di Linux? Bagaimana saya bisa memicu untuk menjalankan "svnserve" saat startup, atau bagaimana saya bisa mengonfigurasi layanan agar berjalan dalam konteks khusus. Bagaimana saya bisa melihat semua layanan "terprogram"?

Jawaban yang Diterima:

Saat ini ada 3 sistem init utama yang digunakan oleh linux. Beberapa tahun yang lalu, hanya ada satu, SysVinit. Tetapi SysVinit sangat kekurangan dalam kemampuan seperti grafik ketergantungan layanan, jadi sudah tidak digunakan lagi di sebagian besar distro sekarang. Saat ini sebagian besar distro beralih ke systemd. Meskipun ada juga pemula.

Tapi inilah jawaban atas pertanyaan Anda untuk masing-masing dari 3 sistem init:

SysVinit

SysVinit saat ini digunakan oleh Debian dan RedHat. Meskipun versi RedHat (7) berikutnya akan menggunakan systemd.

Cara umum untuk mengaktifkan layanan SysVinit saat boot adalah dengan menghubungkannya di /etc/rc3.d (atau /etc/rc2.d ). Semua layanan dapat ditemukan di /etc/init.d . Namun perhatikan bahwa distro sering kali memiliki alat mereka sendiri untuk mengelola file-file ini, dan alat itu harus digunakan sebagai gantinya. (Fedora/RedHat memiliki service dan chkconfig , ubuntu memiliki update-rc.d )

Mendaftarkan layanan:

ls /etc/init.d/

Mulai layanan:

/etc/init.d/{SERVICENAME} start

atau

service {SERVICENAME} start

Hentikan layanan:

/etc/init.d/{SERVICENAME} stop

atau

service {SERVICENAME} stop

Aktifkan layanan:

cd /etc/rc3.d
ln -s ../init.d/{SERVICENAME} S95{SERVICENAME}

(S95 digunakan untuk menentukan urutan. S01 akan dimulai sebelum S02, dll)

Nonaktifkan layanan:

rm /etc/rc3.d/*{SERVICENAME}

Sistem

Distribusi yang paling terkenal menggunakan systemd adalah Fedora. Meskipun itu digunakan oleh banyak orang lain. Selain itu, dengan Debian telah memilih untuk menggunakan systemd daripada pemula, itu akan menjadi sistem pemula defacto untuk sebagian besar distribusi (ubuntu telah mengumumkan bahwa mereka akan menjatuhkan pemula untuk systemd).

Mendaftarkan layanan:

systemctl list-unit-files

Mulai layanan:

systemctl start {SERVICENAME}

Hentikan layanan:

systemctl stop {SERVICENAME}

Aktifkan layanan:

systemctl enable {SERVICENAME}

Nonaktifkan layanan:

systemctl disable {SERVICENAME}

Pemula

Pemula dikembangkan oleh orang-orang Ubuntu. Tetapi setelah debian memutuskan untuk menggunakan systemd, Ubuntu mengumumkan bahwa mereka akan berhenti memulai.

Pemula juga sempat digunakan oleh RedHat, seperti yang ada di RHEL-6, tetapi tidak umum digunakan.

Terkait:Bagaimana tanggal coreutil berhasil mendapatkan hasil yang aneh?

Mendaftarkan layanan:

initctl list

Mulai layanan:

initctl start {SERVICENAME}

Hentikan layanan:

initctl stop {SERVICENAME}

Aktifkan layanan:

2 cara sayangnya:

  1. Akan ada file /etc/default/{SERVICENAME} yang berisi baris ENABLED=... . Ubah baris ini menjadi ENABLED=1 .

  2. Akan ada file /etc/init/{SERVICENAME}.override . Pastikan berisi start (atau tidak ada sama sekali), bukan manual .

Nonaktifkan layanan:

echo manual > /etc/init/{SERVICENAME}.override

Catatan:Ada juga sistem init 'OpenRC' yang digunakan oleh Gentoo. Saat ini Gentoo adalah satu-satunya distro yang menggunakannya, dan tidak sedang dipertimbangkan untuk digunakan, atau didukung oleh distro lain. Jadi saya tidak menutupi kegunaannya (walaupun menurut pendapat saya, saya dapat menambahkannya).


Debian
  1. Cara Mengelola dan Mendaftar Layanan di Linux

  2. Cara Mengelola Layanan Systemd dengan Systemctl di Linux

  3. Cara Menggunakan Perintah Systemctl untuk Mengelola Layanan Systemd

  1. Cara Menginstal Monit (Pemantauan Proses dan Layanan) di Ubuntu / Debian

  2. Cara Menginstal Suricata di Debian 11

  3. Cara Menginstal dan Mengonfigurasi Redis di Debian

  1. Cara Menginstal Dan Menggunakan Backport Debian

  2. Cara Menginstal dan Mengonfigurasi Redis di Debian 9

  3. Bagaimana saya bisa me-restart layanan di server cPanel?