??? also wenn ich "./avgd start" eingebe dann startet er den dämon richtig aber ich hab keine ahnung was runlevel sind oder ob diese korreckt verlinkt sind
Also... Linux kann in verschiedenen "Modi" starten (z.B. Single-User, Multiuser mit Netzwerk, Multiuser ohne Netzwerk usw.). Diese Modi nennt man Runlevel. Welches Runlevel das Default-Runlevel von BT ist, kannst du rausfinden, indem du einfach mal '/sbin/runlevel' in einem Terminal eingibst. Der Output sollte dann etwa so aussehen:
'5' ist in diesem Beispiel das Runlevel, um das es für dein Problem geht. Irgendwo in /etc/ findest du einen Ordner, der sich rcX.d nennt, wobei 'X' die Nummer des Runlevels ist (in unserem Beispiel also rc5.d). Ggf. ist dieser Ordner bei BT auch unter /etc/init.d/. Hab gerade kein BT zur Hand um nachzusehen.
Soll nun ein Skript z.B. im Runlevel 5 starten, musst du es nach rc5.d verlinken. Dabei muss der Name des Links mit 'S' beginnen (für Start), gefolgt von einer Zahl zwischen 01 und 99 und dem Skriptnamen, also z.B. S99avgd. Die Zahl gibt an, an welcher Stelle des Bootvorgangs der Dienst gestartet werden soll. Also bedeutet der Link-Name S99avgd, dass das Skript als allerletztes gestartet werden soll.
Einen Link erstellst du mit dem Befehl 'ln'. Da du innerhalb von /etc/ arbeitest, musst du diesen als root ausführen, denn nur root hat Schreibrechte dort. Gehen wir davon aus, dass dein Default-Runlevel die Nummer 5 hat und sich der Ordner rc5.d direkt in /etc/ befindet, würdest du mit folgendem Befehl dein Start-Skript in das Runlevel verlinken:
Code:
ln -s /etc/init.d/avgd /etc/rc5.d/S99avgd
Mit diesem Befehl verlinkst du das Skript /etc/init.d/avgd in das Runlevel 5 und sorgst dafür, dass es erst am Ende des Bootprozesses gestartet wird, was für deine Zwecke ausreichen sollte und sicherstellt, dass ggf. andere notwendige Dienste bereits gestartet sind. '-s' bedeutet hier, dass es um einen symbolischen Link geht. Siehe dazu auch 'man ln'.