3 ms·
> So, many people (myself included) like just having a shell script to keep all that in, as one a system is built, the boot-up rarely changes. That's actually
by JdeBP 8y ago
> So, many people (myself included) like just having a shell script to keep all that in, as one a system is built, the boot-up rarely changes.
That's actually few people, rather than many people, as the history of the past 40 years shows.
The simple fact of the matter is that after a system is built system administrators find themselves installing and uninstalling third-party applications softwares. Editing /etc/rc became tedious and error-prone, especially when installation/deinstallation utilities tried to do it automatically.
First there came /etc/rc.local in the late 1970s and early 1980s, where administrators could in theory cordon off the non-operating-system stuff for these applications, so accidents didn't wipe out half of /etc/rc any more. Problematically, value-added resellers thought that /etc/rc.local was their domain and put their stuff into it. One 1991 Usenix paper bemoaned the consequence of this that "there is no place to put 'real' local modifications and keep them distinct and separate from vendor supplied files".
Then came the idea in the early 1980s of drop-in shell scripts that could belong to individual softwares without need for editing a single monolithic shell script at all, the rc system of AT&T Unix System 3/System 5. This idea was repeated several more times. Miquel van Smoorenburg copied it for Minix and then Linux with an /etc/init.d/ directory. FreeBSD had a similar system by 1995 with an /etc/rc.local.d/ directory. Luke Mewburn reinvented it slightly differently for NetBSD in 2000 with an /etc/rc.d/ directory. Roy Marples reinvented it as OpenRC in 2007 with an /etc/conf.d/ directory.
All of this tells us that many people (not including you) in practice do not like the problems of just having a single shell script, and continually move away from it. Time and again over a period of 4 decades.
* http://jdebp.eu./FGA/rc.local-is-history.html http://jdebp.eu./FGA/rc.local-is-history.html