Bagaimana cara menghentikan Apache2 dari mulai secara otomatis saat boot?
173
Bagaimana cara menghentikan Apache2 dari mulai secara otomatis saat boot? Saya tidak dapat menemukan opsi yang menonaktifkan start-up otomatis ketika saya menghidupkan mesin.
Mungkin seseorang bisa lebih spesifik, tapi saya bisa mengarahkan Anda ke arah yang benar ... di / etc, ada direktori untuk rc * .d, yang berisi semua skrip start / stop, yang disebut, saya pikir, skrip init. Anda akan melihat tautan ke skrip yang ada di /etc/init.d, dan dimulai dengan "k" atau "s", untuk "kill" atau "start", dan nomor yang merupakan urutannya.
Marty Fried
Ya, saya tahu tentang direktori /etc/rcX.d, tetapi saya mencarinya untuk mencari tahu tentang beberapa alat yang lebih bagus, daripada hanya mengubah nama file secara manual (hidup ini terlalu singkat). update-rc.dtelah mengisi kekosongan ini.
Tomasz Gandor
Jawaban:
160
Di bawah folder /etc/init.d/Anda akan menemukan semua skrip init untuk berbagai layanan boot up, seperti apache2, jaringan, dll.
Bergantung pada runlevel mana komputer mulai, berbagai layanan dimulai. Jadi dari /etc/init.d/folder setiap "layanan" ditautkan ke satu / banyak / tidak ada run level folder yang dinamai dari rc0.dke rc6.d.
Untuk mempermudah, ada alat untuk menghapus / menambahkan tautan ini, karenanya menghapus atau menambahkan skrip ke dan dari mulai.
Untuk menonaktifkan apache2 cukup ketik:
sudo update-rc.d apache2 disable
Ini menonaktifkan apache2 saat startup tetapi tidak dihapus sehingga dapat diaktifkan kembali. Untuk menghapus skrip startup apache2 lakukan hal berikut:
Untuk menghapus apache2 cukup ketik:
sudo update-rc.d -f apache2 remove
Melakukan hal ini akan menyebabkan semua folder runlevel yang ditautkan ke apache2 dihapus.
chkconfig juga dapat membantu - "chkconfig {service_name} off"
MCR
Tidak berfungsi lagi:The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
TomDogg
2
@ TomDogg, dapatkah Anda menentukan versi yang Anda gunakan? Jawaban ini berfungsi untuk Apache 2 di Ubuntu 14.04.3
Dale Anderson
1
Bagaimana cara mengembalikan layanan?
Eugen Konkov
9
Peringatan! Ini akan MENGHAPUS layanan! Gunakan sudo update-rc.d apache2 disable.
Eduardo Cuomo
194
Anda cukup menonaktifkannya dengan:
sudo update-rc.d apache2 disable
dan kemudian jika Anda ingin mengaktifkannya lagi:
sudo update-rc.d apache2 enable
tergantung pada proyek yang sedang saya kerjakan, akan sangat mudah untuk memiliki layanan yang tersedia, jika saya ingin mengaktifkannya kembali.
enablememberi saya kesalahan seperti runlevel arguments (none) do not match LSB Default-Start values, tetapi sudo update-rc.d apache2 defaultstampaknya telah berhasil mengaktifkannya kembali.
sini
2
@di sini sudo update-rc.d apache2 enablebermain seperti yang diharapkan untuk saya
Georgios Pligoropoulos
1
Di Ubuntu Trusty ia memberi tahu saya "menonaktifkan | mengaktifkan API tidak stabil dan mungkin berubah di masa depan."
Tanner
1
Tidak berfungsi - error: no runlevel symlinks to modify, aborting!. Namun, apache2 sedang berjalan dan mulai otomatis.
Daniel Kmak
Tidak berfungsi lagi:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg
55
Dengan systemdkita sekarang dapat menggunakan systemctlperintah untuk mencegah layanan mulai secara otomatis saat boot.
berikut ini sebuah contoh:
sudo systemctl disable apache2
Anda masih dapat memulai dan menghentikan layanan tetapi itu tidak akan mulai saat boot.
Linux Mint masih berbasis pada Ubuntu 14.04. Ubuntu mulai menggunakan systemd dari 15.04 pada.
twan163
1
@dragonmnl seperti kata twan163, systemd adalah untuk versi yang lebih baru (debian jessie atau setara +)
mchid
1
ini bekerja dengan baik pada Debian
Anupam
1
jawaban yang tepat untuk debian 9+
John
1
Jika bertemu update-rc.d: error: no runlevel symlinks to modify, aborting!, buat ulang semua tautan yang hilang di bawah; lalu coba lagi: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>
Amil Waduwawara
5
Pikir saya hanya akan menambah jawaban oleh @gsullins dan @tomodachi, untuk pembaca masa depan yang menggunakan jawaban yang diterima.
Jika Anda sudah pernah menggunakan:
sudo update-rc.d apache2 remove
Anda dapat menggunakan argumen defaultsuntuk menambahkan apache2 kembali ke autostart
update-rc.d
telah mengisi kekosongan ini.Jawaban:
Di bawah folder
/etc/init.d/
Anda akan menemukan semua skrip init untuk berbagai layanan boot up, seperti apache2, jaringan, dll.Bergantung pada runlevel mana komputer mulai, berbagai layanan dimulai. Jadi dari
/etc/init.d/
folder setiap "layanan" ditautkan ke satu / banyak / tidak ada run level folder yang dinamai darirc0.d
kerc6.d
.Untuk mempermudah, ada alat untuk menghapus / menambahkan tautan ini, karenanya menghapus atau menambahkan skrip ke dan dari mulai.
Untuk menonaktifkan apache2 cukup ketik:
Ini menonaktifkan apache2 saat startup tetapi tidak dihapus sehingga dapat diaktifkan kembali. Untuk menghapus skrip startup apache2 lakukan hal berikut:
Untuk menghapus apache2 cukup ketik:
Melakukan hal ini akan menyebabkan semua folder runlevel yang ditautkan ke apache2 dihapus.
sumber
The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
sudo update-rc.d apache2 disable
.Anda cukup menonaktifkannya dengan:
dan kemudian jika Anda ingin mengaktifkannya lagi:
tergantung pada proyek yang sedang saya kerjakan, akan sangat mudah untuk memiliki layanan yang tersedia, jika saya ingin mengaktifkannya kembali.
sumber
enable
memberi saya kesalahan sepertirunlevel arguments (none) do not match LSB Default-Start values
, tetapisudo update-rc.d apache2 defaults
tampaknya telah berhasil mengaktifkannya kembali.sudo update-rc.d apache2 enable
bermain seperti yang diharapkan untuk sayaerror: no runlevel symlinks to modify, aborting!
. Namun, apache2 sedang berjalan dan mulai otomatis.update-rc.d: error: no runlevel symlinks to modify, aborting!
Dengan
systemd
kita sekarang dapat menggunakansystemctl
perintah untuk mencegah layanan mulai secara otomatis saat boot.berikut ini sebuah contoh:
Anda masih dapat memulai dan menghentikan layanan tetapi itu tidak akan mulai saat boot.
sumber
update-rc.d: error: no runlevel symlinks to modify, aborting!
, buat ulang semua tautan yang hilang di bawah; lalu coba lagi: /etc/rc0.d/K01 <service> /etc/rc1.d/K01 <service> /etc/rc2.d/S99 <service> /etc/rc3.d/S99 <service> / etc / rc4.d / S99 <service> /etc/rc5.d/S99 <service> /etc/rc6.d/K01 <service>Pikir saya hanya akan menambah jawaban oleh @gsullins dan @tomodachi, untuk pembaca masa depan yang menggunakan jawaban yang diterima.
Jika Anda sudah pernah menggunakan:
Anda dapat menggunakan argumen
defaults
untuk menambahkan apache2 kembali ke autostartMaka Anda dapat mengaktifkan / menonaktifkan
sumber