QuickTipp: Ubuntu und Debian Autostart von Services via init Skripts und update-rc.d + GUI

debian_ubuntu

Services (Dienste) werden unter Debian und auf Debian basierenden Linux Distributionen wie Ubuntu mit den sogenannten Init Skripts gestartet und gestoppt. Diese befinden sich unter /etc/init.d/ und werden mit der Angabe des Services und dem entsprechenden Kommando gestoppt oder gestartet.

Ich nehme für mein Beispiel den Dienst vom Apache Webserver (/etc/init.d/apache2) und zeige wie man mit dem Befehl update-rc.d die Austostart Skripte entfernt, hinzufügt und modifiziert

Dienste unter Debian Linux mit Init Skripts starten und stoppen

Apache Webserver Dienst (Service) starten:

/etc/init.d/apache2 start

Apache Webserver Dienst (Service) stoppen:

/etc/init.d/apache2 stop

Bei einem Serverstart wird in den Verzeichnissen /etc/rc?.d/ nach den Skripten gesucht welche automatisch beim Boot ausgeführt werden. ? steht hierbei für das entsprechende Runlevel. In diesen Verzeichnissen ist der eigentliche Befehl /etc/init.d/apache2 mit einem symbolischen Link verankert.

So ist der Symlink für das Apache Start/Stop Skript in den Runlevels eingebunden:

lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc0.d/K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc1.d/K01apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc2.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc3.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc4.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc5.d/S02apache2 -> ../init.d/apache2
lrwxrwxrwx 1 root root 17 Feb 23 2012 /etc/rc6.d/K01apache2 -> ../init.d/apache2

Wie man sieht ist bei den Runlevels 0,1 und 6 ein K am Anfang des symbolischen Link und bei den Runlevels 2,3,4 und 5 ein S. Diese beiden Buchstaben stehen für Kill und Start.
Runlevel 0: halt – fährt das System herunter ohne es neu zu starten
Runlevel 1: single user mode – Startet das System im Minimalbetrieb ohne Netzwerk.
Runlevel 2,3,4,5: multi user mode –  In diesen Runleveln wird gearbeitet. Debian läuft standardmäßig im Runlevel 2
Runlevel 6: reboot-  startet das System neu.

Linux Service (Dienst) aus dem Autostart entfernen

Um nun einen Dienst (Service) aus dem Autostart zu entfernen wird mit “update-rc.d -f Dienstname remove” der benannte Dienst aus allen runlevels entfernt (bei Ubuntu wird vor dem Befehl ein sudo benötigt):

update-rc.d -f apache2 remove

Die Symlinks wurden aus /etc/rc?.d/ entfernt. Der Dienst kann aber nach wie vor von Hand gestartet werden. /etc/init.d/ Tipp: mit dem Flag -n kann man einen Trockenlauf durchführen um zu sehen was passieren wird

Linux Service beim Boot ausführen (Autostart)

Um einen Service nun bei Systemstart automatisch ausführen zu lassen werden die Symlinks in /etc/rc?.d/ hinzugefügt

update-rc.d apache2 defaults

Die Option ‘defaults’ startet den Dienst in den Runlevels 0,1,2,3 und stoppt ihn in 4, 5, 6.

Text basierte GUI rcconf zum einfachen Verwalten

Mit dem Debian Runlevel Configuration Tool (kurz: rcconf) ist es ganz einfach via Häkchen möglich die entsprechenden Dienste auszuwählen, welche beim Systemstart ausgeführt werden sollen. rcconf installieren:

apt-get install rcconf

rcconf ausführen:

rcconf

QuickTipp: Ubuntu und Debian Autostart von Services via init Skripts und update-rc.d + GUI, 5.0 out of 5 based on 5 ratings
GD Star Rating
loading...
Patrick Schoyswohl

Patrick Schoyswohl

Systemadministrator
Hallo, mein Name ist Patrick Schoyswohl und ich bin Systemadministrator in einer Agentur für neue Medien und seit 2009 Betreiber und leidenschaftlicher Blogger von SysADMINsLife.com. Meine Leidenschaft gehört den Webservern und der Serverüberwachung auf Open-Source Basis. Falls du gefallen an meinen Artikel hast, kannst du mir gerne auf Google+, Facebook oder Twitter folgen.
Patrick Schoyswohl
Also der #ORF ist leider wirklich der schlechteste Sender Kameraführung fail #DGC - 5 Tagen ago
Patrick Schoyswohl

Tags: , , , , , , , , , ,

Dienstag, 27. November 2012 Linux Author: Patrick Schoyswohl

6 Kommentare zum Thema QuickTipp: Ubuntu und Debian Autostart von Services via init Skripts und update-rc.d + GUI

  • claw sagt:

    Super wusste gar nicht, dass es sowas wie rrconf gibt :) verwalte meine scripte immer mit update-rc.d

  • Harald sagt:

    Auch wieder was dazugelernt. Danke

  • Carsten sagt:

    Das habe ich gesucht. Danke!

  • Mario sagt:

    Super, rcconf war mir neu. :)

  • Joachim Pechstedt sagt:

    Hallo,

    wäre mal interessant zu wissen in welchem Runlevel man meinetwegen einen Gameserver starten sollte. Default oder wie der Apache2 0,1 und 6 Kill und 2,3,4,5 Start?

    Wie sagt man denn Debian er soll ein Script autostarten was meinetwegen unter /home/user1/ liegt und autostart.sh heißt und im Namen von user1 gestartet werden soll?

    Schönes Wochenende

    • Hallo Joachim,

      das ist natürlich abhängig vom Dienst selbst. Aber bei einem Gameserver würde ich es genauso empfehlen, wie du es geschrieben hast. 2,3,4,5 Start und 0,1,6 Kill.

      Grundsätzlich kannst du von deinem Skript jederzeit einen Symlink nach /etc/init.d setzen. Oder du baust dir ein eigenes Startskript in /etc/init.d, welches die Befehle von /home/user1/ verwendet.
      Andere User verwende ich in den Skripts mit einem “su”. Sieh dir mal mein Teamspeak 3 Startskript an, ich denke da wirst du ein wenig schlauer. ;)

      Gruß
      Patrick

  • Leave a Reply

    Subscribe to our mailing list

    * indicates required Email Adresse *
    Werbung schalten

    *=Affiliatelink

    Blogverzeichnis - Blog Verzeichnis bloggerei.de