dienst in runlevel 2 verlinken

S

supersucker

Foren Gott
hallo,

ich muss nochmal wegen der runlevel-konfiguration nerven, weder handbuch noch sufu haben mich bisher erhellt....

ich möchte das noip2 startet sobald ubuntu in runlevel 2 läuft, was laut meiner /etc/ininttab der default runlevel ist.

hab also nach:

Code:
which noip2
/usr/local/bin/noip2

und

Code:
cd /etc/rc2.d

ein

Code:
ln -s /usr/local/bin/noip2 S99noip2

gemacht....

ls -al zeigt mir nun:

Code:
 S99noip2 -> /usr/local/bin/noip2

sollte also soweit ok, dachte ich , noip2 wird aber nicht gestartet.....

hab ich irgendwas übersehen? oder kann ich in /etc/rc2.d nur sachen verlinken, die über /etc/init.d per start / stop script verwaltet werden also zb.

Code:
/etc/init.d/webmin start

kann das daran liegen?

danke für jeden tip
 
das start - stop script liegt in "/etc/init.d" die rcx.d sind nur links dahin. schmeiss dein sript in die /etc/init.d und dann verlinkt wohin auch immer.
ein tipp um dir die fumlerei zu erleichtern besorg die das progrämchen "rcconf"
 
bash# apt-get install rcconf
bash# rcconf

Was ist daran so schwer? Wenn das Skript ausfuehrbar in /etc/init.d/ liegt, wird es in diesem Tool auch angezeigt. Allerdings muss natuerlich /usr/local/bin/noip2 die Parameter 'start' und 'stop' verstehen, sonst musst du dir erst ein kleines init.d-Skript schreiben.

Koennte dann etwa so aussehen:
Code:
#!/bin/bash

case "$1" in
start)
  echo "Starting noip"
  /usr/local/bin/noip2 <parameter>
  ;;
stop)
  killall noip2
  ;;
*)
  echo "Usage: `basename $0` {start|stop}" >&2
  exit 64
  ;;
esac

exit 0
 
Zuletzt bearbeitet:
bash# apt-get install rcconf
bash# rcconf

Was ist daran so schwer?

äh, wie? wie ich das ding finde / installiere ist mir schon klar, ich wollte es halt per hand machen um zu verstehen wie das funktioniert.......

Wenn das Skript ausfuehrbar in /etc/init.d/ liegt, wird es in diesem Tool auch angezeigt. Allerdings muss natuerlich /usr/local/bin/noip2 die Parameter 'start' und 'stop' verstehen, sonst musst du dir erst ein kleines init.d-Skript schreiben.

das war genau das was ich wissen wollte......
noip kennt die parameter start und stop nicht, hab jetzt dein script verwendet, damit klappts, thx....
 
Nun, damit du es wirklich verstehst... ;)
Alle Programme und Skripte, die du per Runlevel-Configuration starten willst, muessen mindestens die Parameter 'start' und 'stop' verstehen. Beim Booten werden sie naemlich vom System mit 'start' aufgerufen und beim Shutdown mit 'stop'. Das wird gesteuert ueber die Links in /etc/rc.X/, die ueblicherweise so heissen wie die zugehoeren Skripte/Programme in /etc/init.d/. Will man, dass ein Skript/Programm mit 'start' im Runlevel 'X' aufgerufen wird, nennt man den Link Snn<skriptname>, wobei 'nn' hier fuer eine zweistellige Zahl steht, die die Reihenfolge steuert, in der die Skripte/Programme aufgerufen werden. Um ein Skript in einem Runlevel mit 'stop' aufrufen zu lassen, tauscht man einfach das 'S' beim Link-Namen durch ein 'K' aus. Hier ein Beispiel:

Nehmen wir an, dass dein Skript in /etc/init.d/ unter dem Namen 'noip' abgelegt ist und du moechtest, dass es beim Booten im Runlevel 2 mit 'start' aufgerufen wird. Und gehen wir weiterhin davon aus, dass in /etc/rc2.d/ ein Link zum Networking-Skript liegt, der sich S20networking nennt. Wenn du nun dein Skript starten willst, nachdem das Netzwerk gestartet wurde, verlinkst du es einfach nach /etc/rc2.d/S21noip.
 
sag mal, von schlafen hälst du auch nicht viel oder?....:-)

hab dein script minimalst angepasst und jetzt klappt das so wie ich es haben wollte....

danke für die erklärung auf jeden fall....
 

Ähnliche Themen

Runlevel Editor

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

dovecot und postfix Konfiguration Problem

hotkey-setup

Startscript in init.d scheitert an - " -

Zurück
Oben