Seringkali, ada kebutuhan untuk mengaktifkan atau menonaktifkan layanan sementara atau permanen pada sistem Ubuntu kami. Terkadang, kami mungkin memerlukan layanan tertentu untuk memulai secara otomatis saat boot, misalnya ssh atau server web dan terkadang kami mungkin perlu menonaktifkan layanan yang tidak lagi kami perlukan dan memonopoli CPU dan RAM.
Dalam tutorial ini, kita melihat bagaimana kita dapat mengaktifkan dan menonaktifkan layanan di Ubuntu. Untuk melakukan ini, pertama-tama kita harus memahami bahwa ada 3 sistem init utama untuk Ubuntu
- Sistem
- Pemula
- SysV
Setiap sistem init memiliki cara yang berbeda untuk memulai dan menghentikan layanan. Kita akan melihat satu per satu.
Cara mengaktifkan dan menonaktifkan layanan di Systemd init
Untuk memulai layanan di systemd jalankan perintah seperti yang ditunjukkan:
systemctl start service-name
Misalnya, untuk memulai layanan web apache, jalankan
systemctl start apache2
Untuk memverifikasi bahwa layanan berjalan, jalankan
systemctl status apache2
Keluaran
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Thu 2018-03-15 17:09:05 UTC; 35s ago
Docs: man:systemd-sysv-generator(8)
CGroup: /system.slice/apache2.service
├─2499 /usr/sbin/apache2 -k start
├─2502 /usr/sbin/apache2 -k start
└─2503 /usr/sbin/apache2 -k start
Mar 15 17:09:04 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:09:04 ip-172-31-41-251 apache2[2475]: * Starting Apache httpd web ser
Mar 15 17:09:05 ip-172-31-41-251 apache2[2475]: *
Mar 15 17:09:05 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.
Untuk menghentikan layanan menjalankan layanan
systemctl stop apache2
Untuk mengonfirmasi bahwa layanan tidak berjalan, jalankan
systemctl status apache2
Keluaran
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: inactive (dead) since Thu 2018-03-15 17:19:47 UTC; 12s ago
Docs: man:systemd-sysv-generator(8)
Process: 2822 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS
Process: 2687 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCE
Mar 15 17:10:11 ip-172-31-41-251 systemd[1]: Starting LSB: Apache2 web server...
Mar 15 17:10:11 ip-172-31-41-251 apache2[2687]: * Starting Apache httpd web ser
Mar 15 17:10:12 ip-172-31-41-251 apache2[2687]: *
Mar 15 17:10:12 ip-172-31-41-251 systemd[1]: Started LSB: Apache2 web server.
Mar 15 17:19:46 ip-172-31-41-251 systemd[1]: Stopping LSB: Apache2 web server...
Mar 15 17:19:46 ip-172-31-41-251 apache2[2822]: * Stopping Apache httpd web ser
Mar 15 17:19:47 ip-172-31-41-251 apache2[2822]: *
Mar 15 17:19:47 ip-172-31-41-251 systemd[1]: Stopped LSB: Apache2 web server.
Untuk mengaktifkan layanan apache2 saat boot up, jalankan
systemctl enable apache2
Untuk menonaktifkan layanan apache2 saat boot, jalankan
systemctl disable apache2
Untuk memulai ulang layanan
systemctl restart apache2
Untuk memeriksa apakah layanan saat ini dikonfigurasi untuk memulai pada boot berikutnya
systemctl is-enabled apache2
Keluaran
Executing /lib/systemd/systemd-sysv-install is-enabled apache2
enabled
Untuk memeriksa apakah layanan aktif
systemctl is-active apache2
Keluaran
active
Cara menghapus layanan Systemd sepenuhnya
Bagaimana jika Anda menginstal sebuah paket, dan kemudian memutuskan bahwa Anda tidak membutuhkannya lagi. Bagaimana cara menghapusnya sepenuhnya? Ikuti perintah di bawah ini.
Pertama, hentikan layanan
systemctl stop service-name
Kemudian nonaktifkan layanan
systemctl disable service-name
Menghapus layanan di systemd
rm /etc/systemd/system/service-name
rm /etc/systemd/system/service-name/[related symlinks]
Muat ulang systemd
systemctl daemon-reload
Akhirnya jalankan,
systemctl reset-failed
Cara mengaktifkan dan menonaktifkan layanan di Pemula init
Sistem init pemula diluncurkan tepat sebelum systemd Digunakan di Ubuntu 9.10 hingga Ubuntu 14.10. Itu kemudian dihapus secara bertahap membuka jalan untuk systemd init di Ubuntu 15.04 dan versi yang lebih baru. Dalam contoh ini, mari kita lihat bagaimana kita dapat memulai dan menghentikan, mengaktifkan dan menonaktifkan layanan di Ubuntu 14.04.
Pemula menggunakan file konfigurasi untuk mengontrol layanan. File-file ini disimpan di bawah direktori /etc/init. File-file ini terdiri dari bagian teks biasa yang diatur dalam bait dan setiap bait menjelaskan layanan dan cara kerjanya.
Untuk memeriksa apakah suatu layanan berjalan atau tidak jalankan perintah di bawah ini
initctl status service-name
ATAU
service service-name status
ATAU
status service-name
Dalam contoh ini, kita akan memeriksa status cangkir, server cetak Linux.
initctl status cups
ATAU
service cups status
ATAU
status cups
Keluaran
cups start/running, process 3029
Untuk menghentikan layanan jalankan perintah di bawah
initctl stop cups
ATAU
service cups stop
ATAU
stop cups
Keluaran
cups stop/waiting
Untuk mengaktifkan layanan di Pemula init
Dalam file /etc/init/*.conf, Anda akan menemukan "respawn " direktif yang memulai layanan jika tiba-tiba mogok atau sistem di-boot ulang. Biasanya diaktifkan secara default.
Misalnya, dalam file /etc/init/cups.conf di bawah ini,
argumen pertama (3) adalah jumlah percobaan yang akan mencoba untuk memulai kembali dan argumen kedua (12) adalah interval waktu antara percobaan ulang. Jika gagal restart secara otomatis. itu akan disimpan dalam keadaan berhenti.
Untuk menonaktifkan layanan di init pemula
jalankan perintah di bawah ini
echo manual >> /etc/init/service.override
Ini membuat file override yang menonaktifkan layanan tanpa mengubah definisi pekerjaan sama sekali.
Untuk layanan cangkir, perintahnya adalah
echo manual >> /etc/init/cups.override
Setelah reboot sistem, cangkir akan berada dalam keadaan berhenti. Jika Anda ingin mengaktifkan kembali layanan, Anda harus menghapus file /etc/init/cups.override.
Alat Sysv-rc-conf
Ini adalah konsol berbasis teks yang memberi Anda gambaran umum tentang berbagai layanan dan runlevel yang dijadwalkan untuk dimulai. Itu dapat diinstal menggunakan perintah berikut
apt-get install sysv-rc-conf
Untuk menjalankan alat ini, jalankan
sysv-rc-conf
Alat Admin Pekerjaan
Ini adalah fitur lain yang memungkinkan Anda untuk mengontrol layanan dan proses dalam lingkungan GUI. Anda dapat menginstal ini dengan menjalankan.
apt-get install jobs-admin
Cara mengaktifkan dan menonaktifkan layanan di SysV init
Untuk mengaktifkan layanan di SysV init run
update-rc.d enable service-name
Misalnya, Jika Anda ingin mengaktifkan server web Apache, Anda akan menjalankan
update-rc.d enable apache2
Untuk menonaktifkan layanan , jalankan
update-rc.d disable service-name
Misalnya
update-rc.d disable apache2
Hampir semua sistem Linux berjalan di Systemd init Dari Ubuntu, Debian, RHEL, dan CentOS. Oleh karena itu, Anda akan menemukan bahwa Anda akan menggunakan lebih banyak perintah systemctl untuk memulai, menghentikan, mengaktifkan, dan menonaktifkan layanan. Kami menyambut Anda untuk mencoba perintah seperti yang ditunjukkan dalam artikel ini. Terima kasih.
Baca Juga:
- Perintah Systemctl untuk Mengelola Layanan Systemd di Linux