4 ms·
> There must be some way to _unify_ this proliferation of software update mechanisms. There are many ways. The problem is there are many different environment
by Goladus 11y ago
> There must be some way to _unify_ this proliferation of software update mechanisms.
There are many ways. The problem is there are many different environments who all use different methods for different reasons.
To a solo developer with personal control over the entire stack, the Operating System is merely one more tool in the toolbox. That dev can pick any distro he wants and then install and configure anything he wants(as root). To a postdoc researcher in a lab using the University's shared compute cluster, leveraging the OS might not be such an obvious and easy choice. Then of course there is the whole issue that Wordpress, ruby, system software, and IDEs are all developed by very different groups of people.
But back to your question: configuration management tools can help with this problem. They do require some end-user investment at this stage, in no small part due to the reasons I identified above (there's not yet an ideal default that works for everyone).
Generally, configuration management tools encourage you to declare your software, modules, packages, requirements in an abstraction layer and then have the config management tool handle the messy details of whether to use apt or yum or gems. The catch right now is that you will typically have to do handle those decisions (to some extent) yourself.
Ansible:
http://docs.ansible.com/gem_module.html http://docs.ansible.com/gem_module.html
http://docs.ansible.com/apt_module.html http://docs.ansible.com/apt_module.html
http://docs.ansible.com/yum_module.html http://docs.ansible.com/yum_module.html
Puppet:
https://docs.puppetlabs.com/references/latest/type.html#package-providers https://docs.puppetlabs.com/references/latest/type.html#pack...
Chef:
https://docs.chef.io/chef/resources.html#gem-package https://docs.chef.io/chef/resources.html#gem-package
https://docs.chef.io/chef/resources.html#apt-package https://docs.chef.io/chef/resources.html#apt-package
https://docs.chef.io/chef/resources.html#yum-package https://docs.chef.io/chef/resources.html#yum-package
- igravious 11y agoAha! Lightbulb moment. I thought that Puppet and co. (chef and so on) were about pure configuration across multiple machines. I didn't realise they were about deployment as well. In that case I guess the problem is sort of solved but then I need to start thinking a layer higher than I have been. It would be nice if the solution to this proliferation still allowed me to think at the level of [synaptic/apt-get/dpkg] on Debian/Ubuntu/... or [yum/rpm] on Redhat/CentOS/Suse/... and so on. Do you think this is unreasonable of me?