From owner-freebsd-hackers Mon Mar 1 4:48:55 1999 Delivered-To: freebsd-hackers@freebsd.org Received: from ice.cold.org (cold.org [206.81.134.103]) by hub.freebsd.org (Postfix) with ESMTP id 173CF14C91 for ; Mon, 1 Mar 1999 04:48:53 -0800 (PST) (envelope-from brandon@ice.cold.org) Received: (from brandon@localhost) by ice.cold.org (8.8.8/8.8.5) id FAA19053 for freebsd-hackers@freebsd.org; Mon, 1 Mar 1999 05:48:36 -0700 (MST) Date: Mon, 1 Mar 1999 05:48:36 -0700 From: Brandon Gillespie To: freebsd-hackers@freebsd.org Subject: New rc/init system Message-ID: <19990301054835.A18962@ice.cold.org> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="TB36FDmn/VVEgNH/"; micalg=pgp-md5; protocol="application/pgp-signature" X-Mailer: Mutt 0.95.3i X-Operating-System: FreeBSD 2.2.8-RELEASE X-PGP-Public-Key: http://www.roguetrader.com/~brandon/brandon@roguetrader_com.pubkey Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --TB36FDmn/VVEgNH/ Content-Type: text/plain; charset=us-ascii After the many responses to the earlier troll I made on the rc/init system in FreeBSD, I closeted myself away and started to hack on an idea, based on the many suggestions people made. The schema I have ended up with is called the Service Administration System (SAS). I have an informal specification for it available at: http://www.roguetrader.com/~brandon/sas/ Along with all of the prototype code I have. So what is it? SAS uses a heirarchy of services and dependancies to determine init order. It maintains a private registry of these services, along with packages that provide the services. The command utility can be used to start/stop services or packages. For example: sas down http sas down apache-1.3b5 Would get the same result (as only one package could be providing any single service). Furthermore, sas would tie into the HTTP dependancies (if there are any) and prompt for the proper actions to take if other services are dependant upon it. Services can also be gathered into collections which simply depend upon other services, thus creating a heirarchy with one (or more) tops, each defining different run-states. For the time being the registry only has one top (System). Furthermore, SAS could be expanded to cover High Availability and multiple Run Modes/States (see the docs for more details). SAS uses the existing /etc/rc.conf setup for configuration information on all services, with a few additions for managing values for each package. Automation scripts (in bourne-shell) are located in sbin/init.d, and the sas registry is located at etc/sas. Furthermore, a few add-ons are suggested for the package system, to help automate package/port registration with the SAS system, when they also require automation and/or provide a service. Current Status: * The SAS utility program (sas) is rudimantarily functional, including allowing for changes to each registry, and proper traversal of the tree for starting services. * Automation script API is defined and two automation scripts are defined (rc-fsck and a skeleton rc-test). Before I start chewing on a bunch of bourne scripts to actually implement a system startup, I figured I would toss the whole thing out to the masses for input. Is it worth pursuing, or just an academic fancy? I look forward to everybodies input. -Brandon Gillespie --TB36FDmn/VVEgNH/ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 5.0i for non-commercial use MessageID: WQiyDIfril5U7z7VRjNsIaeoHSsQtq+7 iQA/AwUBNtqMo0v5XoQiMgn6EQL4rgCfc1EPVppSupCCzMOc7/XoBgkE7XUAoLV0 b8tc+7A+F+s7vJk3FSezHmKa =IJUK -----END PGP SIGNATURE----- --TB36FDmn/VVEgNH/-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message