|
|
|
|
|
|
| Author |
Message |
Terry Lambert *nix forums Guru
Joined: 19 Mar 2002
Posts: 434
|
Posted: Wed Jun 19, 2002 5:20 pm Post subject:
Re: Configuration management
|
|
|
Mike Makonnen wrote:
| Quote: | From time to time, I've seen threads on various mailing-lists about
creating a gui tool for configuring the system (basically /etc/rc.conf).
The assumption is that providing some sort of point-and-click interface
will make it easier to configure FreeBSD. The problem with this, among
other things, is that it requires developer buy-in because the configuration
tool has to be updated everytime a new knob is added, which makes it more
tedious and error prone for the developer.
|
The tool was already written, and is available in ports. It doesn't
require tweaking for new knobs, because it operates on knobs in an
abstract sense, rather than having a full list of knobs. It gets its
knob list from the l-values in the files on which it operates.
I am personally a big fan of the single configuration store; this
is because it's more important to me to be able to replicate an
exisiting configuration onto a new machine, than it is for me to
be able to back up to a previous known working configuration.
| Quote: | For example, I have a haphazard collection of rcs files
for files I have edited in /etc. Most times I do co/ci when I edit them
but sometimes I'm in a hurry and I don't bother or I just plain forget. Not all
the files are in rcs. I don't have a standard tagging scheme. I also don't
generally tag them all before or after a mergemaster. However, I believe these
things should be done for all my files on a consistent basis, but I'm
generally too lazy and don't bother so an automated system that did
all these things for me would be nice.
[ ... ]
To address this, I would like to develop a set of scripts, for inclusion in
the base system, that manage the files in /etc as a set of rcs files.
|
The canonical way of doing this would probably be to support
versioning in the file system. There are ways that this can be
done, but there are certain things about UNIX that make it hard
to get right (specifically, globbing), and VFS stacking is not
as easy as it should be, so that approach is probably going to
be a non-starter, unless you are prepared to do a lot of work.
I think your project is a interesting idea, even though I would
personally probably not use it (but I do not administer a large
enough number of FreeBSD systems frequently enough for it to be
an issue for me).
I know that David Wolfskill does a lot of this type of thing
himself. He would probably have a lot of suggestions that would
be useful for you. If you are in the Bay Area, then you might
want to contact BayLISA, where you could get input from a large
number of system administrators for large systems and large
clusters.
You might also want to look at a number of the existing tools
in this area. There are several projects that deal with
graphical administration. They are mostly Linux-centric, but
there have been active FreeBSD porting efforts.
I really think that this may be more of a UNIX thing in general,
than a FreeBSD thing in particular, or at least a BSD thing in
general, given that FreeBSD's "rcNG" project is in the process
of converting 5.x to be as compatible with the NetBSD rc system,
and therefore configuration files, as possible.
Good luck with your project!
-- Terry
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message |
|
| Back to top |
|
 |
Hiroharu Tamaru *nix forums beginner
Joined: 19 Jun 2002
Posts: 2
|
Posted: Wed Jun 19, 2002 5:02 pm Post subject:
Re: Configuration management
|
|
|
Hi,
At Wed, 19 Jun 2002 03:15:33 -0700,
Mike Makonnen wrote:
| Quote: | I am of a different opinion. I happen to like plain-text configuration files.
The problem is not that we need an easier way to _edit_ the files,
but rather we need a better way to manage all those files and the changes
we make to them. For example, I have a haphazard collection of rcs files
|
I totally agree. In fact I have been using cvs for this
task since FreeBSD 2.2.x days. I track -stable every
several months. As the buildworld Makefiles evolve, things
has become easier, and never harder. I am not using
mergemaster at all in the process (no offense here too; I
just adopted a way without it before it appeared).
I have always found the "cvs diff" abilty invaluable.
For what it's worth, I will attach my helper scripts (mainly
for bootstraping the repository on a newly installed
machine) to give you an idea. It's not fully automated nor
complete nor clean, but has served me quite well for a long
time. These is no script for automating updates; I type
them manually following my memo:
# cvsup the source, then
cd /usr/src
make -j4 buildworld < /dev/null >& build.2001.02.02 &
make -j4 buildkernel < /dev/null >& kernel.2001.02.02 &
cd /w/4src
rm -rf config
mkdir config
cd /usr/src/etc
make distrib-dirs distribution DESTDIR=/w/4src/config
cd /w/4src/config
/w/4src/tools/clean-etc-distrib-check | less
/w/4src/tools/clean-etc-distrib
cvs -d /var/cvs import -m "import after cvsup" config FreeBSD_core RELENG_4_20010202
suspend
cd ~
mkdir cvstmp
chmod go-rwx cvstmp
cd cvstmp
cvs -d /var/cvs co -jFreeBSD_core:yesterday -jFreeBSD_core config
.....
cd ~/cvstmp/config/
cvs diff -u
cvs commit -m "merged after cvsup"
fg
cd /usr/src
make installworld < /dev/null >& install.2001.02.02 &
make installkernel < /dev/null >>& install.2001.02.02 &
cd /
cvs update
cd /dev
../MAKEDEV all
shutdown -r +1
Oh, by the way, on my machines, the following links exist:
/usr/src -> /w/4src/src
/usr/obj -> /w/4src/i386 or /w/4src/alpha
and I have
/w/4src/config as the teporary install space for /etc stuff
and
/w/4src/tools for the scripts I have.
/w is nfs mounted all around the place and the clients
simple use what the build machine has built here.
The repository is at /var/cvs with the module name "config"
The clean-etc-distrib stuff was mainly for the very old days
when "make distribution" installed binary programs in
/w/4src/config/ . I was too lazy to update my scripts.
--
Hiroharu Tamaru |
|
| Back to top |
|
 |
Sheldon Hearn *nix forums beginner
Joined: 03 May 2002
Posts: 34
|
Posted: Wed Jun 19, 2002 9:41 am Post subject:
Re: Configuration management
|
|
|
On Wed, 19 Jun 2002 03:15:33 MST, Mike Makonnen wrote:
| Quote: | In short, I want to make it easier for people to manage their FreeBSD system
by automating those tasks that a good sysadmin should do, but that most of
us don't have the time or discipline to do, without in any way impacting those
who already have a configuration versioning scheme that works for them and
without moving away from text configuration files.
Comments?
|
I'd certainly try out a prototype solution if it were committed to the
ports tree. I have a feeling that I want what you're proposing, but I
don't think anyone can really make a call on this until they've seen it
in action.
Ciao,
Sheldon.
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message |
|
| Back to top |
|
 |
Mike Makonnen *nix forums beginner
Joined: 17 Jun 2002
Posts: 29
|
Posted: Wed Jun 19, 2002 8:15 am Post subject:
Configuration management
|
|
|
Hello,
From time to time, I've seen threads on various mailing-lists about
creating a gui tool for configuring the system (basically /etc/rc.conf).
The assumption is that providing some sort of point-and-click interface
will make it easier to configure FreeBSD. The problem with this, among
other things, is that it requires developer buy-in because the configuration
tool has to be updated everytime a new knob is added, which makes it more
tedious and error prone for the developer.
I am of a different opinion. I happen to like plain-text configuration files.
The problem is not that we need an easier way to _edit_ the files,
but rather we need a better way to manage all those files and the changes
we make to them. For example, I have a haphazard collection of rcs files
for files I have edited in /etc. Most times I do co/ci when I edit them
but sometimes I'm in a hurry and I don't bother or I just plain forget. Not all
the files are in rcs. I don't have a standard tagging scheme. I also don't
generally tag them all before or after a mergemaster. However, I believe these
things should be done for all my files on a consistent basis, but I'm
generally too lazy and don't bother so an automated system that did
all these things for me would be nice. I also have a love-hate
relationship with mergemaster (no offense, Doug and would
much rather have a completely automated way of updating
my configuration files after an installworld that would easily allow
me to back out a certain change if it b0rked my system.
To address this, I would like to develop a set of scripts, for inclusion in
the base system, that manage the files in /etc as a set of rcs files.
It would not introduce any changes to the files themselves, but it would
allow the creation of a separate repository to handle versioning and
a set of wrapper scripts for editing and updating the actual configuration
files. For example, an admin would be able to do the following things:
- create a configuration repository from the files in /etc (or any other
directory, for that matter)
- add a file to the repository
- add a pre-existing rcs file to the repository
- edit the file through a wrapper script that checks out
the file from the configuration repo, starts
and editor, and checks-in the modified version before
saving it to etc.
- tag the current versions of files in /etc
- revert all/some of the files to a previous revision/tag
I would also like to then add optional support for this in mergemaster so that
it can do something like:
- notice that the repository does not contain the latest version of a
file in /etc
- update the repository
- tag the current version of the files in use in etc with a pre-mm<date>
tag
- update /etc as usual
- add any new files to the repository
This way if you screwed up the mergemaster you could get back the
same exact files you had before the update and retry. An additional
benefit is that when you backup your machine you will have a complete
history of all changes made, all apropriately tagged, by you by the FreeBSD
project.
In short, I want to make it easier for people to manage their FreeBSD system
by automating those tasks that a good sysadmin should do, but that most of
us don't have the time or discipline to do, without in any way impacting those
who already have a configuration versioning scheme that works for them and
without moving away from text configuration files.
Comments?
Cheers,
Mike Makonnen
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|
|
The time now is Thu Jan 08, 2009 5:41 am | All times are GMT
|
|
Loans | Secured Loans | Babb Fest | Credit Card | Online Advertising
|
|
Copyright © 2004-2005 DeniX Solutions SRL
|
|
|
|
Other DeniX Solutions sites:
Unix/Linux blog |
electronics forum |
medicine forum |
science forum |
|
|
Privacy Policy
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|