Ben Rockwood wrote: > Peter Tribble wrote: > > So, a question for the weekend: > > > > When administering something, do you prefer to issue a bunch of > commands > > to set configuration parameters, or edit a configuration file that > the > > thing can read? > > > > (Where edit doesn't necessarily mean vi or emacs, but could also mean > the > > automated generation of a configuration file via any means. In fact, > normally > > the automated way rather than the by hand way.) > > > > Good and fun question. > > Obviously, it depends on the implementation... we've all seen good and > bad examples of each. > > In general, I'd say CLI. Disk configuration is a good example; VxVM vs > Linux RAID. > > Continuing with the storage example, I hate tools that opt to use > multiple configuration tools, such as LVM's lv/pv/vg/blah commands. > > > But when it comes down to it, I opt for CLI mostly because you > typically > get quick feedback on whether or not your syntax was wrong or you did > the wrong thing. With files the edit/start/edit/start/edit/start cycle > gets old. > > The interesting middle ground is shells such as Solaris is now more > commonly using, example svccfg and zonecfg. Offers the best of both > worlds, but I still like traditional CLI.
IMO... A mix of both is preferable. And a way to translate between them is key. Take for example, the zonecfg commands... you can "zonecfg -z foo export | zonecfg -z bar" or you can use the interactive shell features. Or you can keep your zone configurations in a master file and zonecfg -z bar < /etc/local/etc/bar.zconf On the storage side, the lv/pv/vg/metattach/zpool/blah commands are a manual way of interacting with the hidden blob of a database that back-ends the functionality. When it works, it's fine, but when it doesn't, you're stuck with no recourse except dd(1). Copying around the hidden blobs doesn't work, and in many cases there isn't a way to export "just the differences" between system X's feature foo, and system Y's feature foo. For me (and really anyone with large numbers of systems I think) I need something that I can use to "make them the same", such as smpatch against a custom repository. As long as I have a way to do that, I don't care how those rules are written. smpatch can be replaced with a text file containing the list of patches to make sure are installed (ala showrev -p | grep -v -f patch.list | xargs patchadd /net/patchrepos) And even better if the changes can be described in a "convergent" manner. --Joe _______________________________________________ sysadmin-discuss mailing list sysadmin-discuss@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/sysadmin-discuss