staging.inyokaproject.org

RunLevel eines eigenen Daemons eintragen

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

anno

Anmeldungsdatum:
10. Dezember 2006

Beiträge: 432

Hallo,

ich versuche gerade mir ein Paket zu bauen, was soweit auch funktioniert.

Doch wie seiht es denn mit dem Einrichten eines RunLevels während der Installation aus, so dass mein Programm direkt bei mSystemstart gestartet wird?

Hier (Dienste) gibt es zwar eine Beschreibung der RunLevels aber leider fehlt mir es, wie ich solch eine automatische Konfiguraiton in mein paket einbauen kann.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi anno,

wenn du debhelper nutzt, schaue dir die Manpage von dh_installinit an.

Gruss Lasall

anno

(Themenstarter)

Anmeldungsdatum:
10. Dezember 2006

Beiträge: 432

Ich kenne mich der Installierung der RunLevel jetzt nicht so aus, aber es werden zumindest 3 Dateien erstellt:

postrm:

1
2
3
4
5
6
7
#!/bin/sh
set -e
# Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
  update-rc.d mein-tool remove >/dev/null
fi
# End automatically added section

postinst:

1
2
3
4
5
6
7
#!/bin/sh
set -e
# Automatically added by dh_installinit
if [ -x "/etc/init.d/mein-tool" ]; then
  update-rc.d mein-tool default 91 09 >/dev/null || exit $?
fi
# End automatically added section

rules:

1
2
3
4
5
%:
  dh $@ 

override_dh_installinit:
  dh_installinit --no-start --no-restart-on-upgrade -- default 91 09

Ich kann hier jetzt aber nicht sehen, dass irgendwelche Runlevels würden mit installiert werden.

Was muss ich denn da noch einstellen?

sven-s

Avatar von sven-s

Anmeldungsdatum:
5. August 2010

Beiträge: 700

Schau dir doch mal die postinst an. Da wird der Befehl update-rc.d ausgefuehrt. Hast du dir zu diesem Programm mal die manpage angesehen?

Und die rules solltest du abaendern.

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi anno,

da postinst und postrm ja automatisch generiert werden, verwende den passenden Befehl in der rules für das Starten des Dienstes. Wie immer lernt man am Besten durch konkrete Beispiele. Da debhelper fast überall verwendet wird, schaue dir an, was unter /etc/init.d vorhanden ist (und wie die Skripte in den Runleveln verlinkt sind), prüfe mit dpkg -S DATEI zu welchem Paket diese Datei gehört und besorge dir anschließend den entsprechenden Quellcode (apt-get source PAKET). Ein kleines Paket, wo du schauen kannst ist z.B. anacron.

Gruss Lasall

anno

(Themenstarter)

Anmeldungsdatum:
10. Dezember 2006

Beiträge: 432

Wie sieht es denn mit der Namensgebung bei den RunLevels aus?

Ist die Nummer am Anfang des Dateinamens völlig willkürlich oder sollte sie einem Schema folgen?

Lasall

Ehemalige
Avatar von Lasall

Anmeldungsdatum:
30. März 2010

Beiträge: 7723

Hi anno,

nein das ist nicht willkürlich. Siehe dazu Dienste. Damit wird die Reihenfolge bestimmt.

Gruss Lasall

Antworten |