Date: Fri, 08 Sep 2000 22:53:49 +0930 From: Matthew Thyer <thyerm@camtech.net.au> To: current@freebsd.org Subject: /usr/local/etc/rc.d and /etc/rc.d Message-ID: <39B8E865.B77012B@camtech.net.au>
next in thread | raw e-mail | index | archive | help
[I know this was discussed a couple of months ago but since nothings been committed yet I throw in my 3 month old email that I haven't been able to send due to my stupid ISP with unregistered mail relays] Please read as I have done a fair bit of thinking on this matter as the sysadmin of many commercial UNIX systems (SunOS, Solaris, IRIX, HP-UX, True64) plus FreeBSD and Linux (we'll just call it UNIX even though that's debatable). [NOTE I'm 750 behind on my cvs-all mail so dont hassle me as I haven't read this thread yet but feel the need to respond before we end up with some wierd non backward compatible system that's totally different from common UNIX systems]. I would like to see startup and shutdown scripts exist in a single directory ("/usr/local/etc/rc.d/" for ports and eventually "/etc/rc.d" when the system migrates to the same scheme). The startup and shutdown functionality would be in the same script and the scripts should be named starting with a capital 'S' for startup and a capital 'K' for shutdown (I'm also keen on the HPUX startmsg and stopmsg one liners). There's no need for the seperate SYSV init.d directory as scripts will be off if they dont start with the right naming convention. As for runlevels... thats not BSD and I dont know any SYSV admin who uses them (I dont count the RedHat hack to turn on X). The scripts will be differentiated from existing scripts (the old system) as the new system will only act on scripts that have a digit in the second character of their name (there could be a backward compatability process to act on all the others afterwards which would be disabled by default... presumably "disabled.S99rc.compat" or some such name). Stop scripts will be a symbolic link to their startup script counterpart (and would simply not be executed if the K* file doesn't exist). Symbolic links make it clear they are the same script. Scripts would be executed in alphabetical order (after the S or K) so the sysadmin has control over the execution order which is important. Scripts would source common functions from a system file so we have control over future changes in functionality/reporting. This would also make the template script very simple. Eventually I would like the system to migrate to such a scheme but maintain the backward compatibility scripts /etc/netstart which could be implemented either by simply 'knowing' which rc scripts do network functionality or by reserving a range of numbers for network startup <--- HACK! I'd really like the system to allow stuff like "/etc/rc.d/S84named reread" (or "restart", "reload" whatever is acceptable). I'd also really like at least named and perl to be removed from the base system but that's another thread. One of the big turn offs to FreeBSD in the System V world is: "What!, why do I need to know which signal to send blah to reload it ?". The backward compatibilty hack script in "/usr/local/etc/rc.d/" would ignore files starting with "README" and "disabled" (and maybe other typical disabling naming methods). This is not too much of a hack as the backward compatibility script would go away in a release or two. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39B8E865.B77012B>