Neues init script einbinden / module

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
analyzer
Beiträge: 206
Registriert: 12.05.2005 09:50:47
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Schweiz

Neues init script einbinden / module

Beitrag von analyzer » 09.05.2007 21:18:28

Bitte entschuldigt meine totalen Anfängerfragen, mache sowas zum ersten mal.

Ich möchte zu einem ein Modul mit dem Parameter experimental=1 starten.

Normalerweise geht dies im Betrieb ja folgendermassen.

Code: Alles auswählen

modprobe ibm_acpi experimental=1
Anzumerken ist, das Modul wird standardmässig geladen aber ohne den Parameter. Wie kann ich nun zukünftig das Modul mit Parameter starten? Ist da das /etc/modules File die richtige Anlaufstelle?

-------------------------------
Zu meiner zweiten Frage

Ich möchte ein zusätzliches Scipt ins init einbinden. Ich habe folgendes gemacht.

1. Das init-Script nach /etc/init.d kopiert und chmod angepasst.
2. Das Script soll erst mit dem GUI gestartet werden. Verknüpfung auf das init-Script im Ordner /etc/rc5.d erstellt mit dem Namen S25....

Ist meine Vorgehensweise richtig?

Ich verwende Ubuntu Feisty Fawn.

Danke für Eure Hilfe.

Benutzeravatar
Vinc
Beiträge: 488
Registriert: 12.03.2003 10:11:55
Wohnort: Speyer (RLP)
Kontaktdaten:

Beitrag von Vinc » 09.05.2007 22:02:22

Hallo!

Aus der Manpage zu modules entnehme ich:
The /etc/modules file contains the names of kernel modules that are to be loaded at boot time, one per line. Arguments can be given in the same line as the module name.
Beantwortet das deine Frage?

Zur zweiten Frage:
Ich benutze kein Ubuntu, aber wenn das (also 5) der Runlevel der Wahl ist und die Zahl stimmt müsste es passen. Aber probiers doch einfach mal aus! :)

Hoffe ich konnte dir helfen.

Gruß,
alex

analyzer
Beiträge: 206
Registriert: 12.05.2005 09:50:47
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Schweiz

Beitrag von analyzer » 10.05.2007 17:58:17

Danke für Deine Antwort. Ja, ich habs ausprobiert leider ohne Erfolg.

1. Wird das Script nicht automatisch gestartet
2. Beim manuellen Starten als nicht root erscheint die Permission denied Meldung, anscheinend kann die PID nicht angelegt werden in /var/run.

Benutzeravatar
mcmehl
Beiträge: 276
Registriert: 16.06.2004 16:53:15
Kontaktdaten:

Beitrag von mcmehl » 10.05.2007 19:32:59

Zur ersten Frage:

Bei Ubuntu gibts auch das Verzeichnis "/etc/modprobe.d/", in diesem Ordner kann man dann die Modulscripte hinterlegen. hier mal ein Bsp meiner TV-Karte (diese wird auch Standardmäßig geladen, jedoch ohne Alsa unterstützung):

"/etc/modprobe.d/saa7134":
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa
options saa7134-alsa index=1
Zur 2. Frage:

-Ich benutze "update-rc.d" um die Verknüpfungen von init.d in die Runlevels zu machen
-Runlevel 5 bedeutet nicht, dass das Programm erst mit der GUI gestartet wird, sondern nur in dem Runlevel welches ebenfalls die GUI startet.

Es gibt mehrere Stellen, wo man Scripte beim Starten einbinden kann. Es kommt halt ganz drauf an, wann es gestartet werden soll.

Das permission denied kommt natürlich nur wenn im Script wofür auch immer Root-Rechte benötigt werden (wofür eigentlich wenn es doch mit der GUI gestartet werden soll?)
Falls doch nötig kann man eine SUID setzen (also das Programm mit Rechten des Besitzers starten).

Bsp:
chmod 4755 script.sh

Benutzeravatar
Vinc
Beiträge: 488
Registriert: 12.03.2003 10:11:55
Wohnort: Speyer (RLP)
Kontaktdaten:

Beitrag von Vinc » 10.05.2007 19:41:20

Zu 1.:
Hm, sicher dass der Runlevel stimmt? Der default Runlevel steht in /etc/inittab.
Schau dir mal update-rc.d an, evt. hilft dir das weiter.

Zu 2.:
Hm, kenn mich da nicht sonderlich gut aus, aber der Berechtigung nach zu Urteilen ist es wohl auch nicht vorgesehn dass ein Programm das mit normalen Benutzerrechten läuft da irgendwas anlegt. Wenn das Skript mit diesen Rechten lauffähig sein sollte dann würde ich sagen liegt es wohl am Skript selber?

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 10.05.2007 20:23:55

Das permission denied kommt natürlich nur wenn im Script wofür auch immer Root-Rechte benötigt werden (wofür eigentlich wenn es doch mit der GUI gestartet werden soll?)
Falls doch nötig kann man eine SUID setzen (also das Programm mit Rechten des Besitzers starten).

Bsp:

Zitat:
chmod 4755 script.sh
Das funktioniert bei Skripten nicht (vermutlich aus diesem Grund: http://www.samag.com/documents/s=1149/s ... /0106a.htm)

Initskripte laufen aber eh mit rootrechten, soltte also nicht nötig sein. Debian hat allerdings als 2 als default runlevel, also verlink das Skript mal nach /etc/rc2.d.

analyzer
Beiträge: 206
Registriert: 12.05.2005 09:50:47
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Schweiz

Beitrag von analyzer » 13.05.2007 09:10:08

Super, nach dem verlinken ins /etc/rc2.d hats geklappt.

Danke.

Antworten