From: <jam...@te...> - 2002-08-30 13:16:16
Attachments:
C.DTF
|
I have been thinking about this. What you are asking for is a way to make changes in transaction sets that can be rolled back. You could get there quickly by checking you webmin config's into a CVS tree, and then write a module that allows you to commit changes, and roll back to specific versions. I am not sure that this is the optimum solution. For one it only captures webmin configuration changes, and not sytem configuration changes. For system config changes you would need to wrap changes to config files around some sort of revision control tool (check it out, then make the changes). This still would require some form of a commit. Also, some changes actually require some program to be ran to completely undo the changes (e.g. you add a network interface, probably you would want to run the command to remove the interface from operation when you back out those changes). These sort of things would probably require that for each change a module makes it writes an undo script that is in some way identified as part of the current transaction set. Anyway, near as I can tell this is a fairly complicated problem and there is probably no way to make a solution transparent to writers of webmin modules, though it could be made easy for it to do the right thing, but still someone would have to code it this way on purpose. Lastly, this would not be a feature that everyone would want, so it would have to be able to be enabled and disabled. So again, probably for your purposes perhaps just copying asside (or tarring up) the configs before you start making changes might be the most expedient thing. You could even create a custom command to do this, and away you go. Cheers...james "Tamir Halperin" <ta...@br...>@lists.sourceforge.net on 08/30/2002 12:22:49 AM Please respond to web...@li... Sent by: web...@li... To: <web...@li...> cc: Subject: System Delta Here's the scenario: I install the OS and after the installation I install and configure various services. It takes me a long time to do this because I have to manually configure quite a few files as well as create quite a few as well. Things either get screwed up or I decide for various reasons to start with a fresh OS install. I don't want to have to configure all those services from scratch, however. I have also set aside all the new configuration files I created in the process of setting my system up. I've also created a log of all the files I modified which I didn't have to create because they were created for me as part of the original install. All the changes I'm interested in I call my delta. The delta includes the activation of services, creation of files and modification of files. I'm looking for a delta manager that will allow me to apply my specific changes of an OS installation to another OS installation given that my specific changes apply to the target OS. I hear talk about something called an FFS snapshot slated for FreeBSD 5.0-Current but I'm not sure it will do what I describe above. I've read about DIFF and it's a great tool but it leaves too much to be programmed around it for it to functionally satisfy my needs. I submit this question to the Webadmin list because I think it would be natural for Webadmin to incorporate such a tool since it is already managing most of the information that would be required to make the tool very useful. I'm still learning what Webadmin can do so if such functionality already exists to a certain extent, I'm not aware of it. Thanks in advance for the enlightenment. Tamir (See attached file: C.DTF) (See attached file: C.DTF) |
From: Joe C. <jo...@sw...> - 2002-08-30 21:32:08
|
My humble opinion is that you're going about it the wrong way. You're asking for some sort of 'rsync' for configuration details (which might actually work for you). My preference is to address it at the installation and package level. Create a custom system install that is already setup the way you need it to be. This is easy with Red Hat's kickstart, but I would imagine there is some way to do the same in FreeBSD (though I don't know this--I only have a passing knowledge of BSD...just enough to create a build/run environment for the polygraph benchmarking tool). And then at the next layer up, I create custom packages for everything I need to add or alter on the system. I /know/ you can do this with FreeBSD ports. Just make your own ports mirror, with the modifications you need in the packages you need modified. This does require you to know what you want before you even do the first installation (i.e. you can't set one up and then copy it to all others using a single command), but it also allows you to flawlessly set up an unlimited number of the 'same' machine. So, if you want a 'copy configuration details' tool, then grab rsync and come up with a script that rsyncs all of the configuration file changes you need to make. You could probably abstract a simple perl script in such a way that it would work for general purpose syncing of config details--i.e. when you change DNS on one box, you'd like it to propogate, but nothing else (since some of the other changes might be 'one-time'). So you say 'script-name update dns', or something, and it goes to work. This will take some work, but anything of this complexity will. To: <web...@li...> > cc: > Subject: System Delta > > > Here's the scenario: > > I install the OS and after the installation I install and configure various > services. It takes me a long time to do this because I have to manually > configure quite a few files as well as create quite a few as well. > > Things either get screwed up or I decide for various reasons to start with > a fresh OS install. I don't want to have to configure all those services > from scratch, however. I have also set aside all the new configuration > files I created in the process of setting my system up. I've also created a > log of all the files I modified which I didn't have to create because they > were created for me as part of the original install. > > All the changes I'm interested in I call my delta. The delta includes the > activation of services, creation of files and modification of files. I'm > looking for a delta manager that will allow me to apply my specific changes > of an OS installation to another OS installation given that my specific > changes apply to the target OS. > > I hear talk about something called an FFS snapshot slated for FreeBSD > 5.0-Current but I'm not sure it will do what I describe above. I've read > about DIFF and it's a great tool but it leaves too much to be programmed > around it for it to functionally satisfy my needs. I submit this question > to the Webadmin list because I think it would be natural for Webadmin to > incorporate such a tool since it is already managing most of the > information that would be required to make the tool very useful. I'm still > learning what Webadmin can do so if such functionality already exists to a > certain extent, I'm not aware of it. Thanks in advance for the > enlightenment. -- Joe Cooper <jo...@sw...> Web caching appliances and support. http://www.swelltech.com |