Apache2'nin açılışta otomatik olarak başlamasını nasıl durdurabilirim?


173

Apache2'nin açılışta otomatik olarak başlamasını nasıl durdurabilirim? Makineyi açtığımda otomatik başlatmayı devre dışı bırakan bir seçenek bulamıyorum.


1
Belki birileri daha spesifik olabilir, ama sizi doğru yöne işaret edebilirim ... in / etc, rc * .d için dizinler var, sanırım init betikleri denilen tüm start / stop komutlarını içeren dizinler var. /Etc/init.d içindeki komut dosyalarına bağlantılar ve "kill" veya "start" için "k" veya "s" ile başlayan ve siparişte bir sayı göreceksiniz.
Marty Fried,

Evet, /etc/rcX.d dizinleri hakkında bilgim vardı, ancak dosyaları elle yeniden adlandırmaktan daha güzel bir araç bulmak için aradım (hayat çok kısa). update-rc.dbu boşluğu doldurdu.
Tomasz Gandor

Yanıtlar:


160

Klasörün altında, /etc/init.d/apache2, network, vb. Gibi farklı açılış hizmetleri için tüm başlangıç ​​komut dosyalarını bulacaksınız.

Bilgisayarın hangi çalışma seviyesine başladığına bağlı olarak, farklı servisler başlatılır. Yani gelen /etc/init.d/klasördeki her bir "hizmet" dan adında bir / birçok / hayır çalışma seviyesi klasörlere bağlantılıdır rc0.diçin rc6.d.

Her şeyi basit tutmak için, bu bağlantıları kaldırmak / eklemek için bir araç vardır; dolayısıyla, başlangıçta ve başından itibaren komut dosyalarını kaldırmak veya eklemek.

Apache2'yi devre dışı bırakmak için şunu yazın:

sudo update-rc.d apache2 disable

Bu, başlangıçta apache2'yi devre dışı bırakır ancak yeniden etkinleştirilebilmesi için kaldırılmaz. Apache2 başlangıç ​​komut dosyalarını kaldırmak için aşağıdakileri yapın:

Apache2'yi kaldırmak için aşağıdakini yazın:

sudo update-rc.d -f  apache2 remove

Bunu yapmak, apache2'ye bağlı tüm çalışma seviyesi klasörlerinin kaldırılmasına neden olur.


2
chkconfig ayrıca yardımcı olabilir - "chkconfig {service_name} off"
MCR

Artık çalışmıyor: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, birlikte çalıştığınız sürümleri belirtebilir misiniz? Bu cevap Ubuntu 14.04.3'teki Apache 2 için çalışıyor.
Dale Anderson

1
Hizmet nasıl geri yüklenir?
Eugen Konkov

9
Uyarı! Bu , servisi ÇIKARIR ! Kullanın sudo update-rc.d apache2 disable.
Eduardo Cuomo

194

Bunu basitçe devre dışı bırakabilirsin:

sudo update-rc.d apache2 disable

ve sonra tekrar etkinleştirmek istiyorsanız:

sudo update-rc.d apache2 enable

Üzerinde çalışmakta olduğum projeye bağlı olarak, yeniden etkinleştirmek istersem, hizmetin uygun bir şekilde kullanılabilir olması elverişlidir.


4
enablebana gibi bir hata verdi runlevel arguments (none) do not match LSB Default-Start values, ancak sudo update-rc.d apache2 defaultsbaşarıyla yeniden etkinleştirilmiş gibi görünüyor.
burada

2
@benden sudo update-rc.d apache2 enablebeklendiği gibi oynadı
Georgios Pligoropoulos

1
Ubuntu Trusty'de bana "Disable | enable API kararlı değil ve gelecekte değişebilir" diyor.
Tanner,

1
Çalışmıyor - error: no runlevel symlinks to modify, aborting!. Ancak, apache2 çalışıyor ve autostarts.
Daniel Kmak

Artık çalışmıyor:update-rc.d: error: no runlevel symlinks to modify, aborting!
TomDogg

55

İle systemdartık kullanabilirsiniz systemctlaçılışta otomatik başlayan bir hizmet önlemek için komutlar.

işte bir örnek:

sudo systemctl disable apache2

Hizmeti başlatıp durdurabileceksiniz ancak açılışta başlatılmayacak.


2
Linux Mint hala Ubuntu 14.04'ü temel almaktadır. Ubuntu 15.04'den itibaren systemd kullanmaya başlar.
twan163

1
twan163'ün dediği gibi @dragonmnl, systemd'nin yeni sürümler (debian jessie veya eşdeğeri +) için olduğunu
mchid

1
Bu Debian harika çalıştı
Anupam

1
debian 9+ için doğru cevap
John

1
Karşılaştığında update-rc.d: error: no runlevel symlinks to modify, aborting!, eksik simlinklerin altındaki kısımları yeniden oluşturun; sonra yeniden deneyin: /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

Kabul edilen cevabı kullanan okuyucular için @ gsullins ve @tomodachi tarafından verilen cevapları ekleyeceğimi düşündüm.

Zaten kullandıysanız:

sudo update-rc.d apache2 remove

defaultsApache2'yi autostart'a tekrar eklemek için argümanı kullanabilirsiniz.

sudo update-rc.d apache2 defaults

O zaman etkinleştirebilir / devre dışı bırakabilirsiniz

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.