Kontrollwerkzeuge
Aus IPFireWiki
Auf dieser Seite wird für Entwickler beschrieben, wie man die kleinen Kontrollbinaries erstellt, bzw. an welche Vorgaben man sich halten soll.
Inhaltsverzeichnis |
Namensgebung
Die Tools sollten möglichst einfach zu behaltende Namen tragen, auch wenn sie ein wenig länger sind und mit ctrl Enden.
Aufrufe
start
Dieser Aufruf ist Pflicht und sollte das entsprechende Initscript in /etc/rc.d/init.d aufrufen. Die Funktion wird verwendet um den Service aus dem Webinterface heraus zu starten. Es sollten keine weiteren Befehle ausgeführt werden (außer in Einzelfällen).
stop
Dieser Aufruf ist Pflicht und sollte das entsprechende Initscript in /etc/rc.d/init.d aufrufen. Die Funktion wird verwendet um den Service aus dem Webinterface heraus zu stoppen. Es sollten keine weiteren Befehle ausgeführt werden (außer in Einzelfällen).
restart
Dieser Aufruf ist Pflicht und sollte das entsprechende Initscript in /etc/rc.d/init.d aufrufen. Die Funktion wird verwendet um den Service aus dem Webinterface heraus neu zu starten. Es sollten keine weiteren Befehle ausgeführt werden (außer in Einzelfällen).
reload
Dieser Aufruf ist nicht Pflicht und kann dazu verwendet werden, wenn ein Dienst neue Einstellungen übernehmen soll, sobald ein Benutzer den Speichern-Knopf im Webinterface betätigt hat und sollte das entsprechende Initscript in /etc/rc.d/init.d aufrufen. Es sollten keine weiteren Befehle ausgeführt werden (außer in Einzelfällen).
enable
Diese Funktion soll die Initscripts zu den Runleveln linken damit die Services beim Systemstart geladen, und beim Herunterfahren wieder gestoppt werden. Startet aber noch nicht den Prozess --> siehe start.
disable
Das genaue Gegenteil von enable. Löscht die Links in den Runlevel-Directories. Stoppt nicht den Prozess.
sonstige...
Andere benötigte SUID-Funktionen können frei benannt werden. Es sollte jedoch darauf geachtet werden, dass nicht allzuviel unnötiges in die Binaries gepackt wird.
falsche Aufrufe
Falsche Aufrufe sollten den Wert 1 zurückliefern und dem Benutzer eine kurze Hilfe geben. Ein Beispiel:
Usage: sambactrl (start|stop|restart|enable|disable)

