Script beim Boot laden

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Benutzeravatar
Josir
Beiträge: 267
Registriert: 16.08.2005 18:43:11
Wohnort: Schlaraffenland

Script beim Boot laden

Beitrag von Josir » 16.09.2005 15:38:02

hi.
Ich weiß, das es weiter unten schon ein änliches Thema gibt aber:
Jedesmal wennich Linux starte mussich ein script ausführen um mein WLan zu aktivieren.
hier das script:

http://nopaste.debianforum.de/get/918

Ich möchte dieses script automatisch beim Bootvorgang ausfüren lassen.
Aber wie?

Also was ich schon probiert habe ist eine Datei namens "wlan" im /etc/init.d Verzeichniss zu erstellen und die sieht so aus

Code: Alles auswählen

    #!/sbin/runscript

    start() {
    /soft/wlan/acx100/scripts/start_net
    }

    stop() {
    /soft/wlan/acx100/scripts/stop_net
    }
funktioniert nicht...
Bitte,bitte hilfe!
Ich kann doch meiner (süßen, nymphomanischen) Mitbewohnerin ja wohl kaum erklären das sie doch bitte jedesmal die konsole öffnen, root passwort eingeben... und so weiter soll. Da kriegt die ja die Kriese!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 16.09.2005 15:42:59

Code: Alles auswählen

ln -s /etc/init.d/wlan /etc/rc2.d/S75wlan
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Beitrag von SubOptimal » 16.09.2005 15:50:17

Hi Josir,

erstell in /etc/init.d eine Datei mit diesem Inhalt

Code: Alles auswählen

#! /bin/sh
set -e

case "$1" in
  start)
        # WLAN starten
        /soft/wlan/acx100/scripts/start_net
        ;;
  stop)
        # WLAN stoppen
        /soft/wlan/acx100/scripts/start_net
        ;;
  reload|restart|force-reload)
        # mußt Du noch implementieren
        ;;
  *)
        echo "Usage: $N {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac
exit 0
Dann noch die Start- und Stop-Skripte in /etc/rc.2 anlegen und dann wird beim Start start_net und beim herunterfahren stop_net ausgeführt.

SubOptimal

Benutzeravatar
Josir
Beiträge: 267
Registriert: 16.08.2005 18:43:11
Wohnort: Schlaraffenland

Beitrag von Josir » 16.09.2005 17:14:07

Ja...
Ich habe es mal mit dem 2ten Tip versucht...
1)Datei erstellt (wlan)
2)in /etc/init.d kopiert
3)start_net & stop_net ins verzeichniss /etc/rc2.d kopiert
4)/etc/rc2.d/start_net Permission denied
(so lautet in etwa die Fehlermeldung beim starten und beim runterfahren)

waaaaaaaarum?

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 16.09.2005 17:22:40

1. unterhalb von /etc/rcX.d werden keine Skripte sondern nur Symlinks erstellt
2. muss dein Programm (/etc/init.d/wlan) ausführbar sein (chmod ug+x)
3. wenn du /etc/init.d/wlan schon hattest, hätte mein Tip schon gereicht 8O
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Josir
Beiträge: 267
Registriert: 16.08.2005 18:43:11
Wohnort: Schlaraffenland

Beitrag von Josir » 16.09.2005 17:47:55

Also habich jetzt meine ursprüngliche wlan Datei genommen (die ganz oben),
ausfürbar gemacht im /etc/init.d Verzeichniss mittels chmod ug+x wlan -> jetzt ist sie im mc grün! Dann noch die savarsche codezeile die ich nicht verstehe eingetippt und jetzt:
nix. keine Fehlermeldung nur nischt.
gibt es denn keinen Autostart oder ne autoexec.bat oder sowas?
wieso mussich denn irgendwelche symlinks in verzeichnissen erstellen die ich nich mal kenne...?
ich glaub ich fang gleich an zu weinen!

Benutzeravatar
stefon
Beiträge: 540
Registriert: 07.04.2004 12:41:57
Wohnort: Sbg Stadt
Kontaktdaten:

Beitrag von stefon » 16.09.2005 17:51:01

weiss wies dir geht, war bei mir anfangs auch nit anders...

aber lies dir mal:
http://debiananwenderhandbuch.de/init.html

einmal aufmerksam durch dann wird dir einiges klar und es ist dann wirklich einfach

Benutzeravatar
Josir
Beiträge: 267
Registriert: 16.08.2005 18:43:11
Wohnort: Schlaraffenland

Beitrag von Josir » 16.09.2005 18:05:30

apt-get install rcconf
rcconf
wlan ist mit einem gelben sternchen markiert...
funktioniert trotzdem nicht...
stimmt vielleicht etwas mit dem obigen wlancode nicht?
hach. ich geh jetzt erstmal runter in die küche was essen - dann schnappich mir den nächstbesten menschen und ärgere ihn; nur um mich abzuregen!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 16.09.2005 23:45:17

was soll eigentlich das hier?

Code: Alles auswählen

#!/sbin/runscript 
das müsste wenn, dann

Code: Alles auswählen

#!/bin/bash
sein
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
stefon
Beiträge: 540
Registriert: 07.04.2004 12:41:57
Wohnort: Sbg Stadt
Kontaktdaten:

Beitrag von stefon » 17.09.2005 11:58:16

würde dir auch empfehlen
update-rc.d
statt rconf herzunehmen... das hat bei mir auf anhieb funktioniert...

krall dir ein vorhandenes kleines skript unter /etc/init.d und bau dirs so um wie du es brauchst, kopiers wieder rein unter /etc/init.d (natürlich unter anderen namen)
und dann:

Code: Alles auswählen

update-rc.d foo defaults

Benutzeravatar
SubOptimal
Beiträge: 1709
Registriert: 10.01.2005 23:25:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: bei Frankfurt

Beitrag von SubOptimal » 17.09.2005 13:59:03

Hi Josir,

da hätte ich vielleicht etwas genauer schreiben sollen.
1. Script wie oben schon gesagt anlegen, z.B. als /etc/init.d/wlan
2. Berechtigungen setzen

Code: Alles auswählen

chmod 755 /etc/init.d/wlan
chown root.root /etc/init.d/wlan
3. die Startscripte sind nur ein Link auf die Datei in /etc/init.d, wie oben bereits schon erklärt

Code: Alles auswählen

# dieser Link führt das Skript beim Booten mit der Option start aus
ln -s /etc/init.d/wlan /etc/rc2.d/S75wlan
# dieser Link führt das Skript beim Heruterfahren mit der Option stop aus
ln -s /etc/init.d/wlan /etc/rc2.d/K75wlan
Damit sollte das dann so funktionieren wie Du es wolltest.

SubOptimal

Antworten