Jak usunąć / wykonać kopię zapasową skryptu z /etc/init.d/?

24

Od jakiegoś czasu pracuję z linuksem, ale w dość prosty sposób.

Rozumiem, że skrypty init.dsą wykonywane podczas uruchamiania systemu operacyjnego, ale jak to dokładnie działa?

Co jeśli chcę zachować skrypt, ale nie chcę, aby uruchamiał się automatycznie?

Powiedz, że mam /etc/init.d/varnishi chcę to tymczasowo wyłączyć. Jak mogę się upewnić, że nie uruchomi się, jeśli system operacyjny uruchomi się ponownie? Nie chcę usuwać skryptu. Co jeśli chcę go dodać ponownie?

iDev247
źródło

Odpowiedzi:

34

Istnieje kilka sposobów. Jeśli chcesz to zrobić tylko tymczasowo, możesz usunąć bit wykonawczy z pliku:

$ chmod -x /etc/init.d/varnish

Następnie dodaj ponownie, jeśli to stosowne:

$ chmod +x /etc/init.d/varnish

Jednak „oficjalnym” sposobem w Ubuntu (jak również w Debianie i innych pochodnych Debiana) jest użycie update-rc.dpolecenia:

$ update-rc.d varnish disable

Spowoduje to usunięcie wszystkich dowiązań symbolicznych z folderów /etc/rcX.d, które zajmą się uruchamianiem i zatrzymywaniem usługi w razie potrzeby.

Aby uzyskać więcej informacji, zobacz stronę podręcznika update-rc.d .

EEAA
źródło
Dzięki za świetną odpowiedź! chmodjest łatwym rozwiązaniem! Zacząłem czytać manpages.ubuntu.com/manpages/precise/man8/update-rc.d.8.html i pomaga mi zrozumieć init. Sprawiło, że pomyślałem ... Powinienem przeczytać więcej instrukcji.
iDev247
Miło, że mogłem pomóc. Należy zauważyć, że rozwiązanie chmod powinno tylko być używane bardzo tymczasowo. Nie zweryfikowałem tego, ale widziałem, że system Upstart (używany przez Ubuntu do automatycznego uruchamiania / zatrzymywania procesów) jest przez to mylony.
EEAA
9
$ sudo update-rc.d -f servicename remove
Rogerio Soares
źródło
1
Ta odpowiedź nie pasuje do pytania, które chce zachować skrypt. „Po wywołaniu z opcją usuwania update-rc.dusuwa wszelkie łącza do /etc/rcrunlevel.dkatalogów skryptu /etc/init.d/name. Skrypt musiał już zostać usunięty. ” Manpages.ubuntu.com/manpages/xenial/en/man8/update-rc.d.8.html
Melebius