2013-04-24 23 views
0

我使用puppet來部署標準化的ubuntu安裝以及配置文件。 我在安裝某個軟件包(通過依賴項)時會遇到問題,它會覆蓋一個關鍵的配置文件。有沒有辦法監視這個文件是否改變(get被某個包覆蓋)並恢復它的原始內容? 什麼是實現這一目標的最佳方式?如果文件被某些包修改,則執行puppet類

這是負責配置​​的類:

class nsswitchconfig { 

    # roll out nsswitch 
    class { 'nsswitch': 
      passwd => ['compat'], 
      group => ['compat'], 
      hosts => ['files'], 
      automount => ['files'], 
    } 

    notify { "hate #8040": message => "work around bug #8040" } 

} 

這是一個覆蓋​​

class desktop { 

    include nsswitchconfig 

    $package_name = ["ubuntu-desktop" ] 
    package { $package_name: 
       ensure => latest, 
      } 
} 

回答

1

如果nsswitch的類配置文件中的類,所有你需要的是讓確定它在覆蓋它的類之後運行

所以你的情況:

class { 'nsswitch': 
      passwd => ['compat'], 
      group => ['compat'], 
      hosts => ['files'], 
      automount => ['files'], 
      require => Class['desktop'], 
    } 

應該做的伎倆。 (注意需求部分)

相關問題