/usr/local/etc/rc.d Scripte

genius0815

New Member
Hallo,

ich hab ein Initscript erstellt, welches aber auf ein per nfs gemountetes Verzeichnis bzw. Datei zugreift. Mit Require kann ich ja die rcorder festlegen. Leider weiss ich nicht, durch welchen Daemon und wann im Bootprozess das Verzeichnis gemountet wird. Aber offensichtlich kann run_rc_command nicht auf die Datei zugreifen und auch das PID-file kann nicht erstellt werden.
Meine Frage: Wann wird nfs gemountet und wie kann ich sicherstellen dass die VErzeichnisse zugreifbar sind?

gruss genius0815
 
Ich würde es mal mit FILESYSTEMS probieren.

Das hilft leider auch nicht und stand schon mir rcorder /etc/rc.d/* /usr/local/etc/rc.d/* vor meinem script

Edit:
Ich habe jetzt rausgefunden, dass root wheel keine lese/schreibrechte auf das nfs gemountete Verzeichnis/Datei hatte.
Habe root zu der Gruppe hinzugefügt und so kann ich es jetzt per Hand ausführen.
Allerdings wird das PID File als nobody:nogroup erzeugt. Wie kann ich das festlegen, dass es andere user/groups sein sollen?
Ich hatte irgendwo was gelesen, dass man das in der rc.d/script machen kann, ich finde es aber leider nicht wieder.

Kann mir da jemand helfen?

Hab aber immer noch das Problem, dass es beim booten nicht geht: Meldung: /etc/rc: WARNING: run_rc_command: cannot run "executable"
gruss
 
Last edited:
Kamikaze ist hier wirklich kompetent, sieh dir mal seine Beiträge im Wiki zu diesen Startscripts an.
Das Problem des mountens von NFS-Freigaben über ein Script zur Bootzeit kann vielleicht durch entsprechende Einträge in der fstab umgangen werden, doch dann sollten die Server garantiert verfügbar sein und der Bootvorgang an der Stelle überwacht und bei nicht-Verfügbarkeit mit einem STRG+C abgebrochen werden.
Ich selbst habe das so gelöst, wo es mir am einfachsten war.
An anderer Stelle, wo ich mangels Bildschirm den Bootvorgang nicht sehen kann, habe ich in dem Script eine Schleife eingebunden und mit showmount -e auf das Auftauchen der Freigabe eine Zeit lang gewartet und dann entsprechend reagiert.
Dieses script hatte ich in /usr/local/etc/rc.d/ getan und weiter nichts gebraucht, es funktionierte damit.
Den pid brauchte ich nicht.
Du kannst nach Erzeugen des pid-files die Rechte mit deinem script direkt ändern.
 
Hallo Pit,

ich denke, dass das NFS Mount Verzeichnis in jedem Fall vorhanden ist, da dorthin wo gemountet wird, der Rechner zuererst oben ist und FreeBSD auf einer XEN Maschine genau dort läuft, also kein Problem darstellt.

Wie ändere ich die Rechte des PID Files in dem Script? Wo wird denn überhaupt festgelegt, welche Rechte das PID File kriegt?

gruss genius0815
 
Mit Require kann ich ja die rcorder festlegen. Leider weiss ich nicht, durch welchen Daemon und wann im Bootprozess das Verzeichnis gemountet wird
Sofern du das NFS-Share über fstab mountest, wäre das:
Code:
# REQUIRE: mountcritremote
 
[solved]

Hi,

das hatte ich auch schon probiert. Ich habs aber jetzt rausgekriegt. Man muss auf dem NFS Server das Verzeichnis mit no_root_suash exportieren, damit wird root nicht auf nobody gemappt sondern bleibt root und wheel. Dann kann es auch auf das pid-file zugreifen.

gruss genius
 
Back
Top