我理解木偶如何帮助设置服务器等,但你会使用木偶:
apt-get update && apt-get upgrade
我觉得答案是否定的,如果是这样的话,你会建议做什么样的自动化过程来完成这些任务?
所以说我正在设置一个新的实例(代理)来连接到puppet,我怎么能把我想要在服务器上运行的多个命令包装起来,只是为了在连接到puppet master之前准备它?我希望我能写出文件中的所有命令,然后以某种方式运行这个文件.
对于这样的事情:
> apt-get update&& apt-get升级
>安装ruby,其他libs
>基本服务器锁定等
好吧,特别是对于APT,您可以配置许多日常工作,例如更新.只需查看/etc/cron.daily/apt以获取可配置的变量列表,并查看apt.conf的手册页以了解如何执行此操作.你最感兴趣的是这些:
原文链接:https://www.f2er.com/ubuntu/348175.html# APT::Periodic::Update-Package-Lists "0"; # - Do "apt-get update" automatically every n-days (0=disable) # # APT::Periodic::Download-Upgradeable-Packages "0"; # - Do "apt-get upgrade --download-only" every n-days (0=disable) # # APT::Periodic::Download-Upgradeable-Packages-Debdelta "1"; # - Use debdelta-upgrade to download updates if available (0=disable) # # APT::Periodic::Unattended-Upgrade "0"; # - Run the "unattended-upgrade" security upgrade script # every n-days (0=disabled) # Requires the package "unattended-upgrades" and will write # a log in /var/log/unattended-upgrades
说了这么多,我更喜欢使用Puppet来控制必须保存哪些包在ensure =>最新的,或确保=>版本,以及控制各种源列表和包的引脚号.
而且,我想,可以使用这样的配置:
cron { 'upgrade': command => 'apt-get update && apt-get upgrade' }
现在,你提到在打电话给木偶代理之前做的事情.你的意思是在第一次运行木偶代理之前吗?如果是这样,那么诸如Foreman之类的解决方案可能会为您解决问题.
在这里,我通过Ganeti管理我的虚拟主机,我们在Ganeti的instance-debootstrap中安装了puppet.我们还有一个小脚本,用于在旧服务器上安装puppet.
最后,除非已经安装了自动解决方案,否则无法使用自动解决方案在现有服务器上安装Puppet.我们自己的首选是先安装木偶,并通过它分发其他任何东西.