Я только что попробовал базовый манифест марионеток, на применение которого уходит около 23 секунд.
root@ovh:/root # cat freebsd.pp
package { '*./editors/vim':
ensure => installed,
}
после добавления переключателя --debug ясно видно, как puppet каждый раз переустанавливает пакет vim с помощью pkg_add.
q1) как заставить марионетку использовать коллекцию портов, возможно, с помощью какого-либо мастера порта или любой другой утилиты управления портами?
q2) Подходит ли это имя пакета также для дистрибутивов Linux? Или я должен сделать два file
записи с разными provider
?
Помогает ли отказ от подстановочного знака и указание поставщика ускорить процесс?
package { 'editors/vim':
ensure => 'installed',
provider => 'ports',
}
чтобы добавить поддержку нескольких операционных систем, вы можете использовать:
case $operatingsystem {
centos, redhat: {
$provider = "yum",
$vim = "vim",
}
freebsd: {
$provider = "ports",
$vim = "editors/vim",
}
default: { fail("Unrecognized operating system") }
}
package { $vim:
ensure => 'installed',
provider => $provider,
}