Univention Bugzilla – Bug 18497
univention-lib functionality for service management
Last modified: 2014-02-18 21:37:46 CET
Anstatt direkt die Init-Skripte "/etc/init.d/$SERVICE $ACTION" aus Join-, {pre,post}{inst,rm}- und anderen Skripten aufzurufen, sollte statt dessen "invoke-rc.d $SERVICE $ACTION" benutzt werden. Dieser aus Debian stammende Wrapper erlaubt es per "/usr/sbin/policy-rc.d" eigene Policies zu definieren, wann z.B. Aktionen nicht oder alternative Aktionen ausgeführt werden sollen. Insbesondere bei chroot-Installationen vereinfacht dies das ungewollte Starten von Diensten während der Installation und ermöglich auch einfachere Testinstallationen. # gfind -l '/etc/init.d/.*[[:space:]]\(start\|stop\|c\?restart\|reload\)' | wc -l 467
Created attachment 3669 [details] Use invoke-rc.d grep -E '^[^'\''"]*/etc/init.d/[[:alnum:].-]+[[:space:]]+(force-|c)?(start|stop|restart|reload)'
Die durchgängige Verwendung von invoke-rc.d würde es uns auch ermöglichen, das deaktivieren des Apache2- und UMC-Neustarts während eines Updates sauber zu unterbinden: Per /usr/sbin/policy-rc.d könnte man dann einfach ein "exit 0" zurückliefern, solang ein Update-Vorgang läuft. Bei der derzeitigen Technik kann es passieren, das dem Apache2 oder dem UMC-Server nach einem fehlgeschlagenen Update die Ausführungsrechte fehlen.
(In reply to comment #2) > Die durchgängige Verwendung von invoke-rc.d würde es uns auch ermöglichen, das > deaktivieren des Apache2- und UMC-Neustarts während eines Updates sauber zu > unterbinden: Per /usr/sbin/policy-rc.d könnte man dann einfach ein "exit 0" > zurückliefern, solang ein Update-Vorgang läuft. > Bei der derzeitigen Technik kann es passieren, das dem Apache2 oder dem > UMC-Server nach einem fehlgeschlagenen Update die Ausführungsrechte fehlen. Setzt aber voraus, dass das auch alle anderen Pakete invoke-rc.d verwenden. Bei einem Update werden ja auch potentiell andere / nicht Debian Pakete aktualisiert.
There should be an univention-lib function to wrap the invoke-rc.d functionality. That way different systems ("service" on Ubuntu) can be handled by only adapting univention-lib. The Dev-Guide should then be changed to recommend usage of these functions instead of /etc/init.d or invoke-rc.d.
This issue has been filed against UCS 2.3. UCS 2.3 is out of maintenance and many UCS components have vastly changed in later releases. Thus, this issue is now being closed. If this issue still occurs in newer UCS versions, please use "Clone this bug". In this case please provide detailed information on how this issue is affecting you.