Jak zatrzymać automatyczne uruchamianie Apache2 podczas uruchamiania?


173

Jak zatrzymać automatyczne uruchamianie Apache2 podczas uruchamiania? Nie mogę znaleźć opcji, która wyłącza automatyczne uruchamianie po włączeniu urządzenia.


1
Być może ktoś może być bardziej szczegółowy, ale mogę wskazać ci właściwy kierunek ... w / etc, istnieją katalogi dla rc * .d, które zawierają wszystkie skrypty start / stop, zwane, jak sądzę, skryptami init. Zobaczysz linki do skryptów, które znajdują się w /etc/init.d i zaczynają się na „k” lub „s”, na „kill” lub „start” oraz na liczbie, która jest kolejnością.
Marty Fried

Tak, wiedziałem o katalogach /etc/rcX.d, ale szukałem go, aby dowiedzieć się o jakimś ładniejszym narzędziu niż po prostu ręcznej zmianie nazw plików (życie jest zbyt krótkie). update-rc.dwypełnił tę pustkę.
Tomasz Gandor

Odpowiedzi:


160

W folderze /etc/init.d/znajdziesz wszystkie skrypty inicjujące dla różnych usług uruchamiania, takich jak apache2, praca w sieci itp.

W zależności od poziomu uruchamiania komputera, uruchamiane są różne usługi. Tak więc z /etc/init.d/folderu każda „usługa” jest połączona z jednym / wieloma / brakiem folderów poziomu uruchamiania o nazwach od rc0.ddo rc6.d.

Aby uprościć sprawę, istnieje narzędzie do usuwania / dodawania tych łączy, a zatem usuwania lub dodawania skryptów do i od uruchomienia.

Aby wyłączyć apache2, po prostu wpisz:

sudo update-rc.d apache2 disable

Wyłącza to apache2 podczas uruchamiania, ale nie jest usuwany, więc można go ponownie włączyć. Aby usunąć skrypty startowe apache2, wykonaj następujące czynności:

Aby usunąć apache2, po prostu wpisz:

sudo update-rc.d -f  apache2 remove

Spowoduje to usunięcie wszystkich folderów poziomu uruchamiania, które są połączone z Apache2.


2
chkconfig może także pomóc - „chkconfig {nazwa_usługi} wyłączony”
MCR

The script you are attempting to invoke has been converted to an Upstart job, but lsb-header is not supported for Upstart jobs. (...)
Już

2
@TomDogg, czy możesz podać wersje, z którymi pracujesz? Ta odpowiedź działa dla Apache 2 na Ubuntu 14.04.3
Dale Anderson

1
Jak przywrócić usługę?
Eugen Konkov

9
Ostrzeżenie! To USUNĄĆ usługę! Użyj sudo update-rc.d apache2 disable.
Eduardo Cuomo,

194

możesz po prostu wyłączyć:

sudo update-rc.d apache2 disable

a następnie, jeśli chcesz włączyć to ponownie:

sudo update-rc.d apache2 enable

w zależności od projektu, nad którym pracuję, wygodnie jest mieć tę usługę wygodnie dostępną, jeśli chcę ją ponownie włączyć.


4
enablepodał mi błąd podobny do runlevel arguments (none) do not match LSB Default-Start values, ale sudo update-rc.d apache2 defaultswydaje się, że ponownie go pomyślnie włączono.
tutaj

2
@here sudo update-rc.d apache2 enablegrał zgodnie z oczekiwaniami
Georgios Pligoropoulos

1
Na Ubuntu Trusty mówi mi: „Interfejs API enable | enable nie jest stabilny i może ulec zmianie w przyszłości”.
Tanner

1
Nie działa - error: no runlevel symlinks to modify, aborting!. Jednak apache2 działa i uruchamia się automatycznie.
Daniel Kmak

update-rc.d: error: no runlevel symlinks to modify, aborting!
Już

55

Dzięki systemdmożemy teraz używać systemctlpoleceń, aby zapobiec automatycznemu uruchamianiu usługi podczas rozruchu.

Oto przykład:

sudo systemctl disable apache2

Nadal będziesz mógł uruchomić i zatrzymać usługę, ale nie uruchomi się ona podczas rozruchu.


2
Linux Mint jest nadal oparty na Ubuntu 14.04. Ubuntu zaczyna korzystać z systemd od 15.04.
twan163

1
@dragonmnl jak powiedział twan163, systemd jest dla nowszych wersji (debian jessie lub odpowiednik +)
mchid

1
działało to świetnie na Debianie
Anupam,

1
właściwa odpowiedź dla Debiana 9+
Jan

1
W przypadku napotkania update-rc.d: error: no runlevel symlinks to modify, aborting!odtwórz wszystkie brakujące łącza sim; następnie spróbuj ponownie: /etc/rc0.d/K01 <usługa> /etc/rc1.d/K01 <usługa> /etc/rc2.d/S99 <usługa> /etc/rc3.d/S99 <usługa> / etc / rc4.d / S99 <usługa> /etc/rc5.d/S99 <usługa> /etc/rc6.d/K01 <usługa>
Amil Waduwawara

5

Pomyślałem, że dodam tylko do odpowiedzi @gsullins i @tomodachi dla przyszłych czytelników, którzy skorzystali z zaakceptowanej odpowiedzi.

Jeśli już używałeś:

sudo update-rc.d apache2 remove

Możesz użyć argumentu, defaultsaby dodać apache2 z powrotem do autostartu

sudo update-rc.d apache2 defaults

Następnie możesz włączyć / wyłączyć

sudo update-rc.d apache2 disable
sudo update-rc.d apache2 enable
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.