Am 20.06.2012, 23:42 Uhr, schrieb Freddie Cash <fjwc...@gmail.com>:

On Wed, Jun 20, 2012 at 1:28 PM, Daniel Robbins <drobb...@funtoo.org> wrote:
On Wed, Jun 20, 2012 at 2:22 PM, Daniel Robbins <drobb...@funtoo.org> wrote:

This doesn't change the "hard" runlevel (3) but it changes the OpenRC
logical runlevel. Basically, this convenient system is compatible with
traditional linux numerical runlevels but does depend on them.


Meant to type: "does NOT depend on them".

Here is a bit more info:

Runlevel-specific conf.d files:

http://www.funtoo.org/wiki/Funtoo_Linux_Networking#Alternate_Configs

Stacked runlevels (this is a more sophisticated feature than just
creating a duplicate, separately-managed runlevel):

http://www.funtoo.org/wiki/Stacked_Runlevels

To create a separately-managed runlevel, you would just:

# mkdir /etc/runlevels/maintenance
# rc-update add maintenance svc1
# rc-update add maintenance svc2
# rc-update add maintenance svc1

You could then switch by typing:

# rc maintenance

Anything not in the maintenance runlevel that is currently running
would be stopped, and any new services in maintenance that are not
running would be started.

There's no need to do a wholesale replacement of the RC system in
FreeBSD to support this concept.  What you are describing are "service
profiles".  And we already have a single file that describes the
default "service profile" for FreeBSD:  /etc/rc.conf.  That lists
every service that should be started (or stopped).

All that's missing is a way to tell the RC system to use a different
rc.conf file (like rc.conf.mobile, or rc.conf.wireless or
rc.conf.whatever), and to run through the RC setup based on that file.

... and to be able to switch between two configurations at runtime,
without taking down services listed active in both configurations preferably.



Our current RC system does everything needed except:
  - parallel execution of items that don't depend on each other
  - monitor running services and restart them if they crash

Compared to all the init/RC systems on Linux, ours has *many*
advantages, not the least of which are:
  - very simple text configuration file
  - only 2 directories of init scripts to worry about (/etc/rc.d;
/usr/local/etc/rc.d)
  - ability to create "generic" or global config file (/etc/rc.conf)
with local overrides (/etc/rc.conf.local)
- ability to see the exact order that things will start (or stop) via rcorder
  - everything is written in nice, simple, sh

We don't need to replace a perfectly working system.  Maybe it needs
improving, but it doesn't need replacing.


Yes.
I don't even think it *needs* improving, but "service profiles" including "network profiles" would be really nice and worth looking into. If we can get that without loosing the simple text-file-based configuration, the better.
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"

Reply via email to