Die Veröffentlichung von SysVinit 3.12, einem klassischen Initialisierungssystem, das in Linux-Distributionen vor systemd und upstart weit verbreitet war, wurde bekannt gegeben. Es wird weiterhin in Distributionen wie Devuan, Debian GNU/Hurd und antiX verwendet. Der Code ist in C geschrieben und wird unter der GPLv2-Lizenz veröffentlicht.
In der neuen Version von SysVinit wurden Änderungen vorgenommen, die auf Anfrage der Entwickler von GoboLinux hinzugefügt wurden, das ein gestapeltes Modell zur Strukturierung des Verzeichnisbaums verwendet (jede Anwendung wird in einem eigenen Verzeichnis installiert). Im src/Makefile wurde die Möglichkeit hinzugefügt, den Pfad zu den Verzeichnissen /usr und /etc mithilfe der Variablen usrdir und sysconfdir zu überschreiben. Außerdem wurde eine Überprüfung der Einbindung der Header-Dateien pty.h und sys/sysmacros.h bei der Erstellung von bootlogd auf Systemen mit glibc hinzugefügt.
Überprüfungen der Größe und des Typs der Werte, die bei einem Aufruf der Funktion ctime() in den Programmcodes bootlogd, dowall, last, logsave und shutdown zurückgegeben werden, wurden hinzugefügt. Zuvor gab es in den markierten Programmcodes keine Überprüfung auf die Rückgabe eines NULL-Zeigers, während ein 16-Byte-Fixpuffer für die Rückgabestring reserviert wurde, in den die Daten ohne Größenprüfung eingefügt wurden.
Gleichzeitig wurde das Dienstprogramm insserv auf Version 1.26 aktualisiert, das in Verbindung mit sysvinit verwendet wird, um den Bootprozess unter Berücksichtigung der Abhängigkeiten zwischen den init-Skripten zu organisieren. In der neuen Version des Dienstprogramms insserv 1.26 wurden nur Korrekturen in der Dokumentation vorgeschlagen. Die Version des Dienstprogramms startpar, das für den parallelen Start mehrerer Skripte im Bootprozess verwendet wird, hat sich nicht geändert.
Quelle: opennet.ru
