Init Skript geht nicht [fertsch]
Init Skript geht nicht [fertsch]
Hallo Leute,
ich habe eine Neuinstallation von Debian 6.0.3 gemacht. Ich habe ein Init Skript geschrieben und die Links in den Runlevel- Ordnern angelegt. Das Skript wird beim starten aber nicht ausgeführt.
Ich habe nun gesehen das unter /etc/init.d drei Dateien liegen in denen Initskripte in einer bestimmten Reihenfolge eingetragen sind.
Ich denke mir das das Skript dort irgendwie eingetragen werden muss.
Kann mir jemand einen Tipp geben was es mit diesen Dateien aufsich hat?? Bei bin ich nicht so richtig fündig geworden.
Danke für alle Antworten.
ich habe eine Neuinstallation von Debian 6.0.3 gemacht. Ich habe ein Init Skript geschrieben und die Links in den Runlevel- Ordnern angelegt. Das Skript wird beim starten aber nicht ausgeführt.
Ich habe nun gesehen das unter /etc/init.d drei Dateien liegen in denen Initskripte in einer bestimmten Reihenfolge eingetragen sind.
Ich denke mir das das Skript dort irgendwie eingetragen werden muss.
Kann mir jemand einen Tipp geben was es mit diesen Dateien aufsich hat?? Bei bin ich nicht so richtig fündig geworden.
Danke für alle Antworten.
Zuletzt geändert von Lolek am 12.02.2012 17:08:58, insgesamt 1-mal geändert.
Gruß Lolek
Re: Init Skript geht nicht
Ist das Skript ausführbar?
Wegen der "drei Dateien" (insserv), hat es einen validen LSB-Header?
Wegen der "drei Dateien" (insserv), hat es einen validen LSB-Header?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
- bluelupo
- Beiträge: 153
- Registriert: 26.10.2004 11:15:30
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Südostbayern
Re: Init Skript geht nicht
Hi Lolek,
wie schaut dein Initscript aus und welche Links hast du gesetzt? Bitte poste mal die entsprechenden Infos damit die Leser hier im Forum besser helfen können.
wie schaut dein Initscript aus und welche Links hast du gesetzt? Bitte poste mal die entsprechenden Infos damit die Leser hier im Forum besser helfen können.
Ciao
bluelupo
bluelupo
Re: Init Skript geht nicht
Habe gerade versucht, die Infos zu bekommen. Hat nicht geklappt, muss an den Sonnenwinden liegen. Screenshot: http://bit.ly/zeSIb3
scnr,
niemand
scnr,
niemand
Re: Init Skript geht nicht
Hallo Leute,
danke für die Antworten.
Das Skript ist ausführbar. Wenn ich es von Hand starte geht es.
Links habe ich in den dafür vorgesehenen Ordnern rcX angelegt "@S30blasuelzScript".
Ich habe das Problem schonmal bei einer Installation von Debian 6.0.1 gehabt. Ich glaube mich zu erinnern in eine der Dateien ".depend.boot" oder ".depend.start" die im init.d verzeichnis liegen etwas eingetragen zu haben. Ich kann mich aber ums Verrecken nicht erinnern was ich da gemacht habe... wenn man nicht alles aufschreibt. .
Das Script soll Homeverzeichnisse aus einer Vorlage in den Arbeitsspeicher kopieren (Tempfs).
@niemand: Geiler Link zu Glaskugel TV. Hab den Wink verstanden. hi hi
danke für die Antworten.
Das Skript ist ausführbar. Wenn ich es von Hand starte geht es.
Links habe ich in den dafür vorgesehenen Ordnern rcX angelegt "@S30blasuelzScript".
Ich habe das Problem schonmal bei einer Installation von Debian 6.0.1 gehabt. Ich glaube mich zu erinnern in eine der Dateien ".depend.boot" oder ".depend.start" die im init.d verzeichnis liegen etwas eingetragen zu haben. Ich kann mich aber ums Verrecken nicht erinnern was ich da gemacht habe... wenn man nicht alles aufschreibt. .
Das Script soll Homeverzeichnisse aus einer Vorlage in den Arbeitsspeicher kopieren (Tempfs).
Code: Alles auswählen
#!/bin/sh
### BEGIN INIT INFO
# Provides: UserHome
# Required-Start:
# Required-Stop:
# Default-Start: 1 2 3 4 5
# Default-Stop: 0 6
# Short-Description: Initialisiert eine Ramdisk
# Description:
### END INIT INFO
#
#
case "$1" in
start)
echo "Homeverzeichnisse in den Arbeitsspeicher schreiben"
#
/bin/cp -r /template/dh5ue /home
/bin/cp -r /template/root/ /
/bin/chown -fR dh5ue:dh5ue /home/dh5ue
exit 0
;;
stop)
echo "STOP"
;;
restart)
echo "Restart"
;;
*)
echo "keine gueltige Option"
;;
esac
exit 0
Gruß Lolek
Re: Init Skript geht nicht
Hallo Leute,
ich hab nochmal etwas probiert und es ist mir geglückt das Skript zum laufen zu überzeugen. Ich hab es in der Datei /etc/init.d/.depend.start in die Zeile Target eingetragen und schwups hat's funktioniert.
Danke nochmal für die Antworten.
ich hab nochmal etwas probiert und es ist mir geglückt das Skript zum laufen zu überzeugen. Ich hab es in der Datei /etc/init.d/.depend.start in die Zeile Target eingetragen und schwups hat's funktioniert.
Danke nochmal für die Antworten.
Gruß Lolek
Re: Init Skript geht nicht [fertsch]
...wo es wahrscheinlich bei der nächsten Aktualisierung wieder rausfliegen wird.
Lies mal hier:
http://wiki.debian.org/LSBInitScripts
insserv ist mittlerweile für die Sortierung der Startskripte in /etc/init.d zuständig.
Vorschlag für eine Änderung deines LSB-Headers:
dann als root insserv -vn ausführen und sehen ob dein Skript an der gewünschten Stelle einsortiert würde,
falls ja dann insserv ohne Parameter ausführen.
Lies mal hier:
http://wiki.debian.org/LSBInitScripts
insserv ist mittlerweile für die Sortierung der Startskripte in /etc/init.d zuständig.
Vorschlag für eine Änderung deines LSB-Headers:
Code: Alles auswählen
# Required-Start: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
falls ja dann insserv ohne Parameter ausführen.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Init Skript geht nicht [fertsch]
Hallo defix,
danke für den Tipp.
Du hast in deinem Post bei Default-Stop Runlevel 1 eingetragen. RN1 ist doch der singelUserMod, da das Skript aber die Home Verzeichnisse erzeugt müsste es doch in RN1 ausgeführt werden oder sehe ich das falsch?
danke für den Tipp.
Du hast in deinem Post bei Default-Stop Runlevel 1 eingetragen. RN1 ist doch der singelUserMod, da das Skript aber die Home Verzeichnisse erzeugt müsste es doch in RN1 ausgeführt werden oder sehe ich das falsch?
Gruß Lolek
Re: Init Skript geht nicht [fertsch]
Hoppla, da hab ich doch falsch gelesen aber wenns läuft...
in der manpage von init steht:
Es gibt einen kleinen Unterschied beim singelUserMod mit init 1 oder beim booten mit Kernelparameter s:
http://www.debian.org/doc/manuals/debia ... e_runlevel
Wenn dein Skript sehr früh ausgeführt werden muss, ist es vielleicht besser in /etc/rcS.d aufgehoben,
am Ende ausgeführt wird reichen, also kann $all bleiben,
Default-Start: 2 3 4 5 auf Default-Start: S ändern.
in der manpage von init steht:
und sogesehen ist runlevel 1 eher ein stoplevel.Als Konsequenz davon ist es nicht sicher, von Runlevel 1 zu einem Mehrbenutzer-Runlevel zurückzukehren:
Daemons, die in Runlevel S gestartet wurden und für normale Operationen benötigt werden, laufen nicht länger.
Das System sollte neu gestartet werden.
Es gibt einen kleinen Unterschied beim singelUserMod mit init 1 oder beim booten mit Kernelparameter s:
http://www.debian.org/doc/manuals/debia ... e_runlevel
Wenn dein Skript sehr früh ausgeführt werden muss, ist es vielleicht besser in /etc/rcS.d aufgehoben,
am Ende ausgeführt wird reichen, also kann $all bleiben,
Default-Start: 2 3 4 5 auf Default-Start: S ändern.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Init Skript geht nicht [fertsch]
Moin defix,
ich hab hier einen Thinclient mit cf Karte. Um die Schreibvorgänge auf der Karte zu minimieren habe ich die Homeverzeichnisse mit tempfs in den Arbeitsspeicher ausgelagert. Das Skript kopiert nur /root und /home aus einer Vorlage in den Speicher. Es ist das letzte Skript was beim Start ausgeführt wird aber wenn man sich im RL1 anmelden will brauch man eben auch ein Homeverzeichniss. Deshalb kann ich in RL1 auf das Skript nicht verzichten.
ich hab hier einen Thinclient mit cf Karte. Um die Schreibvorgänge auf der Karte zu minimieren habe ich die Homeverzeichnisse mit tempfs in den Arbeitsspeicher ausgelagert. Das Skript kopiert nur /root und /home aus einer Vorlage in den Speicher. Es ist das letzte Skript was beim Start ausgeführt wird aber wenn man sich im RL1 anmelden will brauch man eben auch ein Homeverzeichniss. Deshalb kann ich in RL1 auf das Skript nicht verzichten.
Gruß Lolek
Re: Init Skript geht nicht [fertsch]
Was gefällt dir am Runlevel 1 so gut, das du unbedingt darauf bestehst?
ps: gönn deinem Browser mal eine gescheite Schriftart:
mein Nick ist detix, mit t wie toll, nicht mit f wie furchtbar.
ps: gönn deinem Browser mal eine gescheite Schriftart:
mein Nick ist detix, mit t wie toll, nicht mit f wie furchtbar.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Init Skript geht nicht [fertsch]
Hallo detix,
entschuldige den Schreibfehler. Ich hatte meine Brille vergessen da hab ich es falsch gelesen.
Was RL1 betrifft so ist es ja nunmal da und wenn man es mal brauchen sollte dann braucht man auch ein Userverzeichniss.
entschuldige den Schreibfehler. Ich hatte meine Brille vergessen da hab ich es falsch gelesen.
Was RL1 betrifft so ist es ja nunmal da und wenn man es mal brauchen sollte dann braucht man auch ein Userverzeichniss.
Gruß Lolek
Re: Init Skript geht nicht [fertsch]
Eigentlich ist 1 eher für Wartungs-/Reparatursachen gedacht. Die macht typischerweise root, und dessen ~ befindet sich ja üblicherweise außerhalb von /home.
cu,
niemand
cu,
niemand
Re: Init Skript geht nicht [fertsch]
Lolek, kann es sein das du ein grundsätzliches Verständnisproblem mit den Runlevels (R) hast?
Finde keinen passenden Link, also nachfolgendes ohne Gewähr!
Es ist nicht so mit der Bootreihenfolge: R0, 1, 2, 3,...
Zuerst kommt Runlevel S, der bei jedem Bootvorgang durchlaufen wird mit seinen Skripten in /etc/rcS.d/,
ein "S" am Anfang des Symlinks bedeutet Dienst/Programm starten, ein "K" kill oder stoppen.
Danach kommt nicht R1, sondern schon das was in der /etc/inittab unter der Zeile
"# The default runlevel." als "initdefault" eingetragen ist,
normalerweise R5, da R2-5 bei debian eigentlich identisch sind.
Runlevel 1 (Skripte in /etc/rc1.d/) wird also beim Hochfahren das Systems garnicht durchlaufen.
Da dein Skript kein Dienst ist der beim Runterfahren gestoppt werden müsste,
kannst du die Einträge in "Default-Stop:" auch leer lassen (0 1 6 löschen), bringt ja nichts.
Vielleicht ist es jetzt etwas klarer geworden,
warum das Skript besser in Runlevel S und wahrscheinlich auch nur dort platziert sein sollte.
Finde keinen passenden Link, also nachfolgendes ohne Gewähr!
Es ist nicht so mit der Bootreihenfolge: R0, 1, 2, 3,...
Zuerst kommt Runlevel S, der bei jedem Bootvorgang durchlaufen wird mit seinen Skripten in /etc/rcS.d/,
ein "S" am Anfang des Symlinks bedeutet Dienst/Programm starten, ein "K" kill oder stoppen.
Danach kommt nicht R1, sondern schon das was in der /etc/inittab unter der Zeile
"# The default runlevel." als "initdefault" eingetragen ist,
normalerweise R5, da R2-5 bei debian eigentlich identisch sind.
Runlevel 1 (Skripte in /etc/rc1.d/) wird also beim Hochfahren das Systems garnicht durchlaufen.
Da dein Skript kein Dienst ist der beim Runterfahren gestoppt werden müsste,
kannst du die Einträge in "Default-Stop:" auch leer lassen (0 1 6 löschen), bringt ja nichts.
Vielleicht ist es jetzt etwas klarer geworden,
warum das Skript besser in Runlevel S und wahrscheinlich auch nur dort platziert sein sollte.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Init Skript geht nicht [fertsch]
Hallo detix,
ja hast ja Recht. Im normalen Betrieb ist der Eintrag im RL1 völlig sinnfrei. Es kann ja aber sein, aus welchen Gründen auch immer, das man den Rechner im SingelUserMode startet. In diesem Fall brauch ich ja wenigstens /root. Ja, man kann das Skript auch unter /etc/rcS.d einbinden. Da brauch man auch nur einen Link anstatt 5 legen... hi hi In diesem Fall wird es ja auch beim Start ausgeführt.
ja hast ja Recht. Im normalen Betrieb ist der Eintrag im RL1 völlig sinnfrei. Es kann ja aber sein, aus welchen Gründen auch immer, das man den Rechner im SingelUserMode startet. In diesem Fall brauch ich ja wenigstens /root. Ja, man kann das Skript auch unter /etc/rcS.d einbinden. Da brauch man auch nur einen Link anstatt 5 legen... hi hi In diesem Fall wird es ja auch beim Start ausgeführt.
Gruß Lolek