From owner-freebsd-hackers Thu Sep 21 09:01:53 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id JAA12668 for hackers-outgoing; Thu, 21 Sep 1995 09:01:53 -0700 Received: from healer.com (healer-gw.Empire.Net [205.164.80.204]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id JAA12586 ; Thu, 21 Sep 1995 09:01:38 -0700 Received: (from gryphon@localhost) by healer.com (8.6.11/8.6.9.1) id MAA00421; Thu, 21 Sep 1995 12:00:23 -0400 Date: Thu, 21 Sep 1995 12:00:23 -0400 From: Coranth Gryphon Message-Id: <199509211600.MAA00421@healer.com> To: chuckr@eng.umd.edu, gryphon@healer.com, kelly@fsl.noaa.gov, patl@asimov.volant.org Subject: Re: ports startup scripts Cc: asami@cs.berkeley.edu, hackers@freebsd.org, julian@ref.tfs.com, ports@freebsd.org, terry@lambert.org Sender: owner-hackers@freebsd.org Precedence: bulk From: patl@asimov.volant.org > Coranth Gryphon said: > +> Yuk. One sub-directory of /etc being used just to have symlinks to > +> another sub-directory of /etc? > Actually, I was wrong - they are hard links. Even worse. > +> If you want to use seperate sub-directories for each "run-level" > +> then use the seperate scripts in each directory, so all someone > +> has to do to find where something is being run is > +> > +> grep mumbled /etc/rc.*/* > +> > But some of the scripts are used in more than one subdirectory. And > some may not be in any rc? directory unless the related service is When are you going to start a daemon in more than one place? Or set a global environment variable, then change it later? Define it as "Run Level N" includes all "Run Level 0..N-1". Simple. > +> With the directories named something like "rc.0", "rc.1", ... > Sun originally used 'rc0', 'rc1', etc. These are now symlinks to > 'rc0.d', 'rc1.d', etc. I don't know why they made the change. Because all such directories ended with ".d" (reminiscent of DOS extension anyone) > the same sort of problem ourselves. (And, again, I urge consistancy > with existing implementations. There's no point in being the only > ones to use 'rc.?' if everyone else is using 'rc?.d'.) We are not System V. If we want to be System V stop calling ourselves FreeBSD and become FreeUnix (FreeNix anyone? :-) Seriously. If we want to throw away how /etc/rc works (and it does work), then only take from other camps what we need. I have yet to see a standard out (ie. all parts work identically) there on the 8-10 unix flavors that I work with. So which one are you going to clone? > +> And while we're on the subject of completely reworking /etc, how > +> about a "inet" directory which holds (as seperate files) all the > +> network specific config files, such as host name, ip-addresses, > +> resolv.conf, ... > +> > +> Why? So if you are doing cookie-cutter installs on lots of systems, > +> you go through that one directory to change everything there, and > +> leave everything else in /etc alone. > Sounds good to me. Partitioning into subdirectories can also make it > easier for the occasional sysadmin to find all of the files related to > a given subsystem. Yep. > My Solaris 2.4 system has the following subdirs of /etc: > cron.d Crontab entries already exist in /var/cron/tabs, except for root's entry which is in /etc. You could easily move it to /var/cron/tabs as well. > fs > > Subdir for each installed loadable filesystem type > (hsfs, nfs, proc, ufs) Each subdir (except proc) > contains an executable binary named 'mount'. Please, no executables (other than a few minor scripts) in /etc. > inet > hosts, inetd.conf, netmasks, networks, protocols, services I also have resolv.conf and such things as: sysname, domainnanme, ipaddr.ed0, default.route, plus all the named stuff. > lib > ia_scheme.so, ld.so.1, libdl.so.1, nss_files.so.1, Same issue, these belong in /usr/lib > mail > Mail.rc, aliases{,.dir,.pag}, mailx.rc, main.cf, sendmail.cf, > sendmail.hf, subsidiary.cf OK, or can be in /etc/inet. > skel > Default user rc files. (.profile, local.cshrc, > local.login, local.profile) I put all the stuff normally in /usr/share/skel in /etc/skel. If you want all the default stuff ("csh.cshrc" as well as "dot.cshrc") that makes sense to me. > default > Default versions of some control files: cron, fs, init, > login, passwd, su, tar, utmpd Why bother? We are shipping a live file-system CD anyway. If they download it and want the default stuff, keep it somewhere else. > dfs > saf > net > lp > acct > cetables Excessive. > opt Same as with shared libs and other executables: please no. > tm > Empty That's useful :-) > named > DNS server control files OK, it can be separate or combined with /etc/inet Let's not go overboard and try and stick everything in it's own little nook and cranny. One directory for network related config files (that will change from system to system). One directory each for major subsystems (UUCP, PPP, NEWS). I define major subsystems as ones that have more than a half dozen files to keep track of just for it. -coranth ------------------------------------------+------------------------+ Coranth Gryphon | "Faith Manages." | | - Satai Delenn | Phone: 603-598-3440 Fax: 603-598-3430 +------------------------+ USMail: 11 Carver St, Nashua, NH 03060 Disclaimer: All these words are yours, except Europa...