更改oracle许可证后,我们将在树莓派上使用OpenJDK。也就是说,仅在我们现在配备的设备上。根据oracle许可证,已在使用的许可证保持有效,因此我们没有必须从现有设备中删除oracle jdk。而且,坚持“永远不要触摸正在运行的系统”(少得多的系统)这一指令,我们宁愿不这样做。
但是,如果尚未安装oracle软件包,我似乎无法让puppet仅安装openjdk软件包。由于软件包资源中没有相应的属性,因此我尝试使用模拟执行程序来促进某些事情,例如:
exec { 'checking java installation':
command => '/bin/echo no existing java installation found',
creates => '/usr/bin/java'
}
~> package { 'java':
name => 'openjdk-8-jdk',
}
这个想法是因为exec不执行,因为已经存在指向Java可执行文件的链接,因此链接的包资源不会刷新。
但是,虽然exec不执行,但是包资源仍然可以执行。我还尝试订阅(如果我正确理解的话,基本上应该是同一件事),结果相同。
那我如何防止软件包资源运行?