Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Sep 1995 12:00:23 -0400
From:      Coranth Gryphon <gryphon@healer.com>
To:        chuckr@eng.umd.edu, gryphon@healer.com, kelly@fsl.noaa.gov, patl@asimov.volant.org
Cc:        asami@cs.berkeley.edu, hackers@freebsd.org, julian@ref.tfs.com, ports@freebsd.org, terry@lambert.org
Subject:   Re: ports startup scripts
Message-ID:  <199509211600.MAA00421@healer.com>

next in thread | raw e-mail | index | archive | help
From: patl@asimov.volant.org
> Coranth Gryphon <gryphon@healer.com> 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 <gryphon@healer.com>      |  "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... 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509211600.MAA00421>