Bu soruların nasıl sözcüklendirileceğinden emin değilim, bu yüzden uygunsuz olduğunu düşünüyorsanız lütfen bir düzenleme önerin.
Mevcut işletim sistemi modüllerini farklı işletim sistemlerini destekleyerek genişletmeye çalışıyorum. Küçük bir problemle karşılaştım, zarif bir şekilde nasıl çözebileceğime emin değilim. In params.ppdosyaya yüklemeye OS özgü paketler böyle tanımı vardır:
case $::osfamily {
'RedHat': {
$package_server = 'mariadb-server'
$package_client = 'mariadb'
$php_package_name = 'php-mysql'
}
...
Modül, tüm konfigürasyonun $php_package_namekurulmasına bağlı olarak yazılmıştır . Ben böylece ben ayarlamak, php için ayrı bir MySQL pakete sahip değil farklı işletim sistemi için bu modülü, exnted istediğiniz $php_package_namedeğişkeni undef. Bu bir sorun getiriyor, kukla yüklemeye çalışıyor Package[undef].
Bunu önlemenin iyi bir yolu ne olabilir? Şimdiye kadarki düşüncelerim savaşı yanlış olarak ayarladı ve $php_package_namesadece ateş tanımına sahipti if $php_package_name != false. Belki daha iyi bir yol vardır?
$php_package_nameTofalsezamanının% 50'sini çalışacak bir çözümdür. Diğer% 50 kez$php_package_name != false, önce değerlendirilmiş ve$php_package_name = falsedaha sonra değerlendirilecek : Bakınız: serverfault.com/questions/590762/…