我目前正在构建一个鞋匠和木偶设置。我做的一件事是用 puppet 禁用不需要的服务,但后来我想:我应该用 cobbler 删除它们,而不是在安装后禁用它们?
例如,我在 puppet 中的基类通知客户端禁用 smartd、cpuspeed、microcode_ctl 和 readahead_early(如果它是虚拟机)。
那为什么不删除呢?如果我在稍后阶段确实需要其中一些软件包,我可以安装。当然,如果机器转换为物理硬件,我必须记住重新安装这些软件包。
我认为我的问题的最佳解决方案是创建一个木偶类,如果服务 A 是虚拟的,则禁用它,如果不是,则启用它。但是,也许其他人有其他见解?
我完全不同意凯尔。
如果没有必要,则应将其删除。最好不要安装不必要的软件。
承担这项任务的人,比如你自己,应该对他们做出的决定的影响充满信心。删除标准系统实用程序和库通常不受欢迎,但这部分取决于您的环境和服务器角色。
如果存在包依赖关系,它们将在现代系统中被识别。
如果稍后,您正在编译的代码需要您删除的库,那么您将安装它——因为它是必需的。
我不会因为某些未来的系统管理员可能是个白痴而将 GTK 安装在服务器上。
作为一般规则,我认为禁用事物是一个更好的解决方案。你开始把东西拉出来,它们可能是其他包的依赖项,或者其他东西可能期望它在那里等等。在你禁用它们后,它们会做的只是占用少量空间,并且可能会为更新增加一点时间. 我认为这个想法是,如果你可以让你的系统接近分发维护者将要测试的系统。
另外,您说“我必须记住安装...”。我想你可能想改变你的心态,也许未来的系统管理员会管理这些,花几个小时试图解决一些奇怪的问题,却发现是因为一些通常没有的包。
不过,你的东西非常具体,所以如果它记录了删除它就可以了,我猜。如果您要部署数百个这些虚拟机,那么这种级别的调整可能是有意义的。最后,我最喜欢你的木偶想法。