1

Over the last 5 years or so, I've been seeing more and more techniques to sync things from browsers, to ide's.

Now I'm keen on setting up something similar for 'meta-managing apt package profiles' under debian or ubuntu systems. The problem is that there's no simple way to go about doing it. The strategy of most admins seems to be to create a meta (deb) package with a tool like equivs, but I'm not so sure that this is the best way to go about doing it.

Should I continue down the path of equivs? Are there UI's to manage things like that?

Many thanks in advance ^_^!

heymatthew
  • 187
  • 2
  • 6
  • I'd just like to add to this, that there's a nice comparison of, what is named 'open source configuration management tools' on wikipedia. Check it out :): http://en.wikipedia.org/wiki/Comparison_of_open_source_configuration_management_software – heymatthew Jul 23 '09 at 06:36

1 Answers1

3

How about puppet? Or one of its competitors, like Chef.

As an added bonus, it can be used to push the configuration files out, too. And make sure the right services are running. etc. And you can change your mind later to add packages and puppet will take care of it for you.

Code looks something like this (but preferably spread out into some modules, etc):

node foo { include webserver }
node bar { include webserver }
node baz { include imapserver }
node hmm { include smtpserver }

class webserver {
  package {
    [ "apache2", "mod_ssl", "php5", "php5-cli" ]:
      ensure => present;
  }
}

class mailserver {
  package {
    "ldaplibraries":
      ensure => present;
  }
}

class imapserver {
  include mailserver
  package {
    "dovecot":
      ensure => present;
  }
}

class smtpserver {
  include mailserver
  package {
    "exim":
       ensure => present;
  }
}

Add some file { "/etc/exim.conf": source => "puppet:///smtpserver/exim.conf"; } and service { "exim": ensure => running, enable => true; } type stuff in there and you might just have a complete solution, not just a package management solution.

freiheit
  • 14,544
  • 1
  • 47
  • 69